SDDM black screen with GTX1080 and Vega64 on Arch linux

I have a GTX1080 in the 1st PCIe slot and an Vega64 in the 2nd PCIe slot. The UEFI wants to output only to the card in the 1st PCIe slot

As long as I don’t blacklist nouveau, I get SDDM on the 1080 card. But I’d like to have SDDM on the vega64, because I want to passthrough the GTX1080 later in my setup.
As soon as I blacklist the nvidia module, I only get two black, but active backlight, screens on the Vega64.
I can log in via SSH but not get SDDM for Plasma going. Loaded modules are: amdgpu

Swapping the GPUs on the motherboard is close to impossible due to size limitations
Any idea how I can set the Vega64 as master/primary GPU?

I believe you’ll have to create an xorg config that specifies the PCI address of the Vega 64 to make sure xorg uses it, on my system it kept wanting to use the onboard intel GPU. I have a vega 64 for the host and 1080 Ti for the guest but my vega 64 is in the first slot so UEFI uses it, hopefully this will work in your case too.

My config file is in /usr/share/X11/xorg.conf.d, you can call it anything you’d like as long as it’s something.conf. Here’s what’s in mine for reference.

Section "OutputClass"
	Identifier "AMDgpu"
	MatchDriver "amdgpu"
	Driver "amdgpu"
EndSection

Section "Device"
	Identifier "Screen0"
	Driver "amdgpu"
	BusID "PCI:3:0:0"
	Option "AccelMethod" "glamor"
	Option "VariableRefresh" "true"
	Option "DRI" "3"
EndSection

The vega GPU in my system is 03:00.0 so I used PCI:3:0:0

00:02.0 Display controller [0380]: Intel Corporation HD Graphics 630 [8086:5912] (rev 04)
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64] [1002:687f] (rev c1)
04:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] [10de:1b06] (rev a1)

For more information on the layout check with man xorg.conf.

1 Like

I have solved my problem by swapping the GPUs in their places. For reasons I don’t know, does the UEFI of an phantom gaming 6 board bound the output of itself and the loaded OS to the GPU in the top most slot.
Having the host GPU at that slot makes everything else work.

  • Blacklisting nouveau
  • loading SDDM
  • loading KDE

I have just a weird bug that some animation are broken. like a transparency buffer is not rendered correctly and shows weird artefacts. Maybe I manage to capture it with a screenshot.

I think most motherboards do that, glad you were able to fix it. :slight_smile: That may be due to mesa, all my applications and animations seem to render fine except for Filebot. When running regular mesa from the arch repo the buttons are fine but using mesagit the buttons look like this for some reason.

Yep that artefact looks very close to mine I just had it happen with the login screen of discord-canary. I wonder if it plays a role that I decided against installing the lib32 part of the whole mesa stack. Kind of want to see how far I can get with a daily driver pure x64 system.

Do you have any reference on the optimal kernel settings for a Vega64?

This should be a 64 bit application so I’m not sure if it’s due to that though I do have them installed. Since it’s the only one that does it, and I haven’t updated it in quite some time which may fix it, I haven’t looked into it. At some point my dark theme stopped working with it as well, no idea why.

Not particularly, I don’t have any options related to amdgpu in my cmdline. I don’t really use it for any gaming on the linux side but I’ve played a couple and they were okay.

For the sake of the argument for 32 and 64 bit application, as far as I can tell: Either it runs or it doesn’t.
I don’t think “half-running” due to missing 32bit stack is a thing. I like my system to be glitch free therefore I’ll do some more investigation over the course of this weekend.

Previously I only had the GTX1080, but I never could get vsync to work. This has improved dramatically with the Vega, it just worked with vsync out of the box.
Unfortunately, I don’t have any FreeSync capable equipment.

Yea, pretty much. I’ll get around to updating it but I need to buy a license first. :slight_smile:

I haven’t specifically tested it but I did have to add the variable refresh option to my xorg config to get it to work, I’m not sure if it’s something that’s enabled by default yet since it was only recently added. One of my monitors is a freesync monitor but I’m not sure if having other monitors that aren’t freesync connected at the same time would impact the functionality.

The gllitches fixed themself with an update of Discord and SDDM is working fine with the primary card(Vega64) now in slot 0 (the top most slot) and the secondary one(GTX 1080) beneath it.

I bet there would have been a software fix somehow. But swapping the cards made it less hassle to fix.

1 Like