Nvidia driver installation

Hey, 1 month later it looks a bit better :wink:
I added rd.driver.blacklist=nouveau in the first GRUB_cmdline_linux ,created the sudo vim /etc/modprobe.d/blacklist.conf with blacklist nouveau written in it and installed the sddm display manager,completely switched to KDE and now I don’t get Starting Hold until boot process finishes up and can boot in the system and it seems that it is working with all my kernels 5.4.98 and higher. To compile the driver I used the kernel 5.9.1-4 he posted here. But I don’t know blacklist=nouveau in the grub line is right and don’t know the command how to check if I am using nvidia driver now. And I have to look what advantages it will bring, and have to test if in my fedora template there is a better video resolution and playing videos in fullscreen is possible now or something like that, that didn’t work before. Will update after testing more but now the steps 12 steps posted on the top @dhn are working.

I even noticed that with kernel 5.10x there was a similiar problem and it didn’t show the luks passwort gui and then hangs on boot. This was fixed by the team of qubes the last weeks and is working now, too. Maybe there was the fix with the plymouth service /display manager and now it is working with lightdm, too. :slight_smile:
BTW: Qubes 4.1 is much more compatible with templates, Hardware and else like my other Qubes 3.2 and 4.0 before and I am running it as a daily work system, because of this. You are amazing ! As soon I’ll have some time the next days I will make and summarized a structured post about installing KDE and and else on 4.1 and how I prefer to customize it for daily and usual ,none development uses.
Update: with lightdm it is working, too. This bug definitely was fixed by the amazing teams of qubes in any kernel update the last weeks. :slight_smile:

Update: I don’t think that with this method dom0 uses nvidia instead of nouveau, because I run glxinfo | egrep “OpenGL vendor|OpenGl renderer” and it says: OpenGL vendor string: nouveau . So it is not using my nvdiida and nouveau is not disabled or? But how to disable it to 100 % ? :wink:
Much blesses
Next I tried to make an overview again how it is working and included the corrected steps and tried to write it more detail for new user :slight_smile:
1. Install the necessary tools:
in dom0: sudo qubes-dom0-update gcc kmod grub2-tools perl-bignum make
2. Install kernel-devel package from RPM files; (Kerneldevel59, kernellatest59, Kernelqubesvm59)
Download from here: qubes-thinkpad-x1-extreme-gen3/rpm at main · dhn/qubes-thinkpad-x1-extreme-gen3 · GitHub and copy files to dom0 and install them.
in dom0: for example sudo dnf install kernel-latest-devel-5.9.14-1.qubes.x86_64.rpm
3. Download the latest Nvidia driver from www.nvidia.com/en-us/geforce/drivers/
In my case “ NVIDIA-Linux-x86_64-460.67.run ” but I suggest you to rename it to nvidia.run for easier use in the command lines then you dont need to write the numbers everytime :wink:
4. Copy the downloaded driver to dom0:
in dom0: qvm-run --pass-io APPVM ‘cat FOLDERAPPVM/FILENAME.file’ > /home/USERNAME/Downloads/FILENAME.file (of course u have to replace APPVM with yours for example personal FolderAPPVM with the path of the file like Downloads and the USERNAME with your one:) But with this command you always can copy files from a vm to dom0
in dom0
chmod +x NVIDIA-Linux-x86_64-455.45.01.run (or nivida.run or whatever u renamed it:)
5. Extract driver sources
in dom0: ./NVIDIA-Linux-x86_64-455.45.01.run --ui=none --no-x-check --keep --extract-only
6. Build nvidia.ko kernel driver
in dom0: Enter the folder NVIDIA-*/kernel/ with cd command or in file manager and then run
sudo make module IGNORE_XEN_PRESENCE=y CC=“gcc -DNV_VMAP_4_PRESENT -DNV_SIGNAL_STRUCT_RLIM”
7. Copy compiled driver to /lib/modules/$(uname -r)/extra
in dom0: sudo cp nvidia.ko /lib/modules/$(uname -r)/extra/
8. Load the driver and check
in dom0 sudo depmod -a; modinfo nvidia
9. Edit grub2 entry add rd.driver.blacklist=nouveau to the end of GRUB_CMDLINE_LINUX (the first grub_cmdline_linux)
in dom0: sudo vim /etc/sysconfig/grub
10. Update grub.cfg for UEFI
in dom0: grub2-mkconfig -o /boot/efi/EFI/qubes/grub.cfg
11. Disable nouveau driver; add to blacklist ; frist run sudo -i for root before then this step is working fine,too:)
in dom0: echo “blacklist nouveau” >> /etc/modprobe.d/blacklist.conf"
12. Reboot the system and enjoy the Nvidia driver

Today I run a qubes-dom0-update and in the stable repo is the kernel 5.11x now. This unfortunately is not working anymore and has the same error as everytime hanging on boot and with the wrong luks gui. Of course it destroyed the setup of my kernel 5.9.14 with nvidia,too and I hope doing all these steps again will fix it. So next step if it is working again to mark /prevent this kernel from updating /any changes. Can anybody tell me how to do this? I saw a documenation /command line about it a few days ago, but did not know the topic / page anymore. Thank you very much :slight_smile:

Update: If u do the steps 7-12 again, it is working with kernel 5.9.14 like before.

So be careful updating ur system if u have a working solution!

5 Likes