NVidia 不适用于联想 T540p、Debian Jessie

NVidia 不适用于联想 T540p、Debian Jessie

有一个全新的联想 T540p笔记本电脑运行Debian 杰西。它可以启动,但无论我怎么尝试,NVidia 显卡都无法启动。我为 Debian 多次安装过 NVidia。也为 Jessie 安装过。但在这种情况下它不起作用。

我做了什么:

  1. 将“non-free”和“contrib”添加到 /etc/apt/sources.list 中的源中。
  2. 运行“apt-get update”。
  3. 运行“apt-get install nvidia-driver nvidia-xconfig”。常见的消息是将 Nouveau 列入黑名单等... 安装如预期一样。
  4. 运行“nvidia-xconfig”来创建“/etc/X11/xorg.config”
  5. 重启。

显示的通常是 Grub 菜单 - 绘制速度非常慢 - 并且它确实启动了 Debian。唯一不寻常的是滚动文本的字符大小;它们真的很小。最后屏幕变黑,光标闪烁。它就在那里。

X 日志显示找不到该设备。因此也找不到任何屏幕。但是,一切似乎都正常。设备在那里,并且“nvidia-detect”确认了它的存在和兼容性。并且软件包已安装。

这听起来像是设备特有的问题。UEFI 中存在可能存在问题的“操作系统优化”功能。它被禁用了。我试过了我能想到的所有办法。但我不得不承认,这个问题超出了我的能力范围。:-)

谁知道我还能尝试什么?

uname -a

Linux <host> 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt2-1 (2014-12-08) x86_64 GNU/Linux

dpkg -l | grep -i nvidia

ii  glx-alternative-nvidia                0.5.1                                  amd64        allows the selection of NVIDIA as GLX provider
ii  libegl1-nvidia:amd64                  340.65-2                               amd64        NVIDIA binary EGL libraries
ii  libgl1-nvidia-glx:amd64               340.65-2                               amd64        NVIDIA binary OpenGL libraries
ii  libgles1-nvidia:amd64                 340.65-2                               amd64        NVIDIA binary OpenGL|ES 1.x libraries
ii  libgles2-nvidia:amd64                 340.65-2                               amd64        NVIDIA binary OpenGL|ES 2.x libraries
ii  libnvidia-eglcore:amd64               340.65-2                               amd64        NVIDIA binary EGL core libraries
ii  libnvidia-ml1:amd64                   340.65-2                               amd64        NVIDIA Management Library (NVML) runtime library
ii  nvidia-alternative                    340.65-2                               amd64        allows the selection of NVIDIA as GLX provider
ii  nvidia-detect                         340.65-2                               amd64        NVIDIA GPU detection utility
ii  nvidia-driver                         340.65-2                               amd64        NVIDIA metapackage
ii  nvidia-driver-bin                     340.65-2                               amd64        NVIDIA driver support binaries
ii  nvidia-installer-cleanup              20141201+1                             amd64        cleanup after driver installation with the nvidia-installer
ii  nvidia-kernel-common                  20141201+1                             amd64        NVIDIA binary kernel module support files
ii  nvidia-kernel-dkms                    340.65-2                               amd64        NVIDIA binary kernel module DKMS source
ii  nvidia-modprobe                       340.46-1                               amd64        utility to load NVIDIA kernel modules and create device nodes
ii  nvidia-settings                       340.46-2                               amd64        tool for configuring the NVIDIA graphics driver
ii  nvidia-support                        20141201+1                             amd64        NVIDIA binary graphics driver support files
ii  nvidia-vdpau-driver:amd64             340.65-2                               amd64        Video Decode and Presentation API for Unix - NVIDIA driver
ii  nvidia-xconfig                        340.46-1                               amd64        X configuration tool for non-free NVIDIA drivers
ii  xserver-xorg-video-nvidia             340.65-2                               amd64        NVIDIA binary Xorg driver

nvidia-检测

Detected NVIDIA GPUs:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208M [GeForce GT 730M] [10de:1290] (rev a1)
Your card is supported by the default drivers.
It is recommended to install the
    nvidia-driver
package.

串行通信

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 04)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d4)
00:1c.1 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #2 (rev d4)
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d4)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation QM87 Express LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation GK208M [GeForce GT 730M] (rev a1)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01)
04:00.0 Network controller: Intel Corporation Wireless 7260 (rev 83)

消息

[    2.270114] nvidia: module license 'NVIDIA' taints kernel.
[    2.280419] nvidia 0000:01:00.0: enabling device (0000 -> 0003)
[    3.619752] [drm] Initialized nvidia-drm 0.0.0 20130102 for 0000:01:00.0 on minor 1
[    3.619759] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  340.65  Tue Dec  2 09:50:34 PST 2014

/etc/X11/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" 0 0
    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

/var/log/Xorg.0.log

