ubuntu下显卡直通

一、显卡直通配置

1、查看系统中的所有显卡

lspci -nn | grep VGA

2、确认3060设备的完整id

lspci -nn | grep -E "07:00"

一定要记下vga与audio两个设备的id如:

  • vga:10de:2504
  • audio:10de:228e

3、开启iommu

#vim /etc/default/grub

#intel
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=on iommu=pt"

#amd
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

更新grub

update-grub

4、加载vfio

echo -e "vfio\nvfio_iommu_type1\nvfio_pci" >> /etc/modules
update-initramfs -u

5、只绑定3060到vfio

#vim /etc/modprobe.d/vfio.conf

options vfio-pci ids=10de:2504,10de:228e

6、屏蔽nouveau(但保留nvidia驱动)

#vim /etc/modprobe.d/blacklist.conf
blacklist nouveau
注意:不要写「blacklist nvidia」,因为3090还要给宿主机用

7、验证

#验证3060
lspci -nnk | grep -A 3 2504
#验证3090
lspci -nnk | grep -A 3 2204

8、创建虚拟机

关键配置:
BIOS:OVMF (UEFI)
Machine:q35
显卡:默认 VGA 或 none

9、添加3060到虚拟机

VM → Hardware → Add → PCI Device

添加:

07:00.0(GPU)
07:00.1(Audio)

勾选:

✅ All Functions
✅ PCI-Express

10、防止Nvidia code 43(必须配置)

#vim /etc/pve/qemu-server/VMID.conf

cpu: host,hidden=1
args: -cpu host,kvm=off

二、配置kvm切换,实现鼠标及键盘的跨系统切换

需要软件:Barrier

分为客户端及服务端,下载地址如下:

#服务端/客户端
https://github.com/debauchee/barrier

#客户端信赖的软件BonjourPSSetup
https://support.apple.com/en-hk/106380

服务端配置

客户端

1、填写服务端的IP

2、同样关闭ssl