ubuntu---NVIDIA驅動 + CUDA 安裝完可能會遇見的問題


 

如果稍不注意:系統內核、GCC、下載的版本不對應、安裝過程中選項選擇不正確,在NVIDIA驅動 + CUDA 安裝完后可能會遇見一些問題。

一、登陸不進桌面

可能的操作:

 (1)nivida驅動安裝完之后,重啟電腦,發現GPU無法正常使用,出現無法登錄桌面系統、分辨率改變等問題。

 (2)CUDA安裝完之后,重啟電腦,發現GPU無法正常使用,出現無法登錄桌面系統。

 (3)系統軟件升級之后(一般是使用了 sudo apt-get update),重啟,在登陸界面輸入密碼后,回車,閃現一次黑屏和一些代碼,然后又重新回到登陸界面。

 (4)點了ubuntu系統自動提示的軟件升級以后,重啟電腦導致。

 (5)ubuntu 正常使用過程中,有些使用/安裝需要軟件升級,無意操作,更新軟件的同時更新了內核。

 

可能的原因分析:

1、主目錄下的.Xauthority文件擁有者變成了root,從而以用戶登陸的時候無法都取.Xauthority文件。從而造成用戶登陸不進入系統桌面。

說明:Xauthority,是startx腳本記錄文件。Xserver啟動時,讀文件~/.Xauthority,讀入對應其display的記錄。當一個需要顯示的客戶程序啟動調用XOpenDisplay()也讀這個文 件,並把找到的magic code 發送給Xserver。

當Xserver驗證這個magic code正確以后,就同意連接啦。觀察startx腳本也可以看到,每次startx運行,都在調用xinit以前使用了xauth的add命令添加了一個新的記錄到~/.Xauthority,用來這次運行X使用認證

#系統的Xauthority文件出現了問題,當前用戶無權限調用他,所以使用rm -rf .Xauthority刪除他,也有說使用sudo chown usrname .Xauthority將權修改為當前用戶的。

2、系統軟件升級后與Nvidia的驅動沖突。

@https://www.cnblogs.com/yongpan/p/9645684.html

 

解決方法

針對可能的原因分析1:

將.Xauthority的擁有者改為登陸用戶。

操作過程:

開機后在登陸界面按下shift + ctrl + F1進入tty命令行終端登陸后輸入:

$ cd ~

$ sudo chown hp:hp .Xauthority (若為其他用戶名修改成相應的名稱即可)

然后再次輸入: ls .Xauthority -l

成功后顯示如下: -rw------- 1 hp hp 80 1月 27 10:41 .Xauthority

此時擁有者已經變為用戶。按下shift + ctrl + F7切換回圖形登陸界面登陸即可。

參考:https://blog.csdn.net/u010925447/article/details/72236387


另,參考:

進入shell,在home目錄下找到.xsession-errors文件 # cd home 查看是否有.xsession-errors cd ~ ls -a #用vi打開.xsession-errors文件 vi .xsession-errors 接着你就可以看到里面的日志信息,按照日志里面的信息去google,也許可以解決驅動安裝的辦法。

 

針對可能的原因分析2:

出現這個問題最大的可能原因是安裝的Nvidia驅動和系統或者硬件有不兼容,下載新的驅動一般可以解決問題。卸載驅動,升級或者降級內核版本。

卸載:由於登陸進入不到圖形用戶界面(GUI),但我們可以進入到文本用戶界面(TUI)。

卸載NVIDIA驅動,重新安裝 unity 桌面。參考以下幾種方式:

進入到shell,開始卸載NVIDIA驅動:
sudo apt-get remove --purge nvidia-*   #sudo apt-get remove --purge nvidia-331-updates 卸載指定版本
sudo apt-get install ubuntu-desktop
sudo rm /etc/X11/xorg.conf
echo 'nouveau' | sudo tee -a /etc/modules
#重啟系統
sudo reboot

----------------------------------
sudo apt-get purge nvidia-*
sudo apt-get autoremove
sudo apt-get --purge remove nvidia-*
remove 之后,nvidia-smi 看驅動是否還在。

如果還在,說明沒卸載掉
查看nouveau模塊是否被加載。如果什么都沒輸出,則執行下一步。
根本問題在於參數: --no-opengl-filessudo /etc/init.d/lightdm stop sudo ./NVIDIA-Linux-x86_64-375.20.run --no-opengl-files sudo /etc/init.d/lightdm start
即可以正常登錄界面了!!

----------------------------------

(1) 按ALT + F1進入命令行模式,查找顯卡驅動.run的安裝文件存放位置:

find . -name NVIDIA-Linux-x86_64-375.39.run

(2) 跳轉到該文件所在位置,運行如下命令卸載該驅動:

sudo bash ./NVIDIA-Linux-x86_64-375.39.run –uninstall

 

$ sudo apt-get autoremove --purge nvidia-* #把nvidia驅動清個干干凈凈

$ sudo reboot         #一定記得重啟,不然你會后悔的!

在登陸界面狀態下,按Ctrl + Alt + f1,進入TUI執行
sudo /usr/bin/nvidia-uninstall
然后重啟
sudo reboot
如果裝完之后出現循環登錄,可以卸載之后添加--no-opengl-files選項重新安裝一次

