URL: http://dot.kde.org/118
0541665/
From: Troy Unrau <troy kde.org>
Dept: two-competing-3D-window-managers-once-again
Date: Wednesday 30/May/2007, 09:14
The Road to KDE 4: KWin Composite Brings Bling to KDE
=====================================================
KWin, KDE's window manager, has been around since KDE 2.0
(replacing
KWM in KDE 1.x) and has grown to be a mature and stable
window manager
over the years. For KDE 4, however, there were a few people
rumbling
about visual effects, and perhaps KWin was feeling a little
envious of
its younger cousins Compiz and Beryl. While these new
effects have
created a lot of buzz around Linux and UNIX, long-term KDE
users have
wished they can enjoy the effects of Compiz/Beryl while
still having the
tried and tested window manager that is KWin. As a result,
for KDE 4,
KWin has received a huge graphical upgrade, with composite
and GL
support. Read on for more details.
KWin has implemented effects in a way that allows a
number of
different rendering methods to be used, depending on your
specific
combination of hardware and drivers. These features have
brought KWin
rapidly into the era of dazzling eyecandy, along with some
pleasant
surprises on the usability front. This effort has been
spearheaded by
Lubos Lunak (a man known for his efficient code) and his
team, with
special mention to Rivo Laks and Philip Falkner for their
contributions.
Effects are disabled by default at the moment, although
that may
change before KDE 4 ships, and distributions may decide to
alter this
setting anyway. When enabled, the effects are designed to
degrade
gragefully. If GL is not available, KWin disables GL effects
but still
allows Composite effects where possible via XRender. If
XRender is not
available, it falls back to plain X, running in the same
fashion as the
present KDE 3 version. To get the full array of effects, you
need to
have a video card (and driver) that supports AIGLX, XGL or
use the
proprietary Nvidia driver.
Once the effects are enabled, it's simply a matter of
choosing
which effects you'd like to activate. So far, Rivo Laks has
been working
on the effects plugin selection interface (see the
screenshot below).
The new plugin selection widget shown is making its way into
various
parts of KDE - it does automatic dependency checking, so
once the
dependency tree is known, it will intelligently enable or
disable
dependent plugins. This widget is also showing up in other
parts of KDE
4.
(as you can see in the image, this dialog is quite new -
less than a
week old - and is missing all the icons...)
Lubos has been periodically blogging about the effects
that KWin is
now capable of, and has recorded a number of videos showing
them off.
Since video capture on my system is rather chunky, I will
present his
recordings instead. So, without further ado, I present some
of the more
popular of his flash videos, hosted by YouTube. If you are
interested in
more, please visit his YouTube User Page
[http://ww
w.youtube.com/profile?user=Seli158]
The Present Windows Effect - a very useful effect that
falls into both
eye-candy and usability categories...
The Desktop Grid Effect - those familar with the Cube
effect may note
that this is not quite as flashy, but probably more useful.
Doesn't mean
there cannot be a Cube effect for KWin though.
This one shows the above two effects, as well as the
Alt-Tab
thumbnails, but it shows that the effects work great, even
when the
windows contain active videos.
Zoom Effect and Magnifier Effect: some accessibility
related features
that everyone may find useful, depending on your specific
needs.
Effects like this one make people go "Wow". The
first part of this
video features the Fall Apart Effect, which basically has a
window blow
up. It's amazing how well this effect can be demonstrated in
a low
quality flash video...
Aside from Lubos, many of the new effects and
underlying core
components were programmed by Rivo Laks and Philip Falkner.
They are
responsible for many of the effects you see in the videos,
including the
Present Windows Effect, and the improved Alt-Tab dialog.
There have been
a number of contributions from others as well, and they are
always
looking for new and interesting ideas. In addition, KWin for
KDE 4
builds on the already existing KWin version which has had
dozens of
people contribute to it over the years.
The window decoration shown above is called
'kwin3_crystal' and is
still set as the default in SVN. It is simply a port of the
existing KDE
3 Crystal window decorations, however, a new KWin window
decoration is
still in the works for KDE 4 - it hasn't been made the
default yet, so I
haven't been featuring it. When it does eventually become
the default,
you'll be sure to hear about it here (and likely in Danny's
KDE
Commit-Digest [http://commit-digest.org/
a>] as well...).
KWin for KDE 3.x implemented a very simple composite
manager,
allowing simple effects such as window transparencies,
fading menus,
shadows, and so forth. The code was not too complex, but
the
infrastructure was not in place to seriously extend the
effects to GL
powered goodness. When the KDE 4 development series opened,
it was seen
as an excellent time to rewrite some of KWin's internal
structures in
order to support such effects. There were initial
considerations of
implementing support for the existing Compiz and/or Beryl
system of
effects via plugins, but there were technological hurdles
that prevented
this. I won't go into the technical details as to why this
decision was
made, however, it is important to note that KDE 4 will still
work with
Compiz/Beryl should the users choose to use that software
instead of
KWin.
Additionally, while KDE 4 will be supporting a number
of platforms
with libraries and applications, KWin is one of the
applications that
will not be making the switch as it is inextricably tied to
X. This
should be considered to be a Good Thing(tm), as it ensures
that KDE will
always be the best looking when used with Linux/UNIX, and
hopefully it
(and related KDE Workspace technologies, like Plasma) will
remain a
unique benefit of using a more open operating system.
KWin promises to ensure that KDE get the graphical
boost it needs
to keep the eye-candy folks happy, while providing new and
usable
features for the desktop environment that would not have
otherwise been
possible. Yet, it maintains the rock-solid foundation that a
long
history as an integral part of KDE has provided. It will
still work
(with reduced levels of effects) on any system that KDE 3
ran on, so
no-one is left out in the cold. It is already the default
for KDE 4 in
SVN, and will be showing up in future beta releases.
On a personal note, I've found that KWin on my system
was dropping
down into XRender mode due to some X settings I need to fix,
but it has
been perfectly stable for me over the last two weeks. In
fact, every
week when I'm rebuilding KDE 4 to write these articles, I am
more amazed
at how quickly it is becoming stable and useful. If you are
interested
in testing it out for yourself, check to see if your
distribution has
packages available. I am aware of the existence of at least
one live CD
(where you don't have to risk messing with your system) that
is
available at the KDE Four Live
[http://hom
e.kde.org/~binner/kde4-live-dvd/] website. They update
the
Live CD every few weeks, and currently has the KDE 4.0 Alpha
1 packages.
Additionally, if you are brave enough to test the Composite
features,
and are having problems, have a quick look at the Composite
HowTo.
[http://websvn.kde.org/*checkout
*/trunk/KDE/kdebase/workspace/kwin/COMPOSITE_HOWTO].
If you have problems, please report bugs using the the KDE
Bug Tracker
[http://bugs.kde.org/] by
selecting the KWin program, and the
"composite" component.
Until next time.
_______________________________________________
dot-stories mailing list
dot-stories kde.org
htt
ps://mail.kde.org/mailman/listinfo/dot-stories
|