intel amd pve全系列核显直通使用钩子完美返回pve终端(目前不完美) | 您所在的位置:网站首页 › amd5600h核显比4800h强吗 › intel amd pve全系列核显直通使用钩子完美返回pve终端(目前不完美) |
20231017更新:使用钩子脚本可以输出4k 60hz画面了(intel需要屏蔽i915才能输出4k 60hz,屏蔽了不能返回pve终端界面,不屏蔽只能4k 30hz,请用户自行取舍。amd因为没机器没法测试能否下面钩子脚本完美直通,本教程有可能随时更新,目前还不够我心目中的完美) 突然发现pve的钩子脚本就是宝藏(当然unraid也支持),今天写一个钩子程序处理各种pcie设备的方法。附源代码!!!!! 目前来说,不是很完美,而且,我个人建议放弃钩子,钩子的初衷只是为了把pcie设备还给pve可以再次使用,比如直通了sata控制器给虚拟机,虚拟机关机后,sata控制器上硬盘pve无法使用了,再比m2硬盘,网卡,等等这些。把这些设备还给pve使用。这才是初衷。 先说下核显直通基本配置 一、系统配置 1. /etc/default/grub 里面只需要以下这一个参数,intel的 或amd的 2. /etc/modprobe.d/pve-blacklist.conf 里面只需要三个参数(intel核显都只加这一条,intel如果4k 60hz需要屏蔽i915才能,amd的没机器测试暂定只加这一条) 解释: options vfio_iommu_type1 allow_unsafe_interrupts=1允许不安全的设备中断 blacklist i915 屏蔽intel核显驱动 blacklist amdgpu 屏蔽amd核显驱动 blacklist snd_hda_intel 屏蔽声卡驱动(hdmi吧) 3. 虚拟机直通,参考我的其他教程 4.上钩子脚本,全套代码 4.1首先编译好虚拟机启动关机shell脚本 编辑文件 在里面贴入以下代码(分机器贴入) 以下为intel核显机器代码 以下为amd核显机器代码 然后加执行权限 4.2处理好perl钩子脚本 创建目录,如果错误不用管它 编辑文件 在里面贴入以下代码 然后加执行权限 将钩子脚本应用至虚拟机 比如我这里应用到虚拟机100 5.完工 6.说明 以后你只需要改/root/vm-startstop.sh这个文件就是,我在里面实现了amd、intel核显、对应声卡,还有sata控制器的直通钩子操作,如果你还想usb控制器、nvme控制器等等,你对照着修改就是。为了方便很多我都是用查询的方式,考虑到nvme、有线网友可能有多个,就不用查询方法了,很多我都注释掉了,你可以去掉#启动它。 当然你需要在虚拟机配置里面添加相应的pci设备才能使用,以上脚本只是为虚拟机直通硬件做准备的。 7.最后 你也可以采用手动测试 开机前执行类似 echo 0000:00:02:01 > /sys/bus/pci/drivers/驱动名称/unbind echo 8086 5e55 > /sys/bus/pci/drivers/vfio-pci/new_id 关机后执行类似操作 echo 0000:00:02:01 > /sys/bus/pci/drivers/vfio-pci/unbind echo 0000:00:02:01 >/sys/bus/pci/drivers/驱动名称/bind 驱动名称比如i915 nvme 等等 祝折腾愉快! |
CopyRight 2018-2019 实验室设备网 版权所有 |