AMDGPU no second dual display on DVI-D ouput

LEAP 15.1
KDE
AMD RX580 CPU card using DisplayPort and DVI-D outputs

Changed from a Nvidia card using 2 DVI-D outputs to a newer AMD card using a DisplayPort and DVI-D outputs. Was working OK in a dual-display setup with Nvidia propitiatory drivers.

Installed AMD card, booted, deleted Nvidia proprietary drivers, rebooted.

With AMD card, both displays appear during boot but DVI-D display goes dark at the KDE login screen.

KDE “Display and Monitor” control panel does not see the DVI-D display.

xrandr reports that the DVI-D output appears disconnected.

lspci -nnk | grep -A3 VGA
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/580] [1002:67df] (rev e7)
        Subsystem: XFX Pine Group Inc. Device [1682:c580]
        Kernel driver in use: amdgpu
        Kernel modules: amdgpu

xrandr 
Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 16384 x 16384
DisplayPort-0 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200     59.95*+
   1920x1080     60.00    50.00    59.94    24.00    23.98  
   1600x1200     60.00  
   1680x1050     59.95  
   1280x1024     75.02    60.02  
   1440x900      59.95  
   1280x800      59.95  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    60.00    59.94  
   720x400       70.08  
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
DisplayPort-2 disconnected (normal left inverted right x axis y axis)
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)

Neither xrandr nor lspci report which DDX X is using. inxi -Gxx will do that, though may need to be installed first. xrandr --listproviders might also be useful.

Simply “deleting” NVidia “drivers” does not necessarily purge all that installation of non-FOSS NVidia drivers does to a system. The installation instructions must be followed, or a manual equivalent performed, to ensure 100% of custom NVidia adjustments are replaced with original openSUSE versions or removed. There may be files left behind in various places, including file /etc/X11/xorg.conf or one or more files in /etc/X11/xorg.conf.d/. These xorg.conf files are rarely needed with non-NVidia hardware.

Please upload to http://susepaste.org /var/log/Xorg.0.log (if it exists and is newest) or ~/.local/share/xorg/Xorg.0.log (if it exists and is newer) from attempting use of the AMD. The susepaste utility can make this upload easy.

inxi -Gxx
Resuming in non X mode: glxinfo not found. For package install advice run: inxi --recommends
Graphics:  Card: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 470/480/570/580]
           bus-ID: 01:00.0 chip-ID: 1002:67df
           Display Server: x11 (X.org 1.20.3 )
           drivers: amdgpu (unloaded: modesetting,fbdev,vesa)
           tty size: 80x40 Advanced Data: N/A for root
xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x5a; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 6; outputs: 5; associated providers: 0; name: Radeon RX 580 Series @ pci:0000:01:00.0
    output DisplayPort-0
    output DisplayPort-1
    output DisplayPort-2
    output HDMI-A-0
    output DVI-D-0

https://susepaste.org/84947294

I was expecting more information. Is this 15.1 installed in a VM? If not, I suppose either you didn’t use Konsole to run these commands, or you used the antique inxi. I was expecting yours to look much more like mine, main differences being my older AMD card, and its DVI output being DVI-I rather than your DVI-D. Mine:

> inxi -S
System:    Host: big31 Kernel: 4.12.14-lp151.28.13-default x86_64 bits: 64 Desktop: Trinity R14.0.6
           Distro: openSUSE Leap 15.1
> inxi -Gxx
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Oland [Radeon HD 8570 / R7 240/340 OEM] vendor: Dell driver: amdgpu
           v: kernel bus ID: 01:00.0 chip ID: 1002:6611
           Display: server: X.Org 1.20.3 driver: amdgpu unloaded: fbdev,modesetting,vesa alternate: ati
           resolution: 2560x1440~60Hz, 1920x1200~60Hz
           OpenGL: renderer: AMD Radeon HD 8500 Series (OLAND DRM 3.27.0 4.12.14-lp151.28.13-default LLVM 7.0.1)
           v: 4.5 Mesa 18.3.2 direct render: Yes
> xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x53; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 2; outputs: 2; associated providers: 0; name: AMD Radeon HD 8500 Series @ pci:0000:01:00.0
    output DisplayPort-0
    output DVI-I-0
> xrandr | egrep 'onnect|creen|\*' | grep -v disconn | sort -r
Screen 0: minimum 320 x 200, current 2560 x 2640, maximum 16384 x 16384
DisplayPort-0 connected primary 2560x1440+0+1200 (normal left inverted right x axis y axis) 598mm x 336mm
DVI-I-0 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 519mm x 324mm
   2560x1440     59.95*+  74.92
   1920x1200     59.95*+

Your log lists mainly only modelines, nowhere near a whole file. https://susepaste.org/46600163 is from doing the above. I had to use https://susepaste.org. The susepaste command was producing failures, a not unusual problem. :frowning: In what little you uploaded there are no clues to why you’re not seeing output on 2nd display. Usually these clues are in or following lines that include (EE).

Before using inxi again you should install what it recommended, in this case, mesa-demo-x to get glxinfo.

You may need to log out of KDE and login on a tty or some other session, and delete ~/.cache/ content, then try KDE again. If that doesn’t work, log back out, and delete from ~/.config/plasmashellrc the [ScreenConnectors] line and the following xrandr output name lines before trying KDE again. If still no joy, see if ~/.config/ has any file named kscreen and if it does, delete it. If still no joy, try creating a virgin user login and see if the problem can be repeated. There could be some other KDE config file that needs to be adjusted or deleted, which testing a virgin user should confirm.

