刹那(せつな)の瞬き

Willkömmen! Ich heiße Setsuna. Haben Sie etwas Zeit für mich?

/boot/efiにbootフラグが付かなかったので

KDE neon をインストールした際、パーティションを手動で作成しました。

OS インストール後は普通に使用してたのですが、Dolphin を起動するとデバイス欄に覚えのないパーティションが表示されました。

確認したところ、それは EFI パーティションだったのですが、通常の FAT32 パーティションとして扱われてました。

EFI パーティションの作成では、

  • サイズ: 512MB
  • フォーマット: FAT32
  • マウントポイント /boot/efi
  • boot フラグ指定

を設定したつもりですが、boot フラグが反映されなかったみたいです。

OS をインストールしたデバイス/dev/sdbなので、sudo sfdisk -l /dev/sdbで確認しても、"EFI システム" とは表示されません。

仕方ないので、parted で確認しながら修正してみました。

$ sudo parted /dev/sdb
GNU Parted 3.3
/dev/sdb を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) print                                                            
モデル: ATA WDC WDS500G2B0A (scsi)
ディスク /dev/sdb: 500GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始    終了   サイズ  ファイルシステム  名前  フラグ
 1    1049kB  538MB  537MB   fat32                   msftdata
 2    538MB   483GB  482GB   ext4
 3    483GB   500GB  17.2GB  linux-swap(v1)          swap

(parted) 

print コマンドで確認すると、パーティション 1 のフラグが boot, esp になってません。
そしてパーティションラベルも空欄のままです。
ここは Ubuntu に合わせておきたいところです。

引き続き、parted の set コマンドと name コマンドを実行します。

(parted) set 1 boot on                                                    
(parted) name 1 "EFI System Partition"                                    
(parted) print                                                            
モデル: ATA WDC WDS500G2B0A (scsi)
ディスク /dev/sdb: 500GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始    終了   サイズ  ファイルシステム  名前                  フラグ
 1    1049kB  538MB  537MB   fat32             EFI System Partition  boot, esp
 2    538MB   483GB  482GB   ext4
 3    483GB   500GB  17.2GB  linux-swap(v1)                          swap

(parted) quit                                                             
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。

$

設定値が反映されているか sfdisk で確認すると、

$ sudo sfdisk -l /dev/sdb
ディスク /dev/sdb: 465.78 GiB, 500107862016 バイト, 976773168 セクタ
Disk model: WDC  WDS500G2B0A
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 2066E652-4BDC-C345-9EEB-489713F920D5

デバイス    開始位置  最後から    セクタ サイズ タイプ
/dev/sdb1       2048   1050623   1048576   512M EFI システム
/dev/sdb2    1050624 943130623 942080000 449.2G Linux ファイルシステム
/dev/sdb3  943130624 976768031  33637408    16G Linux スワップ

どうやら期待通りに設定できたようです。
Dolphin を再起動したところ、デバイス欄に表示されなくなりました。

....

Calamares Installer になってからも、以前 KDE neon をインストールした際は、普通に EFI パーティションを作成できてたはずなのに、何が問題だったんだろう。

前述の設定手順。
もしかして、設定順が影響してるのかな?だとすると、

ここに書いてあるように、フォーマットする前に boot フラグを指定する必要があるなら、私が指定した順番が誤ってたのかも。
またインストールする機会があれば注意してみよう。

Ryzen5 2600X / B450でsensorsの出力結果が思ってたのと違う

少し前に、Kernel 5.7 で Thermal Pressure が導入されてた事を知り、直接は関係ないのですが、私の PC でも温度センサを確認してみたくなりました。

今まで PC の温度センサについては無頓着だったので、これを機に調べてみました。
そしたら、思ってたより根が深かったので、備忘録として残しておきます。

....

現在、私が Ubuntu 20.04 LTS で使用しているハード構成は、

ですが、sudo apt install linux-generic-hwe-20.04-edgeを実行済みなので、

$ uname -r
5.8.0-25-generic

カーネルは kernel 5.8 系になってます。
※追記: 後述する内容は kernel 5.4 系のままでも同様でした。

....

まずは lm-sensors を導入します。

$ sudo apt install lm-sensors

