X11, FreeBSD, Parallels Desktop, xorg.conf


2009 UPDATE: I’ve long since moved to VMware Fusion and Parallels has long since moved out of beta, so as it stands this page should now be considered historical. Some very helpful people have posted comments though, so it seems most of this can still be used. Thanks everyone.

If you're in a hurry and just want the damned xorg.conf file, you can download mine here. Do NOT copy the text, right click and save the file.

FreeBSD! If you've read any of my blog by now you know I use FreeBSD 6.2 in Parallels Desktop on my MacBook Pro. I've received two emails from people asking how I got X11 working, so for the benefit of those fabulous people and anyone else who's interested I thought I'd post a quick how-to.

Essentially configuring X on FreeBSD in Parallels Desktop is the same as a normal machine but with a few quirks, especially if you're running a widescreen MacBook or MacBook Pro.

Firstly after you've installed FreeBSD (I just download the ISOs and mount them directly in Parallels), log on as root and run the X11 configuration script, which will dump an xorg.conf.new file into your /root directory:

Xorg -configure

Next open the xorg.conf.new in a text editor. If you're fairly new to UNIX and FreeBSD the Easy Editor is probably your best bet:

ee /root/xorg.conf.new

Most of the heavy lifting has been done for you; from my experience FreeBSD in Parallels Desktop detects the virtual keyboard and mouse just fine. We need to add some more information though for our widescreens.

Scroll down until you see Section "Monitor" and add the following lines (make sure each Modeline is on one line though, not wrapped like this):

HorizSync 31.5 - 100.0
VertRefresh 59.0 - 75.0
Modeline "1440x900_60.0" 106.47 1440 1520 1672 1904 900 901 904 932 -HSync +Vsync
Modeline "1280x800" 83.46 1280 1344 1480 1680 800 801 804 828

The modelines allow X11 to use the widescreen displays of the MacBook Pro and MacBook respectively. Even though I have a MacBook Pro I tend to use the “1280×800″ because it fits nicely in a window on my OS X desktop.

Next under Section "Device" add the VideoRam line followed by the amount of VRAM you allocated your virtual machine in kilobytes (ie: multiply by 1024). The default is 16MB, which would be 16384:

VideoRam    16384

Really unless you’re using an external monitor there is no point at the moment allocating more than this to your VM; Parallels Desktop takes this from your host machine’s normal RAM not video memory and uses it to increase supported resolutions.

Now scroll down to Section "Screen". You should see several SubSection "Display" configurations with different colour depths. Scroll down to the last one and add the appropriate Modes line:

SubSection "Display" 
	Viewport 0 0 
	Depth 24 
	Modes "1280x800" (for MacBook)
	Modes "1440x900" (for MacBook Pro)

FreeBSD should auto-detect under most circumstances the highest colour depth the VM supports, but I usually put a DefaultDepth line in right under Section "Screen" for good measure:

Section "Screen"DefaultDepth 24

Now you're all set! All that's left to do now is rename and move the changed file over to the X11 configuration directory:

mv /root/xorg.conf.new /etc/X11/xorg.conf

Now the moment of truth: testing if it works!


And that's all there is to it. To return to the command line, just type ctrl alt delete/backspace.

The next step would be to go to your ports tree and install your favourite window mananger or desktop environment. For example if you want KDE, as root:

cd /usr/ports/x11/kde3make install clean

Or if you if you'd prefer not to wait two days for the entire desktop to be compiled ;):

pkg_add -rv kde

Then add exec startkde to your .xinitrc in your home directory (create it if it doesn't exist).

Haruhi KDE FreeBSD

Don't forget to read the FreeBSD Handbook chapter on X11 Configuration as well.

Author bio and support


Ruben Schade is a technical writer and infrastructure architect in Sydney, Australia who refers to himself in the third person. Hi!

The site is powered by Hugo, FreeBSD, and OpenZFS on OrionVM, everyone’s favourite bespoke cloud infrastructure provider.

If you found this post helpful or entertaining, you can shout me a coffee or send a comment. Thanks ☺️.