RX 7900 XT Linux

Snakeeater

Commander
Registriert
Aug. 2004
Beiträge
2.051
1. Nenne uns bitte deine aktuelle Hardware:
(Bitte tatsächlich hier auflisten und nicht auf Signatur verweisen, da diese von einigen nicht gesehen wird und Hardware sich ändert)
  • Prozessor (CPU): AMD Ryzen 5 5600X
  • Arbeitsspeicher (RAM): Gskill (?) 16 GB , müsste ich nochmal genauer nachgucken
  • Mainboard: ROG STRIX B450-I GAMING
  • Netzteil: Corsair 750SF
  • Gehäuse: lol
  • Grafikkarte: Sapphire Pulse RX 7900 XT
  • HDD / SSD: bleh
  • Weitere Hardware, die offensichtlich mit dem Problem zu tun hat(Monitormodell, Kühlung usw.):

2. Beschreibe dein Problem. Je genauer und besser du dein Problem beschreibst, desto besser kann dir geholfen werden (zusätzliche Bilder könnten z. B. hilfreich sein):
Wenn ich meinen Computer starte und bspw. ein Spiel in Steam kommt es oft dazu, dass mir Mangohud direkt anzeigt das die Leistung irgendwie gedrosselt ist, d.h. Wattaufnahme ist im Verhältnis für die Auslastung reduziert, als auch fps sind extrem konstant niedrig. Das Problem tritt sporadisch auf und wird mit mehrmaligem neubooten meist "behoben".
Ansonsten ist die Leistung der GPU absolut konstant. Das Problem ist erst mt dem wechsel der GPU und gleichzeitigem neuen Netzteil aufgetaucht.

3. Welche Schritte hast du bereits unternommen/versucht, um das Problem zu lösen und was hat es gebracht?
Updates, Kabelgecheckt, MB Bios Einstellungen gecheckt.
  • Sichergestellt das der PCI Anschluss auf Gen 4 steht statt Auto
  • RAM auf DCOP (?) Profil gestellt
  • Verkabelung an der GPU überprüft
  • sämtliche Hintergrundprogramme beim Start des Spiels deaktiviert
  • Steam Properties wie gamemoderun deaktiviert
Bisher noch keine Lösung.

Da es sich um ein sehr spezifisches Problem handelt hat mir die Internetrecherche leider bisher noch nicht viel gebracht. Da es sich dort meist um Crashes unter Last und besonders auf Windows handelt.
 
Zuletzt bearbeitet:
Vermutlich ist das Netzteil nicht ausreichend dimensioniert.

Oder es liegt eine Treiber-Inkompatibilität vor.
Welche Kernel/Mesa-Konfiguration nutzt Du?
uname -a
glxinfo | grep Mesa
inxi -Aaz

... und welche Linux-Distri nutzt Du?
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Crazy_Chris
NT sollte ausreichen, sonst wäre das Problem ja dauerhaft da. Den Rest kann ich später nachliefern. Distri ist Tumbleweed.
 
  • Gefällt mir
Reaktionen: Snakeeater
Ich habe mir gestern ein Video von The Linux Experiment angesehen, der sich eine SteamOS Konsole gebaut hat. Er spricht im Video davon, dass er das Problem hatte, dass die Karte nicht in den Performance Mod gewechselt ist. Vll auch ein Problem bei dir?

10:07 falls der Timestamp nicht funktioniert.

Und hier noch der Forumseintrag, von dem er spricht, was das Problem gelöst hast.
https://bbs.archlinux.org/viewtopic.php?id=271286
 
  • Gefällt mir
Reaktionen: Innensechskant, Tanzmusikus und Snakeeater
Nt sollte reichen, betreibe mit selbigem eine RTX 4090 ohne Probleme. Würde vermuten, dass es am Linux liegt. Haste die Möglichkeit es mit einer Windows Installation zu testen?
 
  • Gefällt mir
Reaktionen: Der Lord
Nein, wenn es an meinem Linux liegt, wäre das auch gut für mich, da ich so sicher gehen kann, dass die Hardware nicht irgend eine merkwürdige Macke hat und ich evtl. irgendwann einen Fix finde.

Vielen Dank für die Infos bisher, paar sehr nützliche Sachen dabei die ich mir in Ruhe mal anschauen werd.e
 
Trit das Problem bei Mesa bzw. RADV auf also einem Vulkan oder einem nach Vulkan übersetztem Spiel (DXVK/VKD3D)?

