How can I confirm my new graphics card is installed correctly?

This steam community post suggests that steam only shows the primary GPU & not to worry.

That seems consistent. I’d tend to not worry about it. :wink:
This comment seems to state it clearly:

Forget what Steam says, honestly IDK why people waste their time looking at that.

My observation so far is that all games are running at 30fps no matter what quality.
So for example Supertux is 30fps & Elite Dangerous is also 30fps on either Ultra or Low.
This suggests something is wrong to me, but I’m still looking.

I’m not noticing any improvement over the built-in graphics yet.

I suggest you look in your bios and make sure the internal graphics is disabled and the external graphics is enabled. Also make sure your hdmi cable is connected to the graphics card.

Thanks. I just checked bios but I couldn’t find such an option. Ill double-check.

I went into bios because I realised Manjro Grub does not display when using the rx6400 hdni.
When I use the integrated HDMI grub menu shows correctly.

You may not have both but a disable internal should be there. May be in advanced options if you have such a thing.

Ill check carefully,
I am a bit worried though, since at the moment I can only view bios or grub when connecting HDMI to the internal HDMI. When I use the rx6400 it goes direct into manjaro with no video output before the manjaro login.
If I disable onboard graphics I may be stuck…?

You should still be able to reboot and change the bios back.

General system info:

inxi -Fazy

If you really have 2 gpus …

Then by default it should use the iGPU.
PRIME will call the dGPU.

test:

glxinfo | grep 'renderer string'
DRI_PRIME=1 glxinfo | grep 'renderer string'

PS

This is only existent on a minority of BIOS. And is only desirable by some.
Most people like to user their hybrid systems … hybrid style.
That is … to use the less-power-hungry iGPU most of the time.

The ‘renderer string’ shows the 2 gpu, Prime is the new graphics card.

inxi -Fazy

System:
  Kernel: 6.6.8-2-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc available: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.6-x86_64
    root=UUID=bcf8332f-ea01-4718-b0f0-429647cff2ca rw quiet splash apparmor=1
    security=apparmor udev.log_priority=3
  Desktop: GNOME v: 45.2 tk: GTK v: 3.24.39 wm: gnome-shell dm: GDM v: 45.0.1
    Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Desktop System: HP product: HP ProDesk 405 G6 Small Form Factor PC
    v: SBKPF serial: <superuser required> Chassis: type: 3
    serial: <superuser required>
  Mobo: HP model: 872D v: KBC Version 09.08.23 serial: <superuser required>
    UEFI: HP v: S15 Ver. 02.14.00 date: 09/22/2023
