Freesync bedarfsgerecht aktivieren/deaktivieren

polyphase

Commander
Registriert
Dez. 2010
Beiträge
2.715
Moin,

ich habe nun Freesync unter meinem Mint Cinnamon 20.2 zum laufen bekommen.
Funktioniert mit Steam und Lutris super.

Hardware:
  • Ryzen 3800X
  • 32GB DDR4 @ 3200MHz
  • Sapphire RX580 8GB Nitro+


Folgende Zeilen habe ich eingefügt in in:
/usr/share/X11/xorg.conf.d/10-amdgpu.conf
Code:
Section "Device"
    Identifier "AMDgpu"
    Driver "amdgpu"
    Option "variableRefresh" "on"
EndSection

Nur auf dem Desktop nervt es schon sehr, da dauernd die Bildwiederholrate hin und her springt.
Nun habe ich versucht es über diese Anleitung temporär zu deaktivieren:
https://www.amd.com/de/support/kb/faq/gpu-754

Bekomme bei der Eingabe folgenden Befehls:
Code:
DISPLAY=:0 xrandr --output DisplayPort-1 --set "freesync" 0

Diese Fehlermeldung:

Code:
DISPLAY=:0 xrandr --output DisplayPort-1 --set "freesync" 0
X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  11 (RRQueryOutputProperty)
  Serial number of failed request:  45
  Current serial number in output stream:  45

Bin ich zu blöd, oder stimmt die Anleitung von AMD nicht?
 
Zuletzt bearbeitet:
Tach,
hast du die Eingabe als root bzw. mit sudo gemacht?
... kannst ja mal versuchen, könnte klappen.

Ansonsten lese ich meist, dass nach der Änderung der entsprechenden xorg.conf - in deinem Fall "10-amdgpu.conf" - ein Reboot erforderlich ist, bzw. ein Neustart des X-Daemon sollte auch reichen.

Kann es leider nicht testen, da ich keine Freesync-kompatible Hardware habe.

Viel Erfolg
 
Ja, sudo bzw. root funktioniert leider nicht.

Das mitm System Neustart könnte man doch auch über einen neustart des Xservers abkürzen oder?

Müsste ich Mal ausprobieren
 
--output DisplayPort-1

du musst DisplayPort-1 mit deinem Ausgang ersetzen. Könnte sein, dass es eDP-1-1 ist.

