3 ms·
Try Fedora with KDE. It has fractional scaling, per display. I set my laptop (1920x1080) to 120%, effectively making it 1600x900 but with very good physical si
by BatteryMountain 1y ago
Try Fedora with KDE. It has fractional scaling, per display.
I set my laptop (1920x1080) to 120%, effectively making it 1600x900 but with very good physical size of things. I set my external panel (2560x1440) to 160%, effectively making it 1600x900 also. KDE even visualizes the two panels to be the same size. Ontop of these basic DPI settings, you can then tweak font/text even further. Its quite amazing. Windows cannot do custom dpi per monitor, only a single custom dpi that gets applied to all monitors.
If you do go down the fractional scaling rabit hole, make sure whatever values you pick, both the height and width ends without any fractions after applying your custom dpi... that elimnates all blurs. In my example above, 2560/1.6 and 1440/1.6 gives nice round numbers, even though the operating systems typically only offer 100/125/150/175/200 etc.
I built a small console app for myself that takes the resolution and tests all increments of 1% to see which resolution combinations gives values that don't end with fractions at the end. So it tells me which effective resolutions I will get at which % settings. Its awesome and made it so that I can easily make so that my laptop and external display has the same amount of space (or line of code) on the screen, even though they are different physical sizes.
- johnh-hn 1y agoThanks for detailed response. Do you happen to know if this is a recent change in Fedora/KDE? I tried somewhat recently, although I can't remember quite when that was. Gnome had experimental support for fractional scaling at the time but it wasn't good enough to switch to. > Windows cannot do custom dpi per monitor, only a single custom dpi that gets applied to all monitors. Yeah, support for custom DPI in general isn't great. I've been using https://www.majorgeeks.com/files/details/windows_10_dpi_fix.html https://www.majorgeeks.com/files/details/windows_10_dpi_fix.... for years to at least partially help. Edit: I think I answered my own question about how recent the change might have been: https://blogs.kde.org/2024/12/14/this-week-in-plasma-better-fractional-scaling/ https://blogs.kde.org/2024/12/14/this-week-in-plasma-better-... This seems to be just after I last tried. I'll give it another go, thanks BatteryMountain!
- yndoendo 1y agoCurious about GNOME fractal scaling issues you experience. I currently have the experimental feature enable at 150% scale for a laptop screen at 2560x1600 resolution. Have not had any issues by itself nor with an external 3440x1400 at 100% scale with GNOME 48.
- johnh-hn 1y agoI wish I could give you a better answer here, but I honestly don't remember. I only remember that something I needed was missing from it for me to make the switch.
- jchw 1y agoAs a word of warning, it is still not 100% perfect. I've noticed that on my laptop, when the Zed editor is maximized, there is a tiny gap between it and the panel at the bottom. I think this happens when an app, even if it supports fractional scaling in general, can't handle a logical window size that is not a whole number. To be fair, this is one of the only apps I've really had any scaling issues with lately, and it is just a minor visual annoyance. The Linux DPI scaling story is finally pretty solid. Also, many apps (including Electron/Chromium apps) will still run under XWayland when using a Wayland session by default, because there are still a handful of small issues and omissions in their Wayland drivers. (It's pretty minor for Electron/Chromium so you can opt to force it to use native Wayland if you want.) In case of XWayland apps, you'll have to choose between allowing X11 apps to scale themselves (like the old days) or having the compositor scale them (the scaling will be right, even across displays, but it will appear blurry at scales higher than 1x.) I still recommend the Wayland session overall; it gives a much more solid scaling experience, especially with multiple monitors.
- johnh-hn 1y ago> In case of XWayland apps, you'll have to choose between allowing X11 apps to scale themselves (like the old days) or having the compositor scale them (the scaling will be right, even across displays, but it will appear blurry at scales higher than 1x.) I still recommend the Wayland session overall; it gives a much more solid scaling experience, especially with multiple monitors. I'm wondering if this was the problem I was running into before – it sounds eerily familiar. I never got far enough to explore individual apps outside of preinstalled ones because I couldn't get comfortable enough. I appreciate your response as I wasn't aware of the different session types.
- okanat 1y ago> Windows cannot do custom dpi per monitor, only a single custom dpi that gets applied to all monitors. This is wrong. Windows supports per monitor DPI since Windows 8 and have an improved API since Windows 10. I find it the only good implementation among desktop OSes. It is the only one that guarantees that font renders align with the pixel grid. Many old apps do not support this API though. It is opt-in and while there is a hybrid mode to let Windows scale fonts and Win32 components via API hooks, without implementing DPI change callback most apps turn into blurry mess. Usually browsers have the gold standard implementation of those callbacks hence why Electron is used everywhere.
- BatteryMountain 1y agoBrother I'm looking right at it. I cannot set one monitor to 120% and another to 160% (both are custom values), like on KDE. If I use a custom setting it gets applied to both monitors, in fact it gets grayed out for some reason - the values don't even show properly. Only a reset button available that logs you out to reset it to 100%. If I want to set them to different scaling factors, I have to use one of the values from the drop downs (100/125/150/175/200%), which is not what I want.
- okanat 1y agoYou have literally said this: > Windows cannot do custom dpi per monitor, only a single custom dpi that gets applied to all monitors. Here are all of my monitors at different DPIs: https://imgur.com/a/q3z2P1E https://imgur.com/a/q3z2P1E . They don't have a "single DPI" that gets applied to all of them. The custom DPI setting is for changing all base system DPI. > I cannot set one monitor to 120% and another to 160% (both are custom values), like on KDE. Okay you're unhappy with the granularity. Yes Windows uses 25% granularity. I don't know if this will work but you can probably do a combination of changing the base DPI and then calculating the 25%. So you can set the base DPI to something like 120 (which is 125%) and then set the other monitor to 125% which gives 156%: I think the base DPI is stored in this registry key: HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\AppliedDPI It is a DWORD value