How to swap graphics card on Leap 15.3

Hi,

Earlier this year I installed Leap 15.3 on a new computer but, due to shortage in graphics cards, I put in the old card (AMD Radeon HD 7770) from my previous system. The system is has been running and is fully up to date.

Now, I see that there are graphics cards available at a reasonable price, I would like to replace it with a more modern Radeon. They are still not plentiful, so I’m not sure which model exactly.

The question is, particularly since Leap 15.3 is build quite differently from 15.2:

  • What is the procedure for changing one graphics for another of a different model?
  • Is there something to do before taking out the current graphics card?
  • Is there a need to switch to a generic VESA drivers or something like that?
  • Is it possible/necessary to download drivers the new card before installing it?
  • After the card is physically swapped (it will go into the same PCIe x16 slot at the current), what must be done to ensure it works?
  • Any other steps to bring its full capabilities?

Thank you,

I would like to offer reassurance along the lines of “Go ahead and swap it out, …It’ll be all right on the night…” (but I am really not wised up on graphics hardware, so no guarantees).
AMD Radeon have done a lot of work with Open Source which makes the free and open source Radeon driver the one to choose for a trouble-free life. Also, while Leap 15.3 has different repositories to Leap 15.2 it is not that different regarding hardware support I believe (any one else please comment if there is a difference in the graphics support available between Leap 15.2 and Leap 15.3).

I had to swap out my very old Nvidia card as it was no longer supported and put in a Radeon RX550 card about 9 months ago. I chose this because it was not Nvidia, was inexpensive and adequate for my desktop work. It fitted into my shoebox size computer and did not need an additional power connector and it is quiet. I had struggled trying to install inappropriate Nvidia drivers (only myself to blame for that) which would not uninstall (so I reverted to a previous snapshot to get rid of them). The AMD Radeon “just worked”:slight_smile: But perhaps you could say why you want to upgrade your card (i.e. what sort of graphics you want to do with it) so people can advise? I see that my card is the last of those officially supported by AMD but you wouldn’t want to download any drivers/software from them anyway. I could try newer OpenGL drivers but am not a gamer so do not need to.

If you do need your card to be used for gaming then Nvidia does have the edge, but open source support by Nvidia is poor so you would have to be prepared to do some work on this.

Hope this reassures.

I am fine with this one:

**erlangen:~ #** inxi -zaSMCG 
**System:    Kernel:** 5.17.5-1-default x86_64 **bits:** 64 **compiler:** gcc **v:** 12.1.0 
           **parameters:** BOOT_IMAGE=/boot/vmlinuz-5.17.5-1-default root=UUID=0e58bbe5-eff7-4884-bb5d-a0aac3d8a344 quiet 
           loglevel=2 plymouth.enable=0 net.ifnames=0 mitigations=auto 
           **Console:** pty pts/1 **wm:** kwin_x11 **DM:** SDDM **Distro:** openSUSE Tumbleweed 20220513 
**Machine:   Type:** Desktop **Mobo:** Micro-Star **model:** B550-A PRO (MS-7C56) **v:** 2.0 **serial:** <filter> **UEFI:** American Megatrends LLC. 
           **v:** A.90 **date:** 03/17/2022 
**CPU:       Info:** 6-Core **model:** AMD Ryzen 5 5600X **socket:** AM4 **bits:** 64 **type:** MT MCP **arch:** Zen 3 **family:** 19 (25) 
           **model-id:** 21 (33) **stepping:** 2 **microcode:** A201205 **cache:****L1:** 384 KiB **L2:** 3 MiB **L3:** 32 MiB 
           **flags:** avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm **bogomips:** 88802 
           **Speed:** 3598 MHz **min/max:** 2200/3700 MHz **base/boost:** 3700/4650 **boost:** enabled **volts:** 1.1 V **ext-clock:** 100 MHz 
           **Core speeds (MHz):****1:** 3598 **2:** 2879 **3:** 2875 **4:** 3598 **5:** 2875 **6:** 2875 **7:** 2876 **8:** 3595 **9:** 3597 **10:** 2880 **11:** 2878 
           **12:** 2941 
           **Vulnerabilities:****Type:** itlb_multihit **status:** Not affected 
           **Type:** l1tf **status:** Not affected 
           **Type:** mds **status:** Not affected 
           **Type:** meltdown **status:** Not affected 
           **Type:** spec_store_bypass **mitigation:** Speculative Store Bypass disabled via prctl 
           **Type:** spectre_v1 **mitigation:** usercopy/swapgs barriers and __user pointer sanitization 
           **Type:** spectre_v2 **mitigation:** Retpolines, IBPB: conditional, IBRS_FW, STIBP: always-on, RSB filling 
           **Type:** srbds **status:** Not affected 
           **Type:** tsx_async_abort **status:** Not affected 
