|
本帖最后由 None 于 2023-11-2 13:41 编辑
1.升级内核
因为N5105的核显驱动,需要在linux内核5.18以上才可以,UNAS使用的内核是5.10,是无法加载核显驱动的,所以第一步需要升级内核。
最新稳定版内核可在官网查询:https://tracker.debian.org/pkg/linux
Debian 11 升级内核需在 root 权限下执行,首先添加 Backports 源并更新
- echo "deb http://deb.debian.org/debian bullseye-backports main" > /etc/apt/sources.list.d/backports.list
复制代码
接着安装新内核及更新 grub:
- apt -t bullseye-backports install linux-image-amd64
复制代码
然后重启 ,检查内核版本是否已更新:
确认内核已经升级成功,就可以卸载旧内核节省空间,列出已安装内核:
- dpkg --list | grep linux-image
复制代码 需保留至少一个新内核,然后卸载旧内核,比如列出信息如下:
- ii linux-image-5.10.0-19-amd64 5.10.149-2 amd64 Linux 5.10 for 64-bit PCs (signed)
- ii linux-image-6.1.0-0.deb11.11-amd64 6.1.38-4~bpo11+1 amd64 Linux 6.1 for 64-bit PCs (signed)
- ii linux-image-amd64 6.1.38-4~bpo11+1 amd64 Linux for 64-bit PCs (meta-package)
复制代码
那么执行命令卸载 linux-image-5.10.0-19-amd64 即可:
- apt purge linux-image-5.10.0-19-amd64
复制代码 列出内核头文件:
- dpkg --list | grep linux-headers
复制代码 需保留至少一个新内核头文件,然后卸载旧内核头,比如列出信息如下:- root@VM-0-8-debian:~# dpkg --list | grep linux-headers
复制代码
我卸载旧内核后,再查看内核头文件,并没有发现旧的,如果有旧的,把 5.10 两个内核头清理掉即可:
- apt purge linux-headers-5.10.0-19-amd64 linux-headers-5.10.0-19-common
复制代码
更新 grub,重启:
至此 Debian 11 升级内核完成。
注:如果以后不打算再继续升级内核,可以将Backports源删除
- rm -f /etc/apt/sources.list.d/backports.list
复制代码
参考连接:https://0xo.net/640
2.安装驱动
UNAS中其实已经有了核显驱动,只不过是内核不支持而已,内核升级以后,其实是不需要在安装驱动的。UNAS用户可以跳过2.1,直接查看2.2
2.1为了做个记录,这里也记录一下安装驱动
使用non-free源安装驱动
- wget -qO - https://repositories.intel.com/graphics/intel-graphics.key | apt-key add -
- nano /etc/apt/source.list
- deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
- deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
- deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
- deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
- deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
- deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
- deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
- deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
- deb [arch=amd64] https://repositories.intel.com/graphics/ubuntu bionic main
- 存盘退出
- apt-get update
- 安装驱动及工具
- apt-get install intel-media-va-driver-non-free
- apt-get install intel-gpu-tools
- apt-get install vainfo
复制代码 运行 lspci 观察硬件信息00:00.0 Host bridge: Intel Corporation Device 4e2400:02.0 VGA compatible controller: Intel Corporation Device 4e61 (rev 01) 这一行 记录下 4e61 录入到下面文件中 (n6005这个地方值不一样,可能是4e71)
- nano /etc/default/grub
- GRUB_CMDLINE_LINUX="之前的内容 quiet i915.force_probe=4e71"
- #存盘退出
- # 更新grub
- update-grub
-
- # 启用guc
- nano /etc/modprobe.d/i915.conf
- # 输入
- options i915 force_probe=1 enable_guc=2
- # 存盘退出
-
- # 重启
- reboot
复制代码 更多信息,可以参考 n6005/n5105在debian11实现jellyfin硬解_debian jellyfin-CSDN博客
2.2 安装/升级guc/huc固件
n5105/n6005 开启jellyfin硬解的话,需要开启低电压模式 [color=var(--b3-protyle-inline-link-color)]Intel GPU | Jellyfin,开启低电压模式需要启用guc和huc,详情可以查看官方文档[color=var(--b3-protyle-inline-link-color)]Intel GPU | Jellyfin ,这里记录一下我的处理过程
首先查看i915内核是否可以使用GUC
- sudo modinfo i915 | egrep -i "guc|huc|dmc"
复制代码 如果命令显示内容包含guc、huc、dmc,说明当前包含了Guc,如下
- firmware: i915/skl_huc_2.0.0.bin
- firmware: i915/bxt_huc_2.0.0.bin
- firmware: i915/kbl_huc_4.0.0.bin
- firmware: i915/glk_huc_4.0.0.bin
- firmware: i915/kbl_huc_4.0.0.bin
- firmware: i915/kbl_huc_4.0.0.bin
- firmware: i915/cml_huc_4.0.0.bin
- firmware: i915/icl_huc_9.0.0.bin
- firmware: i915/ehl_huc_9.0.0.bin
- firmware: i915/ehl_huc_9.0.0.bin
- firmware: i915/tgl_huc_7.9.3.bin
- firmware: i915/tgl_huc_7.9.3.bin
- firmware: i915/dg1_huc.bin
- firmware: i915/tgl_huc_7.9.3.bin
- firmware: i915/tgl_huc.bin
- firmware: i915/tgl_huc_7.9.3.bin
- firmware: i915/tgl_huc.bin
- firmware: i915/skl_guc_70.1.1.bin
- firmware: i915/bxt_guc_70.1.1.bin
- firmware: i915/kbl_guc_70.1.1.bin
- firmware: i915/glk_guc_70.1.1.bin
- firmware: i915/kbl_guc_70.1.1.bin
- firmware: i915/kbl_guc_70.1.1.bin
- firmware: i915/cml_guc_70.1.1.bin
- firmware: i915/icl_guc_70.1.1.bin
- firmware: i915/ehl_guc_70.1.1.bin
- firmware: i915/ehl_guc_70.1.1.bin
- firmware: i915/tgl_guc_70.1.1.bin
- firmware: i915/tgl_guc_70.1.1.bin
- firmware: i915/dg1_guc_70.bin
- firmware: i915/tgl_guc_69.0.3.bin
- firmware: i915/tgl_guc_70.1.1.bin
- firmware: i915/tgl_guc_70.bin
- firmware: i915/adlp_guc_69.0.3.bin
- firmware: i915/adlp_guc_70.1.1.bin
- firmware: i915/adlp_guc_70.bin
- firmware: i915/dg2_guc_70.bin
- firmware: i915/bxt_dmc_ver1_07.bin
- firmware: i915/skl_dmc_ver1_27.bin
- firmware: i915/kbl_dmc_ver1_04.bin
- firmware: i915/glk_dmc_ver1_04.bin
- firmware: i915/icl_dmc_ver1_09.bin
- firmware: i915/tgl_dmc_ver2_12.bin
- firmware: i915/rkl_dmc_ver2_03.bin
- firmware: i915/dg1_dmc_ver2_02.bin
- firmware: i915/adls_dmc_ver2_01.bin
- firmware: i915/adlp_dmc_ver2_16.bin
- firmware: i915/dg2_dmc_ver2_07.bin
- parm: enable_guc:Enable GuC load for GuC submission and/or HuC load. Required functionality can be selected using bitmask values. (-1=auto [default], 0=disable, 1=GuC submission, 2=HuC load) (int)
- parm: guc_log_level:GuC firmware logging level. Requires GuC to be loaded. (-1=auto [default], 0=disable, 1..4=enable with verbosity min..max) (int)
- parm: guc_firmware_path:GuC firmware path to use instead of the default one (charp)
- parm: huc_firmware_path:HuC firmware path to use instead of the default one (charp)
- parm: dmc_firmware_path:DMC firmware path to use instead of the default one (charp)
复制代码 UNAS还需要启用一下GUC(如果按照2.1中启用过guc了,此处无需再启用一次)
- sudo mkdir -p /etc/modprobe.d
- sudo sh -c "echo 'options i915 enable_guc=2' >> /etc/modprobe.d/i915.conf"<span style="font-size: 12px; background-color: rgb(255, 255, 255);"></span>
复制代码 启用guc后,更新 initramfs 和 grub
- sudo update-initramfs -u && sudo update-grub
复制代码 然后重启系统
检查i915的状态
- sudo dmesg | grep i915<span style="font-size: 12px; background-color: rgb(255, 255, 255);"></span>
复制代码
查看GuC状态
- sudo cat /sys/kernel/debug/dri/0/gt/uc/guc_info
- #如果返回信息中status为RUNNING则正常
- GuC firmware: i915/ehl_guc_70.1.1.bin
- status: RUNNING
- version: found 70.1.1
- uCode: 274112 bytes
- RSA: 256 bytes
- GuC status 0x8003f0ec:
- Bootrom status = 0x76
- uKernel status = 0xf0
- MIA Core status = 0x3
- Scratch registers:
- 0: 0x0
- 1: 0x1773d7
- 2: 0x44000
- 3: 0x4000
- 4: 0x40
- 5: 0x514
- 6: 0x4e610001
- 7: 0x0
- 8: 0x0
- 9: 0x0
- 10: 0x0
- 11: 0x0
- 12: 0x0
- 13: 0x0
- 14: 0x0
- 15: 0x0
- GuC logging stats:
- Relay full count: 0
- DEBUG: flush count 0, overflow count 0
- CRASH: flush count 0, overflow count 0
- CAPTURE: flush count 0, overflow count 0
复制代码
查看HuC状态
- sudo cat /sys/kernel/debug/dri/0/gt/uc/huc_info
- #如果返回信息中status为RUNNING则正常
- HuC firmware: i915/ehl_huc_9.0.0.bin
- status: RUNNING
- version: found 9.0.0
- uCode: 498496 bytes
- RSA: 256 bytes
- HuC status: 0x0007c001<span style="font-size: 12px; background-color: rgb(255, 255, 255);"></span>
复制代码
UNAS直接启用Guc和Huc是异常的,如果显示状态时Running,则无需处理,异常的话,则需要升级一下GuC和HuC。在异常信息中,提示了在哪里可以下载Guc,也可以直接访问https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git下载最新的tag,解压后得到其中i915文件夹,或者使用附件提供的i915,然后复制到 /lib/firmware/
- cp -r ./i915 /lib/firmware/<span style="font-size: 12px; background-color: rgb(255, 255, 255);"></span>
复制代码
然后重启电脑,再次执行命令查看GuC和HuC的状态,变成Running则正常
登录jellyfin,在控制台-播放-硬件加速中,选择Intel QuickSync(QSV),启用所有硬件解码
重点:
启用低电压模式的 Intel H.264 硬件编码器
启用低电压模式的 Intel HEVC 硬件编码器
允许以 HEVC 格式编码
启用色调映射
打开一部影片,可以使用intel_gpu_top命令查看gpu使用情况
特别说明:个人升级内核有风险,可能会有造成系统不稳定的风险,官方是不会负责的,所以升级的小伙伴三思而后行,我目前升级后使用了几天,倒是没发现什么问题,但是使用ZFS的小伙伴,千万不要升级哦
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|