AMD Vega + AMD Radeon Switch

After a lifetime of nVidia use, I’ve just made the jump to an AMD Ryzen with AMD Vega + Radeon graphics.

Where I previously used nVidia controller to switch between Intel/nVidia, I cannot seem to find similar capability with AMD+AMD.

I did find an older thread and wonder if this is still applicable, or is there a better way to handle this setup?

I also found this thread, but it’s addressing Intel+AMD and I didn’t want to make a bigger mess by chasing after incorrect solutions.

What I’m trying to do is both determine which video controller is active and how to switch between them. While I’ve been reading a bunch of stuff on this, I’m not quite grasping the correct path.

Essentially, this is the wiki info on EnvyControl I read early on that got me started down this trail. :smiley:

Appreciate some direction!

Here’s some info that may be helpful:

inxi -Ga
Graphics:
  Device-1: AMD Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]
    vendor: Micro-Star MSI driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x
    process: TSMC n7 (7nm) built: 2020-22 pcie: gen: 4 speed: 16 GT/s
    lanes: 16 ports: active: none empty: DP-1,HDMI-A-1 bus-ID: 03:00.0
    chip-ID: 1002:73df class-ID: 0380
  Device-2: AMD Cezanne [Radeon Vega Series / Radeon Mobile Series]
    vendor: Micro-Star MSI driver: amdgpu v: kernel arch: GCN-5 code: Vega
    process: GF 14nm built: 2017-20 pcie: gen: 3 speed: 8 GT/s lanes: 16
    link-max: gen: 4 speed: 16 GT/s ports: active: eDP-1 empty: none
    bus-ID: 07:00.0 chip-ID: 1002:1638 class-ID: 0300 temp: 46.0 C
  Display: wayland server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.4
    compositor: gnome-shell v: 45.3 driver: gpu: amdgpu display-ID: 0
  Monitor-1: eDP-1 model: Sharp LQ156M1JW03 built: 2021 res: 1920x1080
    dpi: 142 gamma: 1.2 size: 344x194mm (13.54x7.64") diag: 395mm (15.5")
    ratio: 16:9 modes: max: 1920x1080 min: 640x480
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: radeonsi device: 2 drv: swrast surfaceless: drv: radeonsi
    wayland: drv: radeonsi x11: drv: radeonsi inactive: gbm
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 23.3.5-arch1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon Graphics (radeonsi
    renoir LLVM 16.0.6 DRM 3.57 6.7.3-arch1-1) device-ID: 1002:1638
    memory: 500 MiB unified: no display-ID: :0.0
glxinfo|grep -E "OpenGL vendor|OpenGL renderer"
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon Graphics (radeonsi, renoir, LLVM 16.0.6, DRM 3.57, 6.7.3-arch1-1)
lspci -vnnn | perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA
07:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c5) (prog-if 00 [VGA controller])

do they use the same screen? nvidia-prime can stil do or optimus-manager …

If I’m working at home I use a second monitor, but on the road I do not.

The same intel + nvidia tools I previously used work for amd + amd? :hushed:

yes

Looks like it’s rendering on the apu. Have you tried EnvyControl to switch to the 6000 series dedicated graphics?

If that would work for amd+amd I’ll certainly give it a go. I didn’t think to try because I don’t have any nvidia and it stated

“laptops with hybrid Intel + Nvidia or AMD + Nvidia graphics configurations”

I guess maybe try what the link you posted shows.

https://wiki.archlinux.org/title/PRIME#PRIME_GPU_offloading

Offloading works great, why not do that?

Thank you, I’ll go with this. I’ll get a fresh start tomorrow and read through the page again and begin with the first step. :+1:

My apologies to all who have offered help here but yep, I’m stuck, just not understanding. :face_exhaling:

Trying to implement the Prime GPU Offloading and starting out looks like this:

xrandr --listproviders
Providers: number : 0

Thought that didn’t look correct so I took a step back to first identify the hardware and I don’t see the Radeon RX 6700M dedicated card listed:

 lspci | grep VGA
07:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c5)

Then which drivers are loaded:

 find /dev -group video
/dev/dri/card1
/dev/dri/card2
/dev/fb0
glxinfo | grep -i vendor
server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
    Vendor: AMD (0x1002)
OpenGL vendor string: AMD

Honestly, that’s as far as I can get while shooting to make the dedicated card available and active. However, I’ve been using EOS for a few years now and it provides me zero issues otherwise and I’m not ready to give up. :muscle:

For the record, tried EnvyControl and it functioned but was unstable. Got rid of it and went with Switcheroo and all is well, seeing ~115fps average and even as high as 160+fps in Guild Wars 2 :+1:

2 Likes

Ahhh the old switcheroo will get them every time.

I’m not familiar with switcheroo. I guess it’s Gnome. :thinking: