Quadro K600 搭載マシンに Debian 13 を導入した際の画面出力問題とその解決

Debian 13 で環境を統一したが、この際に 10 年以上も前のマシンに Debian 13 を導入したところ、インストール直後からローカルディスプレイに出力が得られない問題に遭遇した。本記事では発生状況、調査過程、最終的な解決方法、および今後の見通しについて整理する。


前提条件

  • GPU: NVIDIA Quadro K600 (GK107, Kepler 世代)
  • OS: Ubuntu 20.04 LTS + ESM から Debian 13 (trixie) へリプレース。
  • インストール直後は SSH での接続は可能。
  • ローカル画面は「このビデオモードは再生できません」と表示され、ログイン画面に到達できない。

調査過程

  1. nomodeset オプションでの暫定回避
    GRUB に nomodeset を追加して VESA モードで起動。画面は出るが解像度が低く常用には不適。
  2. GPU の確認
    lspci の結果から Quadro K600 (GK107) を搭載していることを確認。現行の nvidia-driver パッケージでは Kepler 世代がサポート外。
  3. nouveau ドライバの挙動
    xserver-xorg-video-nouveau は導入済みだが、起動時にスタックトレースを出力。GDM ログイン画面でキーボードが効かない一方、startx では GNOME Flashback が動作することを確認。
  4. ディスプレイマネージャの切替
    問題が GDM に限定されていると判断し、軽量な lightdm に切り替えたところ、ログイン画面でのキーボード入力が正常化。GUI ログインが可能になった。

解決方法(最終確定手順)

1. NVIDIA 関連パッケージを削除し nouveau を利用

sudo apt-get purge -y 'nvidia-*'
sudo rm -f /etc/X11/xorg.conf /etc/X11/xorg.conf.d/*nvidia*.conf
sudo apt-get install -y xserver-xorg-video-nouveau

2. ディスプレイマネージャを lightdm に切替

sudo apt-get install -y lightdm
sudo dpkg-reconfigure lightdm   # デフォルト DM を lightdm に設定
sudo systemctl disable gdm3
sudo systemctl enable lightdm

3. 起動時の冗長なログを抑制(最低限のメッセージは残す)

/etc/default/grub を編集し、以下を指定:

GRUB_CMDLINE_LINUX_DEFAULT="quiet video=DVI-I-1:1920x1080@60 loglevel=3 systemd.show_status=auto"

設定反映:

sudo update-grub
sudo reboot

結果

  • nouveau + lightdm の構成で GNOME Flashback をフル HD 解像度で安定利用可能。
  • 起動時に表示されていた nouveau のスタックトレースは loglevel=3 により抑制され、最低限のメッセージのみ表示。
  • SSH 主体の運用とし、必要に応じて GUI を補助的に利用できる状態を確保。

今後の見通し

  • Quadro K600 (Kepler) は現行の公式 NVIDIA ドライバ対象外であり、今後も nouveau 依存となる見込み。
  • 古い GPU に対する開発・テストは縮小傾向であり、将来のカーネルや Xorg の更新で不具合が再発する可能性がある。
  • 長期的に安定した GUI 利用を求める場合は、Pascal 世代以降の GPU へ載せ替えが現実的。
  • サーバ用途に限定するなら、ヘッドレス運用(SSH または VNC)で十分。GUI に依存しない設計が無難。

補足:ヘッドレス運用時の暗号化 LVM ゲストの起動(VNC / SSH)

基本的に暗号化 LVM を利用するので、ゲスト OS を vmrun start したときにパスフレーズを対話的に入力する必要がある。

VNC コンソールで解錠する

  1. ハイパーバイザ側で VM のグラフィックを VNC に設定。
  2. ブート時に表示される initramfs のパスフレーズ入力画面を VNC クライアントで操作。

SSH(initramfs + Dropbear)で解錠する

  1. ゲスト OS に Dropbear の initramfs 連携パッケージを導入:
    sudo apt-get install -y dropbear-initramfs
  2. /etc/dropbear-initramfs/authorized_keys に公開鍵を登録。
  3. 必要なら /etc/initramfs-tools/initramfs.conf やカーネルパラメータでネットワーク設定を行う(例:ip=dhcp)。
  4. initramfs を更新:
    sudo update-initramfs -u
  5. 再起動後、initramfs 上の Dropbear に SSH 接続して LUKS を解錠(ディストリビューションの設定に従い cryptroot-unlock などを使用)。

まとめ

  • Debian 13 環境で Quadro K600 を利用する場合、nouveau + lightdm の組み合わせでフル HD の GUI を安定して利用できた。
  • 将来のアップグレードでは、GPU 更新またはヘッドレス運用への移行を前提にすると運用が安定する。
  • さらに GUI をほとんど使わず VMware Workstation Pro の管理専用と割り切るのであれば、
    nomodeset + VESA モードで常用するのも現実的な選択肢である。