Moved from Nvidia GPU to AMD GPU. Now two of my three displays won't detect

Hello!

I am currently running Mint 20, 5.11.0-25 Kernel and the GPU was a Titan XP and was replaced for a AMD 6900xt. Boots up just fine, don’t get the splash screen any more but more concerning is that 2 of my 3 monitors won’t detect.

I use MATE as my desktop environment and I see the following bits of info with inxi -Fxxxrz in relation to my GPU.

Graphics:  Device-1: AMD vendor: ASRock driver: N/A bus ID: 11:00.0 chip ID: 1002:73bf 
   Display: x11 server: X.Org 1.20.9 driver: ati,vesa unloaded: fbdev,modesetting,radeon 
   compositor: marco v: 1.24.0 resolution: 3440x1440~N/A 

And the xrandr command shows only one monitor as does MATE display settings, shown here.

/etc/X11$ xrandr --listmonitors
xrandr: Failed to get size of gamma for output default
Monitors: 1
0: +default 3440/910x1440/381+0+0  default

I thought perhaps it was my ~/.config/monitors.xml file so I removed it but no avail. I really feel like this is somehow a holdover configuration from my previous card/setup that it’s trying to apply to the new card and failing. I’d welcome any thoughts on how I can get it to see my other monitors.

I know they work, I’ve swapped cables/ports and it’s working fine on other devices. All three monitors use DP. And when it boots it will occasionally post to another monitor but then only use my ‘current’ one when booted up.

Please, halp?

Check to see if there’s any Nvidia configuration in /etc/X11/xorg.conf.d/ and remove if so.

I have the following conf:

/etc/X11/xorg.conf.d/20-amdgpu.conf

Section "Device"
        Identifier "AMD"
        Driver "amdgpu"
EndSection

Also if /etc/X11/xorg.conf has been generated from Nvidia settings, it’s probably going to be causing problems.
My /etc/X11/xorg.conf for reference:

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Dell S2716DG"
    Option         "DPMS"
    Option         "DPI" "90 x 90"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Seems to work for me with 2 monitors. I think I have xrandr running from xinit or xprofile

1 Like

I seem to not have any of the above files or locations on my install. If it helps I am running MATE as my Window Manager at this time.

Inside /etc/X11 I have the following

urbancore@UrbanWorkstation:/etc/X11$ ll
total 96
drwxr-xr-x  11 root root  4096 Jul 12  2020 ./ 
drwxr-xr-x 185 root root 12288 Jul 22 15:15 ../
drwxr-xr-x   2 root root  4096 Feb 24 20:15 app-defaults/
drwxr-xr-x   2 root root  4096 Jul 12  2020 cursors/
-rw-r--r--   1 root root    18 Dec 16  2019 default-display-manager
drwxr-xr-x   4 root root  4096 Dec 16  2019 fonts/
-rw-r--r--   1 root root 17394 Jan 20  2017 rgb.txt
drwxr-xr-x   2 root root  4096 Nov 10  2020 xinit/
drwxr-xr-x   2 root root  4096 Feb  2  2018 xkb/
-rwxr-xr-x   1 root root   709 Jan 20  2017 Xreset*
drwxr-xr-x   2 root root  4096 Jul 12  2020 Xreset.d/
drwxr-xr-x   2 root root  4096 Jul 12  2020 Xresources/
-rwxr-xr-x   1 root root  3730 May  3  2017 Xsession*
drwxr-xr-x   2 root root  4096 May 14 14:15 Xsession.d/
-rw-r--r--   1 root root   265 Jan 20  2017 Xsession.options
drwxr-xr-x   2 root root  4096 Jul 12  2020 xsm/
-rw-r--r--   1 root root    13 Dec  5  2016 XvMCConfig
-rw-r--r--   1 root root   630 Dec 16  2019 Xwrapper.config

And the only X11 xorg.conf files are found in /usr/share/X11/ which just appear to be the templates. I totally agree with you that this is something left behind by nvidia drivers or configuration causing this issue. I just don’t know where to look … this is the point where my knowledge falls off.

Is there a way I can re-generate the xorg.conf or reset x11’s monitor template?

You might be running without a proper video driver(VESA mode), or you’re using the older “ATI” drivers. You want the AMDGPU drivers.

Have you verified that you’re running the proper drivers?

less /var/log/Xorg.0.log
lsmod
dmesg | grep -i amd
glxinfo | grep string

Can you post the relevant output of some of these commands?
The first command should also help in finding the used Xorg conf.
What distro are you running on?

1 Like

As always thank you, you people are awesome. It’s why I come here.

But I got it fixed. So it turns out the older nvidia drivers were imposing themselves on my X11 monitor configuration so I ran a purge on all nvidia drivers and associated programs using

apt purge 'nvidia'

Then I found out that the reason the AMD drivers were not working is I was missing firmware in /lib/linux-firmware/amd/ so I had to clone a git repo from the Linux foundation and chuck all the AMD files in there.

cd ~/Documents && git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/firmware/linux-firmware.git

sudo cp ~/Documents/linux-firmware/amdgpu/* /lib/firmware/amdgpu && sudo update-initramfs -k all -u -v

Once I did this, rebooted I got all three monitors just fine. But I did have some bad screen tearing so I had to go into the 20-amdgpu.conf under /etc/X11/xorg.conf.d/ and add the …

	Identifier	"AMD Graphics"
	Driver		"amdgpu"
	Option		"TearFree" "true"
EndSection

Once that was added it’s working beautifully. Thank you all for your help.

4 Likes

Nice!

Have you checked if your distro has a firmware package that includes the firmware?

On Debian/Ubuntu you can usually use the firmware-linux-nonfree package after you’ve enabled the non-free repositories, this way your firmware stays up-to-date.

If you don’t want to install all the non-free firmware, you could also install just firmware-amd-graphics
(Beware though, this package and the firmware-linux-nonfree package are exclusive!)

2 Likes

Doesn’t seem to work on Mint. Weird.

That is why. Mint and CentOS are so far behind, even Debian Stable looks bleeding edge.

Brand new hardware on stable Linux distros will always be a bit of a hassle but later versions when the distro switches to a newer kernel is rock solid, at least in my experience.

If you rock new-ish hardware (less than twelve months) make sure to always run the latest available kernel!

1 Like

Totes. I preemptively upgraded to the 5.11.0-25 Kernel before I installed the CPU and GPU and ran a full Timeshift backup.

1 Like