使用 NVidia ION 时 X 无法启动

使用 NVidia ION 时 X 无法启动

我正在尝试让 X 在具有 nvidia ion 芯片组的系统上启动,但无论我做什么,它都会失败。nvidia该设备与 ubuntu Karmic 驱动程序配合使用,所以我不确定它为什么会失败。

(II) LoadModule: "nvidia"
(II) Loading /usr/lib/xorg/extra-modules/nvidia_drv.so
(II) Module nvidia: vendor="NVIDIA Corporation"
    compiled for 4.0.2, module version = 1.0.0
    Module class: X.Org Video Driver
(EE) NVIDIA: Failed to load the NVIDIA kernel module. Please check your
(EE) NVIDIA:     system's kernel log for additional error messages.
(II) UnloadModule: "nvidia"
(II) Unloading /usr/lib/xorg/extra-modules/nvidia_drv.so
(EE) Failed to load module "nvidia" (module-specific error, 0)
(EE) No drivers available.

Fatal server error:
no screens found

dmesg没有相关有用信息。

我已经安装了以下软件包:

# dpkg -l *nvidia* | grep ^ii
ii  nvidia-173                            173.14.22-0ubuntu11                             NVIDIA binary Xorg driver, kernel module and VDPAU library
ii  nvidia-173-modaliases                 173.14.22-0ubuntu11                             Modaliases for the NVIDIA binary X.Org driver
ii  nvidia-180-modaliases                 185.18.36-0ubuntu9                              Transitional package for nvidia-185-modaliases
ii  nvidia-185-kernel-source              195.36.24-0ubuntu1~10.04                        Transitional package for nvidia-glx-185-kernel-source
ii  nvidia-185-libvdpau                   195.36.24-0ubuntu1~10.04                        Transitional package for nvidia-185-libvdpau
ii  nvidia-185-modaliases                 195.36.24-0ubuntu1~10.04                        Transitional package for nvidia-185-modaliases
ii  nvidia-96                             96.43.17-0ubuntu1                               NVIDIA binary Xorg driver, kernel module and VDPAU library
ii  nvidia-96-modaliases                  96.43.17-0ubuntu1                               Modaliases for the NVIDIA binary X.Org driver
ii  nvidia-common                         0.2.23                                          Find obsolete NVIDIA drivers
ii  nvidia-current                        195.36.24-0ubuntu1~10.04                        NVIDIA binary Xorg driver, kernel module and VDPAU library
ii  nvidia-current-modaliases             195.36.24-0ubuntu1~10.04                        Modaliases for the NVIDIA binary X.Org driver
ii  nvidia-glx-173                        173.14.22-0ubuntu11                             Transitional package for nvidia-glx-173
ii  nvidia-glx-180                        185.18.36-0ubuntu9                              Transitional package for nvidia-glx-185
ii  nvidia-glx-185                        195.36.24-0ubuntu1~10.04                        Transitional package for nvidia-glx-185
ii  nvidia-glx-96                         96.43.17-0ubuntu1                               Transitional package for nvidia-glx-96
ii  nvidia-settings                       195.36.08-0ubuntu2                              Tool of configuring the NVIDIA graphics driver

xinit /usr/bin/lxsession -session NO_WM -- /usr/bin/Xorg :0.0 -dpms -s 0 -v -allowMouseOpenFail -br我正在用(该会话是自定义的,但其他会话也失败了。)启动 X。

这是我的 xorg.conf

Section "ServerLayout"
    Identifier     "X.org Configured"
    Screen      0  "Screen0" 0 0
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection

Section "Device"
    Identifier  "Card0"
    Driver      "nvidia"
    VendorName  "nVidia Corporation"
    BoardName   "Unknown Board"
    BusID       "PCI:2:0:0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

如果我使用 nvidia-xconfig,它会生成一个带有驱动程序的配置文件vesa,这对于此盒子的用途来说是不可接受的。我不知道如何继续。


通过谷歌搜索,我发现建议添加一些 modprobe 黑名单,我添加了这些黑名单,但它们没有帮助。

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

lspci据称,该设备02:00.0 VGA compatible controller: nVidia Corporation Device 0874 (rev b1)


直接加载模块失败:

# modprobe nvidia
FATAL: Module nvidia not found.
# modprobe nvidia-current
FATAL: Module nvidia_current not found.

dkms status说我有它;

