VM GPU/PT captures server console and cannot be reset to text mode

Joris L.

Well-Known Member
May 16, 2020
302
19
58
52
Antwerp, Belgium
commandline.be
asking for your advice and experience (AMD Radeon VII GPU)

when booting a VM with the GPU mapped as virtio-GPU this causes the VM boot screen to be displayed on the console of the server, this is not desirable.

after the VM captures the GPU this prevents from switching to a different TTY using ctrl-alt Fn
  • I don't see any use of framebuffer (which is surprising)
  • all GPU modules wered blacklisted (amdgpu radeon)
  • stopping the VM leaves the boot screen on the console
  • setting the console to text mode from the web console doesn't work
booting with kernel parameter initcall_blacklist=sysfb_init does not prevent this from happening, neither booting with one or more of nomodeset nofb video=efifb:off,vgafb:off

using an AMD GPU reset script, does clear the console (now black) and has no effect on the VM
the console remains black and did not reset to text mode

help is much appreciated
 
Last edited:
If you don't want the VM and the Proxmox host to use the same GPU then set the motherboard BIOS to boot from a different GPU (not all BIOS support this unfortunately).
If you want the Proxmox host to get the GPU back after the VM shuts down and use it as a console then have a look at this thread: https://forum.proxmox.com/threads/gpu-pci-e-passthrough-output-question.155489/ (which also links to this thread: https://forum.proxmox.com/threads/amd-rx-6650-xt-high-temperatures-when-idle.143056/#post-642405 )

EDIT: If you want to share the GPU between the Proxmox host (for console) and the VM at the same time (for OpenGL) look info VirGL: https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_display
 
Last edited:
If you don't want the VM and the Proxmox host to use the same GPU then set the motherboard BIOS to boot from a different GPU (not all BIOS support this unfortunately).
If you want the Proxmox host to get the GPU back after the VM shuts down and use it as a console then have a look at this thread: https://forum.proxmox.com/threads/gpu-pci-e-passthrough-output-question.155489/ (which also links to this thread: https://forum.proxmox.com/threads/amd-rx-6650-xt-high-temperatures-when-idle.143056/#post-642405 )

EDIT: If you want to share the GPU between the Proxmox host (for console) and the VM at the same time (for OpenGL) look info VirGL: https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_display
Thanks for sharing. This does give some food for thought.

Notable is non of the kernel boot options prevent the display output capture and this is apparently a known issue.

Thinking of it, it seems logical to not set virtio-GPU for display under hardware, I now vaguely remember that's how it may have worked in the past.
edit: nope, that didn't work, i'll have to try virGL
 
Last edited:
Notable is non of the kernel boot options prevent the display output capture and this is apparently a known issue.
You setup the GPU passthrough and that gives the GPU to the VM. If you don't want that then don't use GPU passthrough. I'm not sure what you expected or what the problem with this is.
Thinking of it, it seems logical to not set virtio-GPU for display under hardware, I now vaguely remember that's how it may have worked in the past.
virtio-GPU is a virtual display and separate from GPU passthrough. Maybe I don't understand what you are asking help with?