**Graphics:  Device-1:** AMD Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] **vendor:** Sapphire Limited **driver:** amdgpu 
           **v:** kernel **bus-ID:** 2b:00.0 **chip-ID:** 1002:699f **class-ID:** 0300 
           **Display:****server:** X.Org 21.1.3 **compositor:** kwin_x11 **driver:****loaded:** amdgpu,ati **unloaded:** modesetting 
           **failed:** fbdev,radeon,vesa **display-ID:** :0 **screens:** 1 
           **Screen-1:** 0 **s-res:** 3840x2160 **s-dpi:** 192 **s-size:** 508x285mm (20.0x11.2") **s-diag:** 582mm (22.9") 
           **Monitor-1:** HDMI-A-0 **res:** 3840x2160 **hz:** 60 **dpi:** 154 **size:** 632x360mm (24.9x14.2") **diag:** 727mm (28.6") 
           **OpenGL:****renderer:** AMD Radeon RX 550 / 550 Series (polaris12 LLVM 14.0.3 DRM 3.44 5.17.5-1-default) 
           **v:** 4.6 Mesa 22.0.3 **direct render:** Yes 
**erlangen:~ #** 

No issues when assembling the system. No issues when updating the system. No worries about the future.

  1. Inhibit static electricity from contacting PC and its parts*]Switch off or remove power from PC*]Remove video cable*]Remove case cover*]Remove retention devices from installed GPU*]Lift old GPU from its slot*]Reverse process with new card

Is there something to do before taking out the current graphics card?
For you, other than the above and what follows, no, because your current GPU is AMD and so will be your new one.

Is there a need to switch to a generic VESA drivers or something like that?
Highly unlikely, because current is AMD, but possibly. Search /etc/X11/xorg.con* for any uncommented line containing ‘Driver “radeon”’. If you find one, either comment the line, or rename to exclude string “.conf” from name, or remove the file.

Is it possible/necessary to download drivers the new card before installing it?
Possible, yes; necessary, no; desirable, yes. Most likely the drivers you need are already installed. This primer describes the basic graphics driver situation. What you want for a new AMD GPU are:

  • xf86-video-amdgpu*]kernel-firmware-amdgpu*]libdrm_amdgpu1*]ucode-amd
    sudo zypper se -s amd will report whether you already have them installed. Inspect /etc/default/grub and /boot/grub2/grub.cfg for any radeon option, and remove any found. If any found and removed, regenerate /boot/grub2/grub.cfg with YaST bootloader, or grub2-mkconfig -o /boot/grub2/grub.cfg.

After the card is physically swapped (it will go into the same PCIe x16 slot at the current), what must be done to ensure it works?
Power up; boot.

Any other steps to bring its full capabilities?
None should be necessary, but it’s possible a kernel command line option would be desirable or necessary. One such might be amdgpu.dc=0. Report back here with output from inxi -SGaz and cat /var/log/Xorg.0.log | susepaste if you wish us to confirm all seems well. Main thing to do is ensure the model you choose is not newer than 15.3. If you don’t, you might need to use a newer kernel. Each kernel provides an amdgpu device driver (module). Given 15.4 is due for release in less than a month, you should upgrade to it first if you do choose a newer card. 15.4’s RC was just announced. You could upgrade to it before official release. I currently have 22 15.4 installations.

A pleasant experience: https://forums.opensuse.org/showthread.php/541321-Upgrading-the-Hardware?p=2984616#post2984616

