コンテンツにスキップ

Nvidia グラフィックカードのドライバ(古くなったカードも使えます)

1.はじめに

昨年末、久しぶりにアップーでとして、カーネルも再構成されたので再起動したら、init-ramfs? の表示後、真っ黒な画面が出て、そこからどうしても、いつまで経っても先に進まないのだ。

コンソール文字も表示されないため、グラフィックカードの不具合を疑い、早速 ArchWikiを見に行ったら、Wikiの体裁が大幅に変更されており、また私の使用しているグラフィックカードのドライバが提供されなくなった?ようなのだ。

2.Nvidia のQuadro M2000 と Quadro K2200 のドライバ

  1. 起動メディアで立ち上げ、x-windows-system 関係と nvidia ドライバ、 sfce4 関係のアンインストールと再インストールを何度か繰り返したが、やはり症状は改善しなかった。
  2. Nouveau を使用したときに、 それなりに表示されたが、複数のモニターを認識しなかったり、表示が遅いなどの症状が見られた。
  3. nvidia-settings や nvidia-utils を使えば自動的に改善してくれるかも?と期待したが、改善されなかった。
  4. ArchWiki の記載を確かめたが、

    • Nvidia が一部のグラフィックカードのドライバ提供を中止したため、nvidia-open というパッケージを配布し始めたこと。
    • Qaudro M2000 や K2200 には、従来のパッケージ nvidia が使えるように読めた。
    GPU ファミリ ドライバ 状態
    Maxwell (NV110/GMXXX) から
    Ada Lovelace (NV190/ADXXX)
    linux には nvidia
    linux-lts には nvidia-lts
    nvidia-dkms は任意のカーネルで使えます
    現行。サポートあり。1

    DKMS 版は特定のカーネルと結びついていません。カーネルのヘッダーファイルをインストールすると、そのカーネル用の NVIDIA カーネルモジュールをコンパイルし直すためです。

    ArchWikiより

  5. jounalctl | grep nvidia を実行すると、以下のような記録も残っていた。これによると、渡した使用しているグラフィックカードは Nvidia590 ( nvidia-open のバージョン)ではサポートされておらず、それ以前の 580 でサポートされていることがわかった。

    [ 14.678] (WW) NVIDIA(0): The NVIDIA Quadro M2000 GPU installed in this system is

    [ 14.678] (WW) NVIDIA(0): supported through the NVIDIA 580.xx Legacy drivers. Please

    [ 14.678] (WW) NVIDIA(0): visit http://www.nvidia.com/object/unix.html for more

    [ 14.678] (WW) NVIDIA(0): information. The 590.48.01 NVIDIA driver will ignore this

    [ 14.678] (WW) NVIDIA(0): GPU. Continuing probe...

    [ 14.678] (WW) NVIDIA(0): The NVIDIA Quadro K2200 GPU installed in this system is

    [ 14.678] (WW) NVIDIA(0): supported through the NVIDIA 580.xx Legacy drivers. Please

    [ 14.678] (WW) NVIDIA(0): visit http://www.nvidia.com/object/unix.html for more

    [ 14.678] (WW) NVIDIA(0): information. The 590.48.01 NVIDIA driver will ignore this

    [ 14.678] (WW) NVIDIA(0): GPU. Continuing probe...

    [ 14.678] (EE) Please also check the log file at "/home/user/.local/share/xorg/Xorg.0.log" for additional information.

  6. それではと nvidia の580 バージョンのドライバを探したところ、 AUR に見つけた。

    aur

3.Nvidia-580-dkmsのインストール

$ yay -S opencl-nvidia-580xx

とやったが、特に何も起きない。

良く見ると、nvidia-580xx-dkms は NVIDIA kernel modules - module sources (580xx) とあって、ドライバ自体ではなく、カーネルの再構築をするためのモジュールということだ。

それではと kernel-headers をインストールした

$ yay -S  linux-headers
    :: Running post-transaction hooks...
    (1/3) Arming ConditionNeedsUpdate...
    (2/3) Updating module dependencies...
    (3/3) Install DKMS modules
    ==> dkms install --no-depmod nvidia/580.119.02 -k 6.18.2-arch2-1
    ==> depmod 6.18.2-arch2-1

インストールしたkernel-headersを頼りに、これに適したドライバをビルドし始めた。

これが終了したのを確認して、再起動

4.現在の状況

(1)ドライバの読み込み状況

以下のようにドライバを読み込んでいる。

$ lsmod | grep nvidia
    nvidia_drm            147456  8
    nvidia_uvm           3858432  0
    nvidia_modeset       1933312  10 nvidia_drm
    drm_ttm_helper         16384  1 nvidia_drm
    nvidia              111591424  140 nvidia_uvm,nvidia_drm,nvidia_modeset
    video                  81920  1 nvidia_modeset

(2)起きている現象

以前同様、モニターから出力が得られるようになったのだが、やたら画面がちらつくようになったように感じる。

ターミナル や Google-Crome の表示がちらついて、時々背景の画像が出現するのだ。それでもプライマリーとして設定したモニターはちらつきがないようだが!

情報を集め、改善が認められたら報告します。