Linux安装nvidia驱动并开启nvenc硬件加速转码
目 录
- 文章前言:
- 下面开始:
- 验证是否支持cuda:
- 查看是否安装GCC: (Ubuntu默认是已安装5.4版本)
- 如果没有安装GCC 键入下面的指令安装
- 验证系统是否安装了kernel header和 package development :
- 禁用nouveau驱动 :
- 关闭图形界面:
- 安装驱动 :(这里我采用的是PPA的安装方式 当然你们也可以选择官方RUN文件执行驱动安装)
- 官方RUN文件执行驱动安装
- 重启之后查看驱动是否成功!
- 安装gcc-multilib:
- 安装CUDA 9.1 :
- 将下载好的cuda_9.1.85_387.26_linux.run 传入Linux服务器内 也可以wget 直接在服务器内下载,wget直接在服务器内下载的可以能会出现 文件名错乱 自行用MV指令修复即可 要是在别的电脑下载的可以通过winscp 上传
- 执行安装后会出现一大堆英文按Q即可进入安装界面 安装过程请按照下面的图片选择
- 完成会看到cuda驱动、sample、tookit已经安装成功,但是缺少一些库
- 添加缺少的库:
- 重启后输入下面的指令查看
- 设置环境变量:
- 查看配置:
- 最后我们需要尝试编译cuda提供的例子看cuda能否正常运行:
- 运行编译生成的二进制文件 编译后的二进制文件默认存放在NVIDIA_CUDA-9.1_Samples/bin中接着在终端中输入 :
- 最后再检查一下系统和CUDA-Capable device的连接情况
- 安装EMBY:
文章前言:
乌班图系统是一款非常好用的开源Linux操作系统,如果你是一个Linux爱好者的话,那么你一定对此系统不陌生,它拥有极其绚丽的操作界面,就算跟以时尚为卖点的Mac相比也有过之而无不及,在易用性和高效性之间的平衡做的非常优秀,就算初次使用的用户也可以轻松上手,而且在国内中文化也做的很好,在专业论坛上都能找到其相关教程和资料
请执行以下命令 清空失败的配置数据
1 | sudo apt-get remove --purge nvidia-* |
下面开始:
查看显卡是否支持
1 | lspci | grep -i nvidia |
查到型号以后自行去官方查询显卡是否支持cuda nvenc
验证是否支持cuda:
已知Ubuntu16/17 Centos6/7是支持的
1 | uname -m && cat /etc/*release |
查看是否安装GCC: (Ubuntu默认是已安装5.4版本)
1 | gcc --version |
如果没有安装GCC 键入下面的指令安装
1 | sudo apt-get install gcc |
验证系统是否安装了kernel header和 package development :
1 | sudo apt-get install linux-headers-$(uname -r) |
禁用nouveau驱动 :
1 2 3 4 5 6 | lsmod | grep nouveau (如果有输出 表明nouveau未禁用 无输出此步骤忽略) sudo vi /etc/modprobe.d/blacklist.conf (在文件末尾处添加下面这两行) blacklist nouveau options nouveau modeset=0 sudo reboot lsmod | grep nouveau (如果有输出,表示没禁用成功 无输出表示完成) |
关闭图形界面:
1 | sudo service lightdm stop(服务器版的Ubuntu系统可以不执行此操作) |
安装驱动 :(这里我采用的是PPA的安装方式 当然你们也可以选择官方RUN文件执行驱动安装)
1 2 3 4 5 | sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update ubuntu-drivers devices(老显卡适合使用来查找适合显卡的最佳驱动本文章是新款显卡所以默认安装了390.48版本) sudo apt-get install nvidia-390 sudo reboot (重启) |
官方RUN文件执行驱动安装
1 2 | wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run sudo sh cuda_10.2.89_440.33.01_linux.run |
重启之后查看驱动是否成功!
1 | sudo nvidia-smi |
出现下面的图片驱动安装成功,驱动安装成功后 NVIDIA的驱动程序会安装图形界面
安装gcc-multilib:
1 | sudo apt install gcc-multilib |
安装CUDA 9.1 :
NVIDIA cuda 下载地址:请点击我 请按照图片的方式进行选择
将下载好的cuda_9.1.85_387.26_linux.run 传入Linux服务器内 也可以wget 直接在服务器内下载,wget直接在服务器内下载的可以能会出现 文件名错乱 自行用MV指令修复即可 要是在别的电脑下载的可以通过winscp 上传
1 2 3 | sudo service lightdm stop (安装显卡驱动的时候自动启动了图形界面所以需要停止图形运行) cd (cd到你下载或者放置cuda_9.1.85_387.26_linux.run的目录) sudo sh cuda_9.1.85_387.26_linux.run (执行安装) |
执行安装后会出现一大堆英文按Q即可进入安装界面 安装过程请按照下面的图片选择
完成会看到cuda驱动、sample、tookit已经安装成功,但是缺少一些库
添加缺少的库:
1 2 3 4 | sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev sudo service lightdm start (重启图形界面) sudo reboot (重启) |
重启后输入下面的指令查看
1 | ls /dev/nvidia* |
查看输出结果如果为下面图片这样的输出 即为成功
其他可以忽略主要是/dev/nvidia-uvm有这条就是成功了
设置环境变量:
1 | sudo vim /etc/profile |
在打开的文件末尾,添加以下两行
1 2 | export PATH=/usr/local/cuda-9.1/bin:$PATH (注意路径) export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64:$LD_LIBRARY_PATH (注意路径) |
保存文件,并重启。因为source /etc/profile是临时生效,重启电脑才是永久生效
1 | sudo reboot |
查看配置:
驱动:
1 | cat /proc/driver/nvidia/version |
验证CUDA Toolkit
1 | nvcc -V (注意V需要大写) |
最后我们需要尝试编译cuda提供的例子看cuda能否正常运行:
1 2 | cd /home/user_name/NVIDIA_CUDA-9.1_Samples (user_name这里替换成你的用户名) make |
之后系统会自动开始编译,整个过程大约30分钟左右 如果出现错误系统会直接停止
出现Finished building CUDA samples就是成功了
运行编译生成的二进制文件 编译后的二进制文件默认存放在NVIDIA_CUDA-9.1_Samples/bin中接着在终端中输入 :
1 2 | cd bin/x86_64/linux/release ./deviceQuery |
成功为上图所示,若失败 Result = FAIL
最后再检查一下系统和CUDA-Capable device的连接情况
终端输入:
1 | ./bandwidthTest |
到此结束 基础环境就都配置完了 这时候有人会问OpenGL 没有安装啊 其实OpenGL在安装驱动的时候就已经处理了
安装EMBY:
下载地址:请点击我 下载Ubuntu版本即可 如果转码不生效可以尝试安装beta版本
1 2 | cd 到下载的目录 dpkg -i emby-server-deb_3.3.1.0_amd64.deb |
好的到此安装结束通过http://localhost:8096 访问进行配置 最后贴上 转码配置
配置完成后找一个HEVC的电影播放看看 然后去后看查看日志 看看是否转码
先查看 emby服务器日志:
如果有图片上面的部分代表 已启用nvenc
再看看转码日志:
在视频播放的时候执行:
1 | nvidia-smi |
每多开一个视频就会多一个线程 注意自己的显存 别BOOM了 哈哈 简单测试1080P hevc 10bit 消耗显存大约300M 4K hevc 10bit 大约700m 显存
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?