歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

nVidia 顯卡在 Debian sarge 最新 Linux 內核中的驅動

我的筆記本安裝的是 Debian sarge,上次升級內核到 linux 2.6.32-5, nVidia 的驅動就一直沒有跑起來,今天下班後,仔細研究了一下。

先說一下 nouveau 和 nVidia 驅動的歷史

Linux 和 Windows 相比,讓用戶覺得上手比較難,一個很重要的原因就是驅動不易安裝。

Windows 本身內置了大量的設備驅動

因為 Windows 的普及,硬件廠商首選是開發針對 Windows 的設備驅動

再有一個就是 Windows 升級比較緩慢,Windows XP 的歷史都快10年了,硬件廠商的支持難度要小

就 nVidia 顯卡來說,其實 Linux 的支持也是滿不錯的:

Linux 內置了 nv 驅動:xserver-xorg-video-nv 。對 2D 支持尚可,3D 則是完全的不支持

nVidia 官方曾經發布過開源的驅動 nvidia-glx 但不久就宣布不再支持。現在 nVidia 提供非開源的 Linux 驅動,在官網提供下載鏈接: http://www.nvidia.com/object/unix.html

因為 nVidia 官方的驅動和 Linux 操作系統的開放版權向背,各個 Linux 發行版都沒有將 nVidia 官方的驅動集成到發行版中,造成用戶安裝 Linux 不能像 Windows 那樣下載拆包即裝的硬件驅動,只能使用功能較弱的內置驅動。

為了發揮顯卡的最大功效,使用 3D 桌面或者運行 Google Earth 之類軟件,我是這樣安裝 nVidia 驅動的:

首先在 Linux 中要安裝 gcc,g++ 等軟件開發環境,因為編譯硬件驅動需要。

下載 nVidia 驅動。見官方驅動下載網頁:http://www.nvidia.com/object/unix.html

啟動 Linux 到文本控制台。如果進入了 X Window,需要殺掉 X,進入控制台界面。

運行從 nVidia 下載的軟件包,按照界面一步一步操作,即可編譯出內核模組和 Xorg 的設備驅動

編輯 /etc/X11/xorg.conf 設置: Driver   “nvidia”

如果 Linux 升級?需要重新執行上面的步驟。

是不是太繁瑣了?誰讓你頻繁升級呢?

好消息是 Nouveau 來了,你看其中有字母 n 和 v,猜出來了麼?這是 nVidia 在 Linux 下新的開源驅動名稱。Nouveau 是通過針對 nVidia 顯卡驅動反向工程,實現的 nVidia 開源顯卡驅動,目標是提供完全的 3D 驅動支持。較 Linux 之前提供的 nv 驅動大大的前進了,甚至有一天會蓋過官方的驅動。

如何使用 Nouveau 驅動

Linus Torvalds 終於決定將 nouveau 驅動加到 Linux 內核中。當我將 Linux 內核升級到 linux 2.6.32-5 的時候,就發現不同了:

Linux 啟動過程,控制台分辨率自動提升到最佳,控制台的分辨率前所未有!

X Window 啟動失敗是當然的,因為 X 使用的 nVidia 驅動,新的 Linux 內核尚為編譯匹配的 nVidia 內核模組

但是編譯 nVidia 官方提供的驅動軟件失敗!失敗信息:

Unable to load the kernel module 'nvidia.ko'. This happens most
frequently when this kernel module was build against the wrong or
improperly configured kernel sources, with a version of gcc that
differs from the one used to build the target kernel, or if a driver
such as rivafb/nvidiafb is present apd prevents the NVIDIA kernel
module from obtaining ownership of the NVIDIA graphics device(s), or
NVIDIA GPU installed in this system is not supported by the NVIDIA
LINUX graphics driver release.

Copyright © Linux教程網 All Rights Reserved