N5095-Ubuntu系统开启Jellyfin硬件解码

2023-05-16

N5095-Ubuntu系统开启Jellyfin硬件解码

一、升级Ubuntu内核至5.18

ubuntu22.04安装后,默认的内核版本为5.15,而这个版本内含一个bug,导致11代IntelCPU无法正常开启硬件解码
下载ubuntu-mainline-kernel.sh并将其放在可执行路径中

wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh
install ubuntu-mainline-kernel.sh /usr/local/bin/

使用脚本可以检查当前版本可以支持的内核版本,并安装v5.18.19版本,实测可以实现硬件解码,其他可行版本可以自行探索

ubuntu-mainline-kernel.sh -r
ubuntu-mainline-kernel.sh -i v5.18.19
Downloading index from kernel.ubuntu.com

# ...
# Installing 4 packages
# Cleaning up work folder

安装过程可能不尽相同,但是安装成功后会出现上面两行命令。安装后的版本可以使用脚本查看

ubuntu-mainline-kernel.sh -l
# v5.18.19-051819

重启后查看内核版本是否改变:

reboot
uname -r
# 5.18.19-051819-generic

返回的结果如上面显示,则证明新版本内核启用成功

二、Intel显卡驱动配置

使用以下命令查看是否存在显卡固件:

ls -l /lib/firmware/i915/ehl_guc_69*
ls -l /lib/firmware/i915/ehl_huc_9*
ls -l /lib/firmware/i915/icl_dmc_ver1_09*

确认文件存在后,编辑grub配置文件并强制开启HuC和GuC:

vim /etc/default/grub
# 按i进入编辑模式
# 找到GRUB_CMDLINE_LINUX_DEFAULT这一行参数,将其注释,增加下面一行
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on i915.enable_guc=3 quiet"

保存配置文件后,更新grub菜单,然后重启等待设置生效

update-grub
# 或者使用另一命令
grub-mkconfig -o /boot/grub/grub.cfg
reboot

补充说明:GuC引导项不同参数的作用:

i915.enable_guc=1    ## 启用GuC提交和电源管理
i915.enable_guc=2    ## 只启用HuC认证
i915.enable_guc=3    ## 将两个功能结合在一起
##在内核4.16之前,HuC认证是通过设置:
i915.enable_guc_loading=1   ##4.16之前使用此参数开启huc认证

重启之后,安装intel-gpu-tools查看GPU的运行状态

apt -y install intel-gpu-tools
# 安装成功后查看GuC和HuC的状态
journalctl -b -o short-monotonic -k | egrep -i "i915|dmr|dmc|guc|huc"

忽略其他的错误,只要存在HuC和GuC成功开启的信息即可

[    4.532486] debian kernel: i915 0000:0b:00.0: firmware: direct-loading firmware i915/ehl_guc_69.0.3.bin
[    4.533796] debian kernel: i915 0000:0b:00.0: firmware: direct-loading firmware i915/ehl_huc_9.0.0.bin
[    4.695205] debian kernel: i915 0000:0b:00.0: [drm] GuC firmware i915/ehl_guc_69.0.3.bin version 69.0
[    4.695214] debian kernel: i915 0000:0b:00.0: [drm] HuC firmware i915/ehl_huc_9.0.0.bin version 9.0
[    4.709613] debian kernel: i915 0000:0b:00.0: [drm] HuC authenticated
[    4.709763] debian kernel: i915 0000:0b:00.0: [drm] GuC submission enabled

如果报错显示缺少某个文件,需要手动下载文件并放入/lib/firmware/i915文件夹下,下载地址为index : kernel/git/firmware/linux-firmware.git,并重新执行以上步骤

三、安装Docker

Ubuntu22.04可能需要先安装curl包

sudo apt-get install curl
# 指定阿里源来安装Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

执行docker ps后成功即代表docker安装成功

四、硬盘设置

由于媒体库采用USB连接至小主机,所以需要挂载硬盘硬盘至系统

