Nvidiaドライバのインストール後に解像度が800×600で停止する

Nvidiaドライバのインストール後に解像度が800×600で停止する

私はCUDAコードを書くためにFedora 40にNvidiaドライバをインストールしたいと思います。実際に参考にしたいことこの問題非常に似ているので、誰かが7年前にこの質問をしましたが、答えを得られませんでした。実は同じ問題を経験する方々をたくさん見ましたが、問題を解決する答えはありませんね。ほとんどのソリューションは、他の手段(Nvidia Webサイトなど)ではなく、RPMFusionリポジトリを介してドライバをインストールすることに焦点を当てています。 RPMFusionから直接インストールしたため、これは問題ではありません。

Fedora 40用kmod-nvidia(およびkmodが機能していない後にakmod-nvidia)パッケージをインストールしました。これを実行して再起動した後、解像度は800×600で停止しました。私が使用しているモニターは1680x1050です。今何をしても解像度を変更することはできず、モニターに「なし」と表示されます。

nvidia-smiコマンドによると、ドライバは550.76です。

lspci -d ::03xx -nnv出力:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate] [10de:2504] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: ASUSTeK Computer Inc. Device [1043:881d]
        Flags: bus master, fast devsel, latency 0, IRQ 172
        Memory at a0000000 (32-bit, non-prefetchable) [size=16M]
        Memory at 4000000000 (64-bit, prefetchable) [size=256M]
        Memory at 4010000000 (64-bit, prefetchable) [size=32M]
        I/O ports at 4000 [size=128]
        Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: nvidia
        Kernel modules: nvidia_drm, nvidia

cat /proc/fb「該当するディレクトリがありません」が発生します。

xrandr --listproviders出力:

Providers: number : 1
Provider 0: id: 0x41 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting

私はx86-64 IntelコアとRTX 3060 GPUを搭載したデスクトップコンピュータを使用しています。

debugfsをインストールした後も、/sys/kernel/debug/vgaswitcheroo/switchは存在しません。

私は試した:

  • Fedora 40の新規インストール
  • Fedora 39の新規インストール
  • KDEとGnomeとWayland
  • ドライバをインストールするさまざまな方法
  • xrandrを使用して端末を介して解像度を設定する(「使用可能モードで1680×1050のサイズが見つかりません」が発生)

答え1

いいですね。デスクトップでiGPUがないため、問題が発生する可能性があります。カーネルの側面は大丈夫に見えます。nvidiaモジュールがロードされ、nouveauアクティブな競合モジュールがないようです。

ただし、xrandr --listproviders出力にはmodesetting次のものではなく、唯一のプロバイダーが通常のプロバイダーとしてマークされますNVIDIA-0。これは、X11サーバーがNVIDIAカーネルモジュールと連携するために正しいX11ドライバモジュールを使用していないことを示します。

これは、GPUを明示的に指定するX11ドライバモジュールのセクションをxorg.conf含むフラグメントが必要であることを意味します。次のように見えます。Devicenvidia/etc/X11/xorg.conf.d/nvidia.conf

Section "Module"
    Disable        "dri"  # just to silence a warning about obsolete DRI 1.0
EndSection
 
Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"   # Selects this module...
    VendorName     "NVIDIA Corporation"
    BusID          "1:0:0"    # ... for this GPU.
EndSection

nvidia最新のシステムアップデートがこの機能を自動的に提供するか、X11ドライバが通常のドライバよりも優先順位が高いと推測されますmodesetting

関連情報