进阶环境"/>
(多画面)开发环境的建立(2)进阶环境
----------------------------------------
甲. centos7 安装网卡驱动及cuda
----------------------------------------
$ yum list |wc -l
10504
1、添加ELRepo源,否则没有nvidia-detect 命令
1.1 首先导入公共密钥,执行命令:rpm --import
1.2 然后安装elrepo, 执行命令:rpm -Uvh .0-2.el7.elrepo.noarch.rpm
1.3 安装 nvidia-detect
1.4 执行命令nvidia-detect, 查找合适的显卡驱动,机器查出的结果如下:
$nvidia-detect
kmod-nvidia
其实此时yum search nvidia 也能看到kmod-nvidia
1.5. yum install kmod-nvidia
由此会安装nvidia-x11-drv,kmod-nvidia-510 等依赖...
文件较大,要耐心等一会.
1.6. 可用 nvidia-smi 查看信息,此时gpu还没有启用.
1.7 reboot, 显示分辨率会更新过来. nvidia-smi 可查看gpu
怀疑如此就已经是正常的了. cuda 已安装
=========== 弯路记录 ========
弯路1. sudo yum install nvidia-driver-latest-dkms
与nvidia-x11-drv 冲突
yum remove nvidia-x11-drv
弯路2. 如果直接安装
yum install cuda //错了,还是冲突
弯路3. 从官网上下载的cuda.
cuda_11.6.1_510.47.03_linux.run
安装就从来没有成功过.
==============================
解决办法: 最后是从官网下载了正确驱动,安装完成, 要求在非界面下安装 (init 3)
为: NVIDIA-Linux-x86_64-510.54.run(314M)
自带cuda . 安装完后在/usr/local/cuda 目录有内容
这里有点乱, 不过在ubuntu 版本驱动通过“软件与更新->附加驱动 选择nvidia 驱动, cuda 通过nvidia-cuda-dev 安装包安装的cuda, 重要文件是存在cuda.h libcudart.so,
2. CentOS查看显卡及GPU相关信息
lspci | grep -i vga
lspci -v -s 02:00.0
nvidia-smi 可以查看显卡及gpu 信息
$ lspci |grep -i nvidia
03:00.0 VGA compatible controller: NVIDIA Corporation Device 2216 (rev a1)
03:00.1 Audio device: NVIDIA Corporation Device 1aef (rev a1)
$ lspci -v -s 03:00.1 (声卡信息)
03:00.1 Audio device: NVIDIA Corporation Device 1aef (rev a1)
Subsystem: Gigabyte Technology Co., Ltd Device 406e
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at f7080000 (32-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
----------------------------------------
乙:ffmpeg 编译支持cuda 版本,alsa版本,decklink版本
----------------------------------------
旧的编译选项:
--prefix=/opt/ffmpeg_build --extra-libs=-lpthread --extra-libs=-lm --enable-gpl --enable-shared --enable-libfreetype --enable-libx264 --enable-nonfree
在此之上,我要再添加6个选项:
--enable-cuda --enable-cuvid --enable-nvenc --enable alsa --enable-decklink --enable-libnpp
1. ERROR: cuda requested, but not all dependencies are satisfied: ffnvcodec
查log 为需要头文件 <ffnvcodec/nvEncodeAPI.h> 等等
解决方法:
首先你需要安装 nv-codec-headers, 我从github上下载了 nv-codec-headers,安装后就有了
/usr/local/include/ffnvcodec, /usr/local/lib/pkgconfig/ffnvcodec.pc文件,
然后需要导出变量.
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKT_CONFIG_PATH
这样cuda 的一些头文件就可以找到了.
然后确定nvidia显卡驱动及cuda已经安装
然后再重新配置.
centos 是源码安装的.
ubuntu 是包安装的, $ sudo apt install nvidia-cuda-dev
2. ERROR: alsa requested but not found
解决方法:
yum install alsa-lib-devel
3.ERROR: DeckLinkAPI.h not found
解决方法:
需要安装.2.2/Blackmagic_DeckLink_SDK_12.2.2.zip
需要先注册才能下载
----------------------------------------
丙:ffmpeg 编译debug 版本.
----------------------------------------
需要添加如下选项: --enable-debug --disable-optimizations --disable-stripping
centos 上的一次configure 配置, 记录于此以供参考.
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
//debug 版本
./configure --prefix=/opt/ffmpeg_build --enable-debug --disable-optimizations --disable-stripping --enable-gpl --enable-shared --enable-libx264 --enable-nonfree --extra-cflags=-I/usr/local/cuda/include/ --extra-ldflags=-L/usr/local/cuda/lib64 --enable-cuda --enable-nvenc --enable-cuvid --enable-libnpp --enable-alsa --enable-decklink
//release 版
./configure --prefix=/opt/ffmpeg_build --enable-gpl --enable-shared --enable-libx264 --enable-nonfree --extra-cflags=-I/usr/local/cuda/include/ --extra-ldflags=-L/usr/local/cuda/lib64 --enable-cuda --enable-nvenc --enable-cuvid --enable-libnpp --enable-alsa --enable-decklink
~
更多推荐
(多画面)开发环境的建立(2)进阶环境
发布评论