すぐに sensors を実行するとこんな感じです。

$ sensors
k10temp-pci-00c3
Adapter: PCI adapter
Vcore:       788.00 mV 
Vsoc:        925.00 mV 
Tctl:         +26.8°C  
Tdie:         +26.8°C  
Icore:         4.00 A  
Isoc:          6.25 A  

iwlwifi_1-virtual-0
Adapter: Virtual device
temp1:            N/A  

思ってたのと随分違ってます。CPU コアの温度が出力されてません。

◆ とりあえず調べてみる

$ sudo sensors-detect --auto
# sensors-detect version 3.6.0
# System: Gigabyte Technology Co., Ltd. B450 AORUS PRO WIFI [Default string]
# Board: Gigabyte Technology Co., Ltd. B450 AORUS PRO WIFI-CF
# Kernel: 5.8.0-25-generic x86_64
# Processor: AMD Ryzen 5 2600X Six-Core Processor (23/8/2)
 〜(ざっくり省略)〜

Now follows a summary of the probes I have just done.

Driver `k10temp' (autoloaded):
  * Chip `AMD Family 17h thermal sensors' (confidence: 9)

Driver `to-be-written':
  * ISA bus, address 0xa40
    Chip `ITE IT8686E Super IO Sensors' (confidence: 9)

Driver `it87':
  * ISA bus, address 0xa60
    Chip `ITE IT8792E Super IO Sensors' (confidence: 9)

Note: there is no driver for ITE IT8686E Super IO Sensors yet.
Check https://hwmon.wiki.kernel.org/device_support_status for updates.

To load everything that is needed, add this to /etc/modules:
#----cut here----
# Chip drivers
it87
#----cut here----
If you have some drivers built into your kernel, the list above will
contain too many modules. Skip the appropriate ones!

Do you want to add these lines automatically to /etc/modules? (yes/NO)

Unloading cpuid... OK

出力結果を鑑みるに、まずは it87 モジュールを入れれば良さそうです。

ITE IT8686Eや /etc/modues に it87 を追記するのは後回し。
その前に it87 モジュールをロードして、sensors を実行してみます。

$ sudo modprobe it87
$ sensors
it8792-isa-0a60
Adapter: ISA adapter
in0:         774.00 mV (min =  +0.00 V, max =  +2.78 V)
in1:           1.08 V  (min =  +0.00 V, max =  +2.78 V)
in2:           1.12 V  (min =  +0.00 V, max =  +2.78 V)
+3.3V:         1.68 V  (min =  +0.00 V, max =  +2.78 V)
in4:           1.30 V  (min =  +0.00 V, max =  +2.78 V)
in5:           1.17 V  (min =  +0.00 V, max =  +2.78 V)
in6:           2.78 V  (min =  +0.00 V, max =  +2.78 V)  ALARM
3VSB:          1.67 V  (min =  +0.00 V, max =  +2.78 V)
Vbat:          1.69 V  
fan1:           0 RPM  (min =    0 RPM)
fan2:           0 RPM  (min =    0 RPM)
fan3:           0 RPM  (min =    0 RPM)
temp1:        +28.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp2:        +33.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp3:        +34.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
intrusion0:  ALARM

k10temp-pci-00c3
Adapter: PCI adapter
Vcore:       788.00 mV 
Vsoc:        931.00 mV 
Tctl:         +27.0°C  
Tdie:         +27.0°C  
Icore:         7.00 A  
Isoc:          6.00 A  

iwlwifi_1-virtual-0
Adapter: Virtual device
temp1:            N/A  

それっぽい出力結果になりましたが、まだ何か違ってます。
CPU コア 6 個分の温度表示が無いし、FAN の回転数も得られてません。

◆ it87 モジュールを最新にしてみる

