No display with AMD RX580 card

Hello,
I’m trying to install my new server with LEAP 15.2 :

  • Supermicro H11SSl-I motherboard with AMD EPYC 7402P processor ans 128 GB memory
  • Asus RX580 Dual Series 8 GB RAM
  • 2x1 TB SSD in RAID 1
  • The BIOS is up to date

This MB has an integrated video (AST2500) with VGA output and in the BIOS I defined the primary video output as external card. It’s OK : the BIOS is displayed with the RX580.

When I try to install LEAP with network USB Key, I only can see the beginning : grub menu, then only two lines and the display becomes black. I have to switch to the internal VGA port to continue installation.
The RX580 is detected and all seems OK but no display with it. I tested two DVI cables, two monitors and even a DisplayPort connection.
At reboot I can only see grub, then the splash Opensuse screen for a few seconds, then black screen and I must switch to VGA port.

I tested Tumbleweed installation : same problem.

I tested nomodeset or amdgpu.dc=0 parameters for grub, no result.

I tested live CD LEAP and Ubuntu 19.10 : same problem.

i tested the last AMD driver (19.50) : same problem.

I don’t see any error in dmesg and Xorg.log.

xrandr --listproviders
No protocol specified
Providers: number : 2
Provider 0: id: 0x73; cap: 0x0 (); crtcs: 1; outputs: 1; associated providers: 0; name: modesetting
output VGA-1
Provider 1: id: 0x4a; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 6; outputs: 5; associated providers: 0; name: Radeon RX 580 Series @ pci:0000:81:00.0
output 0x45
output 0x46
output 0x47
output 0x48
output 0x49

lsmod |grep amdgpuamdgpu 4755456 2
amd_iommu_v2 20480 1 amdgpu
gpu_sched 36864 1 amdgpu
i2c_algo_bit 16384 3 igb,ast,amdgpu
ttm 122880 2 drm_vram_helper,amdgpu
drm_kms_helper 229376 2 ast,amdgpu
drm 544768 9 gpu_sched,drm_kms_helper,drm_vram_helper,ast,amdgpu,ttm

The driver seems to be loaded.

I can post Xorg.log and dmesg if needed.

Thanks in advance for help, I think I tested all I know !
I’m afraid I have to buy another video card, from NVIDIA this time ! it was my first time with AMD and Linux… The card was OK in Windows.

Best Regards

Nicolas

Here is inxi -GxxSM :

Resuming in non X mode: glxinfo not found. For package install advice run: inxi --recommends
System: Host: localhost Kernel: 5.3.18-lp152.7-default x86_64 bits: 64 gcc: 7.5.0
Desktop: KDE Plasma 5.18.3 (Qt 5.12.7) dm: sddm,sddm Distro: openSUSE Leap 15.2 Beta
Machine: Device: server System: Supermicro product: Super Server v: 0123456789 serial: N/A
Mobo: Supermicro model: H11SSL-i v: 2.00 serial: N/A
UEFI: American Megatrends v: 2.1 date: 02/21/2020
Chassis: type: 17 v: 0123456789 serial: N/A
Graphics: Card-1: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
bus-ID: 81:00.0 chip-ID: 1002:67df
Card-2: ASPEED ASPEED Graphics Family bus-ID: c3:00.0 chip-ID: 1a03:2000
Display Server: x11 (X.org 1.20.3 ) drivers: modesetting,ati,amdgpu (unloaded: fbdev,vesa)
tty size: 109x38

Try disabling Plymouth. During installation, disable via the cmdline option plymouth=0. If the temporary disabling helps, Plymouth can be entirely removed, or even prevented from installing in the first place via Taboo in detailed software selection.

Thanks for your help. Your idea is for a reinstallation ?
I can try an option for grub :
plymouth.enable=0
I will test it ASAP.
I tested the card under Windows and it was OK (on another computer).

I just tested reboot with plymouth.enable=0 added at grub command line and always the same problem : black screen a few seconds after booting. Is it sufficient as test or should I try to remove plymouth completely ?
Thanks again for your help.

No. As I was writing I wasn’t sure whether or not installation had succeeded.

I don’t believe Plymouth is the problem, but you could try noplymouth or plymouth=0 instead of plymouth.enable=0 just to be sure. And, if boot bling isn’t your thing, you could remove it anyway, less to update, less to store, more information to indicate something is actually happening during bootup. Without Plymouth, you might be able to notice different last messages displayed, or even a clue to what’s going wrong.

Next, have you tried a minute or so after the screen goes black Ctrl-Alt-F2 or Ctrl-Alt-F3? If you reach a login prompt, logs can now be fetched if persistent journaling is enabled. If not, try it and report back.

We need to see the logs from a black screen boot. If you didn’t get a login prompt from Ctrl-Alt-Fn, instead of plymouth.enable=0 at the grub screen, append nomodeset on next boot. That should get you booted in a rescue video mode from which logs from the previous boot can be retrieved.

First check to be sure persistent journal has been enabled. Does /var/log/journal exist? If not:

sudo mkdir /var/log/journal

Then reboot normally to the black screen. If you’re not getting a login from Ctrl-Alt-F5, then we need logs from a prior boot:

