KDE 3.1: Well Worth the Wait

The KDE Project today
the release of KDE 3.1, "a major feature upgrade to the third
generation of the most advanced and powerful free desktop for Linux
and other UNIXes.
While you are busy downloading
the new packages for this fabulous release, we hope you will enjoy the
über-cool (disclaimer:
I wrote it) KDE
3.1 Feature Guide
, as well as a sortable
KDE 3.1 Requirements
page, both new for this release. And if that's not enough, you can also
check out the detailed
ChangeLog. And - ah yes - there are also screenshots. So much to do today . . . .

Dot Categories: 


by kalpha (not verified)

Aallll righty then.
Start yer browsers.

by kalpa's mother (not verified)

You really are pathetic.

by kalpha (not verified)

thanks mom.

by Eric Laffoon (not verified)

We were so excited to be included in the 3.1 release. At first it was going to be very close to our 3.0 so our feature set was small... then the date slipped and we worked on sanitzing even the most obscure bugs and tweaking for speed... then we started back porting some of our 3.2 work... Then when we were thinking in perpetual release candidate mode packages really were set to final instead. So we missed getting the last few changes to 3.1 in the tarball. (Changes that made it to quanta-3.1-kde-3.0) Oops!

They are in the 3.1 branch and we will diff the package and put up a patch for download for anyone who would like it. Check the Quanta page in the next day or so for the patch. Enjoy KDE 3.1 and thanks to everyone who has made Quanta so popular. We are proud and honored to be included with such great software and great people.

PS Look for an announcement on the big easter egg in KDE 3.1 in a week or so when the dust settles. It's Kommander, the text manipulation/DCOP/scripting visual dialog builder and executor.

by Rob Kaper (not verified)

Obviously KDE_3_1_BRANCH will be slightly better than what is released now. There is always some delay between making tarballs, getting distributors to create binary packages and allowing mirrors to catch up and the happy release note.

I hope your changes are not critical for Quanta to work properly.. and hey, we need to provide users with a reason to upgrade to 3.1.1 next month. ;-)

by Ralf Nolden (not verified)

"Obviously KDE_3_1_BRANCH will be slightly better than what is released now. "

That's what 3.1.1 will be good for :-) The differences aren't too many right now because most annoying bugs have been fixed during the security delay. I think that this is the best .0 release a project could make *ever* :-))


by Philipp (not verified)

Hello Ralf,

may you just state here what everybody will ask you anyhow. So answer the Debain-KDE FAQ best now ;-)

Thanks for your work so far, I'm eger to do the update.

by unfortunately not (not verified)

noatun is very unstable here. in fact i upgraded from beta 2 to final (suse binaries), changing noatuns skin plungin causes it to crash. always. :(

by Eric Laffoon (not verified)

> I hope your changes are not critical for Quanta to work properly..

Nah, mostly little things that always become the emails that start "why didn't you do such and such" and ironcally a splash screen that I hope will lessen the number of times I read "dude yer spash screen sucks". ;-)

> and hey, we need to provide users with a reason to upgrade to 3.1.1 next month. ;-)

Now you're talkin'! We're on it. Ironically that is about the time frame for finishing a number of features we've been working on for PHP support that is second to none.

by Stefan Fricke (not verified)

I found already an i18n bug in the German translation. Should I submit it to quanta.sourceforge.net, to bugs.kde.org or directly to the translators?


by john (not verified)

And if your distro hasn't any binaries yet, it looks like Konstruct has been updated :

Happy building !

by coolvibe (not verified)

Gentoo has it too... I was kinda surprised when I read the output of emerge -up world :)

by mark (not verified)

oh yeah. i'm using gentoo, and this is one of the down points of using such a great system. i get to wait a day before i can test drive the new KDE (though i was using rc6 on one of my systems). If'n one day they get that distcc working nicely, i would think my network could build a working kde in a few hours maybe.

go KDE, the rc6 looks nice!

by some1 (not verified)

The KDE3.1 ebuilds are in gentoo since many weeks.

by jstuart (not verified)

But it wasn't really kde 3.1. At best, it was rc4 as I remember. However, 3.1 is now unmasked! WOOHOO...

by kman (not verified)

debian has had 3.1 rc7 since it was put up on cvs.
gentoo is great, but you don't need it to run the latest

by Wheaty (not verified)

I'm building KDE 3.1 using Konstruct on my Toshiba laptop right now... very nice indeed!

by Anton Velev (not verified)

The new feature list is amazing, and the shots are impressive.
KDE is really the best desktop, and finally there is no doubt that soon or later sun, redhat and co will adopt kde as the standart desktop!

But I didn't see kvim integration into kate, kmail and kdevelop, does anyone knows when it will be included, and how I how i could probably configure kde to use kvim as my text control?

Good job KDE! I am waiting for my distro to pack it.

by Mickael Marchand (not verified)

the vimpart is distributed with KDE debs and kvim is distributed for debian from freenux.org site until inclusion into Vim.

that's still experimental and kmail integration is for kde 3.2.


by Anton Velev (not verified)

I see, so in kde32 we will have vimpart, good.
About the debs - unfortunately my distro is not debian, so they will not work for me.

I will try to find on the net (http://freehackers.org/kvim) how is it possible to compile the vim kpart to be integrated as default text component.

by Mickael Marchand (not verified)

you just need to get the vimpart from the kdeextragear-1 module in KDE's CVS
and to compile/install it.

the current version mostly works but it's broken in kdevelop


by Corey (not verified)

There's a patch out there for KMail that'll give you the KTextEditor/Vimpart
integration right now. In fact, I'm using it myself - editing all my mail with
vim. Coolness. Also, the vimpart will allow you to embed vim into konqueror,
and other apps like kdevelop 3 (gideon) and even kwrite!

Here's the steps ( it's possible these may be prettied up a bit and thrown on the
web somewhere ):

#1 - First, get and install KVim:


tar xvjf kvim-6.1.141.tar.bz2
cd kvim-6.1.141
./configure --enable-kde-toolbar --enable-kde-check --with-vim-name=kvim --enable-gui=kde --with-features=huge
make install

#2 - Then get and install the vimpart:

export CVSROOT=:pserver:[email protected]:/home/kde
cvs login

mkdir source
cd source
cvs co kdeextragear-1
cd kdeextragear-1
make -f Makefile.cvs
cd vimpart
make install

Fire up Control Center.
Navigate into KDE Components -> Component Chooser,
and also into KDE Components -> Vim Component Configuration

#3 - Now get the KMail source:


And get the kmail-ktexteditor patch here:


#4 - Finally:

tar xvjf kdenetwork-3.1.tar.bz2
cd kdenetwork-3.1
cp kmail-ktexteditor-3.1.diff .
ln -s kmail kmail-3.1
patch -p0 < kmail-ktexteditor-3.1.diff
cd kmail
make install

Fire up your new kmail, then go to Settings -> Configure KMail -> Composer

Choose the Embedded Vim Component


by stv_t (not verified)

I've installed 'vimpart' according to the above instructions and have been able to select 'vim' from the component chooser, however I have no 'Vim Component Configuration' so when I try to start it up from kdevelop 3.0 I just get a message stating that the vim component needs to be configured - Anyone any idea what needs to be done to configure this.
I'm using version 3.1.2 of KDE.

by Joe Khoobyar (not verified)

I have the same problem. I'm running kdevelop 3.0.0 beta 2, on Gentoo 1.4, and the vimpart from kdeaddons (moved from kdeextragear-1) in cvs.

Any solutions from anyone out there? I really don't want to have to rebuild the kdelibs, kcontrol, etc. from scratch just to get this to work. (Ugh!)

by Brian Keats (not verified)

