Configuration
Install
FreeBSD 10+ uses Clang as the default compiler. Unfortunately Compiz plugins require gcc (Compiz will crash otherwise).
# pkg query %n-%v gcc gcc-4.6.4
As you can see I have gcc already installed. If the command above shows nothing install lang/gcc46.
Add the following to /etc/make.conf:
.if !empty(.CURDIR:M*/x11-wm/compiz-plugins*) && exists(/usr/local/bin/gcc46) CC=gcc46 CXX=g++46 CPP=cpp46 .endif
Now build and install Compiz:
# cd /usr/ports/x11-wm/compiz-fusion # make install clean
Options for compiz:
- Uncheck GNOME
- Uncheck METACITY
# cd /usr/ports/x11/xvinfo # make install clean # cd /usr/ports/x11/xdpyinfo # make install clean # cd /usr/ports/graphics/hsetroot # make install clean
Add to /etc/X11/xorg.conf:
Section "Screen" ... Option "AddARGBGLXVisuals" "True" Option "RenderAccel" "True" Option "AllowGLXWithComposite" "True" EndSenction Section "Extensions" Option "Composite" "Enable" EndSection
Starting Compiz as the Window Manager
We will use emerald as window decorator. We need a program to hold the session. Personally I prefer x11/lxpanel. You can install any panel/dock, like deskutils/cairo-dock.
# cd /usr/ports/x11/lxpanel # make install clean
Edit ~/.xinitrc:
#!/bin/sh export LANG="en_US.UTF-8" export LC_ALL="en_US.UTF-8" eval `dbus-launch --sh-syntax --exit-with-session` sleep 3 compiz --replace --sm-disable ccp & sleep 10 hsetroot -fill /share/wallpapers/singularity.jpg # Add your programs here. Don't forget to end line with "&". exec lxpanel
And that's it. You have standalone Compiz on your FreeBSD desktop. Run startx to start X session or install a display manager like x11/slim for graphical login.
Troubleshooting
If Compiz runs slowly on your hardware try to replace the line starting Compiz with this:
export LIBGL_ALWAYS_INDIRECT=1 compiz --indirect-rendering --replace --sm-disable ccp &