D26338: Ensure WM initializes before session starts
Eon S. Jeon
noreply at phabricator.kde.org
Wed Jan 1 06:53:04 GMT 2020
esjeon created this revision.
Herald added a project: Plasma.
Herald added a subscriber: plasma-devel.
esjeon requested review of this revision.
REVISION SUMMARY
This is an attempt to resolve bug 362857. A number of users have complained about restored application not supporting desktop effects, like transparency and blurring. This is caused by a race condition where restored applications start before KWin (and its compositor) finishes its initialization. Under this condition, applications fail to detect compositor and disable desktop effect on themselves.
This patch tries to avoid this race condition by inserting delay b/w initialization of KSM server, which starts KWin (or user-designated WM), and start-up phase 0. At the same time, the patch also tries to minimize the actual delay by detecting KWin and compositors using D-Bus and KWindowSystem repectively.
TEST PLAN
The nature of this bug (graphics!) forces the use of physical machines for testing, but not every machine can reproduce this. Old hardware w/ proprietary graphics driver is recommended.
- Pre-requisite:
1. "Restore previous session" option enabled under "Desktop Session".
2. Konsole set up w/ transparent window
3. Verify that the bug is reproducible on your machine (Reboot might be required)
- Test 1: session restores normally
1. Login, open Konsole, logout, and re-login
2. Konsole should be restored.
- Test 2: KWin w/ compositor, restore w/ desktop effect.
1. Login, open Konsole, reboot, and login.
2. Konsole should be restored w/ transparent background.
- Test 3: Other WM w/ compositor, restore w/ desktop effect.
1. Put the following into `~/.xinitrc` (edit it to fit your env.): `export KDEWM=/usr/bin/dwm; picom & exec startplasma-x11`
2. From Linux console, run `xinit`.
3. Konsole should be restored w/ transparent background.
REPOSITORY
R120 Plasma Workspace
REVISION DETAIL
https://phabricator.kde.org/D26338
AFFECTED FILES
startkde/plasma-session/CMakeLists.txt
startkde/plasma-session/main.cpp
startkde/plasma-session/startup.cpp
startkde/plasma-session/startup.h
To: esjeon
Cc: plasma-devel, LeGast00n, The-Feren-OS-Dev, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20200101/db814181/attachment.html>
More information about the Plasma-devel
mailing list