[Bug Report] lightdm-deepin-greeter fails to read display scale on fresh 25.2.0
Tofloor
poster avatar
毛艺然
deepin
5 hours ago
Author

Hi all,

Found a reproducible bug on a fresh 25.2.0 ISO install: the LightDM login/greeter screen ignores my display's configured scale factor. I changed the scale from the default 1.25x down to 1x, but the greeter still renders at 1.25x — even though the desktop session correctly uses 1x once logged in.

System info:

  • deepin 25.2.0, OsBuild=21138.100.100
  • Installed via a fresh ISO install, not an in-place apt dist-upgrade from 25.1.1
  • LightDM + lightdm-deepin-greeter
  • HiDPI laptop panel, changed scale factor from default 1.25 to 1 (correct and working post-login)

Important note: Systems that reach 25.2.0 via apt update && apt dist-upgrade from 25.1.1 do not show this bug — I only see it on a clean ISO install. This looks like a version mismatch baked into the ISO image itself, not a regression that affects upgraded systems generally.

Steps to reproduce:

  1. Fresh install 25.2.0 from the official ISO (ships with default 1.25x scaling)
  2. Change display scale factor to 1x in Display Settings, log out
  3. Boot to the LightDM greeter
  4. Check the greeter log:

sudo cat /var/log/lightdm/seat0-greeter.log

You'll see:

Final scale factor: 1.25
Greeter get system display config failed (GetConfig null)
greeter get system display config failed(scaleFactors null)

Root cause (confirmed via D-Bus introspection):

The greeter calls org.deepin.dde.Display1.GetConfig() to fetch scale info, but this method doesn't exist on the currently running display service:

qdbus org.deepin.dde.Display1 /org/deepin/dde/Display1 org.deepin.dde.Display1.GetConfig
Error: org.freedesktop.DBus.Error.UnknownMethod
Unknown / invalid method 'GetConfig'

Full introspection of /org/deepin/dde/Display1 and the per-monitor objects (/org/deepin/dde/Display1/Monitor_*) confirms there's no GetConfig method and no scaleFactors property anywhere on the interface — it's been replaced with a per-monitor property model (likely as part of the Treeland multi-screen/per-screen-scaling work mentioned in the 25.2.0 changelog). The greeter binary shipped on the ISO is still calling the old API shape and was never updated to match.

Expected result: Greeter reads the current scale factor (1x) correctly and renders at that scale, matching the desktop session.

Actual result: The GetConfig call fails, scaleFactors is never retrieved, and the greeter falls back to a hardcoded default of 1.25 — login screen looks visibly larger/wrong compared to the desktop.

Happy to provide the full qdbus introspection dump or any other diagnostics if it helps triage. Also submitted a shorter version via the in-app bug report tool, but it truncated the details due to a character limit, so posting the full writeup here.

Reply Favorite View the author
All Replies

No replies yet