[     3.575] 
X.Org X Server 1.16.2.901 (1.16.3 RC 1)
Release Date: 2014-12-09
[     3.575] X Protocol Version 11, Revision 0
[     3.575] Build Operating System: Linux 3.2.0-4-amd64 x86_64 Debian
[     3.575] Current Operating System: Linux no-nb-jgo-2 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt2-1 (2014-12-08) x86_64
[     3.575] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.16.0-4-amd64 root=UUID=8aa62235-5297-46a0-a403-18ff956f1a7d ro quiet
[     3.575] Build Date: 09 December 2014  10:15:28PM
[     3.575] xorg-server 2:1.16.2.901-1 (http://www.debian.org/support) 
[     3.575] Current version of pixman: 0.32.6
[     3.575]    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
[     3.575] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[     3.575] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Feb  6 10:14:13 2015
[     3.575] (==) Using config file: "/etc/X11/xorg.conf"
[     3.575] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[     3.576] (==) ServerLayout "Layout0"
[     3.576] (**) |-->Screen "Screen0" (0)
[     3.576] (**) |   |-->Monitor "Monitor0"
[     3.577] (**) |   |-->Device "Device0"
[     3.577] (**) |-->Input Device "Keyboard0"
[     3.577] (**) |-->Input Device "Mouse0"
[     3.577] (==) Automatically adding devices
[     3.577] (==) Automatically enabling devices
[     3.577] (==) Automatically adding GPU devices
[     3.578] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[     3.578]    Entry deleted from font path.
[     3.580] (==) FontPath set to:
    /usr/share/fonts/X11/misc,
    /usr/share/fonts/X11/100dpi/:unscaled,
    /usr/share/fonts/X11/75dpi/:unscaled,
    /usr/share/fonts/X11/Type1,
    /usr/share/fonts/X11/100dpi,
    /usr/share/fonts/X11/75dpi,
    built-ins
[     3.580] (==) ModulePath set to "/usr/lib/xorg/modules"
[     3.580] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[     3.580] (WW) Disabling Keyboard0
[     3.580] (WW) Disabling Mouse0
[     3.580] (II) Loader magic: 0x7f52cdebfd80
[     3.580] (II) Module ABI versions:
[     3.580]    X.Org ANSI C Emulation: 0.4
[     3.580]    X.Org Video Driver: 18.0
[     3.580]    X.Org XInput driver : 21.0
[     3.580]    X.Org Server Extension : 8.0
[     3.580] (II) xfree86: Adding drm device (/dev/dri/card0)
[     3.593] (--) PCI:*(0:0:2:0) 8086:0416:17aa:221e rev 6, Mem @ 0xf1000000/4194304, 0xe0000000/268435456, I/O @ 0x00005000/64
[     3.594] (--) PCI: (0:1:0:0) 10de:1290:17aa:221e rev 161, Mem @ 0xf0000000/16777216, 0xc0000000/268435456, 0xd0000000/33554432, I/O @ 0x00004000/128
[     3.594] (II) LoadModule: "glx"
[     3.596] (II) Loading /usr/lib/xorg/modules/linux/libglx.so
[     3.667] (II) Module glx: vendor="NVIDIA Corporation"
[     3.667]    compiled for 4.0.2, module version = 1.0.0
[     3.667]    Module class: X.Org Server Extension
[     3.668] (II) NVIDIA GLX Module  340.65  Tue Dec  2 09:10:06 PST 2014
[     3.668] (II) LoadModule: "nvidia"
[     3.669] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[     3.674] (II) Module nvidia: vendor="NVIDIA Corporation"
[     3.674]    compiled for 4.0.2, module version = 1.0.0
[     3.674]    Module class: X.Org Video Driver
[     3.674] (II) NVIDIA dlloader X Driver  340.65  Tue Dec  2 08:47:36 PST 2014
[     3.674] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[     3.675] (++) using VT number 7

[     3.687] (EE) No devices detected.
[     3.687] (EE) 
Fatal server error:
[     3.687] (EE) no screens found(EE) 
[     3.687] (EE) 
Please consult the The X.Org Foundation support 
     at http://wiki.x.org
 for help. 
[     3.687] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[     3.687] (EE)

答案1

添加BusID "PCI:1:0:0"到设备部分。

答案2

/var/log/Xorg.0.log

    [     3.687] (EE) No devices detected.
    [     3.687] (EE) 
    Fatal server error:
    [     3.687] (EE) no screens found(EE) 
    [     3.687] (EE) 

哦,xorg 中没有指定显卡。那好吧。让我们看看添加显卡需要哪些细节。

串行通信

    01:00.0 VGA compatible controller: NVIDIA Corporation GK208M [GeForce GT 730M] (rev a1)

lspci 告诉您 NVIDIA 卡在 PCI 总线上的位置。看起来我们处于 1:00.0

/etc/X11/xorg.conf

    ...
    Section "Device"
        Identifier     "Device0"
        Driver         "nvidia"
        VendorName     "NVIDIA Corporation"
        BusID "PCI:1:0:0"
    EndSection

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

嗯,无论出于什么原因,Device 部分都需要 PCI 总线上设备的地址,因为设置和运行的自动检测不能满足要求。因为 Device 配置错误——在 Screen 部分指定它也会导致它在实际问题之后失败。

顺便说一句,干得好。提供了回答问题所需的信息。

我目前正在 T540p 上打字,并且正在运行 Nouveau 驱动程序,希望这有帮助。

相关内容