Bei allen spielen oder nur bestimmten ?
Ergänzung ()

FYI, dieser Bug report könnte mit deinem Problem zu tun haben:
https://gitlab.freedesktop.org/drm/amd/-/issues/2460
 
Zuletzt bearbeitet:
@Snakeeater
Es könnte an Steam selbst liegen, da es neulich erst zwei größere Updates mit diversen optischen & funktionalen Änderungen erhalten hatte. Bei mehreren Spielern traten diverse Fehler auf.
 
Die Beta nutze ich schon länger, aber ich wollte das eh mal genauer testen obs bspw. bei Lutris games dann auch auftaucht. Ich versuche das am Wochenende mal genauer einzugrenzen.
 
Wenn die Befehle aus dem Video in #5 bzw. dessen Beschreibung nicht helfen, vielleicht dann diese:
RADV_PERFTEST=gpl %command% #for DirectX11 games in Steam
AMD_PSTATE=guided %command% #only Kernel 6.4 or later (for CPPC Preferred Cores)
 
Zuletzt bearbeitet:
Snakeeater schrieb:
Kannst du eine Quelle zu den Befehlen geben?
Nee, hab mir den 1. Befehl irgendwo abgeschrieben zum Thema Gaming-Performance unter Linux.

Habe kurz die Suche bedient:
https://www.reddit.com/r/linux_gaming/comments/10rrwmg/radv_perftestgpl_is_awesome_for_dxvk_games/
https://www.protondb.com/app/8140
https://docs.mesa3d.org/envvars.html#envvar-RADV_PERFTEST

RADV_PERFTEST=gpl -> ist quasi die verbesserte Alternative zum DXVK Async Patch.
https://www.gamingonlinux.com/2023/01/ge-proton-removes-the-dxvk-async-patch-in-version-7-45/



Das 2. Befehl ist von der Info über den neuen Linux-Kernel 6.4 abgeleitet.

https://www.phoronix.com/news/AMD-P-State-Guided-Auto
https://www.phoronix.com/news/AMD-Guided-Auto-Mode-v2
https://www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html#guided-mode
https://www.computerbase.de/forum/t...tate-epp-scaling.2143550/page-2#post-28342958
https://www.computerbase.de/forum/t...uetzung-fuer-apples-m2.2149461/#post-28345645

Hier geht's um das AMD Powermanagement, welches die CPU statt dem OS übernehmen kann.
Code:
amd_pstate=     [X86]
        disable
                 Do not enable amd_pstate as the default
                 scaling driver for the supported processors
        passive
                 Use amd_pstate with passive mode as a scaling driver.
                 In this mode autonomous selection is disabled.
                 Driver requests a desired performance level and platform
                 tries to match the same performance level if it is
                 satisfied by guaranteed performance level.
        active
                 Use amd_pstate_epp driver instance as the scaling driver,
                 driver provides a hint to the hardware if software wants
                 to bias toward performance (0x0) or energy efficiency (0xff)
                 to the CPPC firmware. then CPPC power algorithm will
                 calculate the runtime workload and adjust the realtime cores
                 frequency.
        guided
                 Activate guided autonomous mode. Driver requests minimum and
                 maximum performance level and the platform autonomously
                 selects a performance level in this range and appropriate
                 to the current workload.

Kann sein, dass beide Befehle nicht gleichzeitig nutzbar sind.
Von daher: Nutzung auf eigene Gefahr!
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Snakeeater
Tanzmusikus schrieb:
Vermutlich ist das Netzteil nicht ausreichend dimensioniert.

Oder es liegt eine Treiber-Inkompatibilität vor.
Welche Kernel/Mesa-Konfiguration nutzt Du?
uname -a
glxinfo | grep Mesa
inxi -Aaz

... und welche Linux-Distri nutzt Du?
Code:
6.3.7-1-default #1 SMP PREEMPT_DYNAMIC Mon Jun 12 05:01:32 UTC 2023 (b5f9ff5) x86_64 x86_64 x86_64 GNU/Linux
Code:
 glxinfo | grep Mesa                                                                                                
