Nur eine Bildwiederholrate von 60Hz möglich. Bloß warum?

Hallo zusammen,

ich nutze Manjaro mit dem Cinnamon Desktop und dem Kernel 6.3.2. Das System läuft auf einer Intel Core i7-12700K CPU in Verbindung mit einer Nvidia RTX 3060 TI GPU (neuester Treiber aus dem AUR ist drauf). Als Monitor kommt ein ASUS TUF Gaming VG249QM1A, mit 240 Hz, zum Einsatz. Im Großen und Ganzen läuft das System stabil. Was mich allerdings stört, ist das folgende Phänomen:

In den Anzeigeeinstellungen habe ich für den oben genannten Monitor 240 Hz ausgewählt, was auch akzeptiert wird. Im Desktop merkt man die Umstellung von 60 Hz auf 240 Hz auch sofort, die Funktion ist also gegeben. Nur wenn ich z.B. das Spiel CS:GO unter Steam starte, dann schaltet er den Monitor wieder auf 60 Hz, aber nur im Spiel!, zurück. Das merke ich sofort wenn ich eine Runde starte und sehe wie die Bewegung einfach nicht mehr so flüssig ist wie unter 240 Hz. Beende ich das Spiel und lande dann wieder auf dem Desktop, so sind die 240 Hz wieder aktiv.

Startparameter für CS:GO, wie -freq 240 usw., führen alle nicht zum gewünschten Erfolg. Auch die Console spuckt unter dem Befehl mat_info nur die Auflösung aus, allerdings mit dem Zusatz @0Hz.
Woran könnte das liegen? Wie kann ich herausfinden, was die Ursache dafür ist?

Vielen Dank.

Gruß
Infosucher

Hallo @Infosucher :wink:

Kann es vielleicht sein, dass du 2 Monitore hast? Einer auf 240hz an der andere auf 60hz? In dem Fall schaltet der dann auf den kleinsten gemeinsamen Nenner, also 60hz bei OpenGL. Das ist vom Treiber her so, soweit ich weiß.

Schau mal hier: Chapter 11. Specifying OpenGL Environment Variable Settings

Setze in Steam’s Startoptionen des Spiels das ein:

__GL_SYNC_DISPLAY_DEVICE='DP-1' %command%

Den Wert für die Variable bekommst du aus xrandr, je nachdem wie deine Verbindung heißt. Also DP-1 austauschen dann.

Du kannst natürlich auch vsync ausschalten:

__GL_SYNC_TO_VBLANK=0 %command%

Empfehlen würde ich dann auch ForceCompositionPipeline oder ForceFullCompositionPipeline (wenn du “ViewPortOut scaling” verwendest) wegen Tearing einzuschalten.

1 Like

Hallo @megavolt

ja Du hast Recht, ich habe in der Tat zwei Monitore die so wie von Dir beschrieben laufen. Der alte Monitor hat noch 60 Hz. Ich war bisher der Meinung das sei irrelevant. Man lernt nie aus :smiley:

Ich werde das heute Abend nach der Arbeit direkt mal testen und berichten.

Vielen Dank schon mal.

Gruß
Infosucher

PS: Mein Asus Monitor ist am 1. DisplayPort angeschlossen. Demnach müsste DP-1 direkt richtig sein. VSYNC habe ich bereits in den Nvidia Einstellungen und auch im Spiel direkt deaktiviert. Gebracht hat es bloß nichts.

So ich habe das jetzt mal ausprobiert. Leider startet CS:GO mit den Parametern nicht.

Ich habe dann einfach mal den zweiten Monitor abgeklemmt und siehe da, die 240Hz bleiben auch im Spiel erhalten. Das was Du geschrieben hast, passt also auf jeden Fall. Der 240Hz Monitor ist auf DP-0 angeklemmt und der 60Hz Monitor auf HDMI-0. HDMI-0 scheint immer Vorrang zu haben, da Manjaro bzw. der Treiber den Monitor immer als 1 (Hauptbildschirm) zuordnet und den 240Hz Monitor als 2. Auch wenn ich den Hauptbildschirm umstelle, bleibt HDMI-0 die 1 im Anzeigemenü.

Idee wäre jetzt, einen HDMI 2 DP Adapter zu kaufen und den alten Monitor damit an DP-1 anzuschließen. Dann sollten die Probleme doch behoben sein oder?

Gruß
Infosucher

Kurz gesagt: Denke nicht. Die Reihenfolge ist eigentlich egal. Die Direktive ist bei OpenGL Vsync ist immer den kleinsten Wert zu nehmen. Bei 120Hz und 240Hz wird, dieser auch immer 120Hz nehmen, wenn nicht anders angewiesen.

Du könntest: __GL_SYNC_DISPLAY_DEVICE=DP-0 deiner /etc/environment Datei hinzufügen → Neu-Einloggen/Neustarten. Dann ist es global aktiv.

Das merkwürdige dabei ist ja, dass ich VSync in Nvidia Manager ausgestellt habe. Wie kann ich denn im Treiber erzwingen, dass er sich nur auf den 1. Monitor konzentriert und bei OpenGL Anwendungen den zweiten Monitor gar nicht kennt?

Ich werde das mit der environment Datei heute Abend direkt nochmal ausprobieren. Vielleicht klappt das ja.

Gruß
Infosucher

Ok ich habe es gerade so probiert mit der environment Datei. Leider kein Erfolg. Es klappt wirklich nur wenn ich den Monitor abklemme. Echt schade das es keine Lösung dafür gibt. Ich finde auch durch suchen im Netz nichts weiter.

Gruß
Infosucher

Dann gib doch zumindest mal Rückmeldung, was du eingestellt hast:

xrandr
cat /etc/environment
env

Hast du das auch getestet?

xrandr:

txrandr
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 32767 x 32767
DP-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 527mm x 296mm
   1920x1080     60.00 + 239.76*  144.00   119.98   119.93    99.90    84.88    59.94    50.00  
   1440x576      50.00  
   1440x480      59.94  
   1280x1024     75.02  
   1280x800      74.93    59.81  
   1280x720      74.78    60.00    59.94    50.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    59.94    59.93  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 531mm x 299mm
   1920x1080     60.00*+  59.94    50.00  
   1680x1050     59.95  
   1440x900      59.89  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1280x800      59.81  
   1280x720      60.00    59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94    59.93  
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)

cat /etc/environment

#
# This file is parsed by pam_env module
#
# Syntax: simple "KEY=VAL" pairs on separate lines
#
__GL_SYNC_DISPLAY_DEVICE=DP-0
__GL_SYNC_TO_VBLANK=0 %command%

env

env
SHELL=/bin/bash
SESSION_MANAGER=local/steve-manjaro:@/tmp/.ICE-unix/1296,unix/steve-manjaro:/tmp/.ICE-unix/1296
__GL_SYNC_DISPLAY_DEVICE=DP-0
COLORTERM=truecolor
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LC_ADDRESS=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
CINNAMON_VERSION=5.6.8
__GL_SYNC_TO_VBLANK=0 %command%
DESKTOP_SESSION=cinnamon
LC_MONETARY=de_DE.UTF-8
EDITOR=/usr/bin/nano
GTK_MODULES=canberra-gtk-module
XDG_SEAT=seat0
PWD=/home/steve
LOGNAME=steve
XDG_SESSION_DESKTOP=cinnamon
QT_QPA_PLATFORMTHEME=qt5ct
XDG_SESSION_TYPE=x11
XAUTHORITY=/home/steve/.Xauthority
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/steve
MOTD_SHOWN=pam
GTK2_RC_FILES=/home/steve/.gtkrc-2.0
HOME=/home/steve
LC_PAPER=de_DE.UTF-8
LANG=de_DE.UTF-8
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
XDG_CURRENT_DESKTOP=X-Cinnamon
VTE_VERSION=7201
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/c96fbed0_4dd2_4ed6_9178_fce895069d9a
XDG_SESSION_CLASS=user
TERM=xterm-256color
LC_IDENTIFICATION=de_DE.UTF-8
GTK_OVERLAY_SCROLLING=1
USER=steve
GNOME_TERMINAL_SERVICE=:1.71
DISPLAY=:0
SHLVL=1
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
XDG_VTNR=7
XDG_SESSION_ID=2
XDG_RUNTIME_DIR=/run/user/1000
DEBUGINFOD_URLS=https://debuginfod.archlinux.org 
LC_TIME=de_DE.UTF-8
GTK3_MODULES=xapp-gtk3-module
XDG_DATA_DIRS=/home/steve/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop
PATH=/home/steve/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin
GDMSESSION=cinnamon
SAL_USE_VCLPLUGIN=gtk
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
MAIL=/var/spool/mail/steve
LC_NUMERIC=de_DE.UTF-8
_=/usr/bin/env

Auch das VBLANK bringt keine Besserung.

Gruß
Infosucher

Erm… du weißt schon, dass %command% für steam sein soll? Hat hier nix zu suchen…


Ein anderer Versuch wäre der KMS Modus. Da du nur Nvidia verwendest, wäre das eine Option.

nvidia-drm.modeset=1

zu den Kernel Parametern hinzufügen und neu starten.

Vielleicht hilft das ja:

https://www.reddit.com/r/linuxhardware/comments/mht7kn/workaround_for_multiple_monitors_with_different/

1 Like

nicht vergessen die änderungen mit

sudo update-grub 
sudo mkinitcpio -P

zu aktivieren

1 Like

Leider hilft das alles nicht. Aber ich habe eine interessante Beobachtung gemacht:

Ich habe gerade Manjaro mit dem Plasma Desktop, auf einer anderen Platte, neu installiert. Wayland läuft leider nicht, da springt er immer wieder zur Anmeldung zurück, aber X11 funktioniert.

Dann im neuen System nochmal Steam und anschließend CS:GO installiert und siehe da, das Problem ist behoben! Das Spiel läuft jetzt ohne irgendwelche Zusatzparameter oder sonstige Einstellungen, im Nvidia Manager, direkt mit den 240Hz. Das mag jetzt nicht des Rätsels Lösung sein, aber ich wollte bisher schon immer mal KDE ausprobieren. Hat sich direkt gelohnt!

Nochmals vielen Dank für Deine Geduld und Hilfsbereitschaft und noch einen schönen Abend.

Gruß
Infosucher

das sollte sich eigentlich längst rumgesprochen haben das wayland und nvidia todfeinde sind. mit amd läuft wayland allerdings super. das ist zwar ot aber wayland ist es wert sich endgültig von nvidia zu trennen.

Wobei ich jetzt noch eine Lösung gefunden habe um Wayland zuverlässig auf Nvidia GPU’s zum Laufen zu kriegen:

Der Nachteil hierbei ist, dass der 240 Hz Monitor nur bis 144 Hz läuft. Man kann nichts höheres auswählen. Bei X11 geht das schon. Daher werde ich bei X11 bleiben.

Gruß
Infosucher