I have the same problem. HELP!

by Markus Hubig (not verified)

I try your recipe but had no success building kdenetwork after applaying the kmail-ktexteditor patch. I use Debian and get the sources via apt-get source kmail.

The error I get was:

/bin/sh ../libtool --silent --mode=link --tag=CXX g++ -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -DNDEBUG -DNO_DEBUG -O2 -fno-exceptions -fno-check-new -DQT_NO_COMPAT -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DKDE_NO_COMPAT -DKDE_NO_COMPAT_H -o kmail -L/usr/X11R6/lib -L/usr/lib kmail.all_cpp.o -lkhtml -lkspell ../libkdenetwork/libkdenetwork.la ../mimelib/libmimelib.la -lkabc
kmail.all_cpp.o(.text+0x37b7e): In function `ComposerPageGeneralTab::ComposerPageGeneralTab[not-in-charge](QWidget*, char const*)':
: undefined reference to `KTextEditor::EditorChooser::EditorChooser[in-charge](QWidget*, char const*)'
kmail.all_cpp.o(.text+0x37b97): In function `ComposerPageGeneralTab::ComposerPageGeneralTab[not-in-charge](QWidget*, char const*)':
: undefined reference to `KTextEditor::EditorChooser::readAppSetting(QString const&)'
kmail.all_cpp.o(.text+0x3829e): In function `ComposerPageGeneralTab::ComposerPageGeneralTab[in-charge](QWidget*, char const*)':
: undefined reference to `KTextEditor::EditorChooser::EditorChooser[in-charge](QWidget*, char const*)'
kmail.all_cpp.o(.text+0x382b7): In function `ComposerPageGeneralTab::ComposerPageGeneralTab[in-charge](QWidget*, char const*)':
: undefined reference to `KTextEditor::EditorChooser::readAppSetting(QString const&)'
kmail.all_cpp.o(.text+0x38c94): In function `ComposerPageGeneralTab::apply()':
: undefined reference to `KTextEditor::EditorChooser::writeAppSetting(QString const&)'
kmail.all_cpp.o(.text+0xab177): In function `KMEdit::KMEdit[not-in-charge](QWidget*, KMComposeWin*, char const*)':
: undefined reference to `KTextEditor::EditorChooser::createDocument(QObject*, char const
and so on ...

Do you have any idea what's the problem? It would be nice i've someone could help me with this, course I *realy* need vim in kmail ;-)

by GauteL (not verified)

While KDE really is very impressive (nice work and congratulations), there is really no hope of it becoming the standard desktop for SUN or Red Hat.

Both are deeply involved in GNOME and GNOME 2.2 really is very nice as well.

The single biggest problem for SUN is that they have lots of commercial third party developers. SUN does not want to use a platform that someone totally controls commercial development on. If you want to develop commercial applications for KDE you need to purchase a commercial license from Trolltech. SUN does not want to be at Trolltechs mercy.

Do you think Microsoft would ever develop an operating system where their core libraries were owned and controlled by a seperate entity?

With GNOME, everyone can develop commercial software, even using the GNOME-libraries and not just GTK+.

There is of course no problems for free software, and still no problem for most developers, the licenses for Qt are not that expensive, but if you ever ask yourself why SUN as a developer of a platform instead of just third party software chose GNOME instead of KDE, one of the answers is pretty clear.

I have to say, KDE looks pretty damn slick, and again congratulations!

by Antiphon (not verified)

Actually, Sun has stated in the past that they wished they'd just bought out Trolltech and used Qt since it is far better documented and less kludgy.

by Datschge (not verified)

As long as there is "commercial support" like Apple is giving by contributing to KHTML I'm not worried about KDE at all. =)

Cheers. ^_^

by Rimmer (not verified)

I'm sure it will be ages before there are Redhat 8 rpms, so I was thinking of using Konstruct. Anyone tried this yet? The instructions on the Konstruct page are very brief... I'm not quite sure how to go about this (other then downloading the source files on my 56k). Hopefully by the time I'm done downloading someone will have figured the build part out :)

