Skip to content

Instantly share code, notes, and snippets.

@kfh83
Last active December 4, 2025 00:24
Show Gist options
  • Select an option

  • Save kfh83/3631b0059fcace038de98dd3f99c2c88 to your computer and use it in GitHub Desktop.

Select an option

Save kfh83/3631b0059fcace038de98dd3f99c2c88 to your computer and use it in GitHub Desktop.
Building KDE 2.2.2 on Debian 13 (as of Nov. 2025)

This is originally based on the work of sandsmark. His port hasn't been touched since ~early 2022 and has since stopped compiling, so i have made a few fixes to the code in the following repositories...

Order of build:

  1. qt2 (https://github.com/kfh83/qt2)
  2. kde2-kdelibs (https://github.com/kfh83/kde2-kdelibs)
  3. kde2-kdebase (https://github.com/kfh83/kde2-kdebase)

To build any of these, once you've gotten the required dependencies and have cloned the repos, cd into the desired repository's directory and run mkdir build && cd build then run cmake .. && make. Once its done building you can run sudo make install and move onto the next component (if applicable).

Base dependencies: sudo apt install build-essential git cmake pkgconf bison flex


Dependencies for qt2: sudo apt install libfontconfig1-dev libc6-dev libglvnd-dev libice-dev libjpeg-dev libmng-dev libpng-dev libsm-dev libx11-dev libxext-dev libxft-dev libxmu-dev zlib1g-dev byacc libglu1-mesa-dev freeglut3-dev

After qt2 is installed, run: sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/usr-local-lib.conf' && sudo ldconfig

For some reason Debian doesn't ship a .pc file for libmng (atleast i couldn't find one), so we have to create one: /usr/lib/x86_64-linux-gnu/pkgconfig/libmng.pc:

prefix=/usr
exec_prefix=${prefix}

libdir=${exec_prefix}/lib/x86_64-linux-gnu
includedir=${prefix}/include

Name: libmng
Description: MNG image library
Version: 1.0

Libs: -L${libdir} -lmng
Cflags: -I${includedir}

Then once that's made, run: export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig:$PKG_CONFIG_PATH

Then build the module.


Dependencies for kde2-kdelibs: sudo apt install libasound2-dev libtiff-dev libxml2-dev libxslt-dev libcups2-dev libssl-dev libaudiofile-dev libltdl-dev libacl1-dev

libpcre* isn't in the repositories anymore and was last seen in oldoldstable, so you'll have to download and install these packages from here


Dependencies for kde2-kdebase: sudo apt install libxinerama-dev libxtst-dev libsensors-dev libmp3lame-dev libogg-dev libvorbis-dev libpam-dev

To use it with a modern display manager (kdm does not build in this port, sadly), create an xsessions entry for it: sudo nano /usr/share/xsessions/kde2.desktop:

[Desktop Entry]
Encoding=UTF-8
Type=XSession
Exec=/usr/local/bin/startkde2
TryExec=/usr/local/bin/startkde2
Name=KDE 2.2.2
Comment=KDE 2.2.2

... or if you just want to start it manually, you can do it so by running startkde2.

Keep in mind this port is fairly buggy (i.e you can't launch konqueror from the kicker, kded likes to crash randomly, some settings can't be changed thru the UI for some reason...) so consider this more of a novelty. Also im kinda bad at writing instructions and im a linux noob.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment