My gaming rig runs Arch Linux and utilizes PCI passthrough to expose my GTX 980 to KVM. The other day I switched motherboards to aid in a CPU upgrade. I'm running into a serious problem however that revolves around the GPU that is used when the kernel boots. Due to the way my motherboard handles IOMMU grouping, I am forced to put my GTX 980 in the second PCIe slot. (Long story short, it is impossible to properly isolate the GPU in the first slot, don't feel like explaining that but as far as I can tell there is no viable workaround for that). The problem here is that my motherboard's UEFI firmware prioritizes what ever GPU is in the second slot (Which is where I need my GTX 980, which is for my Windows VM) and there is no way to change this in the UEFI settings.
Obviously, for PCI passthrough I must blacklist the GTX 980, however, this is the GPU that my firmware and by extension, Linux defaults too initially. What I would like to do is prevent the kernel from using this initially and use by secondary GPU (Raedon R4 240, which is plugged into my first PCIe slot).
To accomplish this, I've tried various things from adding attempting to add
radeon to the
MODULES list in /etc/mkinitcpio.conf to forcing GRUB to perform a blind/quiet startup with no graphical output, to absolutely no avail.
For those wondering what happens when I boot Linux, it hangs right after
Starting Version 233
The other GPU seems to be activated (As the screen its connected to turns on, albeit to black screen)
I tried poking around for logs, but I did n ot find anything useful.
All I want is to force linux to use my Radeon GPU and ignore/disregard the 980