我已经为这个问题烦恼了好几天了,谷歌也没有帮助。
我创建了一个很棒的(直到这个问题出现之前)Ubuntu Linux 便携式副本,它可以通过为我的笔记本电脑的 80GB SATA 驱动器使用 USB 外壳在几乎所有设备上启动。到目前为止一切顺利,它可以在所有设备上启动和运行,并且在非 nVidia 卡设置上甚至可以检测驱动程序,或者让我安装硬件加速和 compiz 所需的驱动程序。因为你知道,摆动窗口是有史以来最棒的东西。
无论如何,我的台式机有一块 nVidia 卡,所以我想,当然,我只需像以前一样安装 nVidia 驱动程序,一切都会顺利运行。事实并非如此——现在台式机和任何其他 nVidia 卡都运行良好,但似乎完全残疾任何其他显卡。当内核模块检测到没有 nVidia 卡时,它会弹出这个讨厌的小对话框,让我选择启动到“低图形”模式,这甚至不允许我使用正确的屏幕分辨率,更不用说查看已安装的显卡并尝试为其配置驱动程序了。
有没有办法配置 Ubuntu(使用可怕的 nVidia 内核模块),以便它可以在存在 nVidia 卡时使用 nVidia 的驱动程序,并默认使用普通的(不是低图形)设置,以便它有机会使用实际存在的内容?我并不害怕配置文件太多,我只是对底层系统不够了解,没有正确的方向推动,无法安心地深入研究。
多谢你们!
答案1
这是一个初始化脚本,它将检测是否存在 Nvidia 图形设备。如果启动时有 NVidia 设备,它将使用适当的 xorg.conf。如果没有 NVidia 设备,它将不使用 xorg.conf,让 Xorg 进行自动配置。将以下内容保存到/etc/init.d/nvidia-check
#!/bin/sh
### BEGIN INIT INFO
# Provides: nvidia-check
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 5
# Default-Stop: 0 1 6
# Description: Check for an nVidia graphics device and setup xorg.conf appropriately
### END INIT INFO
# TODO: nvidiadetector.py from Ubuntu package nvidia-common would probably be more robust here
have_nvidia_vga_device()
{
lspci | grep VGA | grep -q nVidia
}
start()
{
if have_nvidia_vga_device ; then
echo "nVidia device detected."
if [ -f /etc/X11/xorg.conf.nvidia ]; then
cp /etc/X11/xorg.conf{.nvidia,}
else
echo "ERROR: No nVidia xorg config file missing: /etc/X11/xorg.conf.nvidia"
return 1
fi
else
echo "No nVidia device detected."
rm -f /etc/X11/xorg.conf
fi
}
stop()
{
if have_nvidia_vga_device && [ -f /etc/X11/xorg.conf ]; then
echo "Saving nVidia xorg.conf configuration to: /etc/X11/xorg.conf.nvidia"
# *Move* the xorg.conf file to be "fail safe" at next boot
mv /etc/X11/xorg.conf{,.nvidia}
fi
}
case "$1" in
'start')
start || exit 1
;;
'stop')
stop || exit 1
;;
'restart')
stop || exit 1
start || exit 1
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
安装方式:
sudo chmod +x /etc/init.d/nvidia-check
sudo chkconfig --add nvidia-check
答案2
此贴于如何在 Ubuntu 9.04 中安装 Nvidia/ATI 显卡驱动程序可能有助于识别您的系统缺少什么。
我用的是类似的闪存驱动器安装跨两个不同的 nVidia 系统和大量其他机器。我还注意到无法在某些平台上处理图形——这在基于板载 Intel 图形的平台上尤其如此。有几次我尝试在新平台上启动后提高图形,并成功地让驱动程序这样做。
答案3
据我所知,当您安装 Nvidia 驱动程序时,它们会覆盖您的 /etc/X11/xorg.conf 文件以允许(强制)您在后续启动时使用 Nvidia 驱动程序。如果您将 xorg.conf 文件恢复为以前的版本(它应该在同一目录中保存了备份),您应该能够恢复旧的行为。(如果您没有旧的 xorg.conf 文件,您可能可以删除那里的文件并让您的系统自动检测所需的驱动程序。)
不幸的是,我认为如果不在 Xorg 的配置中指定 Nvidia 驱动程序,该驱动程序将无法工作。因此,为了实现你想要的效果,你可能不得不临时安装一些东西来检测系统是否有 Nvidia 卡前Xorg 启动,然后自动设置正确的 Xorg 配置,以便 Xorg 在需要时加载 Nvidia 驱动程序。
我是一个新手,可能有更好的解决方案但我不知道,但这是我的意见。