susepaste -n nico /var/log/Xorg.0.log.old
sudo journalctl -b -1 | susepaste -n nico

For logs from a current boot

susepaste -n nico /var/log/Xorg.0.log
sudo journalctl -b | susepaste -n nico

The susepaste command usually reports upload failed when in fact it succeeded. After uploading you can goto http://susepaste.org/, click the link in the upper right corner “recent”, and almost certainly see pastes by nico. If you don’t see any, let some time pass and try again, anywhere from a few minutes to an hour or more. Copy and paste those URLs here so we can evaluate the logs. Optionally, you can go directly to susepaste.org and upload the logs directly, the journal by first redirecting output to a file to upload.

When the screen goes black, I can’t go into virtual consoles with any Ctrl Alt F1 to F10. I can only switch to the internal video.
With nomodeset it’s the same thing : I don’t get a prompt in any way.
For an unknown reason, linux chooses another video controller during boot.

I will test all that you told me tomorrow, ASAP. I hope we can find a solution !
Best Regards.

Here are the logs :
Old Xorg.log :
https://susepaste.org/68717395
Old journalctl :
https://susepaste.org/94330
New Xorg.log :
https://susepaste.org/14831853
New journalctl :
https://susepaste.org/12447379

Hope it will help…

There could be some relationship with this: https://bugzilla.opensuse.org/show_bug.cgi?id=1146280

The only other AST2500 bug found I knew existed, but I had to search hard to rediscover it:
https://bugzilla.opensuse.org/show_bug.cgi?id=1112963
I doubt it is directly relevant, but there could be something useful hiding there.

It sounds to me like a buggy BIOS worth contacting Supermicro about. If the BIOS is instructed to not use an onboard GPU, neither kernel nor X should be able to find it, much less allow it to override a GPU in an X16 slot. The 580 is in the X16 slot closest to the CPU, right?

You could try on kernel cmdline video=VGA-1:d from
https://www.kernel.org/doc/Documentation/fb/modedb.txt

Hello
The BIOS is the latest one. The only setting it has for video card is for the priority : between onboard and external. I think that the internal video can’t totally be disabled.
I will try your cmdline.
I can try the workaround of bug 1146280 with the modification in /etc/X11/xorg.conf.d/21-gpu-driver.conf

I will give the results of all those tests in one or two hours.

What is the output of “lspci -nnk”?

Been trying to reply here for over two hours, but timing out trying to do anything, most of the time waiting on www.suse.com and www.microfocus.com.

video=VGA-1:d might not be enough by itself. Might need to expressly enable the 580 connection, or do both. Likely video=DVI-D-1-0:e, based upon seeing EDID found for that CRTC in the newer Xorg.0.log pointing to DVI connector.

@arvidjaar: 1002:67df for the 580 and 1a03:2000 for the Aspeed from inxi -GxxSM output not what you need?

With video=VGA-1:d, the situation has changed : I always have a black screen a few seconds after the splash screen, but I can access to virtual consoles withe Ctrl Alt F4 !
So, the display has not switched to the onboard video. But X remains broken.
The RX580 is on the 16x slot closest to CPU.
lspci -nnk gives :
https://www.susepaste.org/44308162
I will test video=DVI-D-1-0:e

No, I was interested in PCI class devices have.

But anyway, by default kernel selects the first VGA compatible device:

mars 19 19:45:54 localhost kernel: pci 0000:c3:00.0: vgaarb: setting as boot VGA device
mars 19 19:45:54 localhost kernel: fbcon: astdrmfb (fb0) is primary device

and enabling/disabling specific connectors does not change it. You can force specific driver either by blacklisting backend framebuffer driver or by using video=map:x option where ‘x’ is index of framebuffer. The tricky part is that index depends on order of module loading. Probably blacklisting ast driver in initrd is easier (will be loaded later).

With video=DVI-D-1-0:e I am back to the first case : black screen wit RX580, no virtual console. All is on onbard video : X and virtual consoles.
I will try the bug 1146280 with the modification in /etc/X11/xorg.conf.d/21-gpu-driver.conf

Try blacklisting ast driver in initrd:

echo 'omit_drivers+=" ast "' > /etc/dracut.conf.d/blacklist_ast.conf
mkinitrd

I tried modifying files in /etc/X11/xorg.conf.d/ witout success.
I tried blacklisting of ast with modprobe.blacklist=ast in kernel cmd.line : black screen with RX580 and black screen with AST too !
So no console on both screens… I can’t do nothing and I must reboot .
There is a jumper on MB for disabling VGA onboard : I can try it.

With jumper JPG1 I have disabled onboard video and X is now working on my external videocard !
So it seems to solve the problem.
It’s not perfect because the internal video could be used in parallel for specific things, but this workaround is not too bad.
Nevertheless if someone find a solution without disabling completely the AST2500 it would be perfect.

I think I can contact Supermicro too about this problem.

I submitted this problem to Supermicro too.

Supermicro support made me test some settings in BIOS, but nothing works.
Finally, they told me that the problem should be driver related and that they don’t test with AMD cards under this Linux distro…
So no perfect solution, only the workaround I found : disabling with jumper the internal video card.