Check out my first novel, midnight's simulacra!

Compiz on Debian Unstable

From dankwiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
The compiz cube (+ reflection and deformation) on Debian Unstable.

Debian dropped the Compiz window manager in the 7.x "wheezy" release. Compiz 8.x is distributed for Debian Jessie by tuxfamily.org, based on the compiz-reloaded releases. As of October 2016, these source packages can be easily patched, built, and run on Debian Unstable. Compiz 9 seems closely tied to Ubuntu, and I have never successfully run it on Debian.

The tuxfamily packages live at http://download.tuxfamily.org/compiz/debian http://download.tuxfamily.org/compiz/debian. To blindly add their jessie repo, run

wget -q http://download.tuxfamily.org/compiz/apt/key.pub -O- | \
sudo apt-key add - && \
echo "deb-src http://download.tuxfamily.org/compiz/debian jessie main" | \
sudo tee /etc/apt/sources.list.d/compiz-debian.list && \
sudo apt-get update

the binary packages cannot generally be installed on sid, and I discourage attempting to do so.

I've built binaries and published them to https://nick-black.com/compiz-unstable, if you'd prefer not to build from source.

GTK

I have not successfully built compiz 8 against GTK3 in isolation, due to dependencies on libraries that depend on libgtk-2.0-dev. This is true even if --with-gtk=3.0 is provided to compiz's configure script via debian/rules. GTK includes code to determine whether an object has been linked against both GTK2 and GTK3, aborting if so. If libgtk-3-dev is installed, it will be picked up, even if --with-gtk=2.0 is provided to compiz's configure script. The build will succeed, but resulting binaries will fail when run. I have only successfully run compiz's gtk-window-decorator when built in the absence of libgtk-3-dev.

This implies we must also rebuild mate-desktop, as this is built against GTK3 in unstable, and compiz wants libmate-desktop-dev.

It is probably possible to disable GTK and MATE support, and simply run emerald as one's window decorator.

Rebuilding MATE

Acquire the source package mate-desktop, and amend it to build against GTK2.

Here's a diff against 1.16.1.

Build compiz

  • Acquire and build compiz. Install the resulting compiz-dev and libdecoration-dev packages.
  • Acquire and build libcompizconfig. Install the resulting libcompizconfig-dev package.
  • Acquire and build compizconfig-python. Install the resulting python-compizconfig package.
  • Acquire and build ccsm. Install the resulting compizconfig-settings-manager package.
  • Acquire and build compiz-fusion-bcop. Install the resulting compiz-fusion-bcop package.
  • Acquire and build compiz-fusion-plugins-main. Install the resulting compiz-fusion-plugins-main package.
  • Optionally, acquire and build compiz-fusion-plugins-extra and compiz-fusion-plugins-unsupported.
  • Install the compiz package that resulted from the first step.