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