For month I’ve been trying to get this to work and I finally found a solution, which is a lot easier than I initially thought it would be.
Problem: If you want to connect remotely to a Linux desktop (running ThinLinc server) via ThinLinc* client, it has often been impossible to get the remote desktop working at the native resolution of a 4K display (3840×2160). In my case the highest possible resolution to choose from in the remote systems’ display settings was 1920×1080, resulting in a blurred linux desktop. While ThinLinc still offered a superior remote desktop experience to all tools tested, the blurred display kept bugging me. My aim was to get the sharpest and most responsive Cendio ThinLinc sessions on high-resolution displays possible.
NB. The following workaround also helped me solve display resolution problems with other remote desktop clients (e.g. NoMachine, VNC variants).
[Update 19/02/2025]: The best alternative to ThinLinc for connections to ARM-based linux and macOS remote desktops (e.g. RasperyPI, Oracle Free Tier Ampère Instances, Apple’s M1/M2/M3/M4) is RustDesk, which is available for all platforms and allows peer-to-peer connections (ip<->ip) without the need for a server if used in small homelab situations. Unfortunately, thinlinc server is only available for Intel-/AMD-based systems.
RustDesk does offer superior handling of display resolutions, however, for remote desktops on Intel-/AMD-based platforms thinlinc is by far the best solution for connections to Linux desktops. In these cases, I prefer to use the following workaround (also see overview of my favourite RDP client<->server combinations)
Solution on Windows 11 and macOS with 4K external display and Mac retina display
(might also work on other high-resolution displays)
- jump to macOS display settings
Step 1 – Set display scaling of the display(s) you want to use for your remote connection to 100% prior to initiating the remote connection
On Windows:
Right-click on Windows-Desktop and choose: “Display settings”. Scroll down to scaling and make sure that your system does not use “custom scaling”. Choose 100% from the drop-down menu. Alternatively, you can navigate to Windows Settings > System > Display settings to find the same menu.
(Screenshots are from a German version of Windows 11)

NB: If you are using more than one display, make sure to adjust scaling to 100% on all screens you intend to use for your remote connection. Also make sure that there is no “custom scaling” enabled.
On macOS:
On macOS, display scaling can be set under: System Preferences/Displays:
Choose the setting labelled “More Space” for native retina display’s resolution.

NB: If you are using more than one display, make sure to adjust scaling to 100% on all screens you intend to use for your remote connection.
Step 2 – Now, start thinlinc client and connect to your remote linux desktop:
(Don’t be discouraged by the tiny icons and font size, you can switch back to your normal scaling as soon as your thinlinc session is over.)


Step 3 – On the remote system, you now have the opportunity to choose your native display resolution and adjust scaling to a more convenient factor:

Related external posts:
- Cendio ThinLinc Community forum: https://community.thinlinc.com/t/match-resolution-to-client-so-there-s-no-scaling/1038
- TigerVNC github: https://github.com/TigerVNC/tigervnc/issues/878
- NoMachine Forum – Lower-res remote down-scaling for Retina