by Charlie (not verified)

I'm trying to right now (on RH8). I've been able to fix most of the compile errors that come up just by installing devel RPMS and playing with ldconfig, but I'm stuck at the moment.

Specifically, in the kdemultimedia-3.1/noatun/modules/dcopiface directory, it's failing because of references to VideoPlayObject in libartskde.so, and several "gsl_osc_" references in libartsmodules.so. Anyone have any ideas what I can do to fix it? The error message is below.


/opt/kde3.1/lib/libartskde.so: undefined reference to `Arts::VideoPlayObject_base::_IID'
/opt/kde3.1/lib/libartskde.so: undefined reference to `Arts::VideoPlayObject::_Creator()'
/home/creis/konstruct/kde/kdemultimedia/work/kdemultimedia-3.1/arts/modules/.libs/libartsmodules.so: undefined reference to `gsl_osc_config'
../../../noatun/library/.libs/libnoatun.so: undefined reference to `Arts::VideoPlayObject_base::_fromDynamicCast(Arts::Object const&)'
/home/creis/konstruct/kde/kdemultimedia/work/kdemultimedia-3.1/arts/modules/.libs/libartsmodules.so: undefined reference to `gsl_osc_table_free'
/home/creis/konstruct/kde/kdemultimedia/work/kdemultimedia-3.1/arts/modules/.libs/libartsmodules.so: undefined reference to `gsl_osc_table_create'
/home/creis/konstruct/kde/kdemultimedia/work/kdemultimedia-3.1/arts/modules/.libs/libartsmodules.so: undefined reference to `gsl_osc_process'
/home/creis/konstruct/kde/kdemultimedia/work/kdemultimedia-3.1/arts/modules/.libs/libartsmodules.so: undefined reference to `Arts::StdSynthModule::outputConnectionCount(std::basic_string, std::allocator > const&)'
/home/creis/konstruct/kde/kdemultimedia/work/kdemultimedia-3.1/arts/modules/.libs/libartsmodules.so: undefined reference to `Arts::StdSynthModule::connectionCountChanged()'
/home/creis/konstruct/kde/kdemultimedia/work/kdemultimedia-3.1/arts/modules/.libs/libartsmodules.so: undefined reference to `Arts::StdSynthModule::inputConnectionCount(std::basic_string, std::allocator > const&)'
collect2: ld returned 1 exit status

by Charlie (not verified)

Ah-- good news. I was using an older version of Konstruct (1/27 instead of 1/28), so I updated and it appears to work fine now. Can't wait till it finishes!


by Strider (not verified)

Konstruct works just fine under Redhat 8. Just follow the instructions. The question I have is how do you configure QT-COPY to use Redhat's xft2 configuration? That is all I would need to be a happy camper.


by perraw (not verified)

This worked for me:

