LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Virtualization and Cloud (https://www.linuxquestions.org/questions/linux-virtualization-and-cloud-90/)
-   -   Configuring Linux to Use Specific GPU on Boot with IOMMU Setup (https://www.linuxquestions.org/questions/linux-virtualization-and-cloud-90/configuring-linux-to-use-specific-gpu-on-boot-with-iommu-setup-4175727928/)

osmank 08-10-2023 04:05 PM

Configuring Linux to Use Specific GPU on Boot with IOMMU Setup
 
I have two GPUs on my computer (4070Ti and GT730). I have Windows on one disk and Linux (Mint) on another. I've done the setup related to IOMMU. I want to use the GT730 with Linux and reserve the 4070Ti for a guest. After opening Linux, I launched a Windows guest operating system using virt manager. At this point, I connect my second monitor's display port to the 4070Ti. Windows recognizes and uses the GPU without issues. However, after finishing my tasks and restarting the host, Mint attempts to boot with the 4070Ti instead of the GT730. Since the graphics card is disabled during the boot process, I can only see the terminal screen. But if I remove the display port from the 4070Ti before booting, everything works normally. I don't want to plug and unplug the cable each time I start the guest.

Additionally, if I boot with the Windows (host) on my other disk, it starts with the 4070Ti and then activates the GT730.

How can I inform Linux in advance about which GPU it should use?

Code:

GRUB_CMDLINE_LINUX="amd_iommu=on iommu=pt rd.driver.pre=vfio-pci"

Emerson 08-11-2023 09:12 AM

Welcome to Linuxquestions!

No replies. I think there is video=<device> you can pass to your kernel. I recall once I had an Intel NUC which had 4 video ports in hardware but only two on its back panel. The kernel back then wasn't detecting this situation properly and booted with video defaulting to a non-existing output. So I vaguely remember I fixed it with video=<correctoutput> ... That's all I remember.

osmank 08-11-2023 04:04 PM

Thank you for your response. I tried sending the "video" parameter, but unfortunately, it didn't work. Initially, I attempted to send the video parameter along with the device parameter, and then I also tried sending the port name using xrandr. However, neither of these approaches worked.

Emerson 08-11-2023 04:23 PM

xrandr is definitely not the tool to use, it manages X environment, you are trying to configure boot. What documentation did you use to specify correct video parameter, syntax is paramount?

osmank 08-11-2023 05:02 PM

I initially used the following parameter:

Code:

video=10da:1283,nvidia-drm.modeset=1
Where "10da:1283" is the ID of my PCI device.

Later on, I also tried sending the following parameter using xrandr --listmonitors:

Code:

video=HDMI-A-1:1920x1080@60
Unfortunately, neither of these methods yielded successful results.

osmank 08-11-2023 06:35 PM

I think I've solved the problem. I created an xorg.conf file as follows:

Code:

Section "Device"
    Identifier "NVIDIA-GPU"
    Driver "nvidia"
    BusID "PCI:12:0:0"
EndSection

During boot, we start without providing any special parameters. Both GPUs continue to operate at this stage. Afterward, during the login phase, the GPU specified by the BusID becomes active.

I used to think that the previous steps determined which GPU would be active.


All times are GMT -5. The time now is 12:30 PM.