使用DG1显卡在裸机Linux上打造高性能NAS服务器:完全解码指南
-
前言
Intel DG1 显卡凭借其优秀的解码性能和低功耗,成为打造高性能NAS服务器的理想选择。然而,在Linux系统上驱动DG1显卡并实现最佳性能并非易事。本文档旨在分享DG1显卡在裸机Linux系统上的驱动经验,并提供详细的配置指南,帮助用户打造高性能NAS服务器。
最终方案是Fedora41 +内核6.12.11 + i915
至于为什么用Fedora,相对Arch稳定且新,占用也小,pve直通的话得更换第三方内核,esxi貌似只能发挥dg1一半的性能,飞牛的话用的魔改驱动(不是说不好,只不过为了考虑以后更新方便,主线驱动更方便更新,DG1 hang的问题6.13内核中已经包含了补丁,Fedora虽然没有Arch那么激进但是过不了多久也会更新6.13内核,这也是一个原因),Ubuntu夹带私货一生黑,对,说的就是你,snap狗皮膏药。Debian内核有点老了但是听说最新的Debian也有反向修复的i915驱动,可以自行尝试
测试环境
硬件: 12100F+H610+Intel DG1 显卡
操作系统: Ubuntu、Fedora、Arch Linux
内核版本: 6.8、6.12、6.12.11
驱动类型: Xe 内核驱动、intel-i915-dkms,主线i915
应用软件: Jellyfin
测试方法: 裸机安装、虚拟机直通(ESXi、PVE)
测试结果虚拟机直通:
ESXi: DG1直通给Windows,可正常输出显示信号和解码,但性能减半。
PVE: 加载皮蛋熊修改后的内核,直通DG1给飞牛OS,飞牛OS加载皮蛋熊的i915驱动,可正常解码,AI相册可正常调用显卡,但系统资源占用显示异常。
裸机Ubuntu24.04 Server LTS(内核6.8 + Xe):
使用Xe内核驱动,添加i915.force_probe=!4908 xe.force_probe=4908内核参数,使用nyanmisaka/jellyfin,无需替换iHD驱动,可正常解码,DP信号输出正常,但无法使用intel_gpu_top,据称6.8内核Xe驱动存在OpenCL bug。
裸机Ubuntu24.04 Server LTS(内核6.8 + i915-dkms):
使用官方反向移植的intel-i915-dkms驱动,需替换iHD驱动,可正常解码,但不输出显示信号(内核屏蔽)。
Fedora 41/Arch Linux(内核6.12):
使用Xe内核,可正常输出显示,但无法正常解码,出现卡屏和花屏现象。
Fedora 41(内核6.12.11):
根据@NyanMisaka在jellyfin论坛的帖子,Jellyfin 10.10.5官方已支持DG1,但需满足以下条件:
内核版本:6.1.124+/6.6.70+/6.12.9+/6.13+(Xe内核需要6.9/6.10/6.13+)
内核启动参数:根据实际情况添加i915/xe.force_probe=4908或i915/xe.force_probe=4905
实测添加i915.force_probe=4908可正常显示输出和解码播放,且占用率显示正常
教程部分
安装Fedora41 Server版本
使用sudo dnf update更新系统(默认的内核是6.11),并重启
修改/etc/default/grub的GRUB_CMDLINE_LINUX部分,类似GRUB_CMDLINE_LINUX=“rhgb quiet selinux=0 i915.force_probe=4908”
使用sudo grub2-mkconfig -o /boot/grub2/grub.cfg,更新grub配置,并重启
输入sudo lspci -vvn | grep “i915”,如果出现Kernel driver in use: i915则驱动初步成功
使用nyanmisaka/jellyfin最新镜像启动服务器,并且开启硬解,播放测试视频,观察帧率等是否正常
输入sudo dmesg -w,并且开启硬解,播放视频,查看内核有无报错
输入sudo dnf install intel-gpu-tools,安装工具包,播放视频时,输入intel_gpu_top查看显卡占用
常用调优建议使用ufw替代系统默认的防火墙(更简单,而且不会和docker冲突)
使用sudo turbostat --Summary --quiet --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,查看cpu功耗等信息
如果遇到btrfs报错,可尝试sudo dnf install btrfs-progs udisks2-btrfs
免责声明本文档仅供参考,不构成任何形式的保证。用户在使用DG1显卡和Linux系统时,应自行承担相关风险。
感谢
感谢@NyanMisaka @皮蛋熊笨熊,分享的宝贵经验,为本文档的编写提供了重要参考。
感谢https://icarusradio.github.io/guides/ubuntu-dg1-jellyfin.html
提供的经验