Update i915 GPU driver to Linux 3.8
Our kernel-side i915 GPU driver is getting old: platforms starting with Haswell are not supported at all.
Current status (2015-10-07)
Work continued on stabilizing the driver. Modesettings seems ok for a couple users of Haswell. There are regressions however for previously supported Intel GPUs. A possible cause is the new memory mapping initialization code; this needs further investigation. Then, several other ioctls are broken: it prevents the X.Org server from starting for some people, and Mesa does not work for everyone.
How to test
The branch is on GitHub: https://github.com/freebsd/freebsd-base-graphics/tree/drm-i915-update-38
Make sure you have everything setup to have kernel dumps. Especially, it helps to have the following sysctl:
# In /etc/sysctl.conf. debug.debugger_on_panic=0
Enable i915 debug messages:
# In /boot/loader.conf. drm.debug=3
You need to clone the repository and switch to the drm-i915-update-38 branch:
git clone -b drm-i915-update-38 \ https://github.com/freebsd/freebsd-base-graphics.git
Build and install a kernel from this clone; I suggest you install the kernel with a non-default name:
cd freebsd-base-graphics sudo make kernel INSTKERNNAME=kernel.i915
Select the new kernel for the next boot and reboot:
sudo nextboot -k kernel.i915 sudo reboot
Try to load the new driver:
sudo kldload i915kms
- Try to start an X.Org server and use it.
No matter if it works or not, I'm interested in the output of dmesg and, in case of a kernel crash, the corresponding /var/crash/core.txt.*. Send them to the freebsd-x11 mailing list.
At this time, we won't provide user support. However, if you have patches, they are very much welcome!
Thank you for your help!