CPU:
  Info: model: AMD Ryzen 3 PRO 4350G with Radeon Graphics bits: 64 type: MT MCP
    arch: Zen 2 gen: 3 level: v3 note: check built: 2020-22
    process: TSMC n7 (7nm) family: 0x17 (23) model-id: 0x60 (96) stepping: 1
    microcode: 0x8600109
  Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
    L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 2 MiB desc: 4x512 KiB L3: 4 MiB
    desc: 1x4 MiB
  Speed (MHz): avg: 1048 high: 2996 min/max: 400/4105 scaling:
    driver: amd-pstate-epp governor: powersave cores: 1: 2996 2: 400 3: 400
    4: 400 5: 400 6: 400 7: 2994 8: 400 bogomips: 60710
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed mitigation: untrained return thunk; SMT enabled with STIBP
    protection
  Type: spec_rstack_overflow mitigation: Safe RET
  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, STIBP:
    always-on, RSB filling, PBRSB-eIBRS: Not affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: AMD Navi 24 [Radeon RX 6400/6500 XT/6500M] vendor: Sapphire
    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: HDMI-A-1 empty: DP-1 bus-ID: 03:00.0 chip-ID: 1002:743f
    class-ID: 0300
  Device-2: AMD Renoir [Radeon RX Vega 6 ] vendor: Hewlett-Packard
    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: none empty: DP-2,DP-3,DP-4 bus-ID: 08:00.0
    chip-ID: 1002:1636 class-ID: 0300 temp: 43.0 C
  Display: wayland server: X.org v: 1.21.1.10 with: Xwayland v: 23.2.3
    compositor: gnome-shell driver: gpu: amdgpu display-ID: 0
  Monitor-1: HDMI-A-1 model: Samsung serial: <filter> built: 2017
    res: 3840x2160 dpi: 110 gamma: 1.2 size: 1872x1053mm (73.7x41.46")
    diag: 1021mm (40.2") ratio: 16:9 modes: max: 3840x2160 min: 720x400
  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.1.9-manjaro1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon Graphics (renoir LLVM
    16.0.6 DRM 3.54 6.6.8-2-MANJARO) device-ID: 1002:1636 memory: 500 MiB
    unified: no display-ID: :0.0
Audio:
  Device-1: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel pcie:
    gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 03:00.1 chip-ID: 1002:ab28
    class-ID: 0403
  Device-2: AMD Renoir Radeon High Definition Audio vendor: Hewlett-Packard
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    link-max: gen: 4 speed: 16 GT/s bus-ID: 08:00.1 chip-ID: 1002:1637
    class-ID: 0403
  Device-3: AMD Family 17h/19h HD Audio vendor: Hewlett-Packard
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    link-max: gen: 4 speed: 16 GT/s bus-ID: 08:00.6 chip-ID: 1022:15e3
    class-ID: 0403
  API: ALSA v: k6.6.8-2-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 1.0.0 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Hewlett-Packard driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 link-max: gen: 2 speed: 5 GT/s port: 2200 bus-ID: 06:00.1
    chip-ID: 10ec:8168 class-ID: 0200
  IF: enp6s0f1 state: down mac: <filter>
  Device-2: TP-Link TL-WN823N v2/v3 [Realtek RTL8192EU] driver: rtl8xxxu
    type: USB rev: 2.1 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 4-1:2
    chip-ID: 2357:0109 class-ID: 0000 serial: <filter>
  IF: wlp8s0f3u1 state: up mac: <filter>
Bluetooth:
  Device-1: Broadcom Corp Bluetooth V3.0 USB Device driver: btusb v: 0.8
    type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 2-4.1:3
    chip-ID: 21ee:1100 class-ID: fe01 serial: <filter>
  Report: rfkill ID: hci1 rfk-id: 1 state: up address: see --recommends
  Device-2: Cambridge Silicon Radio Bluetooth Dongle (HCI mode) driver: btusb
    v: 0.8 type: USB rev: 1.1 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 6-2:3
    chip-ID: 0a12:0001 class-ID: e001
  Report: ID: hci0 rfk-id: 0 state: up address: N/A
Drives:
  Local Storage: total: 1.14 TiB used: 98.66 GiB (8.4%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital model: PC SN730
    SDBPNTY-256G-1006 size: 238.47 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: HPS2 temp: 49.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Crucial model: CT1000BX500SSD1
    size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 030 scheme: MBR
Partition:
  ID-1: / raw-size: 78.27 GiB size: 76.49 GiB (97.72%) used: 18.89 GiB (24.7%)
    fs: ext4 dev: /dev/nvme0n1p6 maj-min: 259:6
  ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.46%)
    used: 183.6 MiB (71.7%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 49.6 C mobo: N/A
  Fan Speeds (rpm): N/A
  GPU: device: amdgpu temp: 43.0 C device: amdgpu temp: 55.0 C mem: 54.0 C
    fan: 2468 watts: 2.00
Info:
  Processes: 323 Uptime: 1m wakeups: 0 Memory: total: 16 GiB note: est.
  available: 14.93 GiB used: 3.46 GiB (23.2%) Init: systemd v: 254
  default: graphical tool: systemctl Compilers: gcc: 13.2.1 clang: 16.0.6
  Packages: pm: pacman pkgs: 1366 libs: 462 tools: gnome-software,pamac
  pm: flatpak pkgs: 0 Shell: Zsh v: 5.9 running-in: gnome-terminal inxi: 3.3.31


glxinfo | grep 'renderer string'
OpenGL renderer string: AMD Radeon Graphics (renoir, LLVM 16.0.6, DRM 3.54, 6.6.8-2-MANJARO)

DRI_PRIME=1 glxinfo | grep 'renderer string'
OpenGL renderer string: AMD Radeon RX 6400 (navi24, LLVM 16.0.6, DRM 3.54, 6.6.8-2-MANJARO)

So everything looks right.

When you want to use the beefier dGPU call it with DRI_PRIME=1

Special case for steam … dont launch steam itself with prime.

Instead edit each game launch options to be (assuming no other options):

DRI_PRIME=1 %command%

PS.

You have no SWAP. When you reach the limits of your physical RAM the system will lock up.
You have many options for SWAP, but I generally suggest zram these days.
Continuing the discussion from Awful performance since install:

1 Like

Great. Glad its correct so far.

Still confused why I cant see grub when HDMI is connected to dGPU.

&, I’m wondering,… Can’t I just go for a plug & play with this?
I was hoping to connect the HDMI, auto-login to manjaro, launch steam in big-picture & basically use like a console. So id rather just use dGPU all the time by default.

Becuase the dGPU is not initialized until PRIME is used.

You can get around this a few ways including reverse prime or switching the dGPU to primary. See all about it here:
https://wiki.archlinux.org/title/PRIME

Then the ‘dGPU as primary’ may be a workable option for you.
But the absolute best … if you just want to ignore the iGPU entirely … would be a BIOS option to disable the lesser card. This option is not always available though.

1 Like

Perfect, thank you.
Ill check into the PRIME link.

In my BIOS disable iGPU is not an option. On the HP forums they say its automatic, but of course its Win focused there.

I am a bit stuck with this to be honest.

I ran a couple of Steam games using DRI_PRIME=1 %command% but I noticed they still ran at 30fps & there’s no noticeable improvement over the iGPU.

The rx6400 is showing 512mb vram in Phoronix Test Suite

GRAPHICS:               Sapphire AMD Radeon RX 6400/6500 XT/6500M 512MB
    BAR1 / Visible vRAM:  512 MB                                            
    OpenGL:               4.6 Mesa 23.1.9-manjaro1.1 (LLVM 16.0.6 DRM 3.54) 
    Monitor:              SAMSUNG                                           
    Screen:               1920x1080

I remember BIOS had a vram setting for either 256 or 512, but that was using the iGPU.
But since I can’t currently view bios or grub with the dGPU I cant check if that’s different when hdmi is connected to dGPU.

Next I looked at Reverse PRIME.

xrandr --listproviders
Providers: number : 0
glxinfo | grep "OpenGL renderer"
OpenGL renderer string: AMD Radeon Graphics (renoir, LLVM 16.0.6, DRM 3.54, 6.6.8-2-MANJARO)
DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
OpenGL renderer string: AMD Radeon RX 6400 (navi24, LLVM 16.0.6, DRM 3.54, 6.6.8-2-MANJARO)

Providers is Zero? Ahh ~ It seems xrandr doesn’t work with Wayland & the suggestion is “its automatic so use DRI_PRIME=1 %command%” - which is back to the top.

Discrete card as Primary also uses xorg/xrandr, so I’m not sure that applies. I could try it, but all the examples on that page are for intel & nvidia, & I’m guessing I need to specify driver, identifier, device etc in the file - is it just “amd”? its beyond me at this point.

Im currently checking to see if Grub has some graphics option to use the dGPU…

The ‘its automatic’ is from a thread 8 years old where they are simply attempting to configure PRIME and when the providers needed to be defined manually most of the time … now they usually dont, regardless of X or wayland.

Which is true … you didnt need anything extra for PRIME to work … its working already.

As to wayland configuration. I couldnt say.
If the examples are using Xorg configuration files … then it would seem thats your option.

But back to the main scenario … do you have KMS properly configured? It might help some things.
https://wiki.archlinux.org/title/Kernel_mode_setting

(amdgpu in modules and kms in hooks of mkinitcpio.conf)

OK, makes sense to just use xorg.

reviewing some of the info…

xrandr --listproviders                                           ✔ 
Providers: number : 2
Provider 0: id: 0x55 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 4 outputs: 3 associated providers: 1 name:AMD Radeon Graphics @ pci:0000:08:00.0
Provider 1: id: 0x78 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 2 outputs: 2 associated providers: 1 name:AMD Radeon RX 6400 @ pci:0000:03:00.0

lspci | grep VGA                                                 ✔ 
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 24 [Radeon RX 6400/6500 XT/6500M] (rev c7)
08:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Renoir [Radeon RX Vega 6 (Ryzen 4000/5000 Mobile Series)] (rev da)

For Discrete card as primary GPU I need to create a conf file:
I am aiming to get the dGPU used for everything, so I can access grub & hopefully see some higher frame rates in games with iGPU out of the picture.

Below is my best guess at what to change, but I feel lost knowing what the valid values are supposed to be. Does this look right?

/etc/X11/xorg.conf.d/10-gpu.conf
# I only have a 00-keyboard.conf in this location, so ill create 10-gpu.conf

Section "ServerLayout"
    Identifier "layout" 
    Screen 0 "rx6400"
    Inactive "igpu"
EndSection

Section "Device"
    Identifier  "igpu" # user defined
    Driver      "amdgpu" # I guess??
    BusID       "PCI:8:0:0" 
EndSection

Section "Screen"
    Identifier "radeon"
    Device "radeon" # guess
EndSection

Section "Device"
    Identifier  "rx6400"
    Driver      "amdgpu"
    BusID       "PCI:3:0:0"
EndSection

Section "Screen"
    Identifier "radeon" #guessing
    Device "radeon"
EndSection

do you have KMS properly configured?
(amdgpu in modules and kms in hooks of mkinitcpio.conf)

HOOKS=(base udev autodetect kms modconf block keyboard keymap consolefont plymo>
MODULES=() 

I added amdgpu to modules '& ran sudo mkinitcpio -P. Rebooted but no video output for grub still.

HOWEVER - I am now seeing 60fps in Elite & up to 400fps in some platformers. (with or without DRI_PRIME=1 %command% ) could it be that xorg has made that improve? ill have to check.
ANSWER: yes amazingly. after several reboots. xorg gets 60fps, wayland 30
(On my laptop Elite runs about the same on xorg/wayland)

I was about to give up & try another distro, but I’ll just post what transpired for posterity.

xorg kept crashing the compositor (desktop img disappeared, shell menus freeze up, shadows are over exaggerated, etc) so I re-installed manajro.
This time I just tried DRI_PRIME=1 %command% in Steam right from the start & used the motherboard HDMI. This seems to be working.

The results are a little underwhelming in most games but significant in others. I tried DRI_PRIME=0 to compare.
Linux games in steam ; Firewatch on ultra get 80fps Prime=1, 25fps without.
Proton games : Elite Dangerous, A Plague Tale are 60fps with either card & Ultra dips slightly 50-55 which is much better than before. - although I feel this is a software/driver issue resolved by the re-install because both were on 30fps previously.
Some platform games show 400fps.
Its possible the 60fs cap in some games could be related to the TV screen being 60hz. Im not sure.

The rx6400 is supposed to be significantly better than the iGPU, between 300-900% better going by the online comparisons.
So I am left feeling I got a few fps & a noisy fan for the cost/effort. But ill see how it goes over time.
It was never going to be an amazing game machine, I just need it to get by with modest settings & last gen games.

I did learn some stuff, so thats ok. It was a bit of a nightmare, so really my main lesson was “should have bought a console” LOL

EDIT: I was too late to add before topic was closed.
I am new to graphics card & PC gaming, so there’s a lot I didn’t comprehend.
My TV is 60hz, when vSync is ON in a game this limits the fps to 60 to match the TV.
When I disable that I can now see around 150fps depending on the game.
Also, resolution & quality setting in the game have an effect.

SO I can run A Plague Tale at ultra, 1080p & it will just about maintain 60fps, but the fans are really going & temps rising. If I set 720p, Ultra, I can get a stable 60fps without fans blasting.
If I turn vsync off frames increase, but so do fans in graphically heavy games.
So I think everything is working but being a total beginner I couldn’t understand what was going on.

If its ‘working’ now … you just dont get quite the performance you would expect … then I suppose the next steps would be configuration.

One stop would be power management - many systems will have power-profiles or tlp or something similar that will automatically restrict performance under battery.

Or general gfx configuration as seen at the arch wiki:

https://wiki.archlinux.org/title/AMDGPU#Xorg_configuration

(if you want assistance with running down any possible issues or gaining other advice you may want to start a new thread with that purpose)

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.