前述した sensors-detect の出力結果からChip `ITE IT8686E Super IO Sensors'が解決できてない件について調べたところ「it87 モジュールを最新にすれば良い」との事なので、試してみます。

$ cd ~/work
$ git clone https://github.com/a1wong/it87.git
Cloning into 'it87'...
remote: Enumerating objects: 458, done.
remote: Total 458 (delta 0), reused 0 (delta 0), pack-reused 458
Receiving objects: 100% (458/458), 200.04 KiB | 388.00 KiB/s, done.
Resolving deltas: 100% (277/277), done.
$ cd it87
$ sudo make dkms

Creating symlink /var/lib/dkms/it87/v1.0-48-g40bec4b/source ->
                 /usr/src/it87-v1.0-48-g40bec4b

DKMS: add completed.

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j12 KERNELRELEASE=5.8.0-25-generic TARGET=5.8.0-25-generic...
Signing module:
 - /var/lib/dkms/it87/v1.0-48-g40bec4b/5.8.0-25-generic/x86_64/module/it87.ko
Secure Boot not enabled on this system.
cleaning build area...

DKMS: build completed.

it87.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.8.0-25-generic/updates/dkms/

depmod..........

DKMS: install completed.

正常終了したら、一旦 it87 モジュールを解除して、再度ロードします。
最新モジュールにしたら sensors を実行確認します。

$ sudo modprobe -r it87
$ sudo modprobe it87
$ sensors
it8686-isa-0a40
Adapter: ISA adapter
in0:         768.00 mV (min =  +0.00 V, max =  +3.06 V)
in1:           2.00 V  (min =  +0.00 V, max =  +3.06 V)
in2:           2.00 V  (min =  +0.00 V, max =  +3.06 V)
in3:           2.02 V  (min =  +0.00 V, max =  +3.06 V)
in4:         924.00 mV (min =  +0.00 V, max =  +3.06 V)
in5:         888.00 mV (min =  +0.00 V, max =  +3.06 V)
in6:           1.20 V  (min =  +0.00 V, max =  +3.06 V)
3VSB:          3.26 V  (min =  +0.00 V, max =  +6.12 V)
Vbat:          3.26 V  
fan1:         385 RPM  (min =    0 RPM)
fan2:           0 RPM  (min =    0 RPM)
fan3:           0 RPM  (min =    0 RPM)
fan4:           0 RPM  (min =    0 RPM)
fan5:           0 RPM  (min =    0 RPM)
temp1:        +29.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp2:        +32.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp3:        +31.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = AMD AMDSI
temp4:        +31.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp5:        +35.0°C  (low  =  +0.0°C, high = -120.0°C)  sensor = thermistor
temp6:        +41.0°C  (low  =  +0.0°C, high = -120.0°C)  sensor = thermistor
intrusion0:  ALARM

k10temp-pci-00c3
Adapter: PCI adapter
Vcore:       788.00 mV 
Vsoc:        925.00 mV 
Tctl:         +31.6°C  
Tdie:         +31.6°C  
Icore:         7.00 A  
Isoc:          7.75 A  

it8792-isa-0a60
Adapter: ISA adapter
in0:         414.00 mV (min =  +0.00 V, max =  +2.78 V)
in1:         948.00 mV (min =  +0.00 V, max =  +2.78 V)
in2:           1.08 V  (min =  +0.00 V, max =  +2.78 V)
+3.3V:         3.36 V  (min =  +0.00 V, max =  +5.56 V)
in4:           1.30 V  (min =  +0.00 V, max =  +2.78 V)
in5:           1.17 V  (min =  +0.00 V, max =  +2.78 V)
in6:           2.78 V  (min =  +0.00 V, max =  +2.78 V)  ALARM
3VSB:          3.33 V  (min =  +0.00 V, max =  +5.56 V)
Vbat:          3.38 V  
fan1:           0 RPM  (min =    0 RPM)
fan2:           0 RPM  (min =    0 RPM)
fan3:           0 RPM  (min =    0 RPM)
temp1:        +28.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp2:        +33.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp3:        +34.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
intrusion0:  ALARM

iwlwifi_1-virtual-0
Adapter: Virtual device
temp1:            N/A  

ようやく思ってたような出力結果が得られました。

最後に /etc/modules へ it87 を追記すれば作業完了です。

再起動して sensors を実行したところ、期待通りの出力結果になりました。

◆ 参考にしたサイト

※追記 2023-10-22

先日 BIOS を F64e まで更新し、OS のアップデートを実行しました。
その後、sensors を実行すると温度が正常に表示されません。

$ sensors
iwlwifi_1-virtual-0
Adapter: Virtual device
temp1:            N/A  

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +16.8°C  (crit = +20.8°C)

k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +49.5°C  

対策として、/etc/modprobe.d/it87.confを用意します。

・ファイル: /etc/modprobe.d/it87.conf

options it87 ignore_resource_conflict=1

後は PC を再起動して、sensors を実行すると元通り表示されるはずです。

BAND-AIDのキズパワーパッドで助かった

6日前の事です。

ピーマンを千切りしてる最中に手が滑り、左手人差し指に当たった感じがしました。
ちらりと見えた切り口は 5mm くらい。そして 2mm 程の白い部分もありました。

あ、これ血が止まらないヤツだ!と思ったら、じわじわと血が滲んできました。
痛みはまったく無いのに血が止まりません。 

食事の支度は続けなきゃいけないので、応急処置として絆創膏を貼って、さらにラップ巻いて輪ゴムで止めて、続きをしました。

そして、食事の支度と後片付けが終わったので、改めて傷口を見てみました。
痛みはまったく無いのに血が止まってません。 

その晩と翌日も同じような対策でしのいだのですが、やはり血が止まってません。
....

これはマズイ。けれど医者に行くのは恥ずかしい。くらいの傷です。

困った時はネットで検索!
そして見つけたのがBAND-AIDの「キズパワーパッド」です。

www.band-aid.jp

すぐに近所の薬局で「キズパワーパッド」を購入、説明書を熟読。
怪我をして2日目ですが、傷の状態に変化はなかったので使用してみました。

ガーゼ部分がない分、違和感がありますが、生活面は随分と改善されます。
完全防水最高です!食事の準備やお風呂も大丈夫!
これだけでも、もっと早く使えば良かったです。

そして昨日。3日経過したので、貼り替えるつもりで絆創膏を外してみました。

説明書のようには取れなかったので、ぺりっと剥いたところ...
なんと、白い部分はなくなり薄皮が再生してました。
と言うか、ほぼ完治です。

思わず「へっ?」と変な声が出るくらい早い再生に驚きました。
せめて出血がなければ良いなー、くらいの気持ちでいたので、これは嬉しい。

水仕事は避けられないし、包丁に切り傷はつきものだし。
あー、もっと早く知ってればよかったな。

次は無いように願いたいですが、強い味方ができて良かったです。

....

怪我した日は父が収穫した生姜が大量にあったので、ガリを作る気満々でした。
洗って汚い薄皮を削いでたら昼ご飯の準備をする時間になったので、続きは午後に。
そして、前述の事故があったのですが、午後はかまわずにガリを作りました。

その夜、試食のつもりで晩ごはんに出したら、父の顔が若干歪んでます。

貼った絆創膏が真っ赤で、ガリがほんのりピンク色してる...
あぁー、きっとまた勘違いしてるなー
説明するの面倒くせー

経過は省きますが、私が不愉快な気分にさせられたのは案の定でした。

本日はPSP-3000の発売日だった

今朝、ネットニュースを読んでたら、私の所有してる PSP-3000 の記事がありました。
気になったのでリンクを辿ったら、ファミ通さんの記事でした。

www.famitsu.com

PSP-3000 が発売されて、本日で12年になるんですね。

記事を読むまで知らなかったのですが、

との事で、壊れたら中古品か自力でメンテか諦めるの三択なのね。
バッテリーはサードパーティ製が売ってるみたいだけど、なんか微妙ですよね。

そして、2020.10.28 には PS Store からも除外されます。まぁ仕方ないですね。  

....

私が購入したのは発売から1年以上経過してからでした。

そして、本格的にプレイし始めたのは、ちょうど10年前です。
当時の会社のモンハン部に誘われて、会社帰りにゲームショップで MHP 3rd を購入。
家に戻らずパッケージを抱えたまま、近所のおでん屋に集合。
キャラメイキングを指導してもらい、お酒を飲みながらのチュートリアル
なかなか楽しかったな。

それから色々あったけど足掛け3年くらいはプレイしたと思います。
PS3 を購入してアドホックパーティでプレイもしましたね。
いやー何もかも懐かしい。

PSP-3000 は今でも現役です。と言っても年に数回しかプレイしませんが...

プレイ中なのは「ペルソナ3 ポータブル」と「剣と魔法と学園モノ。Final」。
たまに思い出すと続きをプレイしますが、なかなか進みません。
いざプレイしようと思っても、状況を思い出すだけで一苦労。
そして気力がなくなって、何度そっと閉じたか分かりません。

PSP-3000 が壊れる前には終わらせたいのですが...
今のところ、PSP 本体もバッテリーも元気なのが幸いです。

....

そんな感じなので、これは最後の手段のつもりです。

f:id:infinity_volts:20201016221906p:plain

この後、テストのつもりでひと狩り行きましたが、上位リオレウスに焼かれました。
久しぶりとは言え、相変わらずヘタクソです。

Ubuntuでcontrollermapだけをビルドして動かす

以前、手持ちの PS3 用コントローラ HORI PAD 3 MINI の各ボタン・スティックの定義を調べる、その為だけに別途 OS を用意して SDL2 をソースからコンパイルしてました。

しかし、よくよく考えてみたら、Ubuntu 20.04 LTS には予め SDL2 開発用のパッケージが用意されています。

$ apt search libsdl2-dev
ソート中... 完了
全文検索... 完了  
libsdl2-dev/focal 2.0.10+dfsg1-3 amd64
  Simple DirectMedia Layer - 開発用ファイル

このパッケージを導入して、必要な controllermap だけをビルドすれば依存関係を乱さずに controllermap の実行ファイルを入手できそうです。

$ sudo apt install libsdl2-dev

依存関係にあるパッケージが多数インストールされます。
私の環境だと 65 個のパッケージが追加されました。

....

続いて SDL2 のソースを公式サイトからダウンロードします。

最新バージョンは 2.0.12 ですが、インストールした libsdl2-dev のバージョンは 2.0.10 なので、一応それに合わせてます。

$ cd ~
$ mkdir work
$ cd work
$ wget https://www.libsdl.org/release/SDL2-2.0.10.tar.gz
$ tar xzvf SDL2-2.0.10.tar.gz

適当な場所にダウンロードして展開した後はビルドです。
既にパッケージが導入済みなので、いきなり controllermap をビルドします。

$ cd SDL2-2.0.10/test
$ ./configure
$ make controllermap

ビルドが終了したら、PC にコントローラを接続して、実行してみます。

$ ./controllermap
INFO: There are 1 joysticks attached
INFO: Joystick 0: HORI CO.,LTD  PAD A
INFO:        axes: 4
INFO:       balls: 0
INFO:        hats: 1
INFO:     buttons: 13
INFO: instance id: 0
INFO:        guid: 030000000d0f00004d00000011010000
INFO:     VID/PID: 0x0f0d/0x004d
INFO: 

Usage: ./controllermap number
For example: ./controllermap 0
Or: ./controllermap 0 >> gamecontrollerdb.txt

以前の記事と同じですが、認識しているコントローラ番号を引数に指定して実行すると、そのコントローラの確認画面が表示されます。
ついでに結果を任意のファイルにリダイレクトしておくと便利です。

$ ./controllermap 0 > ps3_hori_pad3_mini.txt

f:id:infinity_volts:20190524001254p:plain

この画面が表示された後、緑色のインジケータに合わせて、実際のコントローラのボタンを順次押していきます。

という感じで、以前の記事よりは、シンプルに目的を達成できました。

....

おまけ

PPSSPP の場合、gamecontrollerdb.txt は assets ディレクトリに配置されています。
そこに前述の実行結果を追記すれば、非対応のコントローラが使えるようになります。

Flatpak 版 PPSSPP 1.10.3 をそのまま起動すると、

$ flatpak run org.ppsspp.PPSSPP 
I: VulkanLoader.cpp:268: VulkanMayBeAvailable: Device allowed ('SDL:Linux')
I: VulkanLoader.cpp:275: VulkanMayBeAvailable: Library loaded ('libvulkan.so.1')
 〜(ざっくり省略)〜
loading control pad mappings from gamecontrollerdb.txt: SUCCESS!
Control pad device 0 not supported by SDL game controller database, attempting to create default mapping...
Added default mapping ok
found control pad: HORI CO., loading mapping: SUCCESS, mapping is:
030000000d0f00004d00000011010000,HORI CO.,LTD  PAD A,x:b3,a:b0,b:b1,y:b2,back:b8,guide:b10,start:b9,dpleft:b15,dpdown:b14,dpright:b16,dpup:b13,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:a5,leftstick:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4
pad 1 has been assigned to control pad: HORI CO.
 〜(ざっくり省略)〜

コントローラを認識してるようにも見えますが、誤った定義が割り当てられてしまい、このままでは使えません。

そこで、controllermap の実行結果を記録したps3_hori_pad3_mini.txtの内容を assets/gamecontrollerdb.txt に追記します。

$ sudo bash -c 'cat ps3_hori_pad3_mini.txt >> /var/lib/flatpak/app/org.ppsspp.PPSSPP/current/active/files/ppsspp/assets/gamecontrollerdb.txt'

再度、PPSSPP を起動すると、

$ flatpak run org.ppsspp.PPSSPP 
 〜(ざっくり省略)〜
loading control pad mappings from gamecontrollerdb.txt: SUCCESS!
found control pad: HORI CO.LTD  PAD A, loading mapping: SUCCESS, mapping is:
030000000d0f00004d00000011010000,HORI CO.LTD  PAD A,platform:Linux,a:b1,b:b2,x:b0,y:b3,back:b8,guide:b12,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
pad 1 has been assigned to control pad: HORI CO.LTD  PAD A
 〜(ざっくり省略)〜

今度は gamecontrollerdb.txt から追記したコントローラの情報が読み込まれ、期待通りにコントローラを認識してくれました。※この件とは別にパッドの調整は必要です。

LinuxにもPPSSPP 1.10.3が降りてきた

PPSSPP の公式サイトによると、2020.6.27 に PPSSPP 1.10 がリリースされました。
しかし、Linux builds のリンクは 1.7.5 のまま。
Launchpad PPA に至っては 1.7.0 というか、Ubuntu 18.10 で止まってます。

そのうち追従してくれるとは思っているのですが、痺れを切らしてしまいました。
少し前から Unoffical PPA の存在と、Flatpak に PPSSPP が登録されているのは承知してたので、思い切って Ubuntu 20.04 で両方試してみました。

結果はどちらでも問題なしです。
今まで手持ちのソフトで唯一動作しなかった MHP 3rd も大丈夫でした。

1. Unoffical PPA の場合

インストール方法はこちらのサイトが詳しいです。

Unoffical とは言いながらも公式と同様に Qt メニューな ppsspp と SDL 版の ppsspp-sdl が用意されています。私は ppsspp で試してみました。

$ sudo add-apt-repository ppa:xuzhen666/ppsspp
$ sudo apt update
$ sudo apt install ppsspp

アイコンをクリックすれば動作します。
なお、設定ファイルの位置は公式版と同じです。

PSP ディレクト

~/.config/ppsspp/PSP/

・assets ディレクト

/usr/share/ppsspp/assets/

設定値を変更しなくても動作するので、公式版を待つなら断然こちらです。

プレイにはまったく関係ないのですが、Ubuntu 20.04 で PPSSPP 起動直後のメニュー画面が短く表示されるのが少々気になります。
Kubuntu 20.04 では正しく表示されるのにな...

2. Flatpak の場合

Flathub.org にある PPSSPP のページはこちらです。

Flatpak 導入に躊躇がないなら、環境を分離できるこちらの方が良いかも。
※表記はバージョン 1.10.0 ですが、インストールして確認すると 1.10.3 でした。

....

Ubuntu 20.04 に Flatpak を導入する手順は次のサイトで確認できます。

私の場合は snap-store の件があったので、導入ついでに snap-store を削除して gnome-software をインストールしました。

$ sudo apt update
$ sudo apt install flatpak
$ sudo apt install gnome-software gnome-software-plugin-flatpak
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
$ snap remove snap-store

ちなみに Kubuntu 20.04 は Flatpak のサイトの手順で問題ないです。
Discover に統合されます。

....

Flatpak を導入したら、次は PPSSPP です。 

Ubuntu 20.04 に Flatpak と gnome-software が導入済みであれば、gnome-software のアイコン「ソフトウェア」 からインストールするのが簡単です。

  1. 「ソフトウェア」を起動
  2. Ctrl+F または、左上の虫眼鏡マークをクリック
  3. 検索欄が表示されたら ppsspp と入力し、候補から PPSSPP をクリック
  4. インストールをクリック

※ターミナルからコマンドラインでインストールする場合は、前述した Flathub.org のサイトに従いflatpak install flathub org.ppsspp.PPSSPPを実行します。

念の為、ターミナルからバージョンを確認してみます。

$ flatpak list
Name            Application ID                     Version Branch Installation
Freedesktop Pl… org.freedesktop.Platform           20.08.0 20.08  system
default         …g.freedesktop.Platform.GL.default         20.08  system
nvidia-450-66   …desktop.Platform.GL.nvidia-450-66         1.4    system
openh264        org.freedesktop.Platform.openh264  2.1.0   2.0    system
Yaru Gtk Theme  org.gtk.Gtk3theme.Yaru                     3.22   system
PPSSPP          org.ppsspp.PPSSPP                  1.10.0  stable system
$ flatpak run org.ppsspp.PPSSPP --version
v1.10.3

一覧では 1.10.0 ですが、PPSSPP を起動して確認すると v1.10.3 になってました。

なお、設定ファイルは公式版とは異なるディレクトリに配置されています。

PSP ディレクト

~/.var/app/org.ppsspp.PPSSPP/config/ppsspp/PSP/

・assets ディレクト

/var/lib/flatpak/app/org.ppsspp.PPSSPP/current/active/files/ppsspp/assets/

Flatpak では SDL 2.0.12 版がインストールされます。
PPSSPP を起動した際、メニュー画面の初期表示も問題ないです。

私は Flatpak を導入した都合上、Unoffical PPA ではなく、こちらを利用してます。

Ubuntuで休止状態から復帰するとHDMIの音声出力を見失う

Ubuntu で使用する LCDMitsubishi RDT235WX から BenQ PD2700Q に変更しました。
どちらもスピーカー内蔵してるので、PC と接続すれば音声出力が可能です。

しかし、よくよく確認してみると、BenQ PD2700Q にはライン入力端子がありません。

パーツ 品 名
CPU AMD Ryzen 5 2600X
Mother Board GIGABYTE B450 AORUS PRO WIFI
Video Card Palit NE5105T018G1-1070H GTX1050Ti KalmX
LCD BenQ PD2700Q


幸い、私の PC 構成ではビデオカードHDMI に音声信号を乗せられるようです。

実際、Ubuntu 20.04 では「設定」-「サウンド」から出力デバイスを変更できます。

f:id:infinity_volts:20201004155410p:plain

出力デバイスHDMI に切り替えると、スピーカーから音が出るようになりました。

....

新しい構成にしてから特に問題もなく、しばらくは順調でした。

しかし、先日の出来事です。
所用で長時間離席して、席に戻ってきたら PC が休止状態になってました。
いつものように PC を復帰して、再度ログインしたところ、何故かスピーカーから音がでてません。

「設定」-「サウンド」を確認したら、出力デバイスが見当たりません。

f:id:infinity_volts:20201004161344p:plain

PC を再起動すれば元通りになりますが、いちいち再起動が必要なのは不便です。
場合によっては、出力デバイスの再設定も必要だなんて...不便すぎるわ!

....

ネットで調べたところ、ヒントになる記事を見つけました。

この記事では、ノートPC の HDMI に外部モニタを接続した際、音が出ない件について、その解決方法等が記されています。

記事によると、Pulse audio のデーモンを kill すれば、デバイスを再認識するとの事。
私も実際に試してみました。

$ pulseaudio -k

バッチリです!コマンドをひとつ実行するだけで再認識しました。

....

掲題の件は、手持ちの環境では Ubuntu 20.04 /18.04 で発生してます。
Kubuntu も同様です。
今までライン出力ばかり使用してたので、まったく気づきませんでした。

とりあえず、都度pulseaudio -kを実行する程度で解決できるなら、別にいいかな。
毎回毎回、再起動するよりは数段マシなので、簡単な解決方法があって良かったです。

※それでも稀に出力デバイスを見失います。万全じゃありませんので悪しからず。