linux 命令行下適配 nvidia 驅動


真乃踩坑實錄......

1. 下載相應驅動

在官網這里選擇適應你 GPU 的驅動版本,在下載界面可用右鍵得到下載鏈接,然后在 linux 命令行下使用 wget 進行下載,如我下載的是 1080 Ti 的驅動版本:

wget https://www.nvidia.cn/content/DriverDownload-March2009/confirmation.php?url=/XFree86/Linux-x86_64/440.82/NVIDIA-Linux-x86_64-440.82.run&lang=cn&type=TITAN

下載完成后是一個名為NVIDIA-Linux-x86_64-440.82.run的文件。此時若使用sudo sh NVIDIA-Linux-x86_64-440.82.run進行安裝,會產生如下報錯:

You appear to be running an X server; please exit X before installing.

這主要是由於通常而言你的電腦上已經有 nvidia 驅動並且在運行了,此時無法進行新驅動的安裝,因為會影響依賴你現有驅動的應用的正常運行。比方說你的桌面程序就需要依靠現有的顯卡驅動進行顯示。

回到這個報錯,百度了解到是有一個叫做 X 的進程服務在依賴着 nvidia 驅動的運行,這個 X 進程似乎就是支撐你的圖形桌面的服務。使用ps aux | grep X命令可查看到這個正在運行的服務:

$ ps aux | grep X
root      1459  0.0  0.0  15984   928 pts/40   S+   19:12   0:00 grep X
root      1643  0.0  0.1 426836 187692 tty7    Ssl+ 10:43   0:15 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
root      3604  0.0  0.0 387052 71108 tty8     Ssl+ 10:44   0:22 /usr/lib/xorg/Xorg -core :1 -seat seat0 -auth /var/run/lightdm/root/:1 -nolisten tcp vt8 -novtswitch
git       3909  0.0  0.0  43732  4264 ?        Ss   10:44   0:03 dbus-daemon --fork --session --address=unix:abstract=/tmp/dbus-E2NLgH7XO1

2. 關閉 X 服務

為了能夠安裝新的 nvidia 驅動,我們需要關閉這個 X 服務,我的 Ubuntu 是基於 lightdm 類型的桌面系統,采用如下命令:

sudo /etc/init.d/lightdm stop
sudo /etc/init.d/lightdm status

對於其他的 linux 版本,如果桌面系統是基於 gdm 類型,應該把命令中的 lightdm 改為 gdm 即可;非這兩種桌面系統類型的,百度一下你的 linux 版本關閉 X 服務的相關命令吧。

關閉了 X 服務后圖形桌面可能會關閉,因為我是通過 ssh 連接的服務器進行的操作,所以也沒有看到具體的變化,不確定具體會發生什么情況,不過別慌就是了。

關閉 X 后,可再次用 ps 命令查看相關進程以確認,我這里顯示如下,確實沒有運行的 X 服務了:

$ ps aux | grep X
root      1656  0.0  0.0  15984  1084 pts/40   S+   19:15   0:00 grep X

3. 卸載舊的驅動

終於可以卸載舊驅動了:

sudo apt-get --purge remove nvidia-*
# 也有的說用下面的命令進行卸載,我個人均有嘗試,無礙
sudo apt-get --purge remove "*nvidia*"

4. 安裝新驅動

在第 1 步下載的驅動文件目錄里運行安裝包即可:

$ sudo sh NVIDIA-Linux-x86_64-440.82.run

值得一提的是,中間可能會有一些小的 warning 提示(好像還有一個 error?),但流程走下來最終還是提示 successfully complete,這就中了!使用nvidia-smi已經可以看到你的新驅動版本號(Driver Version)產生了變化:

$ nvidia-smi
Sun Jun 21 19:16:54 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.82       Driver Version: 440.82       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 108...  Off  | 00000000:02:00.0 Off |                  N/A |
| 27%   35C    P5    24W / 250W |      0MiB / 11170MiB |      2%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM