Proxmox GPU Passthrough stopped working and dpkg problems

Mar 18, 2022
31
1
13
32
Hello, to all Proxmox fans,
I use a pve host with the following hardware:
Intel i5 10400
Asrock b460m Pro 4
64GB Corsair DDR4 RAM
4 SSD hard disks
2 HDD hard disks
AMD RX 570 from ASUS including vendor reset

Now it stopped working for my Linux VM, but in Windows 10 VM it worked perfect.
I want to try with new kernel but cant install them always dpkg error like :

Code:
apt --fix-broken install
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Correcting dependencies... Done
The following package was automatically installed and is no longer required:
  proxmox-headers-6.8.12-5-pve
Use 'apt autoremove' to remove it.
The following additional packages will be installed:
  proxmox-kernel-6.8 proxmox-kernel-6.8.12-7-pve-signed
The following packages will be REMOVED:
  proxmox-kernel-6.11.0-2-pve-signed proxmox-kernel-6.8.12-6-pve-signed
The following NEW packages will be installed:
  proxmox-kernel-6.8.12-7-pve-signed
The following packages will be upgraded:
  proxmox-kernel-6.8
1 upgraded, 1 newly installed, 2 to remove and 11 not upgraded.
3 not fully installed or removed.
Need to get 0 B/103 MB of archives.
After this operation, 595 MB disk space will be freed.
Do you want to continue? [Y/n] Y
Reading changelogs... Done
(Reading database ... 214323 files and directories currently installed.)
Removing proxmox-kernel-6.11.0-2-pve-signed (6.11.0-2) ...
Examining /etc/kernel/postrm.d.
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 6.11.0-2-pve /boot/vmlinuz-6.11.0-2-pve
update-initramfs: Deleting /boot/initrd.img-6.11.0-2-pve
run-parts: executing /etc/kernel/postrm.d/proxmox-auto-removal 6.11.0-2-pve /boot/vmlinuz-6.11.0-2-pve
run-parts: executing /etc/kernel/postrm.d/zz-proxmox-boot 6.11.0-2-pve /boot/vmlinuz-6.11.0-2-pve
Re-executing '/etc/kernel/postrm.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync.
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 6.11.0-2-pve /boot/vmlinuz-6.11.0-2-pve
/usr/sbin/grub-mkconfig: 9: /etc/default/grub: quiet: not found
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 127
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/proxmox-kernel-6.11.0-2-pve-signed.postrm line 15.
dpkg: error processing package proxmox-kernel-6.11.0-2-pve-signed (--remove):
 installed proxmox-kernel-6.11.0-2-pve-signed package post-removal script subprocess returned error exit status 1
dpkg: too many errors, stopping
Errors were encountered while processing:
 proxmox-kernel-6.11.0-2-pve-signed
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)

My pve package versions:

Code:
proxmox-ve: 8.3.0 (running kernel: 6.8.12-4-pve)
pve-manager: 8.3.2 (running version: 8.3.2/3e76eec21c4a14a7)
proxmox-kernel-helper: 8.1.0
pve-kernel-5.15: 7.4-13
proxmox-kernel-6.8.12-5-pve-signed: 6.8.12-5
proxmox-kernel-6.8.12-4-pve-signed: 6.8.12-4
pve-kernel-5.15.152-1-pve: 5.15.152-1
pve-kernel-5.15.102-1-pve: 5.15.102-1
ceph-fuse: 16.2.15+ds-0+deb12u1
corosync: 3.1.7-pve3
criu: 3.17.1-2+deb12u1
dnsmasq: 2.90-4~deb12u1
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx11
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-5
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.1
libproxmox-backup-qemu0: 1.4.1
libproxmox-rs-perl: 0.3.4
libpve-access-control: 8.2.0
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.10
libpve-cluster-perl: 8.0.10
libpve-common-perl: 8.2.9
libpve-guest-common-perl: 5.1.6
libpve-http-server-perl: 5.1.2
libpve-network-perl: 0.10.0
libpve-rs-perl: 0.9.1
libpve-storage-perl: 8.3.3
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.5.0-1
proxmox-backup-client: 3.3.2-1
proxmox-backup-file-restore: 3.3.2-2
proxmox-firewall: 0.6.0
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.3.1
proxmox-mini-journalreader: 1.4.0
proxmox-widget-toolkit: 4.3.3
pve-cluster: 8.0.10
pve-container: 5.2.3
pve-docs: 8.3.1
pve-edk2-firmware: 4.2023.08-4
pve-esxi-import-tools: 0.7.2
pve-firewall: 5.1.0
pve-firmware: 3.14-2
pve-ha-manager: 4.0.6
pve-i18n: 3.3.3
pve-qemu-kvm: 9.0.2-4
pve-xtermjs: 5.3.0-3
qemu-server: 8.3.3
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.6-pve1

