Skip to content

Comments

Use 'xrandr' to determine DPI on Linux, especially with wayland#17

Draft
edwintorok wants to merge 2 commits intosanette:masterfrom
edwintorok:dpi
Draft

Use 'xrandr' to determine DPI on Linux, especially with wayland#17
edwintorok wants to merge 2 commits intosanette:masterfrom
edwintorok:dpi

Conversation

@edwintorok
Copy link
Contributor

See discussion in #16, SDL2's wayland support is not great and different versions report DPI differently based on desktop scaling.
Latest SDL2 version (at least on Fedora 37) seems to have wayland reenabled by default, but still quite problematic.

Fall back to using 'xrandr' for now, which seems to report correct DPI.

…for auto-detection"

It doesn't work consistently with different versions of SDL2+wayland.
It is either twice as big or twice as small than it should be.

This reverts commit 7dcbb6d.
SDL2+wayland in various versions reports different DPI depending on
scaling.
On some versions it reports the monitor's true DPI regardless of desktop
scale factor. In other versions it scales the monitor's DPI down based
on desktop scale factor.
However there isn't a way to detect which one it is, so the only
reliable way to get DPI on wayland ... is to rely on XWayland and xrandr
which reports all this correctly.

(or use wayland-info but that isn't always installed).

'xdpyinfo' would report a bogus 96 DPI always, so that cannot be used.

Signed-off-by: Edwin Török <edwin@etorok.net>
@edwintorok
Copy link
Contributor Author

I still need to test this in various configurations, but it should implement the basic idea discussed in the other PR.
I'll let you know when it is ready for wider testing.

@sanette
Copy link
Owner

sanette commented Feb 15, 2026

do this still need to be merged,?

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

Successfully merging this pull request may close these issues.

2 participants