卸載NVidia驅動
sudo ./NVIDIA-Linux-x86_64-xxx.xx.run –uninstall #用下載的安裝程序進行卸載。如果安裝的是官網下載的驅動則重新運行run文件來卸載
或者
nvidia-uninstall #用安裝出來的可執行腳本卸載

當輸入安裝指令時,不要簡單地輸入 sudo ./....run,而是輸入:

sudo ./NVIDIA.run -no-x-check -no-nouveau-check -no-opengl-files

-no-x-check:安裝驅動時關閉X服務

-no-nouveau-check:安裝驅動時禁用nouveau

-no-opengl-files:只安裝驅動文件,不安裝OpenGL文件

這樣再reboot,就不會出現循環登錄的問題。

 

 
         

 如果在安裝CUDA時候一起安裝的Nvidia驅動。

-----------------------------------------------------------
Description This package includes over
100+ CUDA examples that demonstrate various CUDA programming principles, and efficient CUDA implementation of algorithms in specific application domains. The NVIDIA CUDA Samples License Agreement is available in Do you accept the previously read EULA? accept/decline/quit: accept Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48? (y)es/(n)o/(q)uit: y # 單獨安裝nvidia驅動,這里選擇 n Install the CUDA 8.0 Toolkit? (y)es/(n)o/(q)uit: y Enter Toolkit Location [ default is /usr/local/cuda-8.0 ]: Do you want to install a symbolic link at /usr/local/cuda? (y)es/(n)o/(q)uit: y Install the CUDA 8.0 Samples? (y)es/(n)o/(q)uit: y Enter CUDA Samples Location [ default is /home/c302 ]: Installing the CUDA Toolkit in /usr/local/cuda-8.0 ... Installing the CUDA Samples in /home/c302 ... Copying samples to /home/c302/NVIDIA_CUDA-8.0_Samples now... Finished copying samples. =========== = Summary = =========== Driver: Not Selected Toolkit: Installed in /usr/local/cuda-8.0 Samples: Installed in /home/c302 Please make sure that - PATH includes /usr/local/cuda-8.0/bin - LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA. ***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work. To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file: sudo <CudaInstaller>.run -silent -driver Logfile is /tmp/cuda_install_9045.log

--------------------------------------------------------

這種,可以采用 一起卸載 CUDA 以及 NVIDIA驅動的形式卸載NVIDIA驅動。

  參考一:

CUDA安裝:  sudo apt install nvidia-cuda-toolkit

卸載CUDA:  sudo apt purge --autoremove cuda

          sudo apt purge --autoremove nvidia-cuda-toolkit  #sudo apt-get purge --auto-remove nvidia-cuda-toolkit

 

  參考二:

卸載CUDA很簡單,一條命令就可以了,主要執行的是CUDA自帶的卸載腳本,要根據自己的cuda版本找到卸載腳本:
sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
卸載之后,還有一些殘留的文件夾,之前安裝的是CUDA 8.0。可以一並刪除:
sudo rm -rf /usr/local/cuda-8.0/


cd /usr/local/cuda6.5/bin/

sudo ./uninstall_****

 

  參考三:

卸載CUDA

只針對對於.run方式安裝的,其他的沒有進行測試

打開終端,輸入: sudo /usr/local/cuda-10.0/bin/uninstall_cuda_10.0.pl

執行完后,刪除cuda文件即可

同時卸載nvidia驅動:sudo /usr/bin/nvidia-uninstall

 

卸載cuDNN

打開終端,輸入:

sudo rm -rf /usr/local/cuda/lib64/libcudnn

sudo rm -rf /usr/local/cuda/include/cudnn.h

然后,可以選擇把自己下載的文件也刪除掉,這個需要到自己存放文件的地方刪除了,不同的人存放的地方可能不同,在這不過多累述。

 

打開~/.bashrc, 刪除:

export PATH=$PATH:/opt/cuda/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cuda/lib:/opt/cuda/lib64

 

  參考四:

sudo apt-get remove cuda

sudo apt-get autoclean

然后在目錄切換到/esr/local/下

cd /usr/local/

sudo rm -r cuda-9.0

 

  參考五:

sudo ./CUDA-x86_64-X.X.run --uninstall

 

 

 

 二、驗證CUDA Toolkit :$ nvcc -V ,會輸出CUDA的版本信息,但如果是這樣的:
   The program 'nvcc' is currently not installed. You can install it by typing:
   sudo apt-get install nvidia-cuda-toolkit   # sudo apt-get remove nvidia-cuda-toolkit

(1)可能是 Install the CUDA 8.0 Toolkit? 這一步沒安裝,選擇了 n。 可以嘗試: sudo apt-get install nvidia-cuda-toolkit ,
在查看cat /usr/local/cuda-10.0/version.txt 與 nvcc --version 顯示版本是否一致。

(2)
可能是環境配置沒有成功,重設置環境變量,使其在系統中生效。@https://blog.csdn.net/qlulibin/article/details/78714596
查看 路徑 /usr/local/cuda-9.0/bin 下是否有 nvcc 這個可執行文件,有則說明cuda安裝是成功的。
配置環境:
  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
  export PATH=$PATH:/usr/local/cuda-9.0/bin
  export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-9.0
sudo ldconfig
徑設置是生效的


 卸載完,一定要檢驗:是否已經卸載完畢。

https://blog.csdn.net/Hover_May/article/details/81236886  Ubuntu 16.04陷入登錄循環 的4種原因


免責聲明!

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



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