解決 Ubuntu 18.10 使用較新的獨立顯卡輸出無法初始化圖形界面並配置深度學習開發環境


原文地址:解決 Ubuntu 18.10 使用較新的獨立顯卡輸出無法初始化圖形界面並配置深度學習開發環境

0x00 配置

硬件

OS: Ubuntu 18.10
Base Board: ASUS WS X299 SAGE
CPU: Intel® Core™ i9-9820X
GPU: NVIDIA GeForce RTX 2080 * 4
RAM: 64 G

將要安裝的軟件

NVIDIA Driver: 410.93
Anaconda: Anaconda3 - conda 4.6.14
python: 3.6
opencv: 3.4.1
tensorflow: 1.13.1
CUDA: 10.0
cuDNN: 7.5.0

0x01 安裝顯卡驅動

由於 X299 主板不提供集顯輸出,Ubuntu 18.10 官方軟件源也不包含 RTX 2080 的驅動,導致了裝完 Ubuntu 之后無法初始化圖形界面,屏幕上只有一個閃爍的光標位於左上角

待閃爍的光標出現后按下 Ctrl + Alt + F2進入 tty2,輸入用戶名和密碼后使用命令行進行操作

注意:在 Linux 中輸入密碼是沒有回顯的

接下來使用 ROOT 用戶進行操作

sudo -s

將阿里雲 OPSX、網易雲、清華 TUNA 的軟件源添加至 apt 源列表中

apt (Advanced Packaging Tool) 是 Debian 系 Linux 的包管理工具,其中包括 apt-get、apt-cache 和 apt-cdrom

cat 命令用於將文件中的內容輸出到終端,>> 用於將 cat 輸出的文本追加到文件末尾

注意:>> 符號用於追加到文件末尾,> 符號用於替換文件內容,不要寫錯導致文件內容被替換

source.list for Ubuntu 18.10

wget https://www.leviatan.cn/download/source-list/ubuntu-18.10
cat ubuntu-18.10 >> /etc/apt/sources.list

檢查軟件包更新

apt update
apt upgrade -y

安裝常用工具

apt install -y gcc make vim net-tools htop openssh-server gnome-tweak-tool fcitx-googlepinyin

由於某些原因,該驅動需要先用 runfile 安裝,再用 apt 安裝才能保證驅動完整

補充:經測試發現 2019 年 5 月最新版的 410.104 runfile 驅動安裝后仍然存在問題,所以這里使用 410.93 runfile + 410.104 apt 的搭配

補充:出現該問題的原因可能並不是 runfile 驅動不完整,而是 runfile 安裝后無法注冊驅動,有待測試

runfile 安裝

下載 NVIDIA 適用於 Linux x64 的 410.93 驅動

NVIDIA Driver 410.93 for Linux

wget http://cn.download.nvidia.com/XFree86/Linux-x86_64/410.93/NVIDIA-Linux-x86_64-410.93.run

為驅動安裝文件添加執行權限並執行

chmod +x NVIDIA-Linux-x86_64-410.93.run
./NVIDIA-Linux-x86_64-410.93.run --silent --no-cc-version-check --run-nvidia-xconfig
參數 功能
no-cc-version-check 不檢查 gcc 版本
run-nvidia-xconfig 運行 nvidia-xconfig

apt 安裝

添加 NVIDIA Graphics 驅動軟件源,並安裝 nvidia-driver-410

add-apt-repository -y ppa:graphics-drivers/ppa
apt install -y nvidia-driver-410

此時由於剛剛安裝完驅動,需要重新啟動系統以使系統認出設備,同時使剛剛安裝的 fcitx-googlepinyin 生效

reboot

重啟后圖形界面應正常啟動

0x02 配置安裝常用軟件

更改用戶目錄語言

從應用程序列表中打開語言支持,此時提示系統安裝的語言包不完整,選擇安裝,待安裝完成后將鍵盤輸入法系統切換為 fcitx

