我的NAS使用的是AMD的CPU,说实话现在并不推荐任何人在家用NAS上使用AMD的CPU。理由非常简单,AMD的核显在linux环境下编解码体验实在是不太行......
Intel的显卡相对而言要好很多,为了补齐短板,打听到了一张神卡DG1。该卡本质上是个大号核显,不过其编解码能力非常强劲(不支持AV1编码),且价格极其便宜(200RMB左右),但网上相关的教程少之又少,在一番折腾下才在Unraid下成功用上这张卡。
接下来介绍一下本人折腾经验,以及如何通过高版本内核中内置的Xe驱动来把这张卡用上。
linux内核大于6.8即可使用本方法打开内置的xe显卡驱动,但目前Unraid 7.0 / 6.x版本的内核都低于6.8,所以我们要想办法升级内核,推荐在下面这两个方案中选择:
操作后,系统内核可以使用uname -r 确认,必须大于6.8。
随后使用 lspci 找到你的DG1显卡,示例如下:
03:00.0 VGA compatible controller [0300]: Intel Corporation DG1 [Iris Xe Graphics] [8086:4908] (rev 01)
随后禁用I915驱动(很多教程声称要启动I915驱动,实际上这样无法正常使用编解码),使用vi命令打开/boot/config/modprobe.d/i915.conf,编辑内容如下
options i915 force_probe=!4908
此处4098修改为lspci查到的DG1 ID,感叹号是必需添加的(用于禁用I915驱动)
接下来新建/boot/config/modprobe.d/xe.conf,内容如下,用于启用Xe驱动
options xe force_probe=4908
此处参考文献:https://wiki.archlinux.org/title/Intel_graphics 详见5.6. Testing the new experimental Xe driver章节。
随后保存并重启,值得注意的是intel_gpu_top现在是看不到你的DG1显卡的,但此时/dev/dri目录下应该已经出现了card0 / renderD128等,此时进jellyfin正常使用即可。
首先我们需要知道DG1这张显卡的驱动(Iris XE)在6.8+才被并入内核,在此之前都需要手动安装驱动。
手动安装驱动对于Unraid来说是非常麻烦、蛋疼的(Unraid是一个高度定制的Slackware,开放程度很低,安装个cpp编译环境都要人命)。所以这条路线首先放弃。
如果是Unraid 6.x的话,github上有第三方编译的高版本内核,他们的内核倒是有Xe驱动,不过我使用的是Unraid7.0,也不太想更换内核。
在一番搜寻下,我成功找到了目前官方唯一一个使用6.8内核的版本——7.0 beta2,仅有这个版本使用了6.8.12的内核。之后的7.0-rc1使用6.6的内核,无法调用Xe驱动。
本文作者:Nature
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!