First apply this patch:
RCS file: /home/kde/qt-copy/config.tests/x11/xfreetype.test,v
retrieving revision 1.9
diff -u -3 -p -r1.9 xfreetype.test
--- x11/xfreetype.test 17 Dec 2002 14:57:40 -0000 1.9
+++ x11/xfreetype.test 29 Jan 2003 17:01:29 -0000
@@ -37,7 +37,7 @@ XDIRS=`sed -n -e '/^QMAKE_LIBDIR_X11[ ]*
LIBDIRS="$IN_LIBDIRS $XDIRS /usr/shlib /usr/lib /lib"
for LIBDIR in $LIBDIRS; do
- LIBS="Xft2 Xft"
+ LIBS="Xft2"
for LIB in $LIBS; do
FOUND_LIB=`ls ${LIBDIR}/lib${LIB}.* 2>/dev/null`
if [ ! -z "$FOUND_LIB" ]; then

Then do this:

export QTDIR=$PWD
export YACC='byacc -d'
make -f Makefile.cvs

/configure -system-zlib -qt-gif -system-libpng -system-libjpeg -plugin-imgfmt-mng -thread -no-stl -no-exceptions -fast -no-xinerama -prefix /usr/local/qt/ -I/usr/include/Xft2/ -lfontconfig

make install


by Strider (not verified)

Is this applied to the current qt-copy in head? Any chance you can give me a pointer on how to apply this patch?


by Ivaylo Toshev (not verified)

Hi, i am not able to use this patch, dont know what is wrong by me.
1. I try to apply the patch against qt-x11-3.1.1 -> the official qt-3.1.1 release from Troltech ( Should i use it only against qt-copy from KDE CVS ?
2. When i try to apply the patch i get the following error:
patching file x11/xfreetype.test
patch: **** malformed patch at line 4: LIBDIRS="$IN_LIBDIRS $XDIRS /usr/shlib /usr/lib /lib"

P.S. TurboLinux 8 KDE 3.1 RPMS can be used in RedHat 8.0 , they worked and there is antialiasing. BUT !: it is not so easy , first u have to build alsa-drivers and alsa-lib if u want to have sound. An there are other minor issues with KDM ....

by David Bakody (not verified)

Did you force the install? Did you remove the previous RH installation before installing?

I've got the TurboLinux 8 RPM's but... I'd hate to hose my system just to get KDE 3.1 (no matter how good KDE is).

by perraw (not verified)

The patch was against qt-copy. It won't be applied to qt-copy because it is just a hack :)

However, it works w/o any problems here.
I removed all RH 8 Qt/KDE stuff prior till installation

Check out qt-copy, kdebase, kdelibs, arts accordning to:

Then apply the patch to qt-copy, run the configure line I told you.

Ok ?


by Chris (not verified)

Hmm, the problem for me is I don't seem to have a makefile.cvs :-(

I fetched and installed the sources with konstruct using 'make deep-patch' in meta/kde

I then patched xfreetype.test according to your instructions, but I can't do 'make -f Makefile.cvs', since I don't have the Makefile.cvs.

Also, I notice that you don't have '-xft' on your configure line - does this still somehow build with Xft support? If I include the '-xft' on the configure line, configure complains that the test for Xft fails ...



by tagbo okoli (not verified)

How did you restore your Red Hat Menus?

by Jim (not verified)

What Instructions are you referring to. Exactly where are they?

by Des Herriott (not verified)

I got it pretty much built with konstruct on Red Hat 8.0. I had to tweak a Makefile when building some of the GL screensavers (manually added -lGLU, no idea why configure missed that), and I also tweaked a Makefile to not build some of the noatun plugins (they wanted /usr/lib/libesd.la and /usr/lib/libaudiofile.la - again, no idea). But other than that it's built, and seems to run...


No antialiased fonts. What gives? AA fonts work fine in the official KDE 3.0.x on Red Hat 8.0, what's changed in 3.1? Something to do with Qt?

by Charlie (not verified)

Try perraw's advice in the reply above. On mine, I noticed that QT was configuring itself without Xft support, and I found someone's suggestion to add "-lfontconfig" to the OWN_CFLAGS variable. That worked for me, and I think perraw's approach might be a better way to handle it.

by Des Herriott (not verified)

Yup, I think that's working. I had trouble patching Qt and getting everything to play nicely with Konstruct, so I downloaded and built Qt separately (following perraw's sample command-line), and set the HAVE_QT_3_1_INSTALLED define to TRUE in Konstruct's gar.conf.mk. I'm guessing there's a way to patch Konstruct to build Qt properly for RH8.0, but I'm not familiar enough with Konstruct to do that myself.

Only kdebase built so far, but konsole now appears to have antialiased fonts again, so looking good :)


by luci (not verified)

i've tried to add -lfontconfig to OWN_FLAGS in my gar.conf.mk, it accepts it but then there's still
Xft support ......... no
in screen print-out...

what can be wrong?

thanks, luci

by Charlie (not verified)

Hmm. Just a guess, but make sure you have both Xft and Xft-devel installed.

For me:

$ rpm -qa |egrep Xft

Hope that helps,

by rh8_user (not verified)

I have both of those installed in RH8 and still get:

Xft support ......... no

./configure -xft -continue

still didn't resolve the problem...


by Peterservo (not verified)

I tried, I failed. Just ended up rm -rf the whole lot.

For the benefit of those that are having trouble getting Konstruct to build KDE with XFT support, here are the steps I used . This has worked for me on two machines, but that's hardly a comprehensive QA so YMMV. Please let me know if this does not work for you, or if some of the more knowledgeable folks spot some problems with this process. I'm installing QT in /opt/qt-3.1.1 and KDE in /opt/kde-3.1, so wherever you see those entries in the process change them to your desired installation location.

1. Download and extract Konstruct
2. cd konstruct/libs/qt-x11-free
3. make extract
4. cd konstruct/libs/qt-x11-free/work/qt-x11-free-3.1.1/config.tests/x11
5. I also could not get perraw's patch to work, so I just manually edited xfreetype.test. Change the line:
LIBS="Xft2 Xft"
Thanks to perraw for posting this tidbit.
6. cd konstruct/libs/qt-x11-free/work/qt-x11-free-3.1.1
7. export QTDIR=$PWD
export YACC='byacc -d'
8. ./configure -system-zlib -qt-gif -system-libpng -system-libjpeg -plugin-imgfmt-mng -thread -no-stl -no-exceptions -fast -no-xinerama -prefix /opt/qt-3.1.1 -I/usr/include/Xft2/ -lfontconfig
9. make install. Go watch two episodes of the Simpsons.
10. cd to the konstruct dir
11. edit gar.conf.mk as per the Konstruct README. Be sure to set HAVE_QT_3_1_INSTALLED
12. export QTDIR=/opt/qt-3.1.1
export KDEDIRS=/opt/kde-3.1
export PATH=$KDEDIRS/bin:$PATH
13. unset YACC
14. cd konstruct/meta/kde
15.make install. Go watch 10 episodes of the Simpsons.
16.Edit /etc/ld.so.conf and replace the existing entries for QT and KDE with the new locations. Run 'ldconfig' as root.

Don't forget to edit your .bashrc and add the environment variables set in step 12 for any users that will be using the new KDE. And by the way, ccache (http://ccache.samba.org) is your friend when you are rebuilding KDE on a weekly basis.

GA thanks for the step by step. FYI I AM A NEWBIE to linux

I am having a problem after completing step 8.
I run the 'make install' and get the following error.

make[1]: Entering directory `/tmp/konstruct/libs/qt-x11-free/work/qt-x11-free-3.1.1'
cd qmake && make
make[2]: Entering directory `/tmp/konstruct/libs/qt-x11-free/work/qt-x11-free-3.1.1/qmake'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/konstruct/libs/qt-x11-free/work/qt-x11-free-3.1.1/qmake'
cd qmake && make install
make[2]: Entering directory `/tmp/konstruct/libs/qt-x11-free/work/qt-x11-free-3.1.1/qmake'
[ -d /opt/qt-3.1.1/bin ] || mkdir -p /opt/qt-3.1.1/bin
mkdir: cannot create directory `/opt/qt-3.1.1': Permission denied
make[2]: *** [install] Error 1
make[2]: Leaving directory `/tmp/konstruct/libs/qt-x11-free/work/qt-x11-free-3.1.1/qmake'
make[1]: *** [qmake-install] Error 2
make[1]: Leaving directory `/tmp/konstruct/libs/qt-x11-free/work/qt-x11-free-3.1.1'
make: *** [install] Error 2

am i supposed to run this command from root?