Check out my first novel, midnight's simulacra!
Compiz on Debian Unstable: Difference between revisions
(Created page with "Debian dropped the [https://wiki.debian.org/Compiz Compiz] window manager in the 7.x series. As of October 2016, it is possible to build Compiz 8.x as maintained by [http://co...") |
No edit summary |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Debian dropped the [https://wiki.debian.org/Compiz Compiz] window manager in the 7.x | [[File:Compiz-debian-unstable.png|thumb|The compiz cube (+ reflection and deformation) on Debian Unstable.]] | ||
Debian dropped the [https://wiki.debian.org/Compiz Compiz] window manager in the 7.x "wheezy" release. Compiz 8.x is distributed for Debian Jessie by [http://compiz-debian.tuxfamily.org/ tuxfamily.org], based on the [https://github.com/compiz-reloaded 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 | |||
<pre>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</pre> | |||
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 <tt>--with-gtk=3.0</tt> is provided to compiz's configure script via <tt>debian/rules</tt>. 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 <tt>--with-gtk=2.0</tt> 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 <tt>gtk-window-decorator</tt> 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 [https://nick-black.com/compiz-unstable/mate-desktop-1.16.1.diff 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. |
Latest revision as of 02:19, 21 October 2016
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.