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

Reply via email to