From ArchWiki
Revision as of 19:41, 16 August 2012 by Drankinatty (talk | contribs)
Jump to: navigation, search

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

Trinity Desktop Environment (TDE) is a fork of KDE3 developed by Timothy Pearson ( The goal of this project is to keep the KDE3.5 computing style alive, as well as polish off any rough edges that were present as of KDE 3.5.10. Along the way, new useful features have be added to keep the environment up-to-date. The current stable release of TDE (3.5.13) was released Nov 1st 2011. A software release update (SRU) for 3.5.13 is planned in late 2012. Current development is on 14.0.0. Both 3.5.13(sru) and 14.0.0 build on Arch with all current libraries.

The Difference Between 3.5.13 & 14.0.0

The versioning change between 3.5.13 and 14.0.0 signifies that backwards compatibility with 3.5.X has been dropped to allow TDE/TQt to install along side KDE4/Qt4 without confict. 14.0.0 will continue to rely on HAL, but subsequent releases will do away with that dependency. 14.0.0 contains the first prototype of media:/ kioslave as a replacement for HAL. 3.5.13 continues backwards compatibility with KDE 3.5.10 code and provides an alternative choice for those that prefer.

Currently the remaining TQt name changes are being implemented after which a tentative code 'freeze' is anticipated to allow user testing and bug identification. 14.0.0 will be a true TDE release with all branding, artwork, and graphics changed and updated for this project rather than using the holdover KDE3 stock images. All in all, the desktop functions beautifully on current graphics libs, systemd-tools, libusbx, udisk2 and other newly implemented hardware paradigms.

Trinity Packages for Arch

Currently development packages for Arch Linux are available for both 3.5.13-sru and 14.0.0. If server space is available for hosting, binaries can be provided for testing for both i686 and x86_64.

PKGBUILDS in AUR are Out of Date

The PKGBUILDs available in the AUR are old and outdated and will likely not build. Current PKGBUILDs are available for both R14 and 3.5.13-sru. The PKGBUILD files in AUR will be updated after all backports of patches from the 14.0.0 branch have been backported to 3.5.13.

Any problems should be reported immediately.

PKGBUILDS for Trinity - Current GIT Code

For a snapshot of PKGBUILD sources for building against the current GIT tree, see: (R14) and (3.5.13-sru), AND READ

Note: Final PKGBUILD source files will be moved to the tdepackaging GIT tree after 14.0.0 is released.

Binary Packages

Server space has been graciously provided by Axilleas Pi. Install repositories are shown below. Meta package installation for tde is provided under the name 'tde-base'. To install TDE on Arch, simply install with:

pacman -Sy tde-base

Note: On install, you should expect conflicts with tde-sip and tde-sip4-tqt. The TDE packages 'tde-sip' and 'tde-sip4-tqt' are direct replacements for the 'sip' and 'python2-sip' packages. They simply contain additional extensions for TDE. If you encounter these conflicts, the recommended install is:
pacman -Rdd sip python2-sip
pacman -Sy tde-base

Warning: If attempting to install 3.5.13 along side KDE4 you will experience conflict with libart-lgpl and kdebase-workspace. The libart-lgpl packages are equivalent. The kdebase-workspace conflict is with /etc/ksysguarddrc. Both are in the process of being eliminated.


At present, the Trinity project for Arch Linux is just beginning. Interest in the project and the list of contributors is growing. Anyone wanting to help can simply join in. Please email Calvin Morrison.


  • Calvin Morrison: Trinity and Arch a/k/a "mutantturkey", PKGBUILD development and collaboration.
  • Kaiting Chen: Arch Linux - server space for testing Trinity binaries in the past.
  • Albert Vaca: kdemod3 updated based on Trinity Stable codebase.
  • David C. Rankin: 14.0.0 (3.5.14) Development & Packaging


  • Timothy Pearson: Project administrator, Primary developer, Build farm administrator, Debian/Ubuntu packaging maintainer.
  • Darrell Anderson: 3.5.13 -> 14.0.0 Development and rebranding.
  • Slavek Blanko: 3.5.13 update and backporting.
  • Serghei Amelian: General functionality enhancements, CMake build system developer/maintainer.
  • "Woodsman": Vanilla build testing, Slackware packaging maintainer.
  • Francois Andriot: Redhat/Fedora packaging maintainer.

Content Distribution

  • University of Idaho: Mirror 1 [United States]
  • Jens Dunzweiler: Mirror 2 [Germany]
  • Inga Muste: Kubuntu LiveCD mirror

Web Team

  • Calvin Morrison: Website design.
  • Inga Muste: Website design.

Trinity Resources

The Trinity site has a number of good resources available. As with any rapidly developing project, the documentation is somewhat sparse, but it does provide a good basic road-map to follow here. The mailing list has approximately the same volume as the arch-user list, so it will not overwhelm your inbox. If you want to help with this project, it is strongly recommended that you also join the trinity-user mailing list. All of the following links are available from the Trinity project site. A quick list of helpful links to the project follows:

Trinity Build Order

The required build order is specified in the Trinity-HowToBuild. After building kdebase, you can start the desktop.

Warning: Trinity should be built from a clean build environment without KDE4 or kdemod3 present. Using an Arch chroot (archroot) is the proper way to build. See: DeveloperWiki:Building in a Clean Chroot for details.
 (1) 'sudo mkarchroot -u $CHROOT/root'  # update the chroot
 (2) 'sudo makechrootpkg -c -r $CHROOT' # build first package with the -c option
 (3) 'sudo makechrootpkg -r $CHROOT'    # build remaining packages without update 

Trinity Build Issues

Build in a new Arch chroot
Warning: Trinity on Arch must be built in a clean environment.

Set up your chroot for building by referencing DeveloperWiki:Building in a Clean Chroot. Make sure you configure your 'local' repository in $CHROOT/root/repo and add each package built to the repository as outlined in the DeveloperWiki.


To standardize the build and install of Trinity, the following PKGBUILD options are used:


  • trinity-extras - for any extra packages related to trinity, trinity-kpowersave, trinity-amarok, etc
  • trinity - for base Trinity packages, tqtinterface, trinity-kdebase trinity-kdelibs etc.


  • Don't use options=(!libtool)
I have had the best success with options=('libtool' '!strip').

Trinity Build Dependency PKGBUILDs

The following PKGUILDS are complete and provide working packages for both i686 and x86_64 architectures. They can always be improved and if you notice a missing depends, please feel free to update it. These PKGBUILDs for Trinity have been developed in a clean, minimal Virtualbox build environment, so the depends array should be complete.

Standard CMake Flags For Building Trinity Components

For all Trinity packages (including tqtinterface), you will need to specify the /opt/trinity prefix to get packages installed in the correct location. The following cmake options have been successful:

cmake ../ \
-DQTDIR=/opt/qt \
-DQT_LIBRARY_DIRS=/opt/qt/lib \
make VERBOSE=1

# for debugging info, add -DCMAKE_CXX_FLAGS=-g
Warning: RPATH argument ‘-DCMAKE_SKIP_RPATH=ON’ cannot be used with the kdelibs build

Trinity PKGBUILD Standards

To standardize the build and install of Trinity, the following PKGBUILD options are used:


  • trinity-


The current work is centered on determining how best to organize the PKGBUILD structure to make building from the existing Trinity svn tree doable. A majority of the Trinity svn build has been ported to cmake.

Cannot find

For some reason sometimes qt3 cannot be found. A quick hack is to add qt to your LD_PRELOAD:

export LD_PRELOAD="/opt/qt/lib/
archroot - trinity-arts - qtobject.h not found

It first appeared that cmake environment was not respecting CMAKE_INCLUDE_PATH resulting an an tqobject.h include failure. However, Baho has been successful with the build and has not encountered this error. There have been many improvements with the CMake files in Trinity during the past few weeks, so hopefully this is no longer an issue.

Starting and Running Trinity on Arch

Currently Trinity runs fine if KDE4 or kdemod3 are not installed on the computer. It will run along side kde4, but the kde4 autostart scripts in /usr/share/autostart will load akonadi, nepomuk and the kde4 plasma-panel on top of Trinity. The Trinity developers are currently looking at how to make Trinity ignore the kde4 autostart scripts. Trinity will not run along side another kde3 install due to the conflict with the kde system config cache store in /var/tmp/kdecache-$USER. (Trinity will load, but window decorations, etc. will not appear due to incorrect path information in the existing cache). So currently, if you want to run Trinity -- run it in a clean environment.

Configuring Trinity to work with startx

Trinity provides a normal ‘startkde’ in /opt/trinity/bin. The easiest way to start Trinity is to simply create the symlink /usr/bin/starttrinity pointing to /opt/trinity/bin/startkde and then just add the ‘starttrinity’ entry at the end of ~/.xinitrc. (the symlink simply ensures that starttrinty is in your existing $PATH) Then from the command line, just type ‘startx’

Configuring Trinity kdm Greeter

Trinity provides a great looking kdm interface. The trinity-kdebase PKGBUILD has been updated to install the trinity.desktop file in /etc/X11/sessions; update /opt/trinity/share/config/kdm/kdmrc and /opt/trinity/share/config/kdm/Xsession. In order to use the Trinity kdm, all that is needed is to update /etc/inittab and change the runlevel 5 x startup to:

x:5:respawn:/opt/trinity/bin/kdm -nodaemon

If you experiment with other display managers (slim, etc..) please drop a quick howto here.

Trinity kdm Changes Summary

There are currently issues with the default Xsession file. (genkdmconf probably hasn't been looked at in years. Work is underway to get this fixed.) Updated files are provided in the trinity-kdebase package that fix this on Arch. The updated Xsession file provided by the trinity-kdebase PKGBUILD contains the following:

case $session in
   exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."
   exec xterm -geometry 80x24-0-0
   exec $HOME/.xsession
   exec /opt/trinity/bin/startkde
   eval exec "$session"
exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute $session. Check $DESKTOP_SESSION.desktop."
Warning: The trinity-kdebase install will install a default kdmrc each time the package is installed. The original annotated kdmrd is installed as kdmrc.orig. A fix is in work use the existing kdmrc if present.

The trinity-kdebase install also does the following:

creates the trinity.desktop file above in /etc/X11/sessions/trinity.desktop
updates /opt/trinity/share/config/kdm/kdmrc to set:
  • SessionsDirs=/etc/X11/sessions
  • TerminateServer=true

To use the Trinity chooser, all you need to do is:

  1. edit /etc/inittab and set x:5:respawn:/opt/trinity/bin/kdm -nodaemon
  2. sudo telinit Q or sudo /opt/trinity/bin/kdm &

14.0.0 Development Status

The following packages have been successfully built from the TDE GIT tree for the upcoming 3.5.14 release.

Required AUR Packages

 hal 0.5.14-14
 hal-info 0.20091130-7
 libutempter 1.1.5-8
 wv2 (dependency for koffice)

Completed Packages - 14.0.0_dev (on gcc 4.7.1 + libpng15)


Packages Requiring Fixes (libpng15)

The following is a list of packages that need code fixes to build with current libraries. If you can help with the project and code updates then please join us on the trinity-devel list ( Visit for more information.

 koffice  (wv2 & libpng15)