How to Fix Linux Mint Cinnamon Display Scaling That Resets After Every Reboot (2026 Guide)

Priya

Content Writer & Researcher

Last Updated: 21 August 2026
How to Fix Linux Mint Cinnamon Display Scaling That Resets After Every Reboot (2026 Guide)
πŸ–₯️

Need Expert Help?

Our certified technicians can fix this for you remotely. Fast, affordable 24/7 support.

πŸ–₯️12,400+PCs Fixed
⭐4.9β˜…Google Rating
⚑<15 minAvg. Response
πŸ›‘οΈISO 27001Certified

You carefully set your display scaling to 125% or 150% in Linux Mint Cinnamon's Display Settings, everything looks crisp β€” then you reboot and it's back to 100%. Sound familiar? This frustrating loop affects thousands of Linux Mint users, especially those on HiDPI laptops, high-resolution external monitors, and 4K display setups. The good news: the fix is reliable, and this guide covers three proven methods to make your scaling stick permanently in Linux Mint 21 and 22 (2026).

Why Cinnamon Display Scaling Resets After Reboot (Root Cause)

Understanding why this happens helps you pick the right fix. Cinnamon stores your display configuration β€” including scaling β€” in a file called ~/.config/monitors.xml (or sometimes ~/.local/share/gnome-settings-daemon/xrandr/monitors.xml). When Cinnamon starts, it reads this file and tries to apply it.

The reset happens for several common reasons:

  • Monitor detection timing: The display server (X.Org) enumerates connected monitors before Cinnamon finishes loading. If your monitor is reported with slightly different EDID data on each boot (common with USB-C docks and some HDMI adapters), Cinnamon treats it as a "new" or "unknown" display and falls back to 100% defaults.
  • Corrupted or mismatched monitors.xml: If the XML references an output name (e.g., eDP-1, HDMI-1) that doesn't exactly match what the kernel reports, Cinnamon silently ignores the saved config.
  • dconf write vs. GUI conflict: Fractional scaling set via dconf write can be overwritten at session start by Cinnamon's own display compositor, particularly on Cinnamon 5.6+ (a known upstream bug tracked at GitHub issue #10755).
  • Autorandr interference: If autorandr is installed and managing profiles, it can race with Cinnamon's own display manager and reset scaling to 100%.

All three fix methods below address these causes directly. Start with Method 1 (quickest), and move to Methods 2 or 3 if needed.

Fix Method 1: Create a Persistent xrandr Autostart Script

This is the most reliable and widely confirmed fix in the Linux Mint community. You create a small shell script that uses xrandr to set your scaling after every login, and add it to Cinnamon's autostart so it runs automatically.

Step 1 β€” Find your display output name

Open a terminal and run:

xrandr --listmonitors

You'll see output like:

Monitors: 2
 0: +*eDP-1 2560/344x1440/194+0+0  eDP-1
 1: +HDMI-1 1920/527x1080/296+2560+0  HDMI-1

Note your output name(s) β€” in this example eDP-1 (internal display) and HDMI-1 (external).

Step 2 β€” Create the scaling script

Create the file:

nano ~/.config/set-display-scale.sh

Add the following, replacing eDP-1 with your actual output name and adjusting the scale factor (e.g., 1.25 for 125%, 1.5 for 150%, 2 for 200%):

#!/bin/bash
# Wait for the display manager to fully initialise
sleep 3
xrandr --output eDP-1 --scale 1x1 --mode 2560x1440
# If you also have an external monitor:
# xrandr --output HDMI-1 --scale 1x1 --mode 1920x1080

Note: For HiDPI screens where you want the display to appear larger (effectively lower DPI), use --scale 1x1 combined with Cinnamon's font scaling instead of xrandr scaling. If you specifically need xrandr fractional scale (e.g., for an external non-HiDPI monitor alongside a HiDPI internal display), use:

xrandr --output HDMI-1 --scale 2x2

Make it executable:

chmod +x ~/.config/set-display-scale.sh

Step 3 β€” Add to Cinnamon autostart

Go to Menu β†’ Preferences β†’ Startup Applications, click Add, then Custom command, and enter:

bash /home/YOUR_USERNAME/.config/set-display-scale.sh

Alternatively, create the autostart entry from the terminal:

