You are not logged in.
TL:DR; How do I configure my machine to load the `nouveau` driver for GT710 (host GPU) during boot?
I have an Nvidia GT710 I will use as my host GPU and an Nvidia 1660Ti as my guest GPU. Currently, only the 1660Ti is providing output of the host machine on the dedicated guest monitor. Before I can move on to isolation of the guest GPU, I need to make sure the host GPU is displaying the host machine properly on my dedicated host monitor.
After host machine boots, `lspci -nnk` indicates no kernel drivers in use for host GPU (the 710) and I see NO output on my dedicated host monitor.
When I run `sudo modprobe nouveau` , the GT710 then loads the driver, `lspci -nnk` indicates `Kernel driver in use: nouveau`, and I see GOOD output on my dedicated host monitor.
How do I configure my machine to load the `nouveau` driver for the GT710 during boot?
Once this is done, I should be able to isolate my guest GPU using vfio and still have the host machine display on the dedicated host monitor.
Added `nouveau` as a line to `/etc/modules-load.d/noueveau.conf`
nouveauCreated a `udev` rule in `/etc/udev/rules.d/99-nouveau-gt710.rules`
SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{device}=="0x128b", DRIVER=="", ATTR{driver_override}="nouveau"Then, reloaded `udev`
sudo udevadm control --reload
sudo udevadm triggerAdded `noueveau` to modules in `/etc/mkinitcpio.conf`
MODULES=(nouveau)Then, reloaded.
sudo mkinitcpio -PMy kernel parameters are as follows:
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet intel_iommu=on"With all these configs set, on reboot, I still have to manually run
sudo modprobe nouveaufor the GT710 to start using the driver.
New to Arch and Linux, I don't really understand how all the aforementioned configs are read and used in boot. I don't want extra unused configs bloating my system so will probably try to read up and understand what each thing does, perhaps one or more are not needed.
Also, since the command that fixes things is `modprobe`, and I've seen `/etc/modprobe.d/` referenced in guides, perhaps I'll create a
/etc/modprobe.d/nouveau.confand see if that works?
Best way to get the results of `sudo modprobe nouveau` automatically during boot?
How NOT to do it? i.e. which configs changes that I've mentioned above should I revert?
Guest GPU: Nvidia 1660Ti
Output of `lspci -nnk`
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU116 [GeForce GTX 1660 Ti] [10de:2182] (rev a1)
Subsystem: eVga.com. Corp. Device [3842:1263]
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia_drm, nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation TU116 High Definition Audio Controller [10de:1aeb] (rev a1)
Subsystem: eVga.com. Corp. Device [3842:1263]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
01:00.2 USB controller [0c03]: NVIDIA Corporation TU116 USB 3.1 Host Controller [10de:1aec] (rev a1)
Subsystem: eVga.com. Corp. Device [3842:1263]
Kernel driver in use: xhci_hcd
01:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU116 USB Type-C UCSI Controller [10de:1aed] (rev a1)
Subsystem: eVga.com. Corp. Device [3842:1263]
Kernel driver in use: nvidia-gpu
Kernel modules: i2c_nvidia_gpuNOTE: I know, it should be using `vfio` to do passthrough. I'm not there yet, as I need to make sure my host GPU is working as expected displaying my host machine after boot.
Output of IOMMU group script for this card:
IOMMU Group 14 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU116 [GeForce GTX 1660 Ti] [10de:2182] (rev a1)
IOMMU Group 14 01:00.1 Audio device [0403]: NVIDIA Corporation TU116 High Definition Audio Controller [10de:1aeb] (rev a1)
IOMMU Group 14 01:00.2 USB controller [0c03]: NVIDIA Corporation TU116 USB 3.1 Host Controller [10de:1aec] (rev a1)
IOMMU Group 14 01:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU116 USB Type-C UCSI Controller [10de:1aed] (rev a1)Host GPU: Nvidia GT710
Output of `lspci -nnk` AFTER boot, BEFORE running `sudo modprobe nouveau`, when there is NO display on the dedicated host monitor.
05:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208B [GeForce GT 710] [10de:128b] (rev a1)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:36f7]
Kernel modules: nouveau, nvidia_drm, nvidia
05:00.1 Audio device [0403]: NVIDIA Corporation GK208 HDMI/DP Audio Controller [10de:0e0f] (rev a1)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:36f7]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intelOutput of `lspci -nnk` AFTER running `sudo modprobe nouveau`, when there is GOOD display on the dedicated host monitor.
05:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208B [GeForce GT 710] [10de:128b] (rev a1)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:36f7]
Kernel driver in use: nouveau
Kernel modules: nouveau, nvidia_drm, nvidia
05:00.1 Audio device [0403]: NVIDIA Corporation GK208 HDMI/DP Audio Controller [10de:0e0f] (rev a1)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:36f7]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intelObviously, `Kernel driver in use: nouveau` is the difference, and what I'm trying to get to happen during boot.
Output of IOMMU group script for this card:
IOMMU Group 16 05:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208B [GeForce GT 710] [10de:128b] (rev a1)
IOMMU Group 16 05:00.1 Audio device [0403]: NVIDIA Corporation GK208 HDMI/DP Audio Controller [10de:0e0f] (rev a1)I'm following these guides:
Arch Wiki - PCI Passthrough via OVMF
Guide to GPU Passthrough (Arch-based)
Last edited by khalid (2025-05-04 17:45:24)
Offline
The nvidia-utils package blacklists nouveau. If you intend to just use the 1660Ti for the guest you can just remove all of the nvidia packages on the host.
If you want to retain the nvidia package for some reason remove /usr/lib/modprobe.d/nvidia-utils.conf and add usr/lib/modprobe.d/nvidia-utils.conf to your pacman.conf NoExtract directive, to remove the blacklist. If you want to use the nvidia driver for the host GPU since this will be Kepler you'll need https://aur.archlinux.org/packages/nvidia-470xx-dkms -- however this will of course be suboptimal for the 1660Ti since that one can actually use the more modern nvidia-utils driver. If you want to load nouveau only for the 710Ti you can do an alias in modprobe.d but I'd have to check the syntax for that as well.
Last edited by V1del (2025-05-04 16:53:00)
Offline
Aha!
sudo pacman -R nvidia nvidia-utilsNow both are running nouveau after boot, and I'm ready to isolate the guest GPU. Thank you!
Will take a moment to revert my actions and reboot to see if they matter or not.
Offline
Reverted everything. Still defaults to nouveau after boot on both GPUs. Thanks!
Solved!
Offline