Versuch mal "xrandr | grep -e " connected [^(]" | cut "-d " -f1"

Müsste dir eigentlich den Output anzeigen.
 
polyphase schrieb:
Bin ich zu blöd, oder stimmt die Anleitung von AMD nicht?
Ich würde auf letzteres tippen, denn die Ausgabe von xrandr --prop enthält den Parameter „freesync“ bei mir auch nicht. xrandr spucht auch hier den gleichen Fehler wie bei dir aus.

Wie äußerst sich die Änderung der Bildwiederholfrequenz bei dir? Ich bekomme davon überhaupt nichts mit, so dass er mir 48 Hz anzeigt wenn sich nichts bewegt und sonst auf 120 Hz (von mir so gewählt) geht. Absolut smooth. 🙂
 
@ufopizza
Als Ausgabe zu deinem Befehl erhalte ich
Code:
DisplayPort-1
was auch mit dem physikalischen Port der Grafikkarte übereinstimmt. Das sollte nicht das Problem sein.

@???
Ich habe mir nochmals die Ausgabe von
Code:
xrandr --prop
angeschaut und der Parameter heißt wohl jetzt "vrr"

Die Bildwiederholffrequenz sprint dauernd auf dem Desktop hin und her (siehe ich in der eingeblendeten FPS Anzeige des Monitors), was zu einen flackern führt.
In Spielen habe ich keinerlei Probleme mit FreeSync, da flackert auch nix.

Am schönsten wäre es wenn, das System selbst erkennen würde wann FreeSync aktiv sein muss oder nicht.
Notfalls habe ich auch nix dagegen, das FreeSync standardmäßig aus ist und ich es vor dem Starten eines Spieles von Hand einschalte.
Ergänzung ()

Was jetzt eine Möglichkeit ist:
Die "10-amdgpu.conf" vor dem starten eines Spieles mit den entsprechenden Zeilen zu erweitern und den
Xserver per Befehl neu zu starten, dann ist FreeSync aktiv. Ensprechend nach beenden des Spieles die Zeilen wieder aus der Datei entfernen/auskommentieren und den Xserver wieder neu zu starten.

Das habe ich gerade mal getestet und das würde gehen, nur schießt er mir dann alle laufenden Programm ab.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: ufopizza
Ich habe rausgefunden, das es eine Blacklist gibt.
"/usr/share/drirc.d/00-mesa-defaults.conf"

https://wiki.archlinux.org/title/Variable_refresh_rate

Diese soll verhindern, das FreeSync bei bestimmten Applikationen aktiviert wird.
Nur leider scheint diese ignoriert zu werden, denn der Compositor von Cinnamon steht drin, nutzt aber trotzdem FreeSync (Adaptive Sync):
Code:
<application name="mutter" executable="mutter">
            <option name="adaptive_sync" value="false" />
            <option name="v3d_nonmsaa_texture_size_limit" value="true" />
</application>
<application name="muffin" executable="muffin">
            <option name="adaptive_sync" value="false" />
</application>
 
Hmm, so tief habe ich da noch nicht gegraben. Ich sehe hier jedenfalls keinen Prozess mit dem Namen „mutter“ oder „muffin“ auf den diese Regel angewendet werden könnte, obwohl ich auch Cinnamon nutze.

Der Prozess „cinnamon“ nutzt bei mir „libmuffin.so“, so dass es vielleicht nötig ist, dass du „cinnamon“ mit auf deine Blacklist setzt, damit sich das auswirkt. Aber wie eingangs erwähnt: ich habe keine Ahnung.
 
Läuft Freesync nicht automatisch unter Linux? Hatte angenommen, das es unter Manjaro z. B. von Hause aus läuft.
 
Wie es bei Manjaro ist weiß ich nicht.
Bei Mint muss es über die Config Datei des Grafiktreibers aktiviert werden (amdgpu).

Das blöde ist nur, dass auch der ganze Desktop dann unter FreeSync läuft, was wirklich sehr stört.
 
  • Gefällt mir
Reaktionen: Hunky
polyphase schrieb:
Das blöde ist nur, dass auch der ganze Desktop dann unter FreeSync läuft, was wirklich sehr stört.
Das hängt offenbar auch von der verwendeten Hardware ab, denn hier flackert nichts.

Ich habe die von dir erwähnte Blacklist zum Test um „cinnamon“ ergänzt:
Code:
<application name="cinnamon" executable="cinnamon">
    <option name="adaptive_sync" value="false" />
</application>
Jetzt bleibt er bei mir auf dem Desktop bei 120 Hz. Dummerweise aber auch im „vrrtest“ - egal ob Vollbild oder nicht.
 
  • Gefällt mir
Reaktionen: polyphase
Oh danke, muss ich heute Abend ausprobieren
Ergänzung ()

Das blöde ist halt nur, das die Framerate auf dem Desktop auf min. 40FPS fällt. Das wird auch der Grund für das Flackern sein, obwohl das Display das können sollte. (Acer XF270HUA die letzte Revision)
 
Zuletzt bearbeitet:
@???
Es funktioniert, der Desktop ist jetzt stabil bei 120Hz!
Und Spiele die in Vollbild ausgeführt werden nutzen FreeSync.
(nicht alle, so 2/3 funktionieren)

Leider funktioniert das aktuell mehr schlecht als recht.
Führt teilweise zu Bildrucklern bzw. Bildfehler, welche mit den gleichen Spielen unter
Windows mit aktiviertem FreeSync nicht auftreten.

Und der "vrrtest" läuft auch mit FreeSync, wenn man mit "STRG+F" in den Fullscreen Modus wechselt!

Update:
FreeSync funktioniert nicht mehr, sobald folgende Option in der 10-amdgpu.conf gesetzt ist:
Code:
Option "TearFree" "1"
 
Aha. 🙂
TearFree habe ich bei mir nicht gesetzt und die <Ctrl>+<F> Nummer im „vrrtest“ habe ich beachtet. Vielleicht liegt's am dual-Monitor-Setup - ist für mich aber auch nicht so wichtig, da ich hier meinen Desktop einfach mit FreeSync laufen lassen kann.

Edit (jetzt wollte ich es doch nochmal wissen...):
Der „vrrtest“ startet bei mir schon im Fullscreen-Modus. Es ist dann egal, ob ich den Fullscreen-Modus per <Ctrl>+<F> oder über die Tastenkombination, die ich meinem Window-Manager verpasst habe, umschalte - er macht dann bei mir einfach kein FreeSync mehr. Warum auch immer. 😉
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: polyphase
Irgendwie steige ich dabei garnicht mehr durch, denn:

1. Wenn FreeSync aktiv:
  • dann springt die FPS Zahl des Monitor OSD extremst hin und her z.B das Spiel hat gerade 56FPS dann springt das zwischen 56 bis über 90Hz unkontrolliert rum
  • dann habe ich im vrrtest kein Tearing
  • dann habe ich in Spielen Bildfehler und Ruckler

2. Wenn FreeSync nicht aktiv:
  • dann steht das OSD meines Monitors fest auf 120Hz, auch wenn das Spiel z.B. 56FPS hat
  • dann habe ich im vrrtest tearing
  • dann habe ich in Spielen keinerlei Probleme
  • dann habe ich in Spielen kein Tearing, auch nicht wenn ich es provoziere!

zu 1.
Als wäre FreeSync doppelt aktiv und würde sich selbst stören (geht das überhaupt?)

zu 2.
Als wäre FreeSync aktiv, nur der Monitor zeigt es im FPS Counter nicht an.


Langsam zweifle ich echt, an mir selbst 😅
Hab mal meine Hardware in den ersten Beitrag eingetragen, hatte ich vergessen.
 
Zuletzt bearbeitet:
??? schrieb:
Wie äußerst sich die Änderung der Bildwiederholfrequenz bei dir? Ich bekomme davon überhaupt nichts mit, so dass er mir 48 Hz anzeigt wenn sich nichts bewegt und sonst auf 120 Hz (von mir so gewählt) geht. Absolut smooth. 🙂
Sorry, falls ich das irgendwo überlesen haben sollte, aber welche Distro nutzt du?

Nvidia oder AMD Grafikkarte?
 
Du hast nichts überlesen, weil ich nichts dazu geschrieben hatte. 😉
Ich nutze Arch Linux und habe eine Radeon RX 5700 XT (Treiber: amdgpu), daran zwei Dell S2721DGFA per DisplayPort.
 
  • Gefällt mir
Reaktionen: polyphase
Danke für die Info!
Dann werde ich mir mal anschauen wie Manjaro sich so verhält mit meinem Rechner.
 
Zurück
Oben