QScreen vs. KScreen in plasmashell

Sebastian Kügler sebas at kde.org
Mon Nov 3 09:26:39 UTC 2014


On Friday, October 24, 2014 10:20:04 Daniel Vratil wrote:
> On Friday 24 of October 2014 10:15:17 Pier Luigi Fiorini wrote:
> > 2014-10-24 9:58 GMT+02:00 Daniel Vratil <dvratil at redhat.com>:

> > > the current state of multi-monitor support in Plasma 5 is rather bad as
> > > both Plasma 5 and KWin keep crashing every time there's any change (+
> > > the
> > > desktop is extremely sluggish for about 15 seconds after that). Many
> > > colleagues in my office would love to switch to Plasma 5 already, but
> > > this is one of the major blockers that scares most people away, so it
> > > needs to be fixed.
> > >
> > > I was looking into plasmashell code to fix it (and also for a different
> > > reason, more on that later) and realized that the code is mixing use of
> > > KScreen and QScreen, and I couldn't resist asking myself why. QScreen
> > > provides subset of information that KScreen and all I can see in the
> > > code
> > > is just endless conversion between QScreen and respective
> > > KScreen::Output
> > > and hoping they both behave the same. Would it make sense to get rid of
> > > QScreen completely and use KScreen exclusively? I think it would solve
> > > most of the crashes I'm currently getting. I'm of course volunteering to
> > > do all the work, but before I start, I want to make sure there's no real
> > > obscure reason for keeping both QScreen and KScreen.

> > > (For the "other reason I was looking into plasmashell": I'm currently
> > > working on a big KScreen API and design changes, which includes using
> > > QSharedPointers, having async API, and running platform backends in a
> > > separate process to improve performance and stability, but I'll send a
> > > separate email on that once the API is finished, as that will affect all
> > > KScreen-enabled applications)
> > 
> > I can think of one reason why QScreen would be better: for Wayland
> > support.
> > A wl_output can be taken from a QScreen easily using the platform
> > native API, how do we do with KScreen?
> 
> Sebas is working on a Wayland backend for KScreen.

Moreover, there's also a QScreen-based backend for KScreen, so if someone 
wants to test if the problems arising come from the dichotomy between XRandR 
and QScreen, one can force kscreen to use the QScreen backend by exporting 
KSCREEN_BACKEND=qscreen before starting Plasma. This can give some additional 
information where the actual problem is.

Cheers,
-- 
sebas

http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9


More information about the Plasma-devel mailing list