記録

 簡潔さのために、最初に結論を持ってくることにする。

効果があったこと

 効果があったことは、gnome-remote-desktop を 50.0-1 から 49.0-1 にダウングレードすることである。安全のために自動でアップグレードされないよう/etc/pacman.confにおいて、ignorePkg の項目にgnome-remote-desktopGDMを設定しておくことが推奨される。

試して失敗したこと、微妙だったこと

  • Nvidia のドライバの以下のバージョンを試す
    • 580
    • 580 のちょっと古いバージョン
    • 575 (カーネルバージョンを下げる必要がある。)
    • 550
  • 異なるデスクトップ環境(KDE)を使う
  • Google Gemini Fast 3 に症状を具体的に投げて、提案される環境変数を試す。
  • Google 検索で gnome-remote-desktopPipeWire などが吐き出すエラーについて、コピペして調べてフォームラムなどにあたってみる。
  • egl-gbm、egl-wayland、egl-wayland2 の 3 つのうち、egl-gbmとegl-wayland を /usr/share/egl/egl_external_platform.d/
  • gnome-remote-desktop
  • 別の手段として VNC サーバである wayvnc を試してみたが、GNOME ではそもそも動作不能であった。
  • CUDA のバージョンを Arch Linux - cuda 13.2.1-1 (x86_64) から AUR (en) - cuda12.0 に下げた。

この記事を作った動機や経緯

 最近 GNOME を動かしている GTX1080Ti を搭載するサーバ環境において、 Virt-Manager 経由で仮想マシンを立ち上げようとしたところ、部分的に更新をした影響でシステムが中途半端な状態になり、起動できないことがあった。そこでいつもどうり、すべてのパッケージを yay コマンドより更新して再起動をかけたところ異変が起こった。

 具体的には、GNOME デスクトップ環境で RDP 接続時において画面が真っ白になる症状が起こった。GPU が接続されている物理ディスプレイには正しく画面が表示されているが、RDPからは内容が全く見えず、Remmina においては真っ白でマウスやキーボード入力は動作する状態で、Windows 11 25H2 の Win32 の方の伝統的な RDP クライアントでは真っ黒になってしばらくして切断されてしまうという挙動になった。結論としては、gnome-remote-desktopパッケージが新しすぎる場合、PipeWire を正しく初期化できず、pw-topなどで確認すると、音声だけ転送され画面は一切転送されていないことが分かった。

 当初はしばらくの間、比較的 Wayland 環境において不安定な GTX1080Ti という古めの GPU でも正常に動作し RDP も動いていたことから、特に GNOME 側には問題ないだろうと思っていた。そこで障害発生時はどうせ Nvidia のプロプライエタリなドライバがバージョンアップでなんか悪さしているんだろうと思い込んでしまい、そのバージョンを疑って下げてみたりしたが症状は変わらず一貫していた。そもそも Nvidia のドライバのバージョンを下げることが難しく、最新の linux-6.19.11.arch1-1 では 580 番代のドライバ以外カーネルモジュールが一切ビルドできなかったため、Linux 6.18.22-1-lts にダウングレードしたりした。

 その次に、GNOME の描画を担当する GDM の動作がだめなのかと思いこんでしまい、そのバージョンをメジャーバージョンの 50 から、46 や 49 などにダウングレードしてみることを試みたが、それでも症状は変わらず一貫していた。特に 46 あたりを試したときは GDM 起動さえしなかった。

 更にその次に、とにかく RDP が動かないのは耐え難いということで、もう何度も試しては再起動して試行錯誤し、6 時間以上トラブルシュートに費やしてしまったことから、KDE のデスクトップ環境を試したところ、Kwin 配下において Wayland で起動した状態で RDP が機能することが分かった。ただ問題点としては、明らかに GNOME 内臓の RDP より性能が劣るということがあり、遅延が大きくカクついていたた。結局同じユーザアカウントで GNOME と KDE など異なるデスクトップ環境を混在させると、設定などがぐちゃぐちゃになってアイコンなどがキモくなったりするため、めんどくさく実用的な案ではないとして、GNOMEに戻すことにした。

 そこで、Google Gemini Fast 3 が提案する出どころ不明の得体のしれない環境変数など色々試したりもしたが、全く改善が見られず、症状はこの時点でも画面真っ白で一貫していた。

 そして最終的に、gnome-remote-desktop というパッケージがあることに、しばらくトラブルシュートしてあれこれパッケージを入れたり消したりしているうちに気づき、そのメジャーバージョンも 50 となっていたことから、GDM などは メジャーバージョン 50 のままで、gnome-remote-desktop だけダウングレードしてみるのもありではないかと考え、メジャーバージョン 49 を試した。

 そのところようやく GDM 50.0-2 と gnome-remote-desktop 49.0-1 で動作を確認することができた。まだ、最新の Linux カーネル、最新の Nvidia ドライバでもう一度動作を確認することはしておらず、Linux 6.18.22-1-ltsnvidia-575xx においての動作の確認となる。

 今回の記事では軽くまとめを行うことにする。