my Linux VM conf

Code:
agent: 1
bios: ovmf
boot: order=sata0
cores: 6
cpu: host
efidisk0: iso:1005/vm-1005-disk-0.qcow2,efitype=4m,size=528K
hostpci0: 0000:01:00,pcie=1
ide2: none,media=cdrom
machine: pc-q35-6.2
memory: 16384
meta: creation-qemu=9.0.2,ctime=1736421395
name: manjaroxfcemain
net0: virtio=BC:24:11:AB:4F:FD,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
sata0: /dev/disk/by-id/ata-Samsung_SSD_850_EVO_500GB_S21JNXAG682773P,size=488386584K
scsi0: /dev/disk/by-id/nvme-WDS500G3X0C-00SJG0_210767802900,size=488386584K
scsihw: virtio-scsi-single
smbios1: uuid=25e17909-e612-4c26-8c3b-dc477cd09605
sockets: 1
vga: none
vmgenid: 83792061-6fc3-4083-b6a5-1286ef1bc13c

Any help or workaround for this?
 
Last edited:
Code:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=intel_iommu=on "quiet"
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
# you can see them in real GRUB with the command `vbeinfo'
#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"
 
Also, you don't need intel_iommu=on anymore since Proxmox kernel version 6.8. GRUB_CMDLINE_LINUX_DEFAULT="quiet" should work the same.
Ok thx for that i will give them a try . I changed grub like this and Ioomu worked without intel_iommu=on, but only windows vm got a picture. My Linux VM stays black screen. iam going to update kernel now to 6.8.12-7-pve-signed.
Cant install vendor-reset always get
Code:
modprobe vendor-reset
modprobe: FATAL: Module vendor-reset not found in directory /lib/modules/6.8.12-7-pve

Can anyone help me with older kernel got same error. Im getting back to 6.8.12-4 now vendor reset is working but always black screen for my linux vm. Windows VM works always

On Linux VM always get

Code:
bash: /sys/bus/pci/devices/0000:01:00.1/reset_method: Permission denied

vendor-reset works only half device not resetting audio from gpu but why?

Code:
Jan 19 16:44:29 pve kernel: vfio-pci 0000:01:00.0: AMD_POLARIS10: version 1.1
Jan 19 16:44:29 pve kernel: vfio-pci 0000:01:00.0: AMD_POLARIS10: performing pre-reset
Jan 19 16:44:29 pve kernel: vfio-pci 0000:01:00.0: AMD_POLARIS10: performing reset
Jan 19 16:44:29 pve kernel: vfio-pci 0000:01:00.0: AMD_POLARIS10: CLOCK_CNTL: 0x0, PC: 0x24238
Jan 19 16:44:29 pve kernel: vfio-pci 0000:01:00.0: AMD_POLARIS10: Performing BACO reset
Jan 19 16:44:29 pve kernel: vfio-pci 0000:01:00.0: AMD_POLARIS10: performing post-reset
Jan 19 16:44:29 pve kernel: vfio-pci 0000:01:00.0: AMD_POLARIS10: reset result = 0

sporadically i can get a picture of login screen, but after shutdown the vm i cant get picture anymore but vendor reset works
Got workaround: You need to remove GPU and then add it back again, so i can get picture
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!