Category Archives: X.org

Configuring X.org on FreeBSD guests running in VirtualBox

Configuring X11 is more or less a dark art, and you must almost be a wizard of the Slytherine House to get modern X.org 1.14.7 working on a FreeBSD guest in VirtualBox.

Nonetheless, through lots of experimentation this evening, have I finally arrived at this configuration file:

Section "InputClass"
  Identifier      "Keyboard Defaults"
  Driver          "keyboard"
  MatchIsKeyboard "on"
  Option          "XkbLayout" "no"
EndSection

Section "InputClass"
  Identifier      "Mouse Defaults"
  Driver          "mouse"
  MatchIsPointer  "on"
EndSection

Section "InputDevice"
  Identifier      "Mouse0"
  Driver          "vboxmouse"
  Option          "CorePointer" "on"
EndSection

Somehow, you need both the InputClass and the InputDevice sections to get the mouse working as it did in previous versions of X.org. The option CorePointer is also key to the success.

Not only have I achieved Norwegian keyboard layout, the mouse sends its events to the X Server, and the mouse cursor is able to leave the FreeBSD guest whenever I want.

Maybe I’m the next Voldemort afterall. :P

WITHOUT_NEW_XORG=yes → true

I’m probably not paying enough attention to new developments in FreeBSD after all. After updating the installed ports in my VMs running base/head and base/stable/10, X11 stopped working. It turns out the new version of X.org requires KMS and what not in the kernel. This doesn’t fare well with VMs running inside VirtualBox.

The solution? Place

WITHOUT_NEW_XORG=yes

in the /etc/make.conf file and recompile everything, or at least recompile everything belonging to the X.org subsystem. I opted for the former, spending roughly five hours recompiling 443 ports. :-/

The VMs running base/stable/8 and base/stable/9 hasn’t been affected yet, but I figured it’s best to play safe and I amended the aforementioned line in the /etc/make.conf file on those VMs.