本帖最后由 星念x 于 2024-10-17 15:26 编辑
有能力的自行前往项目查看i915-sriov-dkms
三行命令搞定服务端,虽然这玩意安装了可以卸载,但是还是不建议随便作死
适用于PVE服务器的命令,以下命令不会对系统产生不可逆的影响
正常情况下应该显示 x86_64: installed
PVE8.2以下执行
- git clone https://github.com/strongtz/i915-sriov-dkms /usr/src/i915-sriov-dkms || { echo "错误: git clone 失败"; exit 1; } && VERSION=$(cat /usr/src/i915-sriov-dkms/VERSION) || { echo "错误: 读取 VERSION 文件失败"; exit 1; } && mv /usr/src/i915-sriov-dkms /usr/src/i915-sriov-dkms-$VERSION || { echo "错误: 重命名目录失败"; exit 1; } && apt update || { echo "错误: 更新 apt 失败"; exit 1; } && apt install dkms -y || { echo "错误: 安装 dkms 失败"; exit 1; } && apt install build-* -y || { echo "错误: 安装 build-* 失败"; exit 1; } && apt install pve-headers-$(uname -r) || { echo "错误: 安装 pve-headers-$(uname -r) 失败"; exit 1; } && dkms install -m i915-sriov-dkms -v $VERSION --force || { echo "错误: 安装 dkms 模块失败"; exit 1; } && dkms status
复制代码
以下命令操作请慎重,请检查输出是否引号齐全,参数没有粘连(以空格分隔)
- cp /etc/default/grub /etc/default/grub.bak && sed -i '/GRUB_CMDLINE_LINUX_DEFAULT/s/"$/ intel_iommu=on i915.enable_guc=3 i915.max_vfs=7"/' /etc/default/grub || { echo "错误: 替换GRUB文件出错"; exit 1; } && cat /etc/default/grub | grep GRUB_CMDLINE_LINUX_DEFAULT
复制代码 确认正常后运行以下命令完成安装,重启服务器即可
- update-grub && update-initramfs -u && apt install sysfsutils && echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf
复制代码 一行命令搞定客户端,实测在fnOS0.8.17上可用,老版本应该不可用(头文件不完整),更新的版本应该可用,如果出现安装 dkms 模块失败可能要执行 apt install build-*
正常情况下应该显示 x86_64: installed
此时重启电脑,重启后可以检查飞牛影视中是否可以硬解,或者运行 vainfo ,查看是否有 Supported profile and entrypoints
按我自己的测试,不需要修改/etc/default/grub文件也能使用,懒得继续测试了
- git clone https://github.com/strongtz/i915-sriov-dkms /usr/src/i915-sriov-dkms || { echo "错误: git clone 失败"; exit 1; } && VERSION=$(cat /usr/src/i915-sriov-dkms/VERSION) || { echo "错误: 读取 VERSION 文件失败"; exit 1; } && mv /usr/src/i915-sriov-dkms /usr/src/i915-sriov-dkms-$VERSION || { echo "错误: 重命名目录失败"; exit 1; } && apt update || { echo "错误: 更新 apt 失败"; exit 1; } && apt install dkms -y || { echo "错误: 安装 dkms 失败"; exit 1; } && dkms install -m i915-sriov-dkms -v $VERSION --force || { echo "错误: 安装 dkms 模块失败"; exit 1; } && dkms status
复制代码
|