@mrmazda

Thank you so much for such a complete and detailed write-up!

Even covering steps that are obvious will make this helpful for more people too. It is thoughtful to include points where some possible prior customization could cause a problem that would not be encountered be default. I have seen similar cases where a workaround stopped working afer some upgrade.

Waiting for 15.4 is also a great suggestion! It is so close… I know it was coming and, personally I switched to 15.3 late but it was the most difficult upgrade I ever had.
Most updates between consecutive releases have been fairly painless… most times, only one thing stops working (but not always the same thing… VirtualBox commonly
has issues, sometimes audio or some server such as Apache or MySQL). 15.3 did not update, even after several tries and so I ended up doing a full reinstallation. Backups
are diligently done here, so after a fresh install, it is mostly tedious configuration but it does take some downtime, so I hope that 15.4 will be a smooth upgrade.

Might to give it a try soon, since it’s easy to put back the old card if it doesn’t work. Will upgrade to 15.4 in not so long but I prefer to give it a month or so, to read any
feedback braver people have :slight_smile:

Thanks again!

Hi,

Indeed your suspicious were right. Given the ease of swapping in and out, I gave it a try and definitely had issues.

Given that Leap 15.4 is so close, I will do the swap after updating next month and, will debug it with 15.4, should any issues arrise.

Mostly, I wanted to give a quick report as to how it failed, to warn others.
After swapping the RX 550 for an RX 6800 XT, the system took about 7 minutes to boot. It was initialization the device, so I was hoping the delay
was a one-time thing. Unfortunately not, it took that look on every subsequent boot. During the process some numbers flashed on the screen for
page and pages. This seems to have flooded dmesg as the only output it showed were rows of numbers without any text in between. This would
have made things very difficult to diagnose.

After a long boot time, it eventually showed the desktop on a single screen. Strangely the items that normally would have been on the other screen
occasionally flashed. At least something was visible via DisplayPort but USB-C did not detect the monitor and the monitor did not see a signal either.
This was one reason I wanted to try it ahead of time because my RX 550 has a Dual-Link DVI out which matches the input of my second monitor but
the RX 6800 XT only every type of output except DVI! However, I have a USB-C to Dual-Link DVI adapter used on a second system connected to
the same monitor, so I know the adapter works and is compatible with the display.

The final issue that took me by surprise is that swapping the graphics card killed PulseAudio! It would not start and uninstalling and reinstalling the
package did nothing. My initial reaction was 'WTH?` but eventually I got an intuition as to why but not how to fix it. I will start a separate thread for
that issue because it will happen again and is likely under other conditions, should my intuition be in the right direction:

  • PulseAudio probably fails to start because it has config files somewhere (not those in .config/pulseaudio because I removed them and it still failed).
  • The removed graphics card had an HDMI output which technically supports sound, even though I never used it, not was it ever connected to a TV
    that would have speakers.
  • This left it in a state where pulseaudio could not start. Even using Yast2 Sound to remove each device and add new devices did not work, so there
    could be some bug in pulseaudio where it does not properly cleanup when devices are removed. Removing and installing the package also does not
    clean up those files which is either a bug or a feature.
  • The feature part of this meant that when I placed back my old graphics card, pulseaudio started working again and had exactly the same volume
    and speaker settings as before.

This was educational. Going to start a thread about swapping audio devices to cover this last issue.

So, basically, graphics card are not as plugin play as other devices. Leap 15.4 is too close to spend more time figuring this out now and then having
to troubleshoot it again next month!

Thanks for insight!

  • Itai

Upgrading graphics was plug and play: https://forums.opensuse.org/showthread.php/541321-Upgrading-the-Hardware?p=2984616#post2984616 If unsure try a known good configuration first, such as a booting from a live system or try a pristine install. I upgraded host erlangen’s hardware with the working installation. For easy troubleshooting I shrank the system and did a pristine install by formatting freed space (nvme0n1p3):

**erlangen:~ #** fdisk -l /dev/nvme0n1 
**Disk /dev/nvme0n1: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors**
Disk model: Samsung SSD 970 EVO Plus 2TB             
Units: sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disklabel type: gpt 
Disk identifier: F5B232D0-7A67-461D-8E7D-B86A5B4C6C10 

