使用NVidia ION时X不会启动

我试图让X开始使用带有nvidia离子芯片组的系统,但无论我做什么,它都会失败。 这个设备使用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 xinit /usr/bin/lxsession -session NO_WM -- /usr/bin/Xorg :0.0 -dpms -s 0 -v -allowMouseOpenFail -br (会话是自定义的,但其他人也失败了。 )

这是我的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 

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

 sudo modprobe nvidia-current 

如果失败并显示一条错误消息,指出无法找到该模块,请确保列出了nvidia-current模块:

 dkms status 

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

如果这是带有Nvidia Optimus的混合图形笔记本电脑,你可能想尝试大黄蜂:
http://launchpad.net/~hybrid-graphics-linux

b)尝试使用intel和nvidia卡同时使用bumblebee:

 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 

AFAIK 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

我无法让nvidia驱动程序正常工作,但是nouveau驱动程序似乎表现得令人满意。