FreeBSD 9.2 with vesa in Parallels Desktop 9
In 2006, I started running FreeBSD 6.2 in a beta release of Parallels Desktop. It was quite the learning experience, and further cemented my love of this OS. Half a decade later, I find myself trying to run FreeBSD 9.2 in Parallels Desktop 9.
A lot has changed in FreeBSD; the workstation teams have done a terrific job. For one, we have the stunningly beautiful pkgng system which negates another reason why I stuck with Linux in several different settings. On the Xorg front, we no longer need to configure xorg.conf manually, and we don't need messy modelines to manually enable widescreen resolutions. It takes reading a post I wrote in 2007 to really appreciate this!
From an end-user perpective, we also now have xrandr. A simple front end to randr, it allows us to specifiy our screen resolution on the fly without rebooting X, and without root permissions. Install:
# pkg install xrandr
Now we can specify our desired initial screen resolution in our .xinitrc along with our window manager and other such goodies. Below, we've specified we want a resolution of 1024×768 and the Xfce desktop when we start our graphical X server:
xrandr -s 1024x768 && exec startxfce4
I remember reading somewhere that .xinitrc was depracated, but I can’t remember where. For now at least, it still works.
Why is this important for Parallels?
With the latest release of Parallels, this is very important. The vesa driver detects my humble MacBook Air is capable of driving a 1920×1200 display, so it starts X at that resolution. On my internal 1366×768 display, this means a lot of squishing and impossible to read text. Setting 1024×768 as above offers native resolution, albeit with black letterboxing.
This is where we hit a snag. Using the -q option, we can query which screen sizes are available and supported for our use. After changing on-the-fly to 1280×800 to test widescreen operation, this was the output:
% xrandr -q xrandr: Failed to get size of gamma for output default Screen 0: minimum 640x480, current 1280 x 800, maximum 1920x1200 default connected 1280x800+0+0 0mm x 0mm 1920x1200 0.0 1600x1200 0.0 1680x1050 0.0 1400x1050 0.0 1280x1024 0.0 1440x900 0.0 1280x960 0.0 1280x800 0.0* 1024x768 0.0 800x600 0.0 640x480 0.0
Alas, the native 1366×768 resolution of this MacBook Air is not among those listed. From what I've been able to find, this is a limitation of the xf86-video-vesa driver.
This was mostly an excercise in curiousity; I run FreeBSD on my ThinkPad hardware natively. Still, it would be nice to re-creaate what I had on my original MacBook Pro all those years ago. The next step will be to see if the Parallels tools have been maintained for FreeBSD, and if there's a driver offering.