High DPI Scaling Fix for Whonix Workstation LXQt on 4K Displays

I am using a 15-inch 4K high-DPI laptop with Whonix Workstation (LXQt). By default, everything on the screen appears extremely small, including text, icons, and interface elements.

Before applying the fixes below, I first enabled unrestricted admin mode so I would have full root access. This involves rebooting the Whonix-Workstation VM, selecting “REMOVE user-sysmaint-split | enable unrestricted admin mode” from the GRUB menu, authenticating as sysmaint if prompted, confirming by typing “yes,” and allowing the system to remove the split-user setup before booting normally again. After that, I logged back into my regular user account. This step made configuration easier, but it is generally considered a bad security practice and reduces Whonix’s security model, so it should only be done if you understand the risks.

Here is how I fixed the scaling issue:

1. Enable automatic screen resizing
Go to: Start → System Maintenance Panel → Dynamic Resolution
Press Enter to enable Dynamic Resolution

This allows the VM display to properly match the window size.

2. Increase UI scaling (DPI scaling)
Go to: Start → Preferences → Display → DPI Scaling
Set the scale to your preferred value (for example, 2.0 or 2.5)

This makes all interface elements scale uniformly and correctly.

3. Make the scaling persist across reboots
By default, the DPI scaling resets after reboot. To make it persistent, create a user systemd service that reapplies the scaling at login.

Create the service file:
~/.config/systemd/user/wlr-scale.service

With the following contents:

[Unit]
Description=Set display scale
After=graphical-session.target

[Service]
Type=oneshot
ExecStart=/bin/bash -c ‘sleep 5; wlr-randr --output Virtual-1 --scale 2.0’

[Install]
WantedBy=default.target

Then enable it:
systemctl --user daemon-reload
systemctl --user enable wlr-scale.service

After this, the scaling will automatically apply each time you log in.

2 Likes

FWIW, all of these steps can be done without removing user-sysmaint-split. Boot into PERSISTENT Mode | SYSMAINT Session, enable automatic screen resizing, reboot into PERSISTENT Mode | USER Session, then complete the rest of the steps. That should work.

2 Likes

Related:

1 Like

After these settings, I don’t have the same mouse cursor location on the system

1 Like

What host OS and hypervisor are you using? I’ve noticed on Kubuntu 24.04 with KVM, the mouse pointer as I see it on the host and the actual location of the pointer in the guest can end up in different places when display scaling is involved.

1 Like

fedora 43, qemu kvm virt-manager. After zooming, the cursor position is not correct. It is impossible to use. I don’t know how to fix it.

1 Like

If you didn’t go through with the persistent configuration, you should be able to reboot and have everything go back to normal.

If you did go through with the persistent configuration, switch to a CLI-only environment by clicking Send KeyCtrl+Alt+F3 in virt-manager, then log in at the CLI. From there you can disable the systemd user unit that’s scaling your screen (systemctl --user disable wlr-scale.service), or delete the underlying configuration file (rm ~/.config/systemd/user/wlr-scale.service). Reboot, and your screen should stop being scaled.

1 Like

Yeah, thanks, but that’s not what I need.

I need the display resolution scaling to work properly on a 4k monitor and the cursor to be displayed correctly

Possible alternate approach: use host-side scaling instead of in-VM scaling:

1 Like