Stubborn Linux pop-os (and other) multi GPU and monitor issues

I quite enjoy pop-os on my Dell m4700 with quadro M2000M so I wanted to see it working on my FrankenStation

The system (and issue) in question:

MB ASUS X570-p, with 3900X and latest (non-beta) bios
32 GiB 3600 cl16 ram

Direct cpu x16 slot: Vega 56 – DP Primary monitor AOC 1440p ultrawide
0x1002:0x687f:1:5:Vega 10 XL/XT [Radeon RX Vega 56/64]
PCI Location (Bus:Dev:Fnc): 15:00:0

chipset x4 slot: R Pro wx4100 – DVI secondary portrait screen
0x1002:0x67e3:1:5:Baffin Polaris11 [Radeon Pro WX 4100]
PCI Location (Bus:Dev:Fnc): 05:00:0

Windows 10 (or 11) works fine after a few hicups; working fine with the AMD downloaded auto-detector which installed the Radeon Pro driver package.

Ubuntu or pop-os (21.04) will install but only provide low res lvmw 1024x768 software render.

It turns out that the built-in amdgpu kernel driver is finding the wx4100 and not looking further perhaps because it has pci-e index 05:00:0 and the Vega is at 0F:00:0 for whatever reason.

So the primary display, a 1440p ultrawide is connected to an unclaimed adapter and so is software rendered.

I’ve found no documentation to force detection of both cards.

In manjaro-GNOME the live iso gets to the graphical-interface checkpoint and then a flickering of large print on the Primary display until I hit reset and give up.
on manjaro-KDE the live iso stalls/hangs at the graphical-interface checkpoint.

Looking here it looks like the disp_priority kernel option may help. When you get to the grub prompt after POST, hit e to edit the grub init line. Find the kernel line, which will have some options trailing it like “rhgb”, “quiet” or “modeset”. Add a space (important) and then try adding disp_priority=2 to the end of the kernel line. See if that will initialize the correct display, and if it does then you can change /etc/default/grub.

EDIT: You could also try swapping the GPUs in their respective slots.


That driver option accepts a priority level not a card index, those parameters also seem like they are to go inside a config file in order to affect the operation of a detected GPU and change its behavior. Like per card VRAM limits for testing.
also what does “only affects non-DC display handling” mean. DC=display core but?

The slots are restricted as the Vega needs the cpu attached pci slot and the less important wx4100 is in a chipset handled slot.

Space is also an issue so there are limits to changes that I can make in that regard.