【NAS】PVE下12代核显直通 HDMI输出画面
村雨Mura
编辑于 2023年09月21日 13:41
收录于文集
共46篇

由于我开通了B站的工坊,有朋友在 NAS定制​ 中拜托我搞Intel的“双机”NAS,类似之前我视频中的 一台NAS可以有多强?​,由于时间紧迫,暂不出视频了

机箱选择了过去认为是御夫座的平替产品:先马立方体199的版本,盘位是2个3.5机械,因为问过了对盘的需求不大。双机效果展示:UHD770和AMD 6600均已直通

实物图效果:一机双系统,效果和我之前那台amd是一样的,可以两个人同时玩游戏,而且由于是amd的独显,因此一个win+一个mac也是可以的

为什么选择12500+6600的组合呢?因为需求是剪辑视频和玩常见的游戏(还有学习数据库、编程等,吃cpu、内存和固态一些),独显指定了6600(理论上生产力N卡更好,但N卡价格确实离谱,比N卡同性能高400元甚至更多,如果是为了玩游戏显然A卡更好,导出视频也能用3D加速,只要不碰什么AV1之类的,平时弄4K H265之类的足够了),因此我只推荐了用目前闲鱼售价1000元附近的12500正式版,因为12500两个好处:

1、相比12400,核显搭载的是UHD770而不是UHD730,UHD770最大的好处是视频编解码个数为2,是UHD730的两倍性能。而12400和12500售价其实差不出100来块,因此选择12500最好。至于一些ES的残血版本,大部分第一条PCIe不能用且cpu性能缩水很多,为了稳定的使用,当然是选择正式版12500。

2、12500还没有大小核设计,而且这种核显直通最好用Windows10,是最契合的

最终,不加盘,整机的配置在3500元附近

下面是教程,主要说关于UHD770,或者叫10代-13代核显的直通教程:

前言

  • 在创建win10虚拟机里面请选择默认 ovmf+i440fx 7.2版本或者最新以上机型(不能选q35!QEMU不支持Q35 核显Legacy模式下显示,可以定制QEMU支持Q35,不在本文讨论)

  • bios选择ovmf(BIOS必须OVMF,Intel核显已不支持传统BIOS启动)。添加sriov设备的时候,勾选pcie和主gpu,勾了主gpu之后,pve就不会显示画面了,可以尝试吧显卡改成virtio-gpu,这样就可以显示控制台。如果装驱动43,把显示该成无(none)。

  • 虚拟机内存至少4G

  • 客户端选 win10 不要选 win11

下载资源

https://www.123pan.com/s/20P0Vv-yxd6H.html

提取码:mura

下载后解压,具体如何使用,详细参考其中的readme文件

重点其实就是两个文件:gen12_igd.rom和gen12_gop.rom,10-13代核显可以直接把这两个放进 pve 的

/usr/share/kvm

路径下即可

注:本资源来自于:https://github.com/gangqizai/igd,感谢原作者复出,本次仅做搬运,转载请注明出处!

bios设置

虚拟化vtd vtx 多线程

开启iommu

关闭CSM尽量只用UEFI

注意BIOS设定:DVMT pre allocated,不要大过64M,64M对应x-igd-gms=0x2,如果超过64M,x-igd-gms要加大!

开始PVE配置:

换源

执行

代码块
JavaScript
自动换行
复制代码
apt install apt-transport-https ca-certificates
复制成功

先更改

代码块
JavaScript
自动换行
复制代码
vi /etc/apt/sources.list
复制成功

原来的注释或全部删除,用下面的代替

代码块
JavaScript
自动换行
复制代码
# 8.0清华源
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware

# security updates
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
复制成功

更改

代码块
JavaScript
自动换行
复制代码
vi /etc/apt/sources.list.d/pve-enterprise.list
复制成功

用下面的代替

代码块
JavaScript
自动换行
复制代码
# 8.0
deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bookworm pve-no-subscription
复制成功

PVE8还需要改一下ceph

代码块
JavaScript
自动换行
复制代码
vi /etc/apt/sources.list.d/ceph.list
复制成功

修改:

代码块
JavaScript
自动换行
复制代码
deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription

复制成功

最后更新一下:

代码块
JavaScript
自动换行
复制代码
apt-get update
复制成功

pvetools

先删除企业源:

代码块
JavaScript
自动换行
复制代码
rm /etc/apt/sources.list.d/pve-enterprise.list
复制成功

安装

代码块
JavaScript
自动换行
复制代码
export LC_ALL=en_US.UTF-8
apt update && apt -y install git && git clone https://github.com/ivanhao/pvetools.git
复制成功

启动工具(cd到目录,启动工具)

代码块
JavaScript
自动换行
复制代码
cd ~/pvetools

./pvetools.sh
复制成功

如果你没有外网,需要改为以下命令来运行,搬运:

代码块
JavaScript
自动换行
复制代码
export LC_ALL=en_US.UTF-8
apt update && apt -y install git && git clone https://gitee.com/fanjinhong/pvetools8.git
复制成功

之后需要改一下权限

代码块
JavaScript
自动换行
复制代码
cd ~ && chmod -R 777 pvetools8
复制成功

对应的启动工具(cd到目录,启动工具)

代码块
JavaScript
自动换行
复制代码
cd ~/pvetools8

./pvetools.sh
复制成功