client glx vendor string: Mesa Project and SGI
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.1.2
OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.1.2
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.1.2
Code:
❯ inxi -Aaz                                                                                                            ─╯
Audio:
  Device-1: AMD driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
    lanes: 16 bus-ID: 0a:00.1 chip-ID: 1002:ab30 class-ID: 0403
  Device-2: USB MICROPHONE driver: hid-generic,snd-usb-audio,usbhid
    type: USB rev: 1.1 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-7.3:4
    chip-ID: 3212:1a03 class-ID: 0300 serial: <filter>
  Device-3: RME ADI-2 DAC (53980348) driver: snd-usb-audio type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-1:4 chip-ID: 2a39:3fd3
    class-ID: 0102 serial: <filter>
  API: ALSA v: k6.3.7-1-default status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: jack_control
  Server-2: PipeWire v: 0.3.71 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Ergänzung ()

petepow schrieb:
Ich habe mir gestern ein Video von The Linux Experiment angesehen, der sich eine SteamOS Konsole gebaut hat. Er spricht im Video davon, dass er das Problem hatte, dass die Karte nicht in den Performance Mod gewechselt ist. Vll auch ein Problem bei dir?

10:07 falls der Timestamp nicht funktioniert.

Und hier noch der Forumseintrag, von dem er spricht, was das Problem gelöst hast.
https://bbs.archlinux.org/viewtopic.php?id=271286
Was mich wundert, was mir auch schon vorher aufgefallen ist:
Code:
❯ ls -la /sys/class/drm/                                                                                               ─╯
drwxr-xr-x root root   0 B  Thu Jun 29 17:35:50 2023  .
drwxr-xr-x root root   0 B  Thu Jun 29 17:35:49 2023  ..
lrwxrwxrwx root root   0 B  Thu Jun 29 17:35:55 2023  card1 ⇒ ../../devices/pci0000:00/0000:00:03.1/0000:08:00.0/0000:09:00.0/0000:0a:00.0/drm/card1
lrwxrwxrwx root root   0 B  Thu Jun 29 17:35:55 2023  card1-DP-1 ⇒ ../../devices/pci0000:00/0000:00:03.1/0000:08:00.0/0000:09:00.0/0000:0a:00.0/drm/card1/card1-DP-1
lrwxrwxrwx root root   0 B  Thu Jun 29 17:35:55 2023  card1-DP-2 ⇒ ../../devices/pci0000:00/0000:00:03.1/0000:08:00.0/0000:09:00.0/0000:0a:00.0/drm/card1/card1-DP-2
lrwxrwxrwx root root   0 B  Thu Jun 29 17:35:55 2023  card1-HDMI-A-1 ⇒ ../../devices/pci0000:00/0000:00:03.1/0000:08:00.0/0000:09:00.0/0000:0a:00.0/drm/card1/card1-HDMI-A-1
lrwxrwxrwx root root   0 B  Thu Jun 29 17:35:55 2023  card1-HDMI-A-2 ⇒ ../../devices/pci0000:00/0000:00:03.1/0000:08:00.0/0000:09:00.0/0000:0a:00.0/drm/card1/card1-HDMI-A-2
lrwxrwxrwx root root   0 B  Thu Jun 29 17:35:55 2023  renderD128 ⇒ ../../devices/pci0000:00/0000:00:03.1/0000:08:00.0/0000:09:00.0/0000:0a:00.0/drm/renderD128
.r--r--r-- root root 4.0 KB Thu Jun 29 18:02:36 2023  version
Die Dateistruktur in dem Dir ist total merkwürdig...wenn man in eine dieser dirs reinschaut gehts unendlich weiter mit " /sys/class/drm/card1-DP-1/device/card1-DP-1/dev"

Ich denke mal das liegt an den symlinks? Aber ich finde ehrlich gesagt nicht die erforderliche pp_power_profile_mode Datei.
Ich denke mal das liegt an den symlinks? Aber ich finde ehrlich gesagt nicht die erforderliche pp_power_profile_mode Datei.
 
Zuletzt bearbeitet:
Snakeeater schrieb:
Aber ich finde ehrlich gesagt nicht die erforderliche pp_power_profile_mode Datei.
Wenn ich am Steam Deck nachsehe, unter dem Verzeichnis das er angegeben hat finde ich die Datei und kann sie mir ansehen: cd /sys/class/drm/card0/device/
1688059138234.png

Snakeeater schrieb:
/sys/class/drm/card1-DP-1
du bist ja unter card1-DP-1. Was ist wenn du unter card1 nachsiehst?
 
  • Gefällt mir
Reaktionen: Tanzmusikus
petepow schrieb:
Wenn ich am Steam Deck nachsehe, unter dem Verzeichnis das er angegeben hat finde ich die Datei und kann sie mir ansehen: cd /sys/class/drm/card0/device/
Anhang anzeigen 1371269

