快捷搜索:   nginx

Ubuntu更新内核时自动编译官方版Nvidia驱动模块

目前Ubuntu 8.10中提供的最新Nvidia显卡驱动依然是180.11,除了不支持一些新的显卡,缺乏一些功能,在有些平台上也不稳定,容易Crash。很多人都用上Nvidia官网版的驱程,可是每当系统更新内核的时候,不得不回到console重新安装一次Nvidia,虽然不是很复杂,但长久如此,也挺麻烦的。

UbuntuForums上面一个Howto介绍了解决方法,下面简述之:

    * 本方法不适合使用EnvyNG安装的驱动。
    * 确保你全手动安装过Nvidia驱动并确定你所用的版本正常工作。

   1. 把NV的驱动安装文件复制到/usr/src,同时建立一链接。

          sudo mv NVIDIA-Linux-x86-180.37-pkg1.run /usr/src
          sudo ln -s /usr/src/NVIDIA-Linux-x86-180.37-pkg1.run /usr/src/nvidia-driver

      我安装的是180.37版本,注意不同版本的文件名不同。链接的作用是以后如果换一个新版的驱动进来,修改该链接即可,不用修改下面的脚本。
   2. 保存下面的代码为文件update-nvidia

      #!/bin/bash
      #

      # Set this to the exact path of the nvidia driver you plan to use
      # It is recommended to use a symlink here so that this script doesn't
      # have to be modified when you change driver versions.
      DRIVER=/usr/src/nvidia-driver

      # Build new driver if it doesn't exist
      if [ -e /lib/modules/$1/kernel/drivers/video/nvidia.ko ] ; then
          echo "NVIDIA driver already exists for this kernel." >&2
      else
          echo "Building NVIDIA driver for kernel $1" >&2
          sh $DRIVER -K -k $1 -s -n 2>1 > /dev/null

          if [ -e /lib/modules/$1/kernel/drivers/video/nvidia.ko ] ; then
              echo "   SUCCESS: Driver installed for kernel $1" >&2
          else
              echo "   FAILURE: See /var/log/nvidia-installer.log" >&2
          fi
      fi

      exit 0

   3. 把该脚本复制到/etc/kernel/postinst.d

          sudo mkdir -p /etc/kernel/postinst.d
          sudo install update-nvidia /etc/kernel/postinst.d

      install命令作用跟cp差不多,只是自动修改文件的权限为rwxr-xr-x
   4. OK,完成了。如果想测试一下是否已经成功,试试装个旧内核

          sudo apt-get install linux-image-2.6.27-10-generic

      稍候应该会看到最后会有一下停顿,然后看到SUCCESS: Driver installed for kernel ...
      再把这个包puege掉即可:

          sudo apt-get purge linux-image-2.6.27-10-generic

 

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论