mkdir -p ~/.config/autostart
cat > ~/.config/autostart/set-display-scale.desktop << EOF
[Desktop Entry]
Type=Application
Name=Set Display Scale
Exec=bash /home/$USER/.config/set-display-scale.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
EOF

Reboot and verify the scaling persists.

Fix Method 2: Write a Permanent xorg.conf.d Display Rule

If you use fractional scaling that the GUI simply won't retain β€” or if you prefer a system-level fix that applies before any desktop environment loads β€” an xorg.conf.d rule is the right approach. This is particularly effective for single fixed-resolution HiDPI displays.

Step 1 β€” Identify your display and resolution

xrandr | grep " connected"

Example output:

eDP-1 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 344mm x 194mm

Step 2 β€” Create the xorg config file

sudo nano /etc/X11/xorg.conf.d/90-monitor.conf

Add the following (adjust Driver to match your GPU β€” intel, amdgpu, or modesetting):

Section "Monitor"
    Identifier "eDP-1"
    Option "DPI" "144 x 144"
EndSection

Section "Screen"
    Identifier "Screen0"
    Monitor "eDP-1"
    DefaultDepth 24
    SubSection "Display"
        Depth 24
        Modes "2560x1440"
    EndSubSection
EndSection

For a 2x (200%) HiDPI scale equivalent, setting DPI to 192 is common for a 1920Γ—1080 display that you want to use at effective 960Γ—540 resolution. Adjust the DPI value to match your desired visual scale:

  • 96 DPI = 100% (default)
  • 120 DPI β‰ˆ 125%
  • 144 DPI β‰ˆ 150%
  • 192 DPI = 200%

Save and reboot. X.Org will apply this DPI at every startup, before Cinnamon loads.

Optional: Force DPI in Xresources

You can also pin DPI via ~/.Xresources as a belt-and-suspenders approach:

echo "Xft.dpi: 144" >> ~/.Xresources
xrdb -merge ~/.Xresources

Fix Method 3: Repair the cinnamon-monitors.xml Configuration File

Cinnamon reads monitor configuration from ~/.config/monitors.xml. If this file is missing, malformed, or references outdated output names, Cinnamon ignores it on startup and resets to defaults. This method fixes it directly.

Step 1 β€” Apply your desired scaling via the GUI

Go to Menu β†’ Preferences β†’ Display, set your scaling exactly as you want it, and click Apply. This writes the current state to monitors.xml.

Step 2 β€” Inspect the file

cat ~/.config/monitors.xml

Look for the <output name="..."> tags. The name here must exactly match what xrandr --listmonitors reports. A common mismatch is HDMI1 vs HDMI-1, or DP-1-2 vs DP1-2.

Step 3 β€” Fix mismatched output names

If you find a mismatch, edit the file and correct the output names:

nano ~/.config/monitors.xml

Change any incorrect output name to match exactly what xrandr reports. Save the file.

Step 4 β€” Lock the file permissions (optional nuclear option)

If Cinnamon keeps overwriting your monitors.xml with wrong values, you can make it immutable temporarily to test:

sudo chattr +i ~/.config/monitors.xml

To undo: sudo chattr -i ~/.config/monitors.xml

Warning: Only use this as a diagnostic tool. Immutable monitors.xml will prevent Cinnamon from saving any future display changes.

Step 5 β€” Check scaling in dconf

Cinnamon also stores scaling in dconf. Verify the value is set correctly:

dconf read /org/cinnamon/desktop/interface/scaling-factor

If it returns 0 or nothing, write it explicitly:

dconf write /org/cinnamon/desktop/interface/scaling-factor "uint32 2"

