-
Notifications
You must be signed in to change notification settings - Fork 333
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Display: add plymouth integration #1932
base: develop
Are you sure you want to change the base?
Conversation
This provides plymouth smooth transition support from SDDM::Display by telling Plymouth to deactivate and quit as the greeter is brought online.
No. The VT handling code is a mess and needs to be redone, see #1896.
AFAICT it's the opposite: The greeter needs to start on another VT, to be able to switch in an instant. |
That would still cause a flicker, wouldn't it? Admittedly, the best documentation I've found is a 15-year-old mailing list post (https://lists.freedesktop.org/archives/plymouth/2009-June/000126.html), but it describes:
From what I can tell of the Plymouth and GDM sources, this is still the case. |
If the mode is the same, it should not. I don't get any flicker here using manual VT switching.
Ouch. Can we try a better way? |
Heh, it would have been a good idea for me to test before saying that. Can confirm there's no flicker on my system, either.
Depends on your definition of a "smooth transition." If we're fine with not supporting the fade-in effect done by GDM and LightDM, the VT switch would be fine. Arguably it'd be possible to have that effect even when switching the VT, but you'd already need the active VT open to get a "screenshot" of the splash. |
Plymouth could fade out, then after the VT switch sddm or the DE could fade in. |
AFAICT Plymouth doesn't have a fade-out mechanism of its own. The DM seems to be expected to handle all parts of the transition, including animation. Technically the |
With https://gitlab.freedesktop.org/plymouth/plymouth/-/merge_requests/313 the display server could read back the framebuffer and do a smooth transition that way |
This provides plymouth smooth transition support in SDDM::Display by telling Plymouth to deactivate and quit as the greeter is brought online.
This is similar in goal to #1013, although following the suggestion in #1013 (comment), the plan is to handle the transition from within the sddm daemon.
I wouldn't consider this PR complete, primarily due to the following lines in src/daemon/Display.cpp:
More specifically, the
x11
display server type always creates a new VT, whereasx11-user
andwayland
will usefetchAvailableVt()
. Is there a requirement for this to be the case?My understanding of Plymouth is that to support a smooth transition, the DM needs to load on the active VT (i.e., same as the splash screen), so if there is a requirement,
x11
display server type won't be able to support smooth transition support with this method.