Scaling with Dual Monitor bad Font readability

Hi everyone,

I’m experiencing a strange issue that I haven’t been able to resolve through searching, so I’m reaching out for help.

I have a laptop running Fedora 40 and a second screen connected via HDMI. The screen is a Samsung S23CG50 (3440x1440, 21:9 native resolution). My laptop’s built-in screen has a resolution of 2880x1800, and because it’s a 14" screen, I have scaling enabled at 150%.

Here’s the problem:

When I enable scaling on the laptop screen, the fonts on the Samsung screen become very “crispy” and appear downscaled to the point where small font sizes are barely readable. For example, emails in Thunderbird with small text look quite chunky. However, if I move the window to the main (laptop) screen, which is scaled, the text looks fine again.

Here’s my setup:

  • 3440x1440 @ 100Hz [HDMI]
  • 2880x1800 @ 90Hz (scaled 150% to 1440x900) [Built-in]

If I disable scaling on the laptop screen (not using any scaling at all), everything looks fine. But the problem is that running my laptop screen without scaling makes everything too tiny for my eyes.

Is this a known issue, or is it uncommon? Is there a fix? I guess if both screens had the exact same resolution, this might not be an issue, but that’s not an option at the moment.

Thanks in advance for any ideas or suggestions!


System Details:

  • Fedora 40
  • Linux 6.9.8
  • Plasma 6.1.2 (Wayland)
  • Framework 6.3.0
  • Qt 6.7.2
  • Intel open-source Mesa driver 24.1.2
  • Laptop is a Tuxedo Infinity Book Pro 8

I run two monitors in a fixed configuration with quite different DPIs. I have a main 4K monitor and a second 1920x1200. The second monitor is used mainly for konsoles.

I’ve done some very hacky (unsupported) things to get them to look similar. From my notes:

  • I use xrandr to scale the normal monitor to match the window sizes on the 4K
    • For 156 or 144 DPI on the 4K 27 inch monitor on left, 24 inch 1920x1200 monitor on right:
    • Create /etc/X11/xinit/xinitrc.d/50-xrandr.sh
      xrandr --output DP-4 --auto --output DP-0 --auto --scale 1.75x1.75 --right-of DP-4
    • Disable Kscreen 2 in the KDE settings → Startup and Shutdown → Background Services to stop kscreen from messing with what was set by X11 startup. (Also stops Display-Port monitor hotplug rearrangement of windows - which I also don’t want).
    • Also disable GNOME/GTK Settings Synchronisation Service which seems to adjust font sizes.

The above is somewhat based on whats described at https://wiki.archlinux.org/title/HiDPI

Under KDE6 Wayland it’s difficult to force the desktop to obey the native DPI of the displays, so I’ve done another hack.

The environment variable QT_USE_PHYSICAL_DPI may be used to force the use of the physical DPI:

echo 'export QT_USE_PHYSICAL_DPI=1' >> /home/testuser/.config/plasma-workspace/env/hidpi.sh

Full details relating to the DPI hack can be found in these two old threads:

And also this bug-report 486599 – Request for a use-native-DPI setting

If you read through the references, you will see that my approach is swimming against the tide, but until I get monitors all of the same DPI, and until all applications are altered to behave properly in X11 and Wayland, they keeps me sane (at least arguably so).

I guess you are using X11. If you use wayland instead, you could have different scaling for each monitor.

Thanks for the Long reply, I will try the recommendations.

The X11 “fix” is not really helping though because I will not try to force the system back to X11, just been on wayland for 6month now and beside that DPI issue it is fine for me.

I update the post later if it helped.

I guess you are using X11. If you use wayland instead, you could have different scaling for each monitor.

“Unfortunately” not. As written in my op I’m on wayland. And it is not about having different scaling on both monitors, it is having differen DPI on both screens. If you have screens with different DPI the wayland scaling is just not working well. It is working but only taking a global (main display) DPI into account.

I tried the

“fix” - unfortunately this is not solving it. It makes it better on the HDMI Display, now the fonts are clear and readable. But the whole scaling is now broken on the Main Display. The UI Elements like the window frame are now very tiny and all other Qt Elements are huge.

Only way to run somehow usable in this is setting the main display to 100% and the HDMI to -50% which at the end make things worse because many apps break completely by doing so.

I made a small recording showing the behavior with physical_dp=1

fair.tube/w/9xAYpFVnvTiDVyTLRmpFJZ

I guess I need to find another way.

In General Wayland have come far in the past year but still some things need to be ironed out. Luckily it is not unusable completly.

That would be a hackish solution for X11 only.

In Plasma Wayland you can select a scale per-display natively without any hack, on my system for instance (with the second screen rotated):


Proper scaling might not work for application that uses XWayland. You can force some application to use native Wayland protocol such as Firefox, thunderbird, or chrome. Thunderbird not using Wayland by default after upgrade to KDE 6 / Applications & Desktop Environments / Arch Linux Forums

Some might not work at all and look ok only on one screen and that’s an application issue. You can force specific scaling for specific application as a workaround. More on that HiDPI - ArchWiki

Sorry it didn’t help. As you can see from my post and others, there’s a lot of options.

Under wayland I still use QT_USE_PHYSICAL_DPI=1, so for me it’s not just an X11 hack. Under Wayland, I can’t use xrandr, but in the KDE Display settings I set my main 4k 27" display scale to 100%, and my 1920x1200 27" display to 55%. In Wayland, I then also have to change only one font size, the Fonts->Window Title needs to be increased to fix the title bars (all other font sizes remain at the defaults).

In my case, as mentioned in my posts/bug-report, I’m seeking to have photos plans and documents display at real on-paper size. Currently different Wayland/XWayland photo editors and document viewers scale inconsistently - so images in gwenview might look a different size than in digikam or gimp. That drives my approach. (Forcing the main monitor to 100% at its physical DPI means applications don’t scale - which means they all have the same scale)

The arch wiki pretty much guided my approach, so it is a good place to start for any HiDPI related issues.

Thanks for the Input, the scaling itself is working but on the HDMI Display, which I prefer to use as main while at the desk, the font rendering is bad. I still try it:

Here are two screenshots from Thunderbird, one taken on the HDMI Display at 100% Scale, the 2nd taken on the integrated at 150% scale.

I checked that Thunderbird is running in wayland. (xprop and xlsclients confirmed)

Same window just moving it from left (hdmi) screen to right (int) screen and retakt the same screenshot.

In the Screenshot it is already visible but in “Real” on the screen it looks way worse. On the integrated display it is good readable but on the HDMI it looks ragged like if the AntiAlias is not working at all.