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


  1. 注册intel账号,他要验证几天,反正我是第二天收到验证通过的消息。
  1. 然后下载得到一个压缩包。名字类似:MediaServerStudioEssentials2017R3.tar.gz

准备安装Intel Media Server Studio Community Edition


  1. 上传MediaServerStudioEssentials2017R3.tar.gz到开发板子。并解压!

  2. 进入MediaServerStudioEssentials2017R3目录,解压SDK2017Production16.5.2.tar.gz

  3. 进入SDK2017Production16.5.2目录,里面包含两个版本的sdk,一个是centos(intel recommend),另外一个是普通的linux SDK,此外,此目录你需要打开media_server_studio_getting_started_guide.pdf文档,参考里面的安装说明。

    目录如下:

  1. 接下来就是基本操作了,按照别人的pdf做相应的事情。

开始安装Intel Media Server Studio Community Edition


  1. 修改当前登录用户的所属附加群组
usermod -a -G video username
  1. 检查系统是否识别到intel vga 适配器
lspci -nn -s 0:02.0

  图中的vid:1906不需要和我的一致。

  1. 在文档中提供了一般的linux系统安装sdk的脚本。但这里我推荐一条一条的执行方便排错。

  2. 删除其他的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
  1. 解压依赖包,复制相关文件到系统目录,添加库目录到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
  1. 安装内核编译依赖
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

  1. 下载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
  1. 编译打过补丁的内核,并安装,这里你可以喝杯茶休息一会儿!
echo "build patched 4.4 kernel"
make olddefconfig
make -j 8
make modules_install
make install

  若遇到如下错误:

  安装openssl相关依赖

apt install libssl-dev
apt install openssl
  1. 重启就OK。

如果遇到无法进入图形界面


  1. 进入命令模式,把 /usr/lib64 /usr/local/lib /opt/intel/mediasdk/lib64/ 添加到LD_LIBRARY_PATH 或者把上述目录添加到系统库搜索路径中去。(ld.so.config)

  2. 更改grub的默认启动内核或者手动选择启动的内核版本,必须选择刚才安装的4.4.0

  3. 删除用户目录下的.Xauthority文件

测试安装成功


  1. 解压MediaSamples_Linux_2017R3_b698.tar.gz,并进入MediaSamples_Linux_2017R3_b698/samples/_bin/x64/

    目录,

  2. 检查驱动是否加载成功

vainfo | grep -v 'unknown'
  1. 测试例子
./sample_multi_transcode -i::h264 ../content/test_stream.264 -o::h264 test_out.h264 -hw –la
  1. 如果结果和上述图中类似,即可代表sdk安装成功。

后记


  无

参考文献


打赏、订阅、收藏、丢香蕉、硬币,请关注公众号(攻城狮的搬砖之路)

PS: 请尊重原创,不喜勿喷。

PS: 要转载请注明出处,本人版权所有。

PS: 有问题请留言,看到后我会第一时间回复。

