144 Hz Problem unter OS X
2025 Ein Versuch das Problem zu beheben
22 Juni 2025
Nach langem Suchen und Versuchen die EDID anzupassen (erfolglos bisher), fand ich folgenden Hinweis:This is on Apple to fix, as apparently they broke DSC support in Big Sur
DSC = Display Stream Compression
DSC funktioniert erst mit DP 1.4
144 Hz Problem unter OS X
Als ich OCLP an meinem Mac Pro 5.1 ausprobierte, fiel mir auf, das mein Monitor wieder nicht mit den 144Hz lief.
Als ich OCLP an meinem Mac Pro 5.1 ausprobierte, fiel mir auf, das mein Monitor wieder nicht mit den 144Hz lief.
Der Versuch per AppleScript
Meine Recherchen brachten mich nicht wirklich weiter. Man findet zwar viele Seite auf denen dasselbe Problem berichtet wird, aber außer Monitor Aus- und Einschalten fand ich keine Lösung.
Irgendwann dachte ich mir, vielleicht kann man das mit einem automatischem Skript lösen?
ChatGPT spuckte was halbwegs brauchbares aus.
Mithilfe von displayplacer displayplacer GIT konnte man die Auflösung und Frequenz ermitteln und alles neu setzen
Die Eingabe in der Bash dieses Befehls:
Ergibt die Auflösung des Monitors.
Meine Recherchen brachten mich nicht wirklich weiter. Man findet zwar viele Seite auf denen dasselbe Problem berichtet wird, aber außer Monitor Aus- und Einschalten fand ich keine Lösung.
Irgendwann dachte ich mir, vielleicht kann man das mit einem automatischem Skript lösen?
ChatGPT spuckte was halbwegs brauchbares aus.
Mithilfe von displayplacer displayplacer GIT konnte man die Auflösung und Frequenz ermitteln und alles neu setzen
Die Eingabe in der Bash dieses Befehls:
displayplacer listErgibt die Auflösung des Monitors.
displayplacer "id:8E1DEA0D-243B-18C2-4A1E-88B6C5B7F2A8 res:2560x1440 hz:144 color_depth:8 enabled:true scaling:off origin:(0,0) degree:0"
Das AppleScript
AppleScript
set displayID to "id:8E1DEA0D-243B-18C2-4A1E-88B6C5B7F2A8"
set desiredRefreshRate to "144"
--set desiredResolution to "2560x1440"
set displayConfig to do shell script "displayplacer list "
if displayConfig contains displayID then
--do shell script "pmset displaysleepnow"
--tell application "System Events"
--do shell script "caffeinate -u -t 1" -- simuliert eine Benutzeraktivität
--end tell
do shell script "/Users/gds/Downloads/displayplacer '" & displayID & " res:2560x1440 hz:" & desiredRefreshRate & "'"
else
display dialog "Display-ID nicht gefunden."
end if
Erklärung der Parameter
- set displayID - bekommt man von displayplacer. Das ist die ID vom eigenen Monitor. [definierte Variable]
- set desiredRefreshRate - Die Refreshrate des Monitors die man haben will [definierte Variable]
- set desiredResolution - Die Auflösung des Monitors die man haben will[definierte Variable]
- set displayConfig to do shell script "/Users/gds/Downloads/displayplacer list " - Listet die Auflösung auf
- if displayConfig contains displayID - Schaut ob es der richtige Monitor ist
- do shell script "/Users/gds/Downloads/displayplacer '" & displayID & " res:2560x1440 hz:" & desiredRefreshRate & "'" - Versucht die richtige Auflösung einzustellen
Problem des Skriptes
Wenn ich nach dem Starten das Skript ausführe, kommt die Fehlermeldung das die Auflösung nciht exisitiert.
Ich gebe also in der Bash den Befehl ein:
In der Ausgabe fehlen ungefähr die Hälfte der möglichen Auflösungen des Monitors.
Schalte ich den Monitor nun Aus- und wieder Ein, führe den Befehl erneut aus, sind alle Auflösungen vorhanden.
Unter Mojave gibt es das Problem nicht, die Hardware hat sich nicht geändert.
Es bleibt also einzige das Betriebssystem übrig.
Wenn ich nach dem Starten das Skript ausführe, kommt die Fehlermeldung das die Auflösung nciht exisitiert.
Ich gebe also in der Bash den Befehl ein:
displayplacer listIn der Ausgabe fehlen ungefähr die Hälfte der möglichen Auflösungen des Monitors.
Schalte ich den Monitor nun Aus- und wieder Ein, führe den Befehl erneut aus, sind alle Auflösungen vorhanden.
Unter Mojave gibt es das Problem nicht, die Hardware hat sich nicht geändert.
Es bleibt also einzige das Betriebssystem übrig.
Fazit
Das Problem ist leider noch ungelöst.
Das Problem ist leider noch ungelöst.
Fazit
Der Versuch den Monitor in den Standby zu schicken und wieder aufzuwecken brachte auch keinen Erfolg.
Der Versuch den Monitor in den Standby zu schicken und wieder aufzuwecken brachte auch keinen Erfolg.
do shell script "pmset displaysleepnow"
tell application "System Events"
do shell script "caffeinate -u -t 1" -- simuliert eine Benutzeraktivität
end tell
Mithilfe von KI bekam ich diese Antworten und Lösungsvorschläge
Was hat Apple ab Big Sur geändert?
Neuer Grafiktreiber-Stack (Metal-only)
Seit macOS Big Sur hat Apple viele Legacy-Treiber (OpenGL, OpenCL, Kernel Extensions) entfernt oder stark eingeschränkt.
Only Metal: GPUs müssen Metal-kompatibel sein – was die RX 580 zwar ist, aber das Handling beim Booten läuft anders als früher.
Display Initialisierung & EDID-Erkennung
Apple hat ab Big Sur das Verhalten der Display-Initialisierung während des Boot-Vorgangs verändert.
Die Erkennung von EDID-Daten (Display-Informationen) geschieht jetzt anders oder verzögert.
Besonders bei älteren Mac Pros mit OpenCore + Nicht-Apple-GPU kommt es vor, dass die EDID beim Boot nicht korrekt gelesen wird → Resultat: Nur Basismodi (1080p@60Hz) werden angeboten.
Keine native Unterstützung für Polaris GPUs
Die RX 580 wird zwar ab Mojave nativ unterstützt, aber nur mit vollständiger Unterstützung bei echten Mac-Modellen ab 2013+ oder über Tricks wie OpenCore.
In macOS Sequoia (und bereits Ventura/Sonoma) ist die Polaris-Unterstützung „geduldet“, aber nicht mehr zuverlässig initiiert beim Boot.
Was hat Apple ab Big Sur geändert?
Neuer Grafiktreiber-Stack (Metal-only)
Seit macOS Big Sur hat Apple viele Legacy-Treiber (OpenGL, OpenCL, Kernel Extensions) entfernt oder stark eingeschränkt.
Only Metal: GPUs müssen Metal-kompatibel sein – was die RX 580 zwar ist, aber das Handling beim Booten läuft anders als früher.
Display Initialisierung & EDID-Erkennung
Apple hat ab Big Sur das Verhalten der Display-Initialisierung während des Boot-Vorgangs verändert.
Die Erkennung von EDID-Daten (Display-Informationen) geschieht jetzt anders oder verzögert.
Besonders bei älteren Mac Pros mit OpenCore + Nicht-Apple-GPU kommt es vor, dass die EDID beim Boot nicht korrekt gelesen wird → Resultat: Nur Basismodi (1080p@60Hz) werden angeboten.
Keine native Unterstützung für Polaris GPUs
Die RX 580 wird zwar ab Mojave nativ unterstützt, aber nur mit vollständiger Unterstützung bei echten Mac-Modellen ab 2013+ oder über Tricks wie OpenCore.
In macOS Sequoia (und bereits Ventura/Sonoma) ist die Polaris-Unterstützung „geduldet“, aber nicht mehr zuverlässig initiiert beim Boot.
Lösungsvorschläge
1. EDID dauerhaft injizieren
DeviceProperties -> Add -> PciRoot(0x0)/Pci(0x2,0x0) -> AAPL00,override-edid
Ist boot-args mit agdpmod=pikera gesetzt? (Für RX 580 Pflicht!)
Ist der Connector-type richtig gesetzt für deinen DisplayPort/HDMI-Ausgang?
2. UseKernelCache & force resolution
Einige Nutzer berichten von Erfolgen mit folgenden Kombinationen in OpenCore:
boot-args: "agdpmod=pikera -cdfon"
boot-args: "agdpmod=pikera -cdfon -wegbeta"
1. EDID dauerhaft injizieren
DeviceProperties -> Add -> PciRoot(0x0)/Pci(0x2,0x0) -> AAPL00,override-edid
DeviceProperties
< key>Add
< dict>
< key>PciRoot(0x0)/Pci(0x2,0x0)< /key>
< dict>
< key>AAPL00,override-no-connect< /key>
< data>
< key>AAPL00,override-edid< /key>
< data>
BASE64_EDID_HIER_EINFÜGEN
< /data>
< /dict>
< /dict>
< /dict>
Ist boot-args mit agdpmod=pikera gesetzt? (Für RX 580 Pflicht!)
Ist der Connector-type richtig gesetzt für deinen DisplayPort/HDMI-Ausgang?
2. UseKernelCache & force resolution
Einige Nutzer berichten von Erfolgen mit folgenden Kombinationen in OpenCore:
boot-args: "agdpmod=pikera -cdfon"
boot-args: "agdpmod=pikera -cdfon -wegbeta"



