Compiz-based desktop

Table of Contents

Configuration
Ending the X session
Customizing Compiz

Configuration

by ross at 08:01:41 on January 25, 2014

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 &

 

Comments