I got my X220i to work with new intel graphics drivers on FreeBSD 10.0-CURRENT (csup-d @ 2011-11-21) using
all.12.1.patch
Initally I installed FreeBSD 8.2-RELEASE because it was the only FreeBSD version I was able to boot using USB memory stick. I upgraded it to 9.0-PRERELEASE and then to 10.0-CURRENT and only then I moved forward to patching.
Patching was bit of a mess (mostly due to my own faults), but nothing complicated. After fixing my patching errors, buildworld and buildkernel KERNCONF=GENERIC were successful.
Clarification: The patch assumed that several files did not exist and appended the content to already existing file thus duplicating the content (or more, since I applied patch serveral times). I just manually removed exessive content from those files. Somewhat tedious but not difficult. There was also a minor failure patching sys/dev/drm/i915_suspend.c file - patch expected the line 31 to look like this:
But it had longer RCS ID, but I modified to to look like that before applying patch next time.
Next downloading ports tree and installing subversion to
check out and merge xorg-dev ports branch into /usr/ports.
I went on to install x11/xorg port, which failed to compile
x11-drivers/xf86-driver-intel port. I noticed that there was
x11-drivers/xf86-video-intel-kms which I assumed to be the correct one and installed that one instead. Install was successful and I resumed building and installing
x11/xorg port. After successful install I also installed
x11-wm/openbox for testing.
Before trying to start X, I created /usr/local/etc/X11/xorg.conf with
. I had to edit it because for some reason it added two Screen sections. I removed everything related to "Screen1" and also added following line to "ServerLayout" section:
Code:
Option "AutoAddDevices" "Off"
(
why?)
To my (regular user) ~/.xinitrc I added just two lines:
I then I started X with
command and everything seemed to be normal.
So far I have installed and tested
multimedia/mplayer,
www/firefox,
x11-wm/xcompmgr and
www/linux-flashplugin-f11 - they all work as expected and no crashes.
Long story short:
On my Lenovo X220i I got following working while running FreeBSD 10.0-CURRENT:
* MPlayer with xvideo and gl/gl2 video outputs
* xcompmgr drawing shadows around window borders
* Firefox 8 playing videos on youtube
* Intel wireless
* Suspend/resume (I heard that there may be problem with USB devices though)
* Audio (w/ headphones works after hacking /boot/device.hints a bit, see below)
*
games/nexuiz is perfectly playable with default settings @ resolution 1366x768
*
astronomy/stellarium - no issues either
And no performance issues so far.
To get headphone jack working properly, I added following lines to /boot/device.hints:
Code:
hint.hdac.0.cad0.nid25.config="as=1 seq=15"
hint.hdac.0.cad0.nid31.config="as=1 seq=0"
I'm happy.