大家好,我是村雨Mura,好久没写教程了,本期是7代核显直通,重点在于HDMI输出画面
本教程理论上适用于4代以后intel带核显CPU,如果你有直通成功经验欢迎评论区分享
前面有点啰嗦,想直接看教程,直接跳到“核显直通 HDMI输出画面”那里
为什么有这篇教程?
因为可以低价体验AIO!在我看来不能直通HDMI的核显直通,是不完美的!
例如目前7代的G4560已经从三年前的400元,降低到30元,1折!
为什么G4560这么香呢?直接上CPUZ跑分图,然后解释
下面是热门小NAS的CPU性能,都以CPUZ作为参考:
- J1900与J3455差不多,但J3455是4核心,J1900是2核心,CPUZ单核100;
- N4000和J4125差不多,J4135略强,单核200;
- N5105在单核250这个区间;
- N100则接近单核400,与G4560单核接近,区别只是N100制程、还有核显强大很多
前不久群里有朋友刷N4000的机器,pdd好像准系统400元拿下,我笑而不语(PS:未必CPU越强越适合)
于是,我掏出了我的惠普hp400G3,准系统价格如下:
hp400G3 190元
电源线90w配套的 25元
合计:215元
体积大小大约比iPhone大一点点,准系统差不多200元冒个头。CPU性能大约是J4125两倍,价格只要一半不到,阁下要如何应对呢?
上图,其实我改装过了,改成了双网口。不过双网口不是必备的,单臂路由一样可用。
完整一套机器和成本如下:
hp400G3 190元
电源线90w配套的 25元
CPU是4560 30元
内存4G 25元,两条8G,共50元
固态硬盘1:sata口 256G致钛sc001 110元
固态硬盘2:nvme口 傲腾M10 16G 15元
无线网卡转有线网卡:M.2 A+E KEY 转 RTL8111 32元
组一个玩AIO的机器最终成品,注意是成品,不是准系统,合计:大约450元
可以这么说,目前正常价格下,500元以内AIO,这个性价比就是最高的!
我AIO后的虚拟机如下:
对于一个双核4现成的CPU来说,极限应该也就是这样了,解释一下为什么?
1、ikuai
因为家里有跑pcdn赚个电费,这玩意太吃上行带宽,不QOS真搞不定,ikuai的流控是刚需。真不想折腾ROS
2线程+1G内存+4G存储即可
2、openwrt
自编译,作为旁路由使用,兼顾部分其它功能,负责留学,DNS,穿透等
1线程+500M内存+1G存储即可
3、Windows10 22H
直通核显,成功硬解的同时,外接键鼠,可以浏览网页,打网游,接电视可以看片。也是本期重点
可以看到这里还是捉襟见肘的,毕竟4个线程而已,最多再虚拟个homeassitant基本极限了。
如果绝对线程不够,往上直接就蹦到N100了,超过1000元就可能amd5500/12代i3会更适合,这里不谈了
总之,这套作为入门级AIO,性价比极高,无论作为伺服,还是小白刚入手玩AIO都非常合适
下面开始正式教程
核显直通,HDMI输出画面
前提:
PVE8系统
HP400G3的小主机,CPU采用G4560
这个小主机只有DP接口,我是DP口成功输出画面,未必非要HDMI
legacy方式seabios+q35(seabios+i440fx)
一般核显直通采用UPT方案的ovmf+q35,这种能直通,但hdmi无法输出画面,想hdmi输出画面,还得seabios+q35
下面开始教程
换源
执行
apt install apt-transport-https ca-certificates
先更改
vi /etc/apt/sources.list
原来的注释或全部删除,用下面的代替
# 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
更改
vi /etc/apt/sources.list.d/pve-enterprise.list
用下面的代替
# 8.0
deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bookworm pve-no-subscription
PVE8还需要改一下ceph
vi /etc/apt/sources.list.d/ceph.list
修改:
deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription
最后更新一下:
apt-get update
pvetools
先删除企业源:
rm /etc/apt/sources.list.d/pve-enterprise.list
安装:
export LC_ALL=en_US.UTF-8
apt update && apt -y install git && git clone https://gitee.com/fanjinhong/pvetools8.git
这里pvetools的简单使用就不多提了,自行查询使用即可
开启IOMMU
此步骤几乎为必须,启动内核IOMMU支持
vi /etc/default/grub
修改/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream video=efifb:off,vesafb:off"
更新以生效
update-grub
reboot
屏蔽驱动
编辑
vi /etc/modprobe.d/blacklist.conf
添加内容
# 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
加载相应的内核模块
vi /etc/modules
追加,有了就不需要了
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
将设备加入进vfio
找到id
lspci -D -nnk | grep VGA
得到
0000:00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 610 [8086:5902] (rev 04)
id就是
8086:5902
用于添加直通组
vi /etc/modprobe.d/vfio.conf
我的是:
options vfio-pci ids=8086:5902
下面这个是错误的,没有=1
options vfio-pci ids=8086:5902 disable_vga=1
防止在win10中显卡代码43
添加options防止VM死机
vi /etc/modprobe.d/kvm.conf
追加
options kvm ignore_msrs=1
信任设备 允许不安全中断
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
更新配置
更新内核并重启PVE
update-initramfs -u -k all
启动文件修改(关键)
vi /etc/default/grub
最后添加核显
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream video=efifb:off,vesafb:off vfio-pci.ids=8086:5902"
update-grub
reboot
新建虚拟机
注意几个点:
1、如标题说的,用seabios+q35机型
2、内存要大于等于4G
3、与win10版本无关,亲测1903、最新的22H都可以实现
4、无须设置显示为none,必须是std标准,会开不了机。表现为必须有以下参数:
vga: std
5、cpu的hidden可以不设置
6、qemu代理必须有,表现为必须有以下参数:
agent: 1
7、不需要romfile或者其他什么vbios
添加参数
编辑虚拟机,我的是102虚拟机,自己根据实际情况修改
vim /etc/pve/qemu-server/102.conf
虚拟机配置文件第一行,加入下面(一般这个就行,可以照抄):
args: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-opregion=on
我的虚拟机配置文件参考
1 agent: 1
2 args: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-opregion=on
3 balloon: 0
4 bios: seabios
5 boot: order=ide2;sata0
6 cores: 4
7 cpu: host
8 cpulimit: 3
9 ide0: local:iso/virtio-win-0.1.229.iso,media=cdrom,size=522284K
10 ide2: local:iso/cn_windows_10_business_editions_version_1903_updated_sept_2019_x64_dvd_2f5281e1.iso,media=cdrom,size=5108536K
11 machine: pc-q35-8.0
12 memory: 5096
13 meta: creation-qemu=8.0.2,ctime=1710945742
14 name: winintel
15 net0: virtio=72:50:BC:F4:AF:C5,bridge=vmbr0,firewall=1
16 numa: 1
17 ostype: win10
18 sata0: local-lvm:vm-102-disk-1,size=40G,ssd=1
19 scsihw: virtio-scsi-single
20 smbios1: uuid=7d0a1290-d191-4c92-b15f-0135cb220802
21 sockets: 1
22 tpmstate0: local-lvm:vm-102-disk-2,size=4M,version=v2.0
23 vga: std
24 vmgenid: 2a1e0fa8-b373-4947-a739-dea70e6beafd
不成功怎么办?
核显安装过程还是可能会出现死机,可以尝试:
- 安装完“VirtIO Balloon Driver”PCI设备的驱动后正常关闭虚拟机再启动安装核显驱动
- 在主板BIOS把共享显存调到最大(建议64M),提高虚拟机的CPU内存等配置
最后,祝各位玩的愉快!附上成功输出画面(画面都输出了,核显能不调用么?)
平时硬解4K H265还是ok的,不建议解码码率过高的视频,压力太大