1

I have the following setup:

  1. A PC with a GPU (AMD RX 6900 XT GPU on PCIe) and an iGPU (integrated GPU, e.g. Intel UHD Graphics),
  2. Each GPU is connected to a monitor, so dual basically dual GPU + dual monitor setup,
  3. Linux Debin 12 host,
  4. As a convenience, lets say the AMD GPU has the id pci-0000_03_00_0 and the iGPU has the id pci-0000_00_02_0.
  5. I only have a bare linux without any desktop environment (not even X11) since the program that i'm using is resource intensive.

I'd like the iGPU (the primary GPU, set on BIOS) to be the primary GPU that displays output from whatever the linux host is outputting, and the other GPU to display whatever programs utilizing that GPU to display something (I plan to do mining or AI stuff for this GPU).

            ╔━━━━━━━━━━━━━━━━━━━━━━━━━╗
            ║                         ║
            ║                         ║
            ║        Monitor 1        ║        
            ║                         ║        
            ║                         ║        
            ║                   ┏━━━━┓║        
            ╚━━━━━━━━━━━━━━━━━━━┫HDMI┣╝        
                                ┗━━┳━┛         
                                   ┃             ┏━━━━━━━━━━━━┓
                                   ┃           ┏━┫     PC     ┣━━━━━━━━━━━━┓
                                   ┃           ┃ ┗━━━━━━━━━━━━┛            ┃
      ╔━━━━━━━━━━━━━━━━━━━━━━━━━╗  ┃           ┃                           ┃
      ║                         ║  ┃       ┏━━━┻━━━━┓                      ┃
      ║                         ║  ┗━━━━━━━┫  iGPU  ┣                      ┃
      ║        Monitor 2        ║          ┃     ┏━━┛                      ┃
      ║                         ║          ┗━━━┳━┛                         ┃
      ║                       ┏━╨━━┓       ┏━━━┻━━━━━┓                     ┃
      ╚━━━━━━━━━━━━━━━━━━━━━━━┃HDMI┃━━━━━━━┫ AMD GPU ┃                     ┃
                              ┗━━━━┛       ┃     ┏━━━┛                     ┃
                                           ┗━━━┳━┛                         ┃
                                           ┏━━━┻━━━━━┓                     ┃
                 ┏━━━━━━━━━━━━━━━━┳━━━━━━━━┃ USB Hub ┃━━━━━━━━━━━━━━━━━━━━━┛
        ┏━━━━━━━━┻━━━━━━━━━┓      ┃        ┗━━━━━━━━━┛
        ┃┏┓┏┓┏┓┏┓┏┓    ┏┓┏┓┃    ┏━╋━┓
        ┃┏┓┏┓┏┓┏┓┏┓ ┏┓ ┏┓┏┓┃    ┃   ┃
        ┃┏┓┏━━━━┓┏┓┏┓┏┓┏┓┏┓┃    ┗━━━┛
        ┗━━━━━━━━━━━━━━━━━━┛

With the current setup, only the first monitor connected to the iGPU is showing output, whereas the second monitor connected to the AMD GPU only shows blank screen with a cursor.

I tried to run my program with

DRI_PRIME=pci-0000_03_00_0 ./my_script.sh

without success. I even tried detaching my AMD GPU using virsh like the following:

sudo virsh nodedev-detach pci_0000_00_02_0 && DRI_PRIME=pci-0000_03_00_0 ./my-script.sh

also with no success. The above resulted in the first monitor becomes totally blank, and the second monitor has no changes (just blinking cursor.)

I also tried messing around with framebuffers, like doing

echo /dev/urandom | sudo tee /dev/fb[x]

(x being the number of framebuffers; 0-1) also to no avail. The result is still the affected only the first monitor and not the second.

Any ideas how I could realize this concept?

2
  • 1
    Why does GPU compute usage have to be tied to the display output? Especially with the indirect way Linux console works, I don't see any reason to expect or impose that kind of dependency. Commented Nov 22, 2023 at 18:31
  • Could you elaborate more on "Especially with the indirect way Linux console works.."? Commented Nov 22, 2023 at 19:07

1 Answer 1

-2

I think i can use linux multiseat to achieve my goal. Source: https://www.lightofdawn.org/wiki/wiki.cgi/LinuxMultiSeat

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .