Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Frame rate change #81

Open
Tabiskabis opened this issue Dec 24, 2021 · 3 comments
Open

Frame rate change #81

Tabiskabis opened this issue Dec 24, 2021 · 3 comments

Comments

@Tabiskabis
Copy link

Tabiskabis commented Dec 24, 2021

I have 2 Dell S2721DGF monitors connected to a Windows PC via HDMI at 144 Hz and a Mac laptop via DP at 120 Hz.
For the last few months, I've used a script for the Dell Display Manager application to switch inputs, and the refresh rates change to their respective max, as expected.

Every second or third time when i let display-switch go from the PC to the laptop input, the refresh rate of one of the screens (always the same one) drops to 60 Hz and it takes a cable reconnect for the 120Hz to be recognized as valid refresh rate again.

I'll just work around the issue by running the old script on the PC, but i'd love to get rid of that, as for some reason it's much slower in issuing the input switch command than display-switch is.

@haimgel
Copy link
Owner

haimgel commented Jan 10, 2022

I wonder if "much slower" part is relevant to reliability here... I guess the platform is Windows, correct?

@Tabiskabis
Copy link
Author

Whoops, grave mistake in my original post, now corrected.

The issue only happens when switching from PC to Mac, where the Mac version of display-switch commands the monitors to switch to DP (on_usb_connect = "DisplayPort1").

I have not tried using on_usb_disconnect on the windows PC, as the goal for me is to easily switch to the MacBook even when i'm running a different/temporary OS on the PC

@Tabiskabis
Copy link
Author

Tabiskabis commented May 9, 2022

Update for that: seems to be a timing issue on MacOS (i'm still on Mojave).
Issue solved by making on_usb_connect execute a script which issues the switch commands in parallel (using ddcctl).
ddcctl -d 1 -i 15 &
ddcctl -d 2 -i 15

Another update: it's definitely some timing issue. when the mac detects the first newly active monitor, a bunch of things happen before it starts actually sending signal to that screen. this reconfiguration takes about two seconds.
if the second screen becomes available when the reconfiguration has already reached a certain phase, something will fail and the second screen will be signalled with 60Hz only.

So the issue can be avoided by switching monitor inputs very slowly, with a ca. 3 second delay between each monitor.
Just kidding. obviously preferable is switching both monitors with as little delay as possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants