HX99G が Bazzite で快適になったよ #
快適になったので、将来の自分のために書き残すよ。
やったことメモしておいて、Claude に渡したら全部整理してくれたよ。楽ちん
環境 #
| 項目 | 内容 |
|---|---|
| マシン | MINISFORUM HX99G |
| CPU/APU | AMD Ryzen 9 6900HX |
| GPU | AMD Radeon RX 6600M |
| Wi-Fi | MediaTek RZ616(MT7922) |
| 有線LAN | Intel Ethernet Controller I226-V |
| OS | Bazzite (KDE Plasma) |
概要 #
- Bazzite で Steam 専用機にするよ
- Linux デスクトップ機 (Fedora) としても使えるけど、用途は基本 Steam のホスト
- Steam Link のかわりに、Sunshine + Moonlight 使うよ
- Bazzite は「バザイト」らしいよ
- ネットワークとかグラフィック周りとか、何も設定しなくても大丈夫だったよ
- 画面周りの転送が追いついてない感じの現象がなくなった
- Wake On LAN も問題なし
経緯 #
- Steam Link のホストとして快適に利用している HX99G、いつの頃からかネットワーク周りが調子悪い
- AMD のドライバーがどうもアレで、ドラクエ 7 リイマジンドするのに障りがある(タイムアウト連発)
- いっそのこと専用機にしてしまえってことで、Bazzite 導入。想像していたより快適なので、当分このままで
- Windows 実験環境がなくなるけど、ANBERNIC WIN600 あるからいいや
導入 #
外付 HDD や 外付 SSD に導入する時はそれぞれトラブルあったけど、内蔵 SSD に導入する分には、トラブルなし。ISO は Desktop / AMD(RX 4xx+ | AI)/ KDEを選択。Steam Gaming Mode は YESで導入したけど、オフにすることに(後述)。
BIOS #
Wake On LAN のため、BIOS で Advanced > PCIE Devices > Wake On LAN: Enableらしい。
「らしい」 ってのは、Win11 の時にすでに設定済みだったので、今回いじってないです。
基本設定 #
-
システム設定 > ディスプレイとモニター- 解像度:
1920 x 1080- リモート端末が
1920x1080なので、デスクトップ環境も合わせてるだけ
- リモート端末が
- グローバルスケール:
100%- デフォだと
130%とかなってて、リモートから Moonlight で接続時、左上に縮小表示& 周りに虹、みたいになったので
- デフォだと
- 解像度:
-
システム設定 > Wi-Fi とネットワーク- 何もしなくても有線でつながったのでそのまま。CLI で指定しやすいよう名称だけ「有線接続」を「LAN1」に
- Wi-Fi は設定してません
-
Wake ON LAN
システム設定で設定項目見つけられなかったので、CLI で設定
# ネットワーク接続名を確認 $ nmcli connection show # magic packet $ sudo nmcli connection modify "LAN1" 802-3-ethernet.wake-on-lan magic # 設定項目確認 $ nmcli connection show "LAN1" | grep 802-3-ethernet.wake-on-lan
Steam の設定 #
- タイムゾーンを「日本 +0900」に変更しても、保存されない。ゲームのセーブデータは日本時間になってるみたいなので、そんなもんかと思って深追いしてない
- ドラクエ 7 リイマジンドは、外付け環境の時
Proton 10では不安定だったので、Proton 9.0-4にした。内蔵 SSD なら大丈夫かもしれないけど、ゲームできればいいので試してない
リモート設定 #
Bazzite に最初から入ってる Sunshine を自動起動し、クライアントからは Moonlight で接続する
自動起動 #
システム設定 > 自動起動- 「+追加」→「アプリケーション」
- 検索バーに Sunshine
クライアントの登録 #
- Bazzite で Sunshine が起動していることを確認
- 起動したら右下タスクバーに常駐している
- タスクバーで右クリック→Open Sunshine
- Firefox で設定画面が開くが、Firefox のセキュリティ設定にひっかかるので、先に Firefox 起動しておかないとダメかも
- 接続はプライベートではありません→詳細設定→localhostに進む
- URL はたぶん https://localhost:47990
- Firefox で設定画面が開くが、Firefox のセキュリティ設定にひっかかるので、先に Firefox 起動しておかないとダメかも
- 初回は ID と PW を決める
- リモートから接続するための画面を選択。デフォのままでいいと思う
- Desktop
- Desktop (Low Res Desktop)
- Steam (Big Picture)
- クライアントで Moonlight 起動する
- 私は Android と macOS
- 同じネットワークにつながっていると「bazzite」という名前の PC が登場するのでクリック
- 「Sunshine で PIN コードを入力しろ」と表示される
- Bazzite の Firefox の Sunshine 設定画面のタブ「PIN」で、4桁のPIN 入力
- 登録終わったら、Firefox は終了して OK
- 以降、Moonlight から接続可能
- WoL でのシャットダウンからの起動も Moonlight からできる。便利
放置するとつながらなくなる問題 #
リモートで遊んでる時は PC のディスプレイは消してるので、リモートからつないだまま放置すると Sunshine が
Error: Couldn't find monitor [0]
とエラーを吐いて、Moonlight からつながらなくなる。ホストは生きてるので歩いていって Sunshine を Restart すればいいんだけど、そのうち HDMI のダミープラグでもつなごう。
以上。これで、HX99G は快適 Steam 機になった。以降は、オマ環なこと。
起動が遅いことの解消 #
期待値は 1 分未満での起動なんだけど、どうも数分かかるし、スプラッシュスクリーンが 2 回表示されてりするので、起動時に再チャレンジしたりしてる? と思って調査。
解決策 #
20〜30秒くらいで起動するようになった。満足。
参考: https://www.reddit.com/r/Bazzite/comments/1ddwucj/comment/l9ae5c9/
$ sudo tee /etc/sddm.conf.d/yy-desktop-mode.conf << 'EOF'
[Autologin]
Session=plasma.desktop
Relogin=false
EOF
解決手順 #
-
デスクトップ左上にある「Return to Gaming Mode」クリックしても Desktop Mode に戻ってくるので、端末起動時もそうなってるんじゃないだろうか?
-
おった
$ journalctl -b | egrep -i "(gamescript|gaming|steam)" . . 2月 14 21:19:56 bazzite steam[10597]: reaping pid: 13062 -- steam 2月 14 21:21:44 bazzite steam[10597]: [2026-02-14 21:21:44] Background update loop checking for update. . . . .$ journalctl -b --no-pager | egrep -i "(sddm|plasm|kwin|compositor)" . . 2月 14 21:17:49 bazzite sddm-helper[1797]: Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8. . . 2月 14 21:17:49 bazzite sddm-helper[1797]: Starting Wayland user session: "/etc/sddm/wayland-session" "gamescope-session-plus steam" . . 2月 14 21:17:53 bazzite gamescope-session-plus[2270]: [gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' . . 2月 14 21:18:08 bazzite sddm-helper[1797]: pam_unix(sddm-autologin:session): session closed for user higemaru . . 2月 14 21:18:09 bazzite sddm-helper[3493]: Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8. -
KDE システム設定の SDDM 設定をいじっても状況変わらず。 Bazzite は Immutable OS だから、ここの設定いじってもダメなのかな?
-
/etc/ 以下は書き込み可能みたいなんで、設定探すよ
$ ls /etc/sddm.conf.d/ kde_settings.conf steamos.conf virtualkbd.conf zz-steamos-autologin.conf $ cat /etc/sddm.conf.d/steamos.conf [General] DisplayServer=wayland [Autologin] Relogin=true Session=gamescope-session.desktop User=higemaru [X11] # Janky workaround for wayland sessions not stopping in sddm, kills # all active sddm-helper sessions on teardown DisplayStopCommand=/usr/bin/gamescope-wayland-teardown-workaround $ cat /etc/sddm.conf.d/zz-steamos-autologin.conf [Autologin] Session=plasma-steamos-wayland-oneshot.desktopおった。これや
[Autologin] Relogin=true Session=gamescope-session.desktop User=higemaru -
gamescope-session がもれなくエラーになって再ログインすることになるので、数分かかるし、セッション変わるのでログインもやりなおしだし、いいことないので
- plasma.desktop で固定
- Relogin なし(ここは気にしなくてよかったかもしれない)
- zz- は一時的な設定ファイルで、起動時に削除される仕様
zz-steamos-autologin.confがずっとあるのは、ずっと失敗してるってことだな
- yy- はユーザーが意図的に上書き設定する時の prefix
スクショを自動でクラウドに #
あまりゲームのスクショとったりしないんだけど、たまにしかとらないから、よけいに取得に手間かけたくないのですよ。
- pCloud に自動で同期
- Bazzite は Gaming Mode ではバックグラウンドアプリはサスペンドされるかも、ということだったので、pCloud アプリに任せず、rclone + systemd でやる
- 結果的に常時 Desktop Mode だけど、まあいいや
- Bazite は、Mac ユーザーにはお馴染み Homebrew が入ってるよ。楽ちん
- rclone は同期先に pCloud を選択できるよ。楽ちん
導入 & テスト #
$ brew install rclone
$ rclone config # ひたすら return 。pCloud は45番くらい。OAuth の時 Firefox 起動する
$ ls ~/.local/share/Steam/userdata/ # 数字連番の SteamID
$ ls ~/.local/share/Steam/userdata/<SteamID>/760/remote/ # 数字連番のフォルダ(ゲーム毎のデータ)
$ rclone copy ~/.local/share/Steam/userdata/<SteamID>/760/ pcloud:me/hx99g_Bazzite/ -n # dry-run で確認
自動化 #
-
設置する場所を調べる
$ systemctl --user --no-pager --property UnitPath show -
service unit (実行)
$ cat ~/.config/systemd/user/rclone-screenshots.service [Unit] Description=Copy screenshots to pCloud using rclone [Service] Type=oneshot ExecStart=/home/linuxbrew/.linuxbrew/bin/rclone copy %h/.local/share/Steam/userdata/1204200924/760/ pcloud:me/hx99g_Bazzite/ # ExecStartPre=/usr/bin/sleep 2 -
path unit (監視)
$ cat ~/.config/systemd/user/rclone-screenshots.path [Unit] Description=Watch Screenshots folder for changes [Path] PathChanged=%h/.local/share/Steam/userdata/1204200924/760/remote/ Unit=rclone-screenshots.service [Install] WantedBy=default.target -
有効化
$ systemctl --user daemon-reload $ systemctl --user enable --now rclone-screenshots.path $ systemctl --user status rclone-screenshots.path # 監視状態の確認 $ systemctl --user start rclone-screenshots.service # 手動実行 $ journalctl --user -u rclone-screenshots.service # ログ確認