按下 Ctrl + Space 即可切換為 Google 拼音輸入法

如果在安裝系統的時候選擇的語言是中文,用戶目錄下的文件夾都是以中文命名的,這樣在命令行界面下操作非常不方便

以命令需要以普通用戶的身份執行

首先將控制系統語言的環境變量 LANG 切換為英文,並更新 gtk 控制的用戶目錄

export LANG=en_US
xdg-user-dirs-gtk-update

在彈出的對話框中選擇 Update Names

此時已經將文件夾名稱更改為英文,但系統語言變成了英文

再將 LANG 改回中文

export LANG=zh_CN

重啟生效

reboot

重啟后彈出對話框詢問是否更改用戶文件夾名,勾選 不要再次詢問我 並選擇 保留舊的名稱

安裝 Google Chrome 和 VSCode

以下命令需要以 root 身份執行

sudo -s

下載安裝包

Google Chrome for Ubuntu

Visual Studio Code for Ubuntu

wget https://www.leviatan.cn/download/google-chrome-stable_current_amd64.deb
wget https://www.leviatan.cn/download/vscode/code_1.33.1-1554971066_amd64.deb
apt install ./google-chrome-stable_current_amd64.deb
apt install ./code_1.33.1-1554971066_amd64.deb

0x03 安裝 Anaconda3

下載 Anaconda3 安裝腳本並賦予執行權限

Anaconda3 2019.03 for Linux

wget https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh
chmod +x ./Anaconda3-2019.03-Linux-x86_64.sh

執行安裝腳本,其中 -b 選項用於無人值守安裝,-p 用於指定安裝目錄

./Anaconda3-2019.03-Linux-x86_64.sh -b -p /usr/local/anaconda3

無人值守安裝不會添加 conda 的隨終端啟動腳本,這里手動寫入 ~/.bashrc

# >>> conda initialize >>>
__conda_setup="$('/usr/local/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/usr/local/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/usr/local/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/usr/local/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

應用更改

source ~/.bashrc

使用 conda 安裝環境

conda install -y python=3.6
conda install -y opencv=3.4.1
conda install -y tensorflow=1.13.1

0x04 安裝 CUDA 和 cuDNN

下載 CUDA 10.0

CUDA 10.0

在 CUDA 10.0 下載選擇頁面中選擇 Linux - x86_64 - Ubuntu - 18.04 - runfile (local)

並在下方彈出的列表中下載安裝包

下載 cuDNN

cuDNN 7.5.0 for CUDA 10.0

下載 cuDNN 需要注冊 NVIDIA 帳號

在 cuDNN 下載列表頁面中選擇 Download cuDNN v7.5.0 (Feb 21, 2019), for CUDA 10.0

在彈出的列表中選擇 cuDNN Library for Linux

安裝

賦予執行權限並執行 runfile,其中 --override 選項用於忽略 apt 安裝的 gcc-8.3 與用於 cuda 編譯的 gcc-8.2 不匹配的問題

chmod +x ./cuda_10.0.130_410.48_linux.run
./cuda_10.0.130_410.48_linux.run --silent --toolkit --samples --samplespath=/usr/local/cuda-10.0 --override --verbose
參數 功能
silent 無人值守安裝(靜默安裝)
toolkit 安裝 cuda-toolkit
samples 安裝示例
samplespath 示例安裝位置
override 覆蓋安裝
verbose 輸出安裝日志

echo 'export PATH="/usr/local/cuda/bin:$PATH"' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"' >> ~/.bashrc
echo 'export CUDA_HOME="/usr/local/cuda:$CUDA_HOME"' >> ~/.bashrc

source ~/.bashrc

cd /usr/local/cuda/NVIDIA_CUDA-10.0_Samples/1_Utilities/deviceQuery && make && ./deviceQuery && cd ~

tar zxvf cudnn-10.0-linux-x64-v7.5.0.56.tgz

cp -rf cuda/ /usr/local/cuda/
rm -rf cuda/


免責聲明!

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



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