如何在便携式 Ubuntu 设置上配置 nVidia 驱动程序?

如何在便携式 Ubuntu 设置上配置 nVidia 驱动程序?

我已经为这个问题烦恼了好几天了,谷歌也没有帮助。

我创建了一个很棒的(直到这个问题出现之前)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 驱动程序。

我是一个新手,可能有更好的解决方案但我不知道,但这是我的意见。

相关内容