du bist ja unter card1-DP-1. Was ist wenn du unter card1 nachsiehst?
Ach oke, jetzt hab ich es gefunden, hatte die Ordnerstruktur nicht gefunden ,ich muss mal schauen wie ich das automatisieren kann.

Code:
PROFILE_INDEX(NAME) CLOCK_TYPE(NAME) FPS MinActiveFreqType MinActiveFreq BoosterFreqType BoosterFreq PD_Data_limit_c PD_Data_error_coeff PD_Data_error_rate_coeff
 0 BOOTUP_DEFAULT*:
                    0(       GFXCLK)       0       1       0       4     800 4587520  -65536       0
                    1(         FCLK)       0       3       0       1       0 3276800  -65536   -6553
 1 3D_FULL_SCREEN :
                    0(       GFXCLK)       0       0    1200       4     650 3932160   -3276  -65536
                    1(         FCLK)       0       3       0       3       0 1310720   -6553   -6553
 2   POWER_SAVING :
                    0(       GFXCLK)       0       1       0       3       0 5898240  -65536       0
                    1(         FCLK)       0       1       0       1       0 3407872  -65536   -6553
 3          VIDEO :
                    0(       GFXCLK)       0       1       0       4     500 4587520  -65536       0
                    1(         FCLK)       0       3       0       3       0 3473408  -65536   -6553
 4             VR :
                    0(       GFXCLK)       0       2    1000       1       0 3276800       0       0
                    1(         FCLK)       0       3       0       3       0 1310720   -6553   -6553
 5        COMPUTE :
                    0(       GFXCLK)       0       2    1000       1       0 3932160       0       0
                    1(         FCLK)       0       3       0       3       0 1310720   -6553   -6553
 6         CUSTOM :
                    0(       GFXCLK)       0       2    1000       1       0 3932160       0       0
                    1(         FCLK)       0       3       0       3       0 1310720   -6553   -6553
 7      WINDOW_3D :
                    0(       GFXCLK)       0       0    1200       4     650 3932160   -3276  -65536
                    1(         FCLK)       0       3       0       3       0 1310720   -6553   -6553

Woran seh ich welcher Mode aktiv ist?
 
Da wo der Stern dabei steht, also müsste bei dir gerade 0 bootup_default sein.

Starte mal ein Spiel und sieh es dir dann nochmal an, ob der Stern dann wo anders ist.
 
  • Gefällt mir
Reaktionen: Tanzmusikus und Snakeeater
Nachdem ich das Problem jetzt nicht mehr hatte, tritt es genau jetzt auf, nachdem ich meine Steamlibrary retten musste. UNd ich hab jetzt mal ein Spiel gestartet und mir den Powerstate angeguckt und es steht immer noch auf bootup_default:
Code:
❯ cat pp_power_profile_mode                                                                                                             ─╯
PROFILE_INDEX(NAME) CLOCK_TYPE(NAME) FPS MinActiveFreqType MinActiveFreq BoosterFreqType BoosterFreq PD_Data_limit_c PD_Data_error_coeff PD_Data_error_rate_coeff
 0 BOOTUP_DEFAULT*:
                    0(       GFXCLK)       0       1       0       4     800 4587520  -65536       0
                    1(         FCLK)       0       3       0       1       0 3276800  -65536   -6553
 1 3D_FULL_SCREEN :
                    0(       GFXCLK)       0       0    1200       4     650 3932160   -3276  -65536
                    1(         FCLK)       0       3       0       3       0 1310720   -6553   -6553
 2   POWER_SAVING :
                    0(       GFXCLK)       0       1       0       3       0 5898240  -65536       0
                    1(         FCLK)       0       1       0       1       0 3407872  -65536   -6553
 3          VIDEO :
                    0(       GFXCLK)       0       1       0       4     500 4587520  -65536       0
                    1(         FCLK)       0       3       0       3       0 3473408  -65536   -6553
 4             VR :
                    0(       GFXCLK)       0       2    1000       1       0 3276800       0       0
                    1(         FCLK)       0       3       0       3       0 1310720   -6553   -6553
 5        COMPUTE :
                    0(       GFXCLK)       0       2    1000       1       0 3932160       0       0
                    1(         FCLK)       0       3       0       3       0 1310720   -6553   -6553
 6         CUSTOM :
                    0(       GFXCLK)       0       2    1000       1       0 3932160       0       0
                    1(         FCLK)       0       3       0       3       0 1310720   -6553   -6553
 7      WINDOW_3D :
                    0(       GFXCLK)       0       0    1200       4     650 3932160   -3276  -65536
                    1(         FCLK)       0       3       0       3       0 1310720   -6553   -6553