# dkms status
nvidia-96, 96.43.17: added 
nvidia-current, 195.36.24, 2.6.32-32-generic, i686: installed 
nvidia-173, 173.14.22: added 

这是已加载的模块。

# lsmod
Module                  Size  Used by
snd_hda_codec_nvhdmi     3840  1 
snd_hda_codec_realtek   203376  1 
binfmt_misc             6587  1 
ppdev                   5259  0 
snd_hda_intel          22069  0 
snd_hda_codec          74201  3 snd_hda_codec_nvhdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep               5412  1 snd_hda_codec
snd_pcm_oss            35308  0 
snd_mixer_oss          13746  1 snd_pcm_oss
snd_pcm                70694  3 snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd_seq_dummy           1338  0 
snd_seq_oss            26722  0 
snd_seq_midi            4557  0 
snd_rawmidi            19056  1 snd_seq_midi
snd_seq_midi_event      6003  2 snd_seq_oss,snd_seq_midi
snd_seq                47263  6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_timer              19098  2 snd_pcm,snd_seq
snd_seq_device          5700  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
video                  17375  0 
output                  1871  1 video
snd                    54244  12 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
lp                      7028  0 
psmouse                63677  0 
serio_raw               3978  0 
shpchp                 28835  0 
i2c_nforce2             5199  0 
soundcore               6620  1 snd
snd_page_alloc          7076  2 snd_hda_intel,snd_pcm
parport                32635  2 ppdev,lp
usbhid                 36110  0 
hid                    67288  1 usbhid
r8169                  34140  0 
mii                     4381  1 r8169
ahci                   32360  2 

答案1

看起来 Xorg 无法加载内核 nvidia 驱动程序。您可以尝试手动加载它:

sudo modprobe nvidia-current

如果失败并出现错误消息,表明找不到模块,请确保您已nvidia-current在以下位置列出该模块:

dkms status

否则,请在您的问题详细信息中包含lsmod该命令的输出和/或输出modprobe

答案2

如果这是一台配备 Nvidia Optimus 的混合显卡笔记本电脑,您可能想尝试一下大黄蜂:
http://launchpad.net/~hybrid-graphics-linux

b)尝试使用 bumblebee 同时使用英特尔和 nvidia 卡:

sudo apt-get install git
# type password
git clone http://github.com/MrMEEE/bumblebee.git
cd bumblebee/
sudo ./install.sh
optirun glxgears
optirun glxspheres

检查速度并与不使用 optirun 的情况下的运行速度进行比较:

optirun glxgears
optirun glxspheres
# close window
glxgears
glxspheres

对于 WebGL 基准测试,请安装 google-chrome 或使用支持 WebGL 的浏览器,并可以尝试使用/不使用 optirun,并在邮件列表中报告 FPS 值:

optirun google-chrome http://webglsamples.googlecode.com/hg/aquarium/aquarium.html
# close window
google-chrome http://webglsamples.googlecode.com/hg/aquarium/aquarium.html

答案3

据我所知,nVidia ION 是一款使用 Optimus 的混合显卡(在笔记本电脑上)。nvidia 驱动程序和 nouveau 驱动程序都不支持 Optimus。

无论如何,如果您想使用该nvidia驱动程序,请确保该nouveau驱动程序已被卸载:

sudo rmmod nouveau

为了避免下次启动时加载,请将其列入黑名单:

echo blacklist nouveau | sudo tee /etc/modprobe.d/blacklist-nouveau.conf

如果这没有帮助,请检查您的/var/log/kern.log文件是否有任何有用的消息。

Ubuntu 在自动配置 X 服务器方面做得很好,通常不需要使用自己的 xorg.conf 文件。尝试删除或重命名该文件以让 Ubuntu 自动配置 X。

nvidia-current使用 dkms 构建内核模块。为此,必须安装与正在运行的内核匹配的内核头文件。最新的linux-generic软件包是版本 2.6.32-33 (2.6.32.33.39)。最新的内核头文件由软件包提供linux-headers-generic。如果您不想升级内核,请至少安装当前的核心:

sudo apt-get install linux-headers-$(uname -r)

此后,nvidia-current 模块应该会自动构建。如果没有,请运行sudo dpkg-reconfigure nvidia-current

答案4

我无法让 nvidia 驱动程序运行,但 nouveau 驱动程序似乎表现得还不错。

相关内容