**Device        ****     Start****       End****   Sectors**** Size****Type**
/dev/nvme0n1p1       2048    1050623    1048576  512M EFI System 
/dev/nvme0n1p2    1050624 3804628991 3803578368  1.8T Linux filesystem 
**/dev/nvme0n1p3 3804628992 3907029134  102400143 48.8G Linux filesystem** 
**erlangen:~ #**

Thanks for the feedback on your experience. Smething to watch I think …:dont-know:

Possibly AMD RX 6800 XT is too new for Leap 15.3, use 15.4.
When experiencing troubles with boot you may boot with safe mode, or boot into command prompt.
For Dual Link DVI support you may plug in your old video card into available slot.
Cleaning sound settings: https://forums.opensuse.org/showthread.php/555263-sound-is-gone-after-upgrading-to-Leap-15-3-from-Leap-15-2?p=3053787#post3053787

Hi,

Just a quick update… the update to 15.4 went extremely smoothly, one of the easiest yet… everything worked right off the bat except VirtualBox and Signal.
One needed to reinstall an extension pack and the other to be reinstalled all together but it took only a few mins.

A couple week passed and I swapped the Radeon HD 7750 for a Radeon RX 6800 XT. The graphics card worked immediately and recognized both monitors
without trouble (previously on 15.3, it only recognized the one on DisplayPort).

Changing the graphics card killed PulseAudio again! No errors, only the server would not start. The issue is that the one HDMI output on each board do not
use the same identifier and the config file generated during PulseAudio setup includes such identifier and the process does not fail gracefully. The solution
is to change lines in

/etc/pulse/default.pa

. In my case replacing every occurrence of

alsa_card.pci-0000_0d_00.4

with

alsa_output.pci-0000_0f_00.4

solved
the issue.

Given that the audio problem happened in 15.3 too, this is hopefully relevant to others. The IDs might not be the same, so use

lspci

to find the new device.

[https://forums.opensuse.org/showthread.php/541321-Upgrading-the-Hardware?p=2984616#post2984616

[b]erlangen:~ # inxi -zaG 
**Graphics:**
  **Device-1:** AMD Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] 
    **vendor:** Sapphire **driver:** amdgpu **v:** kernel **arch:** GCN 4 **process:** GF 14nm 
    **built:** 2016-20 **pcie:****gen:** 3 **speed:** 8 GT/s **lanes:** 8 **ports:**
    **active:** HDMI-A-1 **empty:** DP-1,DVI-D-1 **bus-ID:** 2b:00.0 **chip-ID:** 1002:699f 
    **class-ID:** 0300 
  **Display:** x11 **server:** X.Org **v:** 21.1.3 **with:** Xwayland **v:** 22.1.2 
    **compositor:** kwin_x11 **driver:****X:****loaded:** amdgpu 
    **unloaded:** fbdev,modesetting,vesa **gpu:** amdgpu **display-ID:** :0 **screens:** 1 
  **Screen-1:** 0 **s-res:** 3840x2160 **s-dpi:** 192 **s-size:** 508x285mm (20.00x11.22") 
    **s-diag:** 582mm (22.93") 
  **Monitor-1:** HDMI-A-1 **mapped:** HDMI-A-0 **model:** Samsung LU28R55 
    **serial:** <filter> **built:** 2038 **res:** 3840x2160 **hz:** 60 **dpi:** 154 **gamma:** 1.2 
    **size:** 632x360mm (24.88x14.17") **diag:** 727mm (28.6") **ratio:** 16:9 **modes:**
    **max:** 3840x2160 **min:** 720x400 
  **OpenGL:****renderer:** AMD Radeon RX 550 / 550 Series (polaris12 LLVM 14.0.5 
    DRM 3.46 5.18.6-1-default) 
    **v:** 4.6 Mesa 22.1.2 **direct render:** Yes 
**erlangen:~ #**


```](https://forums.opensuse.org/showthread.php/541321-Upgrading-the-Hardware?p=2984616#post2984616)