Obwohl ich ein Spiel im Hintergrund laufen habe,
Ergänzung ()

Okay interessanterweise, reboot, jetzt ist er im 3d modus, aber power limit scheint immer noch auf ~160W zu liegen.
Code:
❯ cat pp_power_profile_mode                                                                                                                                                                   ─╯
PROFILE_INDEX(NAME) CLOCK_TYPE(NAME) FPS MinActiveFreqType MinActiveFreq BoosterFreqType BoosterFreq PD_Data_limit_c PD_Data_error_coeff PD_Data_error_rate_coeff
 0 BOOTUP_DEFAULT :
                    0(       GFXCLK)       0       1       0       4     800 4587520  -65536       0
                    1(         FCLK)       0       3       0       1       0 3276800  -65536   -6553
 1 3D_FULL_SCREEN*:
                    0(       GFXCLK)       0       0    1200       4     650 3932160   -3276  -65536
                    1(         FCLK)       0       3       0       3       0 1310720   -6553   -6553
 2   POWER_SAVING :
                    0(       GFXCLK)       0       1       0       3       0 5898240  -65536       0
                    1(         FCLK)       0       1       0       1       0 3407872  -65536   -6553
 3          VIDEO :
                    0(       GFXCLK)       0       1       0       4     500 4587520  -65536       0
                    1(         FCLK)       0       3       0       3       0 3473408  -65536   -6553
 4             VR :
                    0(       GFXCLK)       0       2    1000       1       0 3276800       0       0
                    1(         FCLK)       0       3       0       3       0 1310720   -6553   -6553
 5        COMPUTE :
                    0(       GFXCLK)       0       2    1000       1       0 3932160       0       0
                    1(         FCLK)       0       3       0       3       0 1310720   -6553   -6553
 6         CUSTOM :
                    0(       GFXCLK)       0       2    1000       1       0 3932160       0       0
                    1(         FCLK)       0       3       0       3       0 1310720   -6553   -6553
 7      WINDOW_3D :
                    0(       GFXCLK)       0       0    1200       4     650 3932160   -3276  -65536
                    1(         FCLK)       0       3       0       3       0 1310720   -6553   -6553

Corectl macht irgendwie auch nix.
https://gitlab.com/corectrl/corectrl/-/issues/344

Alles mögliche nicht geholfen, mehrere Neustarts nix. Ständig irgendwie powerlimit. Dann hab ich mal Plasma in der X11 Session gestartet und siehe da wieder normales Powerlimit möglich: also 265W.

Edit:
Ich hab jetzt folgenden Eintrag befolgt https://wiki.archlinux.org/title/AMDGPU#Screen_artifacts_and_frequency_problem
Und konnte damit ein Spiel zumindest mit voller Wattanzahl unter Wayland starten. Ob das meine Probleme jetzt in Gänze fixt muss ich noch testen.

Wird echt Zeit das ich mir ein Arch installiere, das Wiki ist einfach unübertreffbar.

Edit:
Gestern hatte ich trotz des Fixes oben komischerweise plötzlich in einem Spiel ein Watt Limit von ~200W. Kann noch nicht genau sagen woher das auf einmal kommt, ich würde mal mit https://wiki.archlinux.org/title/ATI#Dynamic_power_management schauen ob ich das erst mal manuell beheben kann. Ich muss auch nochmal genau checken waspp_power_profile_mode in dem Fall sagt und ansonsten mal mit https://wiki.archlinux.org/title/AMDGPU#Power_profiles gegensteuern, wobei ich mir nicht sicher bin ob das auf RX 7900 XT funktioniert, habe da gegenteiliges gelesen im corectrl gitlab.
 
Zuletzt bearbeitet:
Ich muss hier nochmal nachfragen, hat hier mittlerweile irgend jemand wege gefunden über amdgpu eine 7900 XT oder dergleichen zu over/underclocken? Die Befehle aus dem Archwiki funktionieren nicht, da die Dateien gar nicht existieren
Code:
/sys/class/drm/card0/device/pp_od_clk_voltage
 
Was möchtest Du denn erreichen?
Der Linux-Pfad zeigt auf die Takt-Spannung, also nicht die GPU-Taktfrequenz.



Funktioniert CoreCtrl mit deiner RX 7900 XT?
 
Zurück
Oben