web-dev-qa-db-ja.com

Debian Jessieにnvidiaプロプライエタリドライバを使用させる方法は?

Debian wiki の指示に従って、バックポート経由でDebian Jessieにnvidia独自のグラフィックドライバをインストールしました。残念ながら、私の最善の努力にもかかわらず、Xサーバーは新しいドライバーを使用しません。

正しく構築およびインストールされたカーネルモジュール:

$ Sudo lsmod | grep nvidia
nvidia               8487526  0 
drm                   249955  5 i915,drm_kms_helper,nvidia
i2c_core               46012  12 drm,i915,i2c_i801,snd_soc_rt5640,i2c_hid,i2c_designware_platform,regmap_i2c,drm_kms_helper,i2c_algo_bit,nvidia,v4l2_common,videodev

Xorg.confファイルがない場合、Xは正常に動作しますが、nvidiaドライバーを使用しません。 nvidia-settingsは、「NVIDIA Xドライバーを使用していないようです」と報告しています。

Xorg.log.0: http://Pastebin.com/3Anr3FW (これはこれを入れる正しい方法ですか?そう願っています)

次のxorg.confを使用:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 340.46  (buildd@brahms)  Tue Oct  7 08:00:32 UTC 2014

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

(これは、ウィキから予想したよりも低いバージョン、352.79対340.46を引用していますが、おそらく何もありません)、Xサーバーはまったく起動しません(カーソルが点滅している黒い画面が表示されますが、tty1-6は使用可能です) 。 「デバイス」セクション以外をすべて切り取っても同じ結果になります。

Xorg.log.0: http://Pastebin.com/cYLSYiUV

これは、nvidia 940M専用グラフィックス(およびIntelオンボードgfx)を備えたMSIラップトップです。

$ lspci | egrep -i "vga|nvidia"
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 3D controller: NVIDIA Corporation Device 1347 (rev a2)

それで、どうすればXを起動してnvidiaドライバーを使用できますか?

4
allicoder

動作するようです! @casに感謝します(質問へのコメントを参照してください)。私はbumblebeeをインストールしました(バックポートから、nvidia-driverと依存関係をインストールした場所なので、 wiki のように):

$ Sudo aptitude install -t jessie-backports bumblebee bumblebee-nvidia

すべてが正常に機能していることを確認するために再起動しました(おそらくXサーバーを再起動する必要すらありませんが、私は慈善活動を感じていました) NB nvidiaドライバーをまだインストールしていない場合は、これも引き込むと思いますか?テストはしていません。代わりにnouveauを引き込む可能性があります。primusrun glxinfoを実行するとどこにも「nvidia」が表示されない場合は、これが発生している可能性があります。その場合、おそらくwikiに従ってdebianをインストールするだけで、機能するはずです(新しいカーネルがインストールされるため、確実に再起動する必要があります)。モジュール)。

次に、glxinfoglxgearsを使用してテストしました。

$ glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile 
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.3.2
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.3.2
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.3.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.0
OpenGL ES profile extensions:

Glxinfo bareを実行すると、統合されたIntelグラフィックスが使用されることに注意してください(メサはソフトウェアopenglを意味していたと思いますか?今の意味がわかりません。ただし、ディスクリートカードを使用していないことは明らかです)。

$ primusrun glxinfo | grep OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 940M/PCIe/SSE2
OpenGL core profile version string: 4.4.0 NVIDIA 352.79
OpenGL core profile shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5.0 NVIDIA 352.79
OpenGL shading language version string: 4.50 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:

成功!

3
allicoder