# 使用命令找到对应的盘符
lsblk
# 挂载硬盘至目录
mkdir /home/mount_dir
mount /dev/sda1 /home/mount_dir

挂载硬盘时,出现了$MFTMirr does not match $MFT (record 0)错误,可以使用以下命令进行修复
安装ntfsprogs包并修复硬盘

sudo apt-get install ntfsprogs
# sudo ntfsfix /dev/partitionName,这里我的盘符是/dev/sda1,所以
sudo ntfsfix /dev/sda1
# 在使用mount命令即可:
mount /dev/sda1 /home/mount_dir

为了每次开机可以自动挂载硬盘至对应的位置,需要将挂载动作设为开机自动执行
找到/etc/fstab,并进行如下修改

/dev/sda1 /home/mount_dir  ntfs-3g  rw  0  0

保存后,使用sudo mount -a命令执行硬盘挂载,无报错即可。以后每次重启主机都可以自动挂载硬盘至指定路径

五、硬盘SMB共享

为了方便其他设置(电脑,手机,平板)能够更好的访问媒体资源,而不仅仅给jellyfin使用,可以设置硬盘为SMB共享

# 安装SMB服务
sudo apt-get install samba
# 添加SMB用户
sudo smbpasswd -a jump  #jump为当前系统使用的,root外的用户名,后使用该用户名访问samba服务

修改SMB配置文件:

sudo gedit /etc/samba/smb.conf

将以下内容复制进文件的最后部分:

[mysmb] #共享时网络上显示的名称 
path = /home/mount_dir #共享路径
guest ok = yes    #匿名访问
comment = smb share     #注释信息
available = yes         #vailable用来指定该共享资源是否可用
browseable = yes        #browseable用来指定该共享是否可以浏览
public    = yes         #public用来指定该共享是否允许guest账户访问
writeable = yes         #writable用来指定该共享路径是否可写

重启SMB服务并查看SMB状态:

systemctl restart smbd
systemctl status smbd

Windows电脑登入SMB服务器,使用Win+R进入运行,输入\\IP,根据提示输入SMB添加的用户名及密码即可访问共享的硬盘资源

六、安装Jellyfin

创建jellyfin存在配置文件的路径,这里我定义为:

mkdir /home/jellyfin/config

使用以下命令拉起jellyfin容器,这里使用nyanmisaka的中国特供版:

docker pull nyanmisaka/jellyfin
docker run -d \
--device=/dev/dri:/dev/dri \
--privileged=true \
--name=jellyfin \
--restart=always \
-p 8096:8096 \
-p 7359:7359/udp `#optional` \
-p 1995:1995/udp `#optional` \
-v /home/jellyfin/config:/config \
-v /home/mount_dir:/media \
nyanmisaka/jellyfin

注意,--device--privileged两个参数必需,保证能够调用显卡对视频进行硬件解码
容器启动成功后,使用ubuntu主机的IP地址和端口进行访问http://ip:8096进行配置并开启硬件解码
Jellyfin配置及媒体资源刮削未完待续…

参考文档:
N5105 软路由安装 ESXi 7 直通核显给 Debian / Ubuntu 虚拟机通过 Docker 实现 jellyfin 硬件转码视频文件(硬解/编码)
ubuntu安装smb及配置
Ubuntu 20.04系统自动挂载NTFS的硬盘
解决‘$MFTMirr does not match $MFT (record 0)’

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

