PS:要转载请注明出处,本人版权所有。
PS: 这个只是基于《我自己》的理解,
如果和你的原则及想法相冲突,请谅解,勿喷。
前置说明
本文作为本人csdn blog的主站的备份。(BlogID=073)
本文发布于 2018-10-17 16:29:54,现用MarkDown+图床做备份更新。blog原图已丢失,使用csdn所存的图进行更新。(BlogID=073)
环境说明
system-info :Linux #1 SMP Wed Oct 17 12:06:29 CST 2018 x86_64 x86_64 x86_64 GNU/Linux
cpu-info:Intel(R) Core(TM) i7-6498DU CPU @ 2.50GHz
前言
无
2018/11/7重大更新
由于今天对另外一个板子安装sdk然后进行硬解码,但是,出现的问题是,所有驱动、内核都正常加载,但是vainfo测试异常。查了半天,才发现是当前sdk 版本不支持当前版本的cpu。所以这里附上精心查找的sdk版本能支持的cpu设备列表。
Intel Media SDK 版本所支持的设备列表
Intel® Media Server Studio *版本所支持的设备列表
不用感谢我,此图呕心沥血奉上!!!!!!(藏的巨深,气啊!)
Intel® Media Server Studio
Intel 媒体服务解决方案。https://software.intel.com/en-us/intel-media-server-studio
下载Intel® Media Server Studio Community Edition
- 注册intel账号,他要验证几天,反正我是第二天收到验证通过的消息。
- 然后下载得到一个压缩包。名字类似:MediaServerStudioEssentials2017R3.tar.gz
准备安装Intel® Media Server Studio Community Edition
-
上传MediaServerStudioEssentials2017R3.tar.gz到开发板子。并解压!
-
进入MediaServerStudioEssentials2017R3目录,解压SDK2017Production16.5.2.tar.gz
-
进入SDK2017Production16.5.2目录,里面包含两个版本的sdk,一个是centos(intel recommend),另外一个是普通的linux SDK,此外,此目录你需要打开media_server_studio_getting_started_guide.pdf文档,参考里面的安装说明。
目录如下:
- 接下来就是基本操作了,按照别人的pdf做相应的事情。
开始安装Intel® Media Server Studio Community Edition
- 修改当前登录用户的所属附加群组
usermod -a -G video username
- 检查系统是否识别到intel vga 适配器
lspci -nn -s 0:02.0
-
在文档中提供了一般的linux系统安装sdk的脚本。但这里我推荐一条一条的执行方便排错。
-
删除其他的libva(接入显卡api处理图像的库) libdrm(用户态显卡调用api) 并清除之前的历史安装的sdk
echo "remove other libdrm/libva"
find /usr -name "libdrm*" | xargs rm -rf
find /usr -name "libva*" | xargs rm -rf
echo "Remove old MSS install files ..."
rm -rf /opt/intel/mediasdk
rm -rf /opt/intel/common
rm -rf /opt/intel/opencl
- 解压依赖包,复制相关文件到系统目录,添加库目录到ldconfig配置(需要超级权限)
echo "install user mode components"
#unpack the generic package
tar -xvzf intel-linux-media_generic*.tar.gz
tar -xvJf intel-opencl-cpu-*.tar.xz
tar -xvJf intel-opencl-devel-*.tar.xz
tar -xvJf intel-opencl-r*.tar.xz
#put the generic components in standard locations
/bin/cp -r etc/* /etc
/bin/cp -r lib/* /lib
/bin/cp -r opt/* /opt
/bin/cp -r usr/* /usr
#ensure that new libraries can be found
echo '/usr/lib64' > /etc/ld.so.conf.d/libdrm_intel.conf
echo '/usr/local/lib' >> /etc/ld.so.conf.d/libdrm_intel.conf
ldconfig
- 安装内核编译依赖
echo "install kernel build dependencies"
apt-get -y install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc g++
注意如果ncurses-dev找不到,则用libncurses5-dev
- 下载4.4.0内核,并解压,然后打补丁
wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.tar.xz
tar -xJf linux-4.4.tar.xz
echo "apply kernel patches"
cp /opt/intel/mediasdk/opensource/patches/kmd/4.4/intel-kernel-patches.tar.bz2 .
tar -xvjf intel-kernel-patches.tar.bz2
cd linux-4.4
for i in ../intel-kernel-patches/*.patch; do patch -p1 < $i; done
- 编译打过补丁的内核,并安装,这里你可以喝杯茶休息一会儿!
echo "build patched 4.4 kernel"
make olddefconfig
make -j 8
make modules_install
make install
若遇到如下错误:
安装openssl相关依赖
apt install libssl-dev
apt install openssl
- 重启就OK。
如果遇到无法进入图形界面
-
进入命令模式,把 /usr/lib64 /usr/local/lib /opt/intel/mediasdk/lib64/ 添加到LD_LIBRARY_PATH 或者把上述目录添加到系统库搜索路径中去。(ld.so.config)
-
更改grub的默认启动内核或者手动选择启动的内核版本,必须选择刚才安装的4.4.0
-
删除用户目录下的.Xauthority文件
测试安装成功
-
解压MediaSamples_Linux_2017R3_b698.tar.gz,并进入MediaSamples_Linux_2017R3_b698/samples/_bin/x64/
目录, -
检查驱动是否加载成功
vainfo | grep -v 'unknown'
- 测试例子
./sample_multi_transcode -i::h264 ../content/test_stream.264 -o::h264 test_out.h264 -hw –la
- 如果结果和上述图中类似,即可代表sdk安装成功。
后记
无
参考文献
- 无
PS: 请尊重原创,不喜勿喷。
PS: 要转载请注明出处,本人版权所有。
PS: 有问题请留言,看到后我会第一时间回复。