Have trouble with B50 passthrough in PVE9 6.17 kernel.

FlankerZzzz

Member
Nov 5, 2023
23
3
8
Shanghai
To put it simply, it works well in SR-IOV mode. My issue is: when I pass through the entire GPU to a virtual machine (and it runs normally inside the VM), shutting down the VM sometimes causes the PVE host to freeze — this happens randomly.

For example, it might occur only once out of 10 VM shutdowns, or it could happen the first time I shut it down. On another occasion, no matter how many times I started and shut down the VM, I couldn’t reproduce the issue — but when I restarted PVE, the host froze during the shutdown phase.

I have a KVM device, so I can confirm it’s definitely a freeze — there’s no output at all, and no response whatsoever.

nothing special in dmesg and journal

Any suggestion?
 
Can you post your settings for passing through the whole gpu? grub etc. thx. When I pass my b50 to a ubuntu vm, it gets stuck on boot :-(
 
Can you post your settings for passing through the whole gpu? grub etc. thx. When I pass my b50 to a ubuntu vm, it gets stuck on boot :-(
Sure BTW it works pretty good in my PVE now

Code:
root@Flanker9900T:~# cat /etc/pve/qemu-server/
100.conf  101.conf  102.conf  103.conf  104.conf  105.conf  106.conf  107.conf  108.conf  110.conf  113.conf  200.conf  301.conf  302.conf  500.conf 
root@Flanker9900T:~# cat /etc/pve/qemu-server/113.conf
affinity: 0-15
agent: 1
balloon: 4096
bios: ovmf
boot: order=scsi0
cores: 8
cpu: host
efidisk0: local:113/vm-113-disk-0.qcow2,efitype=4m,ms-cert=2023,pre-enrolled-keys=1,size=528K
hostpci0: 0000:05:02.4,pcie=1
hostpci1: 0000:03:00.0,pcie=1
hostpci2: 0000:04:00.0,pcie=1
machine: q35
memory: 16384
meta: creation-qemu=10.1.2,ctime=1764156477
name: GPU-S
numa: 0
ostype: l26
scsi0: local:113/vm-113-disk-1.qcow2,discard=on,iothread=1,size=100G,ssd=1
scsi1: SN550:113/vm-113-disk-0.qcow2,discard=on,iothread=1,size=500G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=45f96b0b-b5be-449e-9b9a-c4adf5024461
sockets: 1
vga: none
vmgenid: 0c057bca-64e4-4dd5-b2b0-cf7dcc34e31f
root@Flanker9900T:~# uname -a
Linux Flanker9900T 6.17.2-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.17.2-2 (2025-11-26T12:33Z) x86_64 GNU/Linux
root@Flanker9900T:~#
 
  • Like
Reactions: User Tron
Thanks for the quick reply. here are my host settings, maybe you see something off:

grub:

GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt thunderbolt.host_reset=0"

/etc/modules

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

/etc/modprobe.d/vfio.conf

options vfio-pci ids=8086:e212

I pass the gpu as raw device with all functions. the ubuntu vm start but hangs at the logo. journalctl doesn't give a good hint :-(
I have Intel cpu maybe there is a problem with driver .
 
Thanks for the quick reply. here are my host settings, maybe you see something off:

grub:

GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt thunderbolt.host_reset=0"

/etc/modules

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

/etc/modprobe.d/vfio.conf

options vfio-pci ids=8086:e212

I pass the gpu as raw device with all functions. the ubuntu vm start but hangs at the logo. journalctl doesn't give a good hint :-(
I have Intel cpu maybe there is a problem with driver .
Code:
root@GPU-Server:~# cat /etc/default/grub
# If you change this file or any /etc/default/grub.d/*.cfg file,
# run 'update-grub' afterwards to update /boot/grub/grub.cfg.
# For full documentation of the options in these files, see:
#   info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT="splash"
GRUB_CMDLINE_LINUX=""
# If your computer has multiple operating systems installed, then you
# probably want to run os-prober. However, if your computer is a host
# for guest OSes installed via LVM or raw disk devices, running
# os-prober can cause damage to those guest OSes as it mounts
# filesystems to look for things.
#GRUB_DISABLE_OS_PROBER=false
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE/GOP/UGA# you can see them in real GRUB with the command `videoinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
root@GPU-Server:~# uname -a
Linux GPU-Server 6.17.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 21:44:46 UTC 2025 x86_64 GNU/Linux
root@GPU-Server:~#
 
  • Like
Reactions: User Tron
Thanks for the quick reply. here are my host settings, maybe you see something off:

grub:

GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt thunderbolt.host_reset=0"

/etc/modules

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

/etc/modprobe.d/vfio.conf

options vfio-pci ids=8086:e212

I pass the gpu as raw device with all functions. the ubuntu vm start but hangs at the logo. journalctl doesn't give a good hint :-(
I have Intel cpu maybe there is a problem with driver .
Seems nothing special for me
Also I'm using Intel cpu
What's your ubuntu version? As Intel request kernel version should not lower than 6.12or 6.14 for b50? Notsure how about to build a new and clean os to have a try?
 
Last edited:
  • Like
Reactions: User Tron
clean new install of ubuntu 24.04. it seems the vm is actually running. only the display manager is not working, so I can ssh into it. I'll investigate further. Thanks for your effort.