I have been there with almost the same setup except my is a radeon 570.

2 alternatives:

  1. The better one. Buy a new cable so that you use display port cables only out of the video card. I bought a display port to dvi-d cable from amazon (around $30) if I remember correctly. Then that’s it, it will run out of the box and no further problem with updates of kernels…

  2. Add video=1920x1080D or video=1920x1080e or video=1920x1080E to your boot parameters, you will have to try them all. It worked for me for about 3 month, then there was a change into the amdgpu/kernel that made it stop for a while and came back after some other update.

Good luck

Much larger Xorg.0.log file, immediately after a reboot:

https://susepaste.org/45681049

inxi outputs more information after installing mesa-demo-x:

inxi -S
System:    Host: Toad Kernel: 4.12.14-lp151.28.13-default x86_64 bits: 64
           Desktop: KDE Plasma 5.12.8 Distro: openSUSE Leap 15.1
inxi -Gxx
Graphics:  Card: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 470/480/570/580]
           bus-ID: 01:00.0 chip-ID: 1002:67df
           Display Server: x11 (X.Org 1.20.3 )
           drivers: amdgpu (unloaded: modesetting,fbdev,vesa)
           Resolution: 1920x1200@59.95hz
           OpenGL: renderer: Radeon RX 580 Series (POLARIS10, DRM 3.27.0, 4.12.14-lp151.28.13-default, LLVM 7.0.1)
           version: 4.5 Mesa 18.3.2 Direct Render: Yes

Note that I don’t think the problem is in the User config side because the second display goes dark at the KDE login screen, before any user is logged in.

Let’s see if SDDM is at the root of this. Try appending space 3 after striking E at the Grub menu on the line that begins linu and probably wraps to the next line. After proceeding as instructed at the bottom of the Grub screen and a shell prompt appears, do Ctrl-Alt-F3, then login as root, and execute startx. Do both screens appear this way? If not, try again, but this way ‘startx /usr/bin/icewm’. Do both appear this time?

then login as root, and execute startx. Do both screens appear this way?

No. Proceeds to KDE desktop with only DisplayPort screen on.

‘startx /usr/bin/icewm’. Do both appear this time?

No. Quits with errors.


hostname: Name or service does not exist
xauth: file /root/.serverauth.2042 does not exist

Internal error: Could not resolve keysym X86WWAN
Internal error: Could not resolve keysym X86RFKill

Unable to run program /usr/bin/icewm No such file or directory.

I also tried booting with just the DVI display connected. It appears during post and during GRUB but immediately goes dark once startup continues.

It looks like this problem has been a known bug for over a year

Adding amdgpu.dc=0 to the kernel parameter boot results in both displays working.

Great!

Please, where did you find the connection between amdgpu.dc=0 and your GPU?

Hi
There is plenty of information around that I have found (been using this since the amdgpu driver arrived in oss, as well as getting my Mullins card added to the kernel module…)

This is my go-to document drm/amdgpu AMDgpu driver — The Linux Kernel documentation

Then you can see the driver options in use on your system with ‘systool -vm <module_name>’

But what I was looking for was what light bulb OP turned on.

This is my go-to document drm/amdgpu AMDgpu driver — The Linux Kernel documentation
All regular helpers here have their gotos. I think I’ve seen you point to it before. I can barely remember how to find what I have bookmarked on my own, much worse remembering others’. :stuck_out_tongue:

Then you can see the driver options in use on your system with ‘systool -vm <module_name>’

# inxi -Saz
System:    Host: big31 Kernel: 4.12.14-lp151.28.13-default x86_64 bits: 64 compiler: gcc v: 7.4.0
           parameters: root=LABEL=... ipv6.disable=1 net.ifnames=0 noresume mitigations=auto consoleblank=0
           radeon.si_support=0 amdgpu.si_support=1 vga=791 video=1280x720@60 video=1024x768@60 video=1440x900@60 3
           Desktop: Trinity R14.0.6 tk: Qt 3.5.0 wm: Twin dm: startx Distro: openSUSE Leap 15.1
# systool -vm amdgpu | wc -l
100
# systool -vm amdgpu | grep si
    coresize            = "3387392"
    initsize            = "0"
    srcversion          = "662A3B661C874C1CE18C82D"
    gartsize            = "4294967295"
    gttsize             = "-1"
    msi                 = "-1"
    sched_hw_submission = "2"
    si_support          = "1"
    smu_memory_pool_size= "0"
    vm_block_size       = "-1"
    vm_fragment_size    = "-1"
    vm_size             = "-1"
# systool -vm amdgpu | grep dc
    dc                  = "-1"
# systool -vm amdgpu | grep dm
    sdma_phase_quantum  = "32"
# systool -vm amdgpu | grep drm
#

I wouldn’t say “great”. Frankly, I’m tired of disabling things, hacking things, and generally screwing around with things to make Linux work. The video card is a 2-year-old model. Not bleeding edge. There’s no good reason that it shouldn’t just work in the latest Leap 15.1.

This is the ideal, no good reason. But, the truth is there aren’t enough developers or robots with enough time and enough hardware to test every possible problem an ordinary user might find. If users don’t report problems they find, they linger for others to trip over.

The help you get here is 100% voluntarily given. It’s commonly a pretty good deal for the price one pays to get it.