Values: 1 = 100%, 2 = 200% (integer only β€” Cinnamon's scaling-factor key accepts only integers; fractional scaling uses the xrandr method instead).

How to Prevent Scaling from Resetting in the Future

Once you have one of the above fixes working, follow these practices to avoid regression:

  • Back up monitors.xml: After getting scaling right, copy the file: cp ~/.config/monitors.xml ~/.config/monitors.xml.bak. If an update breaks things, restore it with cp ~/.config/monitors.xml.bak ~/.config/monitors.xml.
  • Avoid mixing dconf and xrandr methods: Setting scaling via GUI writes dconf and monitors.xml. Using xrandr scripts on top can conflict. Pick one approach and stick to it.
  • Check autorandr is not installed or configured: Run which autorandr. If present and you're not using it intentionally, it may be overriding your settings. Remove with sudo apt remove autorandr or delete its profiles from ~/.config/autorandr/.
  • Pin Cinnamon version updates: Cinnamon 5.8+ changed how fractional scaling is stored. After a major Cinnamon update, recheck your scaling setup and re-apply your fix if needed.
  • Consider Wayland on Linux Mint 22.1+: Cinnamon now has an experimental Wayland session. Wayland handles per-monitor fractional scaling natively at the compositor level β€” no xrandr workarounds needed. Select "Cinnamon (Wayland)" at the login screen to try it.

If you've tried all three methods and scaling still resets, or if you're dealing with a complex multi-monitor or GPU driver scenario, consider reaching out to professional PC support β€” our certified Linux technicians can diagnose and permanently fix display configuration issues remotely.

FAQ: Linux Mint Cinnamon Display Scaling Reset Issues

Why does my Linux Mint display scaling keep resetting to 100% after reboot?

The most common cause is that Cinnamon detects your monitor as "new" due to slight EDID variations (common with USB-C docks and HDMI adapters), causing it to reset to 100% defaults. A persistent xrandr autostart script bypasses this by reapplying your scaling after every login, regardless of what Cinnamon's monitor detection does.

What is the best way to set persistent HiDPI scaling on Linux Mint?

For integer scaling (100%, 200%), use Cinnamon's Display Settings GUI combined with the dconf key /org/cinnamon/desktop/interface/scaling-factor. For fractional scaling (125%, 150%), use an xrandr autostart script (Method 1 above) since Cinnamon's GUI only supports integer values via dconf.

Does Linux Mint 22 fix the display scaling reset bug?

Linux Mint 22 (based on Ubuntu 24.04 LTS) includes Cinnamon 6.x, which improved monitors.xml handling. However, the reset issue persists for users with USB-C docks, multi-monitor setups, and external GPU configurations. The xrandr autostart workaround remains the most reliable fix as of 2026.

How do I set 125% or 150% fractional scaling in Linux Mint Cinnamon?

Go to Menu β†’ Preferences β†’ Display. Under "Scale", if only 100% and 200% are shown, enable fractional scaling by running: gsettings set org.cinnamon.muffin experimental-features "['scale-monitor-framebuffer']" then reopen Display Settings. Alternatively, use an xrandr script with --scale 0.8x0.8 (for 125% effective size) or font/UI scaling via Accessibility settings.

Will the xrandr scaling fix work after a Linux Mint system update?

Yes. The autostart .desktop file and shell script are stored in your home directory (~/.config/autostart/ and ~/.config/set-display-scale.sh) and are not affected by system or Cinnamon updates. The only exception is if a major Cinnamon update changes how the compositor handles xrandr output β€” in that case, re-test and adjust your scale values if needed.

Get the Free Linux Server Admin Cheatsheet (PDF)

Essential commands for server management, networking, and troubleshooting β€” all on one printable page.

Running Linux servers? Let us manage them for you.

Our Managed Linux Server plans cover updates, security hardening, monitoring, and 24/7 incident response β€” so your servers stay up and your team stays focused.

  • Proactive OS patching and security updates
  • 24Γ—7 monitoring with instant alerting
  • Backup configuration and disaster recovery
  • Dedicated Linux engineers on call
See Pricing Plans β†’

What our customers say

β€œOur production server went down at 2 AM. CloudHouse had it back online in under 20 minutes. Incredible response time.”

Arun S.

CTO, SaaS Startup

β€œThey migrated our entire infrastructure from Ubuntu 18 to 22 with zero downtime. Couldn't have asked for better.”

Deepak N.

DevOps Lead

Frequently Asked Questions

The most common cause is that Cinnamon detects your monitor as 'new' due to slight EDID variations (common with USB-C docks and HDMI adapters), causing it to reset to 100% defaults. A persistent xrandr autostart script bypasses this by reapplying your scaling after every login.

Need this done for you?

Linux Mint Support

Hands-on help for Linux Mint desktops and laptops.

Learn more

Book your free 15-minute diagnosis

A certified technician will call you back within 15 minutes during business hours.

Share this article

Leave a Comment

Comments (0)

Loading comments...