Nvidia gpu for passthrough

I wrote about a week ago to ask if there would be any problem if I added an NVIDIA GPU as I had read that it could require a lot of troubleshooting. What I understood is that as long as the GPU wasn’t applied to dom0 and that I would be using a passthrough, it should be fine. Now Qubes freezes at the screen where I enter my passphrase for decryption.

Can you describe in more details the issue that you have?
Does it freeze on disk password prompt and you can’t enter the password and you don’t see any change if you press Esc/F1 key?
Or you enter the password and it’ll start to boot but freeze at some point?

It could be this issue with adding new PCI device to the machine:

For your NVIDIA card to not cause any problems for dom0 you need to hide it from dom0 as described in this guide:

You can try to boot with nouveau.modeset=0 rd.driver.blacklist=nouveau video=vesa:off kernel command line options to disable nouveau NVIDIA driver in case it’s causing issues for dom0:

And then hide it from dom0 by following the “Create a Gaming HVM” guide.

Would having the NVIDIA card as an external GPU help make this less complicated. I was entering my passphrase for decryption and then it wouldn’t go pass this. I already have a I9 with a graphic card. Now I tried to reinstall qubes to see if it would fix the problem but it wont even allow me to reinstall Qubes. Im looking for what would be the easiest solution. Thank you so much!

No.

You can edit the GRUB menu entry and remove rghb quiet from the kernel command line options to see the boot log and find the errors.
Like this, but remove rghb quiet instead of adding qubes.skip_autostart.
Autostart troubleshooting | Qubes OS

You can try to install the kernel-latest package in your dom0 or you can try to install Qubes OS 4.2.2-rc1 with kernel-latest.
The latest kernel should have nouveau driver for your GPU, maybe this will fix the issue if it’s a problem with nouveau driver.

1 Like

I’ve managed to get Qubes reinstalled. The only problem Im facing now is that I’m trying to hide my secondary nvidia graphic card from dom0 as well as the nvidia audio driver but it just wont let me and I’ve tried all the commands I could find. If I simply create a vm for my nvidia gpu and in the settings of that new appvm I simply add my device to this vm, will it matter that dom0 can still recognize it?

Check the output of lspci -k in dom0, what do you have in “Kernel driver in use” and “Kernel modules” for your NVIDIA video and audio devices?

kernel in use: nouveau VGA NVIDIA
kernel in use: snd_hda_intel audio NVIDIA
ive updated to latest kernel to try to see if it would solve it. Im also getting an error message about input table denied from sys-usb to dom0. Thank you for your help

Did you follow this guide to hide them from dom0 by adding rd.qubes.hide_pci option to GRUB?

yes thats one of the things that I’ve tried. it just wasnt hiding even after the reboot

What’s the output of this command in dom0?

cat /proc/cmdline

What are your NVIDIA video and audio devices PCI ID in the lspci output?

the first one end with rhgb quiet because i just tried reinstalling the lastest kernel. But even when i was editing the ending of that line it still was recognized by dom0 after reboot.

VGA 01:00.0 10de:2803
Audio 01.00.1 10de:22bd

Did you add rd.qubes.hide_pci=01:00.0,01:00.1?

Append this line at the end of /etc/default/grub:

GRUB_CMDLINE_LINUX+="$GRUB_CMDLINE_LINUX rd.qubes.hide_pci=01:00.0,01:00.1"

then regenerate the grub

grub2-mkconfig -o /boot/grub2/grub.cfg

Reboot and check the “Kernel driver in use” for your NVIDIA video and audio devices in the output of lspci -k in dom0.

same kernel in use: nouveau VGA NVIDIA
kernel in use: snd_hda_intel audio NVIDIA

GRUB_CMDLINE_LINUX+=“$GRUB_CMDLINE_LINUX usbcore.authorized_default=0 rd.qubes.hide.pci=01:00.0, 01:00.1”

Don’t put space between IDs.
Remove the space, regenerate the grub, reboot and check that you have the rd.qubes.hide.pc_pci=01:00.0,01:00.1 string in the cat /proc/cmdline output in dom0.

Try GRUB_CMDLINE_LINUX=“$GR…

Without the +=

1 Like

You’re right, my bad, + is not needed.

1 Like

so changed from the + to simply the GRUB_CMDLINE_LINUX=

now for VGA I have no kernel driver in use, for audio snd_hda_intel

It should be “Kernel driver in use: pciback” if it worked.
Do you see rd.qubes.hide.pci=01:00.0,01:00.1 in the cat /proc/cmdline output in dom0?

yes right after the rhgb quiet