最終的な環境情報

System Details Report

Report details

  • Date generated: 2026-04-15 04:13:57

Hardware Information:

  • Hardware Model: HP ProLiant DL60 Gen9
  • Memory: 88.0 GiB
  • Processor: Intel® Xeon® E5-2620 v4 × 32
  • Graphics: NVIDIA GeForce GTX 1080 Ti
  • Disk Capacity: 30.0 TB

Software Information:

  • Firmware Version: U15
  • OS Name: Arch Linux
  • OS Build: (null)
  • OS Type: 64-bit
  • GNOME Version: 50
  • Windowing System: Wayland
  • Kernel Version: Linux 6.18.22-1-lts

おまけ

古いパッケージにダウングレードしたい

  • Arch Linux Archive から、すでにビルドされた古いバージョンのバイナリを取得する。Core や Extra に分類されるパッケージであればここに存在するものだと思われる。
  • AUR において View Changes の項目から、使いたい古いバージョンの PKGBUILD を取得する。
    AUR-ViewChanges

古いバージョンにおいて、nvidia の dkms のビルドが通らない

必要なこと

 linux カーネルのバージョンを合わせる必要がある。今回は単純に通常の linux カーネルではなく AUR にあるArch Linux - linux-lts 6.18.22-1 (x86_64)を利用することで事実上のダウングレードを行った。dkms 構築のために、Arch Linux - linux-lts-headers 6.18.22-1 (x86_64) も必要である。

dkms コマンドについて

  • 何がインストールされているか確認する
sudo dkms status
# nvidia/575.64.05, 6.18.22-1-lts, x86_64: installed
# nvidia/575.64.05, 6.9.7, x86_64: installed
# vboxhost/7.2.6_OSE, 6.18.22-1-lts, x86_64: installed
# vboxhost/7.2.6_OSE, 6.9.7, x86_64: installed
  • 特定の dkms モジュールをビルドに失敗した分再インストールする
yay -Qs nvidia
# pacman -Qs nvidia
# local/nvidia-575xx-dkms 575.64.05-2
#     NVIDIA kernel modules - module sources
# local/nvidia-575xx-utils 575.64.05-2
#     NVIDIA drivers utilities

# nvidia/[バージョン] という形で -2 など AUR における管理番号は取り除いて指定する。
sudo dkms install --no-depmod nvidia/575.64.05

dkms コマンド失敗時に起こること

 mkinitcpio コマンドにおいて起動時に読み込まれる初期 RAM イメージに dkms モジュール生成に失敗した分、/etc/mkinitcpio.confにおいて設定していたとしてもモジュールが組み込まれない、反映されない状態になる。

gnome-remote-desktop のダウングレード

 Arch Linux Archiveの以下のリンクより利用可能なバージョンで、メジャーバージョンが 49 のものを選ぶ。

# 一時作業ディレクトリの作成
cd /tmp
mkdir rdp
cd rdp

# ダウングレードする対象のパッケージを取得
wget https://archive.archlinux.org/packages/g/gnome-remote-desktop/gnome-remote-desktop-49.0-1-x86_64.pkg.tar.zst

# インストール
yay -U gnome-remote-desktop-49.0-1-x86_64.pkg.tar.zst
# sudo pacman -U gnome-remote-desktop-49.0-1-x86_64.pkg.tar.zst

PipeWire の動作確認

pw-top
pw-top

gnome-remote-desktop の動作確認

# システム全体
systemctl status gnome-remote-desktop
# ユーザ単位
systemctl status --user gnome-remote-desktop

yay(pacman)コマンドにて更新時に特定のパッケージを無視する

  • ファイルの場所
/etc/pacman.conf
  • 設定例
# ...
# IgnorePkg   = [無視したいパッケージ1] [無視したいパッケージ2] [無視したいパッケージ3] ...
IgnorePkg   = apache cuda12.0 nvidia gdm linux-lts-headers linux-lts gnome-remote-desktop 
# ...

参考にしたサイトとか