Ubuntu 14.04 Intel 处理器 硬编解码配置(Intel® Media Server Studio)的更多相关文章

  1. 【转载】Caffe + Ubuntu 14.04 + CUDA 6.5 新手安装配置指南

    洋洋洒洒一大篇,就没截图了,这几天一直在折腾这个东西,实在没办法,不想用Linux但是,为了Caffe,只能如此了,安装这些东西,遇到很多问题,每个问题都要折磨很久,大概第一次就是这样的.想想,之后应 ...

  2. (四)Ubuntu 14.04 文件服务器--samba的安装和配置

    samba是Linux系统上的一种文件共享协议,可以实现Windows系统访问Linux系统上的共享资源,现在介绍一下如何在Ubuntu 14.04上安装和配置samba一. 一.更新源列表 打开&q ...

  3. [Linux 小技巧] Ubuntu 14.04 下编译、安装、配置最新开发版 GoldenDict

    1. 背景介绍 GoldenDict 是一款非常优秀的跨平台电子词典软件,支持 StarDict.Babylon 等多种词典.其 PC 版基于 Qt 编写,完全免费.开源且没有广告.GoldenDic ...

  4. Ubuntu 14.04 下使用微软的跨平台轻量级开发神器 Visual Studio Code

    因为 Visual Studio Code 不断更新,官方最新 v1.32 的 .deb 包已经不能用于 Ubuntu 14.04 直接安装了. 下载 v1.31 的 deb 包安装即可:https: ...

  5. Git使用:Linux(Ubuntu 14.04 x64)下安装Git并配置连接GitHub

    github是一个非常好的网络代码托管仓库,知晓许久,但是一直没有用起来,最近才开始使用git管理自己的文档和代码. Git是非常强大的版本管理工具,今天就告诉大家,如何在Linux下安装GIt,并且 ...

  6. Caffe + Ubuntu 14.04 64bit + CUDA6.5 + 无GPU 配置

    官网: http://caffe.berkeleyvision.org/installation.html#compilation 参考网站: http://www.cnblogs.com/dupul ...

  7. ubuntu 14.04设备OVS虚拟OpenFlow交换机配置汇总

    一.设备OVS sudo apt-get install openvswitch-controller openvswitch-switch openvswitch-datapath-source ( ...

  8. ubuntu 14.04 (desktop amd 64) 安装和配置ROS Indigo

    安装ROS 配置Ubuntu的软件源 配置Ubuntu要求允许接受restricted.universe和multiverse的软件源,可以根据下面的链接配置: https://help.ubuntu ...

  9. ubuntu 14.04安装OVS虚拟OpenFlow交换机配置总结

    一.安装OVS sudo apt-get install openvswitch-controller openvswitch-switch openvswitch-datapath-source ( ...

  10. 在Ubuntu 14.04安装 Let’s Encrypt并配置ssl

    1.下载安装 Let's Encrypt客户端 cd /usr/local/sbin sudo wget https://dl.eff.org/certbot-auto 2.添加执行权限 sudo c ...

随机推荐

  1. Delphi判断一个字符串在另一个字符串中出现的次数 7个方法的效率对比。

    unit Unit14; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, Syste ...

  2. ABC 304

    T4 在一个平面上有一块面积无限的蛋糕,给出 \(n\) 颗草莓的所在位置和 \(a\,(b)\) 条平行与 \(x\,(y)\) 轴的切刀位置. 切刀会把蛋糕沿 \(x\,(y)\) 轴切开.因此一 ...

  3. 遍历用for还是foreach?

    遍历用for还是foreach?这篇文章帮你轻松选择! 在编程的世界里,我们经常需要对数据进行循环处理,常用的两种方法就是:for循环和foreach循环.想象你站在一条装满宝贝的传送带前,你要亲手检 ...

  4. JS Leetcode 80. 删除有序数组中的重复项 II题解,常规解法与快慢双指针做法

    壹 ❀ 引 今天的题目来自LeetCode80. 删除有序数组中的重复项 II,是一道难度中等,但实际挺简单的一道题,题目描述如下: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每 ...

  5. Git将某个文件合并到指定分支

    企业开发中,经常会单独拉分支去做自己的需求开发,但是某些时候一些公共的配置我们需要从主线pull,这时候整个分支merge显然不合适 1.切换至待合并文件的分支 git checkout <br ...

  6. 微信小程序引入iconfont实现添加自定义颜色图标

    说明 最近搞微信小程序,需要添加一些图标,发现引入iconfont还是有几个步骤,就记录下来分享以下. 以下配置方法支持自定义颜色的. 操作步骤 1. 在iconfont网站挑选自己需要的图标,添加到 ...

  7. Java集合框架学习(五) ArrayList详解

    Arraylist介绍 Arraylist类实现了List接口. public class ArrayList<E> extends AbstractList<E> imple ...

  8. .Net Core Entity Framework Core 的基础封装

    上篇讲到  c# Unit of Work 知识分享时,对于创建DBContext 的封装没有讲到,这次分享跟大家 public interface IDbContextFactory { DbCon ...

  9. 从零开始写 Docker(一)---实现 mydocker run 命令

    本文为从零开始写 Docker 系列第一篇,主要实现 mydocker run 命令,构造了一个具有基本的 Namespace 隔离的简单容器. 如果你对云原生技术充满好奇,想要深入了解更多相关的文章 ...

  10. 命令行解析parse.parse_know_args()

    简介 在接受到多余的命令行参数时不报错,只把第一个参数作为当前使用的命令参数, 剩余部分留给其它程序使用,返回一个tuple类型的命名空间和一个保存着余下的命令行字符的list 示例 import a ...