如何让 Debian Jessie 使用 nvidia 专有驱动程序?

如何让 Debian Jessie 使用 nvidia 专有驱动程序?

我按照中的说明进行操作Debian 维基通过向后移植在 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/3Anr3FWU(这是正确的放置方式吗?我希望如此)

使用以下 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

(它引用的版本低于我从 wiki 中预期的版本,352.79 与 340.46,但可能什么都没有),X 服务器根本不启动(我得到一个带有闪烁光标的黑屏,但 tty1-6 可用) 。如果我删除除“设备”部分之外的所有内容,结果相同。

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

这是一款配备 nvidia 940M 专用显卡(以及英特尔板载 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驱动程序呢?

答案1

似乎有效!谢谢@cas(参见问题评论)。我安装了 bumblebee (从向后移植,因为那是我安装 nvidia-driver 和依赖项的地方,按照维基百科):

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

并重新启动以确保一切正常(您可能甚至不需要重新启动 X 服务器,但我感觉很仁慈)。注意,如果您尚未安装 nvidia 驱动程序,我相信这也会将其拉入?不过我还没有测试过。相反,它可能会引入新风格。如果您运行时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 使用集成的英特尔显卡(我认为 mesa 曾经表示软件 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:

成功!

相关内容