1

简单的为虚拟机中的fnOS添加SRIOV支持

发表于:2024-9-24 21:24:42 虚拟机讨论 1827
本帖最后由 星念x 于 2024-10-17 15:26 编辑

有能力的自行前往项目查看i915-sriov-dkms

三行命令搞定服务端,虽然这玩意安装了可以卸载,但是还是不建议随便作死
适用于PVE服务器的命令,以下命令不会对系统产生不可逆的影响
正常情况下应该显示 x86_64: installed
PVE8.2以下执行
  1. 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
复制代码

以下命令操作请慎重,请检查输出是否引号齐全,参数没有粘连(以空格分隔)
  1. 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
复制代码
确认正常后运行以下命令完成安装,重启服务器即可
  1. 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文件也能使用,懒得继续测试了
  1. 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
复制代码







收藏
送赞 1
分享

发表回复

评论列表(21)

  1. 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 proxmox-headers-$(uname -r) || { echo "错误: 安装 proxmox-headers-$(uname -r) 失败"; exit 1; } && apt install proxmox-kernel-$(uname -r) || { echo "错误: 安装 proxmox-kernel-$(uname -r) 失败"; exit 1; } && dkms install -m i915-sriov-dkms -v $VERSION --force || { echo "错误: 安装 dkms 模块失败"; exit 1; } && dkms status
复制代码
PVE 8.2以上应该是执行这个,头文件改动了
2024-9-26 14:56:53 回复
怎么编辑器不支持颜色啊,笑死
2024-9-24 21:25:27 回复
pve8.2,执行时,提示:安装 pve-headers-6.8.4-2-pve 失败。请问大佬从哪里下载这个文件?
2024-9-25 12:01:43 回复
看我的最新回复吧
2024-9-26 14:57:11 回复
这个方法试过的 pve 内核 6.8.12-2  虚拟显卡添加到飞牛里,飞牛系统里能看到gpu 不过在无法选择硬件解码,报无法启用gpu1
2024-10-17 14:05:07 回复
dkms status 看看安装好没?  详情 回复
2024-10-17 15:23
要么就是gpu灰色  详情 回复
2024-10-17 14:18
要么就是gpu灰色
2024-10-17 14:18:29 回复
dkms status 看看安装好没?
2024-10-17 15:23:25 回复
对了 我在n305 i5-12400上都是一样的情况 不知道是不是pve内核版本太高  详情 回复
2024-10-17 17:24
安装好的  详情 回复
2024-10-17 17:23
星念x 发表于 2024-10-17 15:23
dkms status 看看安装好没?

安装好的
2024-10-17 17:23:43 回复
对了 我在n305  i5-12400上都是一样的情况 不知道是不是pve内核版本太高
2024-10-17 17:24:48 回复
dmesg | grep i915 看看输出?  详情 回复
2024-10-19 16:56
123下一页
星念x

TA还没有介绍自己~

1

主题

6

回帖

9

积分

江湖小虾

积分
9

作者推荐

话题