N5095-Ubuntu系统开启Jellyfin硬件解码 的相关文章

  • 【已解决】Eclipse Run Sever 打开tomcat报错Not found404

    已解决 Eclipse Run Sever 打开tomcat报错Not found404 运行环境 xff1a win10专业版 Eclipse 2020 Tomcat 8 5 7 1 问题描述 刚刚安装好一个eclipse 配置完成之后
  • Pycharm打包python文件为exe格式

    Pycharm打包python文件为exe格式 运行环境 xff1a win10专业版 Python 3 9 1 将需要打包的内容单独放在一个文件 2 创建一个虚拟环境 打包出来的体积相对小很多 新建一个虚拟环境 在终端中执行下列代码 py
  • 中兴B860AV2.1-T刷机教程加固件

    第一步 xff1a 拆开中兴B860AV2 1 T盒子 xff0c 取出主板 第二步 xff1a 下载刷机工具Amlogic USB Burning Tool v2 1 6 8 下载工具 xff1a 链接 xff1a https downl
  • Python输出系统信息(操作系统、版本号等)

    Python输出操作系统信息 xff08 操作系统 版本号等 xff09 运行环境 xff1a win10专业版 Python 3 9 Pycharm 社区版 1 使用platform 模块获取系统信息 span class token k
  • 【已解决】win7 32位操作系统使用pyinstaller打包exe可执行文件文件

    已解决 win7 32位操作系统使用pyinstaller打包exe可执行文件文件 运行环境 xff1a win7 32位旗舰版 Python 3 6 8 问题描述 xff1a 近期我在win10 64位的python3 9环境上写了一个e
  • 第九章 vue 进阶篇 Element Plus 基本使用

    Element Plus 基本使用 element ui 是基于vue 开发的一套ui组件库 xff0c 提供丰富的网页开发组件 xff0c 可用快速开发网站 xff0c 降低前端开发成本 版本 element目前有两个版本 element
  • 【物联家居】第二章:服务器--玩客云刷入armbian系统,作为数据交互中心

    日记 xff1a 现在是2021年6月12日 14 07 18 物联家居 总目录 目录 一 玩客云 二 需要材料 三 刷入Armbian 步骤一 xff1a 刷底包 步骤二 xff1a 把armbian固件写入U盘 xff08 同sd卡 x
  • C# 实现RDP远程桌面连接

    C 实现RDP远程桌面连接 因为频繁的访问远程windows server服务器 xff0c 每次调出cmd运行mstsc xff0c 然后输入一大串信息去链接就显得有些繁琐了 为方便计 xff0c 于是使用C 编写一个小工具 功能相当简陋
  • 单片机小白学习之路(十七)---计算初值

    目标 xff1a 学会计算初值 1 为什么要初值 xff1f 给单片机的定时器赋初值是为了取得准确的自己需要的定时时间 xff0c 比如我想定时100秒 xff0c 你数0 255要256秒 xff08 最大定时长 xff09 xff0c
  • hadoop-hdfs初学之基本常用命令的IDEA实现

    刚开始学hadoop xff0c 大家一起加油 xff0c 再接再厉 span class token keyword package span span class token namespace com span class token
  • ubuntu20.04卸载virtualbox失败,“if your system is using efi secure boot you may need to sign the kernel “

    ubuntu20 04卸载virtualbox失败 xff0c 报错信息中有 if your system is using efi secure boot you may need to sign the kernel modules v
  • [算法]马走日

    题目描述 xff1a 在国际象棋中 xff0c 马的走法与中国象棋类似 xff0c 即俗话说的 马走日 xff0c 下图所示即国际象棋中马每一步能到达的格子 xff08 箭头所指为每步到达位置 xff09 现有一200 200大小的国际象棋
  • 咪咕盒子MGV2000电视盒子刷机教程

    第一步 xff1a 使用U盘里面新建文件夹重命名为 xff1a upgrade 第二步 xff1a 下载更新包放到uprade文件夹内 xff0c 下载地址 xff1a https download csdn net download cy
  • edge浏览器配置跨域完整流程-前端

    edge浏览器配置跨域完整流程 前端 1 在D盘下创建 edgeFile 新文件夹 2 进入edge文件位置 复制自己的edge 名字就叫dev 可以随便取 3 右键选中dev点击属性 配置edge的目标路径 C Program Files
  • oracle11g无法导出空表问题

    产生原因 xff1a oracle11g为了节约空间 xff0c 对空表不分配segment 解决方法 方法1 用如下语句设置空表可导出 xff1a alter system set deferred segment creation 61
  • 将dwg文件转为shp文件

    将dwg文件转为shp文件 xff08 包括dwg的注记转换 xff09 目的 xff1a 利用ArcGIS软件 将dwg文件中的面状要素转为shp格式 xff0c 并将dwg中的注记转换成shp文件中的字段 方法一 xff1a 1 将dw
  • ArcGIS坐标转换

    地理坐标系 xff1a 常用的地理坐标系 xff1a WGS84坐标系 CGCS2000坐标系 北京54坐标系 西安80坐标系 地理坐标系是是球面坐标系统 xff0c 通过经度 纬度 对地球表面点进行说明 不同地理坐标系的主要区别在于其采用
  • arcmap字段计算器的使用

    需求1 xff1a 某个要素类中的某个字段的数据前有空格 xff0c 需将空格批量删除 解决方法 xff1a 打开arcmap xff0c 添加图层 xff0c 选择开始编辑 xff08 如下图 xff09 选中图层 xff0c 右键打开属
  • ArcMap 数据的标注和注记

    标注 xff1a 可按照当前地图比例尺下的最佳位置重新加载 注记 xff1a 每条注记都存储自身的位置 注记可由标注转化而来 本文包括几种基本的标注方法 包括多属性字段标注 分类标注 分数型标注 道路名称标注等 多个属性字段标注 如下图 x
  • ArcMap 矢量数据空间校正

    功能 xff1a 将存在偏移 误差的数据进行校正 本文包括图形位移校正 橡皮拉伸 接边的操作方法 情况1 xff1a 两图层存在位置偏移 xff0c 现需校正其中一个数据 xff0c 使两个数据完全重合 Arcmap中放入两个数据 xff0