注意:不要用“去除订阅提示”,可能有bug,“cpu省电”可能导致cpu性能不足,其余可以适当配置,如无需要不要乱配

开启IOMMU

此步骤几乎为必须

启动内核IOMMU支持

代码块
JavaScript
自动换行
复制代码
vi /etc/default/grub
复制成功

修改/etc/default/grub,i915.enable_guc=7

代码块
JavaScript
自动换行
复制代码
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt initcall_blacklist=sysfb_init multifunction pcie_acs_override=downstream i915.enable_guc=7"
复制成功

代码块
JavaScript
自动换行
复制代码
update-grub
复制成功

屏蔽驱动

代码块
JavaScript
自动换行
复制代码

vi /etc/modprobe.d/blacklist.conf
复制成功

添加内容

代码块
JavaScript
自动换行
复制代码
# block AMD driver
blacklist radeon
blacklist amdgpu

# block NVIDIA driver
blacklist nouveau
blacklist nvidia
blacklist nvidiafb

# block INTEL driver
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915

options vfio_iommu_type1 allow_unsafe_interrupts=1
复制成功

屏蔽三大显卡驱动,屏蔽hdmi声音驱动;options vfio_iommu_type1 allow_unsafe_interrupts=1 允许不安全的设备中断

代码块
JavaScript
自动换行
复制代码
update-initramfs -u -k all
复制成功

增加module

代码块
JavaScript
自动换行
复制代码
vi /etc/modules
复制成功

然后添加

代码块
JavaScript
自动换行
复制代码
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
复制成功

将设备加入进vfio

找到id

代码块
JavaScript
自动换行
复制代码
lspci -D -nnk | grep VGA
复制成功

得到

代码块
JavaScript
自动换行
复制代码
0000:00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-S GT1 [UHD Graphics 770] [8086:4690] (rev 0c)

0000:03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6600/6600 XT/6600M] [1002:73ff] (rev c7)
复制成功

id就是(12代UHD770基本都是这个代号)

代码块
JavaScript
自动换行
复制代码

8086:4690
复制成功

用于添加直通组

代码块
JavaScript
自动换行
复制代码
vim /etc/modprobe.d/vfio.conf
复制成功

改为(vifo.conf 没有 disable_vga=1,有的删掉!)

代码块
JavaScript
自动换行
复制代码

options vfio-pci ids=8086:4690
复制成功

代码块
JavaScript
自动换行
复制代码
update-initramfs -u
复制成功

虚拟机配置(这个才是重点)

具体根据自己的虚拟机来配置

代码块
JavaScript
自动换行
复制代码

vim /etc/pve/qemu-server/100.conf
复制成功

给出示例:注意仅做参考,前面是行号

代码块
JavaScript
自动换行
复制代码
 1 agent: 1
 2 args: -set device.hostpci0.addr=02.0 -set device.hostpci0.x-igd-gms=0x2 -set device.hostpci0.x-igd-opregion=on -debugcon file:/root/igd_debug.log     -global isa-debugcon.iobase=0x402
 3 balloon: 0
 4 bios: ovmf
 5 boot: order=sata0;ide0
 6 cores: 4
 7 cpu: host
 8 efidisk0: local-lvm:vm-100-disk-0,efitype=4m,size=4M
 9 hostpci0: 0000:00:02.0,legacy-igd=1,romfile=gen12_igd.rom
10 hostpci1: 0000:00:1f.3,romfile=gen12_gop.rom
11 ide0: local:iso/virtio-win-0.1.229.iso,media=cdrom,size=522284K
12 machine: pc-i440fx-8.0
13 memory: 4096
14 meta: creation-qemu=8.0.2,ctime=1692294184
15 name: wintest
16 net0: virtio=7A:1E:CC:A8:81:D2,bridge=vmbr0,firewall=1
17 numa: 1
18 ostype: win10
19 sata0: local-lvm:vm-100-disk-1,size=40G,ssd=1
20 scsihw: virtio-scsi-single
21 smbios1: uuid=adaf615c-2ff8-43a9-b8f5-6433e379aa6d
22 sockets: 1
23 usb0: host=062a:4101,usb3=1
24 usb1: host=1a81:1202,usb3=1
25 vga: none
26 vmgenid: 69c57031-908b-4795-a197-215c209e43e2
复制成功

这里面的重点是:2、 9 、10 、25行

代码块
JavaScript
自动换行
复制代码

 2 args: -set device.hostpci0.addr=02.0 -set device.hostpci0.x-igd-gms=0x2 -set device.hostpci0.x-igd-opregion=on -debugcon file:/root/igd_debug.log     -global isa-debugcon.iobase=0x402
 
 
 9 hostpci0: 0000:00:02.0,legacy-igd=1,romfile=gen12_igd.rom
10 hostpci1: 0000:00:1f.3,romfile=gen12_gop.rom



  25 vga: none
复制成功

之后需要自己用工具,把两个文件,通过sftp等方式,放进pve下的 /usr/share/kvm/下

然后需要自行安装驱动才能真正运行正常

安装驱动:最好是用Windows更新来安装,实在不行,可以从下面二选一:

https://www.intel.cn/content/www/cn/zh/download/729157/intel-arc-iris-xe-graphics-beta-windows.html

https://www.intel.cn/content/www/cn/zh/download/785597/intel-arc-iris-xe-graphics-windows.html?

捡垃圾、黑苹果、瞎吹牛逼QQ群:805190737