GPU Assistance - Select boot GPU

Hello There L1T!

I’ve recently used to linux due to a recommendation from a friend however I’m encountering an issue with my graphics cards.

I have two GPUs and I’m trying to passthrough one of them into a windows KVM.
However linux uses the GPU as it’s main GPU when I want to use my other GPU for linux.
Is their a way to change which one is used by default so I can try and passthrough my GPU.

Here are my system specs:
Ryzen 5 1600X @ 3.8Ghz
16GB 3200 DDR4
GTX 1050ti (I want to use this in windows)
GT 610 (I want to use this in linux)

I also have an issue with if the GT610 is in PCIe slot 1 my ethernet controller no longer functions.

The first place to look is in the motherboard’s UEFI settings. Well written UEFIs have an option to select the boot GPU.

1 Like

I don’t think their is a setting for it. And would it help the issue where my ethernet controller just stop functioning if it’s connected to the top slot.

yeah swap the cards in the slots till the 610 is the primary

its probably some weird address BS

I would however my 1050ti doesn’t fit in the lowest slot and my BIOS has not option to change the primary gpu.

Well thats annoying.

Then its probably something stupid software side. Slot switching is my best guess unfortunately lol.

I remember having to do this a few(?) years back. While the easiest thing to do is just swap the slots (which seems like it won’t work for you), there are other ways to get Linux to use the secondary GPU so that you can passthrough the primary GPU.

First, follow this arch-wiki guide to make sure that the Nvidia driver can’t grab the 1050 ti. To get the PCI IDs run lspci -nn and look through its output for lines that look like this

0b:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1070] [10de:1b81] (rev a1)
0b:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1)

The PCI IDs are the strings in brackets near the very end of each line (starting with 10de). This will ensure that Linux is using the secondary GPU after booting.

Next, we need to make sure your system doesn’t grab the primary GPU during boot. You can follow this guide for that.

After doing these, you should be able to passthrough your primary GPU without crashing anything.

Edit: I should also note that the second section of the second guide might prevent you from accessing your TTYs, so if you don’t boot into a desktop environment and don’t have SSH running on your computer you wouldn’t be able to use it. Since it seems that you’ve recently switched you’re probably using a desktop environment and thus this shouldn’t matter to you. But I prefer full disclosure.

On Ryzen based systems there is a quirk in the bios where chipset pci-e video devices will be initialized first (primary) if the CSM is disabled in the bios. CSM settings are called different things on different manufacturers bioses but I believe the setting change behavior is consistent across all Ryzen motherboards.

So if you install the GT610 in a chipset slot, these being either 1x pci-e slots or typically 4x electrical GPU slots (usually only appear on B450/B350 boards or boards with 3 GPU slots) and change the bios to disable CSM then it should boot off the GT610.

On Intel you are pretty much screwed unless your bios has an option to control primary GPU.

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.