Trinity
Related articles
The Trinity Desktop Environment (TDE) project is a feature rich desktop environment for Unix-like operating systems with a primary goal of retaining the overall KDE 3.5 computing style. The project was founded by and is still led by Timothy Pearson. After 5 years of work, TDE is a fast, stable and mature desktop for Linux.
TDE is a fork of KDE 3.5. Continued development by the Trinity Project has polished off many rough edges that were present in the final release of KDE 3.5.10. Many new and useful features have been added to keep the environment up-to-date. Prior to this project, the last release of KDE 3.5 for Arch was TDE 3.5.12 packaged by Chakra as kdemod3.
The current stable release of TDE (3.5.13-2) was released July 21st 2013. Tarballs are available for download. Current development is on 14.0.0 (R14). R14 entered soft-freeze on March 4, 2014, RC releases for R14 are scheduled for release shortly. Development binaries are available for Archlinux now. TDE 3.5.13(sru) and R14 build on Archlinux with current libraries.
The initial build of R14 without hal is complete. This signifies the first build of TDE R14 for Archlinux systemd environment without the holdover hal requirement. While a few systemd integration issues remain, TDE R14 development builds on Archlinux work beautifully. See the list of completed packages and location of repositories below.
Contents
The difference between 3.5.13 and R14
The versioning change between 3.5.13 and R14 signifies that backwards compatibility with 3.5.X has been dropped eliminating dependency on HAL and to allow TDE/TQt to install along side Plasma4/Qt4 without conflict. While backwards compatibility with HAL is dropped, all addons, themes and desktop utilities continue to build and work with R14. R14 will may be built with, or without, HAL but is intended to remove HAL completely. 3.5.13 continues true backwards compatibility with KDE 3.5.10 codebase and provides an alternative for those willing to install hal. The 3.5 13 branch will be maintained for the forseeable future.
R14 will be a true TDE release with all branding, artwork, and graphics changed and updated for this project rather than using holdover KDE3 stock images. The significant improvements and changes to the R14 codebase have been backported to 3.5.13-sru. All in all, the desktop functions beautifully on current graphics libs, systemd, libusbx, udisk2 and other newly implemented hardware paradigms.
Installation
To add the repository, edit /etc/pacman.conf [as root] changing 'x86_64' to 'i686' as necessary and add the following lines at the end:
[trinity] SigLevel = Never Server = http://trinity.ceux.org/r14/x86_64
In order to use the trinity repository, it is recommended that you first perform a system upgraded to update all repository indexes. This will prevent a partial upgrade that could occur if 'pacman -Sy' is run and all repository indexes are updated without updated system packages being installed -- Pacman#Partial_upgrades_are_unsupported.
pacman -Syu
Meta package installation for tde is provided under the name tde-base, tde-core
, tde-dev, tde-extra, tde-multimedia or tde-complete. For descriptions, see below. Choose the desired metapackage. Then to install simply invoke 'pacman -S meta-name'. For example:
pacman -S tde-complete
- tde-core is recommended for a minimum test install (tde-base is absolute bare-bones)
The meta-package arrangement has been fully implemented and roughly corresponds to:
tde-base : minimum possible install (up to tdebase) tde-core : 'tde-base' + all core TDE application (without koffice or many external applications) tde-dev : 'tde-core' + development bindings and packages tde-extra : 'tde-core' + common external applications + koffice tde-multimedia : 'tde-core' + all AV and CD/DVD apps (amarok, kaffeine, etc.) tde-complete : 'tde-extra' + all building packages
You can view the contents of each meta-package easily by using ‘pacman -Sg group’. Example:
pacman -Sg tde-extra
Upgrading 3.5.13→R14 (conflicts)
The 3.5.13 packages were last built over one year ago. In the time since 3.5.13, there have been a number of changes to the individual packages that make up TDE. This includes moving and removing duplicate icons and files and rearranging packages that were in ‘questionable’ shape at the time kde 3.5.10 was released. This cleanup has resulted in conflicting icons between R14 and old 3.5.13 packages that makes a direct update difficult. These conflicts primarly show up in tdelibs and tdepim and tdeiolocate. The best solution is simply to remove 3.5.13 before installing R14.
However, if you would like to do a direct upgrade, it will take a bit of manual intervention, but it is possible to manually upgrade R14 from 3.5.13 by installing tdepim and tdeiolocate last. For example, if installing the metapackage tde-core (with all its files), get the list of files to be install and remove the files causing conflict:
$ ( IFS=$'\n'; for i in $(pacman -Sg tde-core); do echo -n "${i##*\ } "; done; echo ""; )
Remove tde-tdepim and/or tde-tdeiolocate from the list of files created above and then use:
# pacman -U long-list-of-tde-packages # pacman -U tde-tdepim tde-tdeiolocate
Adjust as necessary to eliminate conflicting files.
Start and configuration
After a successful install of TDE, the tdm desktop manager can be used to start TDE (and all other desktops) in the same manner kdm is used to start KDE Plasma. The init script for the display manager has been renamed from kdm
to tdm
to avoid conflicts. TDE includes a tdm.service file allowing systemd to start tdm at boot. TDE can also be started from the command line by including the path to starttde in your ~/.xinitrc. Either way launching tdm or TDE is straightforward.
Enable tdm.service in systemd to start tdm at boot
If systemd is configured to boot the default multi-user.target (default), all that is required to configure tdm to start at boot is to enable the tdm.service file in systemd
systemctl enable tdm
That's it. If you encounter any problem, the default.target may have manually configured. See: Display manager#Loading the display manager for resolution.
Configure to work with startx
Trinity provides a normal starttde
in /opt/trinity/bin
(symlink provided in 3.5.13). The easiest way to start Trinity is to simply add /opt/trinity/starttde
entry at the end of ~/.xinitrc
. If you do not presently have ~/.xinitrc
, then simply copy it from /etc/skel or create it with the following entry:
~/.xinitrc
exec /opt/trinity/bin/starttde
Then from the command line, just type startx
.
Known issues
Issues for 14.0.0
The following are issues specific to the R14 development release:
pure systemd code changes - Changes to TDE/tdm will be needed to fully support user and session tracking in a pure systemd environment. Currently, without consolekit, user access to system devices such as sound, print driver generation and others is blocked. Sound and print work-arounds in the interim are to add users to the audio and lp groups. Additionally, tdeio sessions opened are not automatically closed, such as sftp connections. TDE continues to work fine, just be aware of these issues until the fix is complete.
kasablanca - connects to remote server, but file list is not displayed.
kftpgrabber - connects to remote server, but file list is not displayed.
kmymoney - sqlite3 backend disabled.
tdebase - login loops back to itself (fixed - Xsession ck- removal) basket notepads - settings empty (fixed - staticlibs) twin-style-crystal - unable to configure (fixed - staticlibs) tdenetworkmanager - crash on startup (fixed - staticlibs) kaffeine - x-mplayer2.desktop conflicts with tdelibs (fixed)
Issues for 3.5.13-sru
The following are issues that are specific to the 3.5.13-sru release:
KHelpCenter documentation from packages built with autotools are installed in /opt/trinity/share/doc/HTML
while documentation from CMake packages are installed in /opt/trinity/share/doc/kde/HTML
. This means roughly one-half of the help files are missing from the khelpcenter browser. This is currently being fixed in the GIT tree and the next set of packages will have all help documentation in the chosen standard location of /opt/trinity/share/doc/tde/HTML
. This also insures a future /usr
install will not conflict with any KDE help files. As a workaround in the mean time, after installing 3.5.13-sru:
cd /opt/trinity/share/doc/kde/HTML/en for i in ../../../HTML/en/*/; do ln -s $i; done
Package tde-tdesvn
for x86_64 had been built with libpath /opt/trinity/lib64
and /opt/trinity/lib64/trinity
, but there was no any records in libpath about them. Then, starting kdesvn
you get error libkdesvnpart.la not found in paths
. As a workaround you may copy/symlink libraries from /opt/trinity/lib64
and /opt/trinity/lib64/trinity
into /opt/trinity/lib
and /opt/trinity/lib/trinity
respectively or try to create libpath record and ldconfig
after it.
Reporting bugs
All bugs with TDE code both R14 and 3.5.13-sru should be filed with the Trinity Bug Tracker. The URL for direct bug entry is:
http://bugs.pearsoncomputing.net/enter_bug.cgi?product=TDE
Both bug reports and feature requests are welcome. If you find a package that you really like that is a KDE package that you would like to see ported to TDE, then list it as a feature request. There are some really good tools that allow an almost automatic conversion for Qt/KDE3 apps to the TQt/TDE environment.
Build from source
PKGBUILDs – current git code
For a snapshot of PKGBUILD sources for building against the current GIT tree, see R14 and 3.5.13-sru. Be sure to read the README-building.txt.
Build order
The required build order is specified in the Trinity-HowToBuild. After building tdebase
, you can start the desktop.
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.
Example
# mkarchroot -u $CHROOT/root # makechrootpkg -c -r $CHROOT # makechrootpkg -r $CHROOT
Which means respectively:
- update the chroot
- build first package with the -c option
- build remaining packages without update }}
Development 14.0.0 status
The following packages have been successfully built from the TDE GIT tree for the upcoming release.
3rd Party Build Dependencies
These are non-Arch provided dependency/optdepends packages needed to build and run TDE with all features fully supported (down to reading MRI and CT scan images)
hal (AUR hal) ** hal-info (AUR hal-info) ** libkarma (AUR libkarma) mt-daapd (AUR mt-daapd) wv2 (AUR wv2) xmedcon ** no longer required in R14
Complete packages (current)
The TDE codebase is in extremely good shape. The following packages were built on both i686 and x86_64, including tdelibs (without hal). Current repository size is 432M for i686 and 412M for x86_64.
tde-abakus tde-amarok tde-arts tde-avahi-tqt tde-basket tde-dbus-1-tqt tde-dbus-tqt tde-digikam tde-dolphin tde-filelight tde-gtk-qt-engine tde-gtk3-tqt-engine tde-gwenview tde-k3b tde-k9copy tde-kaffeine tde-kasablanca tde-katapult tde-kbarcode tde-kbfx tde-kbookreader tde-kchmviewer tde-kcmautostart tde-kcmldap tde-kcmldapcontroller tde-kcmldapmanager tde-kcpuload tde-kdbg tde-kdbusnotification tde-kdiff3 tde-kdirstat tde-kftpgrabber tde-kgtk-qt3 tde-kile tde-kima tde-kiosktool tde-kipi-plugins tde-kmplayer tde-kmyfirewall tde-kmymoney tde-knemo tde-knetload tde-knetstats tde-knights tde-knmap tde-knowit tde-knutclient tde-koffice tde-konversation tde-krecipes tde-krename tde-krusader tde-kscope tde-ksensors tde-ksplash-engine-moodin tde-kvkbd tde-kvpnc tde-kxmleditor tde-libart-lgpl tde-libcaldav tde-libcarddav tde-libkdcraw tde-libkexiv2 tde-libkipi tde-libksquirrel tde-libtdeldap tde-mlt++ * tde-mlt * tde-potracegui tde-pytdeextensions tde-python-tqt tde-python-trinity tde-rosegarden tde-sip tde-sip4-tqt tde-smb4k tde-soundkonverter tde-tde-style-qtcurve tde-tdeaccessibility tde-tdeaddons tde-tdeadmin tde-tdeartwork tde-tdebase tde-tdebindings tde-tdeedu tde-tdegames tde-tdegraphics tde-tdeio-ftps tde-tdeio-locate tde-tdeio-umountwrapper tde-tdelibs tde-tdemultimedia tde-tdenetwork tde-tdenetworkmanager tde-tdepim tde-tdepowersave tde-tderadio tde-tdesdk tde-tdesvn tde-tdetoys tde-tdeutils tde-tdevelop tde-tdewebdev tde-tdmtheme tde-tellico tde-tork tde-tqca-tls tde-tqscintilla tde-tqt3 tde-tqt3-docs tde-tqtinterface tde-twin-style-crystal tde-wlassistant tde-yakuake * i686 only
TDE GIT application in need of packaging/updating
The following is a list of packages that need PKGBUILDs create and/or 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 (trinity-devel@lists.pearsoncomputing.net). Visit http://www.trinitydesktop.org/mailinglist.php for more information.
adept bibletime compizconfig-backend-kconfig desktop-effects-tde filelight-l10n fusion-icon kaffeine-mozilla keep kerry kio-apt kopete-otr kpicosim kpilot kstreamripper ksystemlog ktechlab ktorrent kvirc piklab qt4-tqt-theme-engine (requires qt4) smartcardauth tde-guidance tde-style-lipstik tde-systemsettings tdesudo
Contributors
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.
Archlinux
- 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 (3.5.12).
- David C. Rankin: R14.0.0 & (3.5.13-sru) Development and Archlinux Packaging
Developers
- Timothy Pearson: Project administrator, primary developer, build farm administrator, Debian/Ubuntu packaging maintainer.
- Darrell Anderson: 3.5.13 -> 14.0.0 Lead coordinator for development and rebranding. Build system preprocessor improvements.
- Slávek Banko: 3.5.13-sru developer, GIT maintainer, R14 backport selection and integration.
- Serghei Amelian: General functionality enhancements, CMake build system developer/maintainer.
- "Woodsman": Vanilla build testing, Slackware packaging maintainer.
- Francois Andriot: Developer, Redhat/Fedora packaging maintainer.
- David Rankin: 3.5.13-sru and R14 development, upstream library change implementation, graphics, Arch Packaging.
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.
See also
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-devel mailing list. All of the following links are available from the Trinity project site. A quick list of helpful links to the project follows:
- Main Project Site: http://trinitydesktop.org
- TDE GIT Repository: http://git.trinitydesktop.org/cgit/
- TDE GIT SCM Manager: http://scm.trinitydesktop.org/scm/
- Bug Reporting: http://bugs.trinitydesktop.org
- Mailing Lists: http://trinitydesktop.org/mailinglist.php
- Developers Web: http://trinitydesktop.org/wiki/bin/view/Developers/WebHome
- Trinity Qt4 Conversion: http://trinitydesktop.org/wiki/bin/view/Developers/TrinityTQtforQt4Conversion
- How To Build: http://trinitydesktop.org/wiki/bin/view/Developers/HowToBuild