随机推荐

  • 【oracle报错】 exp-00106数据链接口令无效

    问题 xff1a 用exp导出数据库中的data 1表 xff0c 报错 exp 00106数据链接口令无效 xff0c 但其他表可正常导出 分析 xff1a 与无效dblink有关 解决过程 xff1a 用查询语句 select from
  • ARCGIS安装及卸载中遇见的一些问题

    1 提示无 netframework3 5 注意 xff1a 缺少 netframework3 5 安装4 5依旧无法安装arccgis desktop 解决方法 xff1a 计算机单击右键选择 管理 xff0c 在 服务管理器 中选择 添
  • ora-00972标识符过长

    ora 00972标识符过长 可能原因 xff1a Oracle中表名 xff0c 列名 xff0c 标识列字符不能超过30个字符 但我是利用plsql导入csv格式数据时 xff0c 报错ora 00972 xff0c 表是之前建好的 x
  • Ubuntu切换内地源

    编辑 etc apt sources list删除里面的所有内容添加以下内容到sources中保存即可 阿里云源 deb http mirrors aliyun com ubuntu focal main restricted univer
  • oracle 用exp导出表

    用于导出oracle数据库表空间的表 xff0c 有以下几种情况 一般导出 xff1a exp username password 64 ip地址 实例 file 61 路径及文件名 导出表空间指定的表 exp username passw
  • 动态获取API的地址

    原理 xff1a 现在虽然大部分Win32程序都使用ExitProcess函数来终止执行 xff0c 但是其实用ret指令也是可以的 我们的应用程序的主程序可以被看成是一个被Windows调用的子程序 当父进程要创建一个子进程时 xff0c
  • 使用go做后端,用户密码采取bcrpyt哈希加密

    bcrypt哈希由多个部分组成 这些部分用于确定创建哈希的设置 xff0c 从而可以在不需要任何其他信息的情况下对其进行验证 相较于MD5 xff0c SHA 256等哈希算法更适合用于做密码的哈希 xff0c 原因在于bcrypt算法哈希
  • 4 Spring Cloud微服务入门之OpenFeign总结

    1 OpenFeign是什么 官网 https spring io projects spring cloud openfeign OenFeign 是一个声明式的WebService客户端 使用openfeign 能让编写Web Serv
  • Ubuntu18.04安装ssh并实现本机免密登录

    hadoop需要使用SSH的方式登陆 xff0c linux下需要安装SSH 客户端已经安装好了 xff0c 一般只需要安装服务端就可以了 Ubuntu默认并没有安装ssh服务 xff0c 如果通过ssh远程连接到Ubuntu xff0c
  • AndroidStdio换源

    Android Stdio开发学习2022 10 2 第一步 换源 Android Stdio默认源是外国的 xff0c 访问很慢 xff0c 所以需要换成国内的镜像源 阿里源 xff1a https maven aliyun com ne
  • 【杂物间3】AI,ML,RL,DL,NLP,CV…搞清了这些是啥

    pre 在看一篇公众号推文的时候 xff0c 里面有这么一句话 xff1a 诶 xff0c 看这意思 xff0c CV xff0c NLP xff0c RL xff0c GNN是DL的纵向领域 xff1f 其他三个尚且眼熟 xff0c 但R
  • 数据库系统课后作业1

    关系模式 xff1a Department dNo dName officeRoom homePage Student sNo sName sex age dNo Course cNo cName cPNo credit dNo SC sN
  • 保研面试/考研复试机器学习问题整理

    1 什么是梯度爆炸和梯度消失 xff1f 如何解决梯度消失 梯度爆炸 xff1f 在反向传播过程中需要对激活函数进行求导 xff0c 如果导数大于 1 1 1 xff0c 那么随着网络层数的增加梯度更新将会朝着指数爆炸的方式增加这就是梯度爆
  • 树莓派连接vnc教程

    1 输入 sudo raspi config 进入到系统设置中开启vnc服务 2 进入后选择 Interfacing Options 进入 3 选择 VNC 进入 4 yes 下载软件 xff1a VNC Viewer 5 连接vnc xf
  • Hive之解析Json数组

    目录 Hive自带的json解析函数1 get json object函数2 json tuple函数 Hive解析json数组一 嵌套子查询解析json数组二 使用 lateral view 解析json数组 Hive自带的json解析函
  • MobaXterm实现代理功能及把内网服务器,用公网地址转发出去。

    MobaXterm实现代理功能及把内网服务器 xff0c 用公网地址转发出去 1 MobaXterm配置 192 168 1 82为内网 xff0c 需要公网连接上来 xff0c 所以用公网服务器做代理使用 xff0c 实现ssh 公网ip
  • docker-compose 搭建 nextcloud + onlyoffice 实现在线编辑,云存储等多项功能。

    添加源 yum span class token function install span epel release y 关闭防火墙 xff0c selinux systemctl stop firewalld systemctl dis
  • WiFi 中继/桥接功能 — 基于OpenWRT路由器

    一 中继和桥接介绍 1 网络拓扑图 2 功能介绍 1 无线中继 无线中继 xff0c 即无线分布系统 WDS 组网 xff0c 其工作原理是将无线信号从上一个中继点接力传递到下一个中继点 xff08 下一个点可以在不同信道上接收和转发 xf
  • 经典数学问题——三门问题(数据分析面试题)

    三门问题出自美国的电视游戏节目 Let s Make a Deal xff0c 问题名字来自该节目的主持人蒙提 霍尔 xff08 Monty Hall xff09 xff0c 所以三门问题又叫做蒙提霍尔悖论 让我们来看看三门问题 xff1a
  • N5095-Ubuntu系统开启Jellyfin硬件解码

    N5095 Ubuntu系统开启Jellyfin硬件解码 一 升级Ubuntu内核至5 18 ubuntu22 04安装后 xff0c 默认的内核版本为5 15 xff0c 而这个版本内含一个bug xff0c 导致11代IntelCPU无