Achieving the right aspect ratio and resolution on the SDDM login screen is a common pain point—especially on HiDPI displays. If your login screen looks tiny or squashed, don’t worry—here’s your step‑by‑step guide on how to fix SDDM Aspect Ratio.
Understanding SDDM and Its Role
What is SDDM?
SDDM (Simple Desktop Display Manager) is the default login interface for many KDE Plasma setups. It handles graphical user logins before you reach the Plasma desktop.
Common Display Issues at Login
Problems often include tiny fonts, wrong resolutions, or misscaled themes on high-resolution screens. These issues stem from the greeter not matching your desktop display settings until after login.
Why Resolution Problems Happen in SDDM
HiDPI Screens and Fallback Defaults
On high-DPI displays, SDDM may default to low resolution (600×400 or 1024×768), making UI elements unreadable and cramped.
EDID and Driver Fallbacks
Sometimes SDDM relies on corrupted or minimal EDID information from your monitor and uses fallback modes, causing misaligned aspect ratios or tiny fonts.
The EnableHiDPI
Setting
What EnableHiDPI Does
This flag instructs SDDM to scale fonts and theme elements appropriately for HiDPI. By default it is false
in older versions but often true
in newer ones (0.20+).
Drop‑in Configuration Example
Create a file like /etc/sddm.conf.d/hidpi.conf
:
iniCopyEdit[Wayland]
EnableHiDPI=true
[X11]
EnableHiDPI=true
Optionally add:
iniCopyEdit[General]
GreeterEnvironment=QT_SCREEN_SCALE_FACTORS=2,QT_FONT_DPI=192
Users reported this working well across setups.
Applying Plasma Settings to SDDM
Using “Apply Plasma Settings…”
In System Settings → Startup & Shutdown → Login Screen (SDDM), clicking Apply Plasma Settings… can copy your user’s display scaling and font size to the SDDM greeter. You’ll be prompted for root access to commit changes.
When It Fails
This may not always work—some distributions (e.g. Manjaro, EndeavourOS) show that it doesn’t enforce resolution or DPI changes reliably.
Manual Fix with Xsetup
Script
Using xrandr
to Set Resolution
An effective way is to manually set resolution via xrandr
in the startup script:
bashCopyEditxrandr --output HDMI‑1 --mode 1920x1080 --rate 60
Correct Script Placement
Instead of editing /usr/share/sddm/scripts/Xsetup
(which gets overwritten on updates), create your own script at /etc/sddm/scripts/Xsetup
. Ensure it’s executable.
Using DisplayCommand via Config Drop‑in
Configuration Drop‑in Approach
Add a drop-in file e.g. /etc/sddm.conf.d/00-display-command.conf
:
iniCopyEdit[X11]
DisplayCommand=xrandr --output HDMI‑1 --mode 1920x1080 --rate 60
[Wayland]
DisplayCommand=xrandr --output HDMI‑1 --mode 1920x1080 --rate 60
Why Use This?
This avoids modification of default files and is more resilient to updates while giving explicit control.
Using Xorg Monitor Config Files
PreferredMode Setting in xorg.conf.d
In /etc/X11/xorg.conf.d/90-monitor.conf
, you can set:
iniCopyEditSection "Monitor"
Identifier "HDMI‑1"
Option "PreferredMode" "1920x1080"
EndSection
This method works only with X11-based sessions.
Limitations
Wayland does not pick up these files, and new SDDM versions may ignore them if overwritten.
Handling Multi‑Monitor and VM Scenarios
Multiple Displays at Login
If you have multiple screens, xrandr
commands must include correct outputs (e.g. eDP-1
, HDMI-1
, DP-1
) and positions like --right-of
or --primary
.
In Virtual Machines
Wayland sessions in VMs often default to low resolutions (like 1024×768). Manual xrandr
via DisplayCommand or Xsetup is typically required.
Step‑by‑Step: Fix SDDM Aspect Ratio
- Run
xrandr
in terminal to list outputs and available modes. - Decide: use script or config drop-in.
- If using script, create
/etc/sddm/scripts/Xsetup
withxrandr
resolution command and mark executable. - If using drop-in, create
/etc/sddm.conf.d/00-display-command.conf
with theDisplayCommand
section. - Optionally set
EnableHiDPI=true
inhidpi.conf
. - Use “Apply Plasma Settings…” in system settings for reinforcing scaling.
- Reboot and check the login screen.
Best Practices & Maintenance
Prefer Drop‑in Configs
Avoid editing /usr/share/sddm/*
. Instead place files in /etc/sddm.conf.d/
so updates don’t overwrite your settings.
Backup & Version Track
Keep your custom scripts and .conf
files backed up or in version control so you can roll back if needed.
Troubleshooting Common Failures
Check Logs and Diagnostic Info
Look at Xorg logs or journal (journalctl -b -u sddm
) and logs under /var/lib/sddm/.config/
. These help identify whether your script ran or configuration loaded.
Plasma 6 / Wayland Quirks
Some users report that modern Plasma 6 behaves differently on Wayland: SDDM greeter may not honor EnableHiDPI
or xrandr
commands due to compositor defaults. Manual overrides remain the most reliable fix.
Conclusion
Fixing the SDDM login screen resolution and aspect ratio on HiDPI or multi-monitor setups boils down to consistent manual overrides or using SDDM’s config flags. Whether you use EnableHiDPI
, DisplayCommand
, or an Xsetup
script, the goal is to match your desktop display settings seamlessly during login. Stick with drop-in files, backup often, and test methodically.
FAQs

Q1: Does EnableHiDPI=true
work on all SDDM versions?
A: It’s effective in versions before 0.20; for 0.20+ it’s often default or not needed—but safe to include if scaling issues persist.
Q2: Will “Apply Plasma Settings…” always enforce correct resolution?
A: Usually not, especially on Wayland or with custom setups. It’s worth trying, but manual config is more reliable.
Q3: What scripts should run automatically at SDDM startup?
A: Use /etc/sddm/scripts/Xsetup
for X11 or Drop‑in DisplayCommand
in /etc/sddm.conf.d/
for both X11 and Wayland.
Q4: Do these fixes also work on multi-monitor or external HDMI setups?
A: Yes—just specify correct outputs and modes in your scripts. Example: xrandr --output HDMI‑1 --mode 1920x1080 --right-of eDP‑1
.
Q5: How to revert if SDDM stops working after editing configs?
A: Boot to a TTY, remove your drop-in files or script, then reinstall sddm
or restore configs from backup. Always keep backups before making changes.
See Also: Fix Cursor Error Calling Tool ‘edit_file’. Easily Now