Update i915 GPU driver to Linux 3.8
Our kernel-side i915 GPU driver is old, and platforms beginning with Haswell are not yet supported. This initiative aims to change that.
The work-in-progress branch is available on GitHub
- Update to Linux 3.8 (Initial Haswell support)
- Identify regressions in already supported GPU's
- Land 3.8 driver in FreeBSD HEAD when complete (Regardless of Haswell support status)
- Look at updating to Linux 3.9 (Many Haswell bugfixes)
Current status (2016-01-09)
Piglit runs fine on a Core Duo based laptop.
I can reproduce the "BUG ON: obj->base.write_domain & ~I915_GEM_GPU_DOMAINS" panic quite easily with GNOME 3. This is caused by two concurrent/conflicting accesses to the same drm_i915_gem_object. I'm still searching what's wrong.
Testing Instructions / How To
Whether 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.* files. Please send them to the freebsd-x11 mailing list.
At this time, we aren't providing user support. However, if you have patches, they are very much welcome!
Thank you for your help!
Make sure you have everything setup to have kernel dumps:
# In /etc/rc.conf dumpdev="AUTO" ddb_enable="YES"
Additionally, 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!
Send feedback! Post on the freebsd-x11 mailing list
Known Issues with Haswell
- Modes above FullHD (1920x1080) seem broken: the screen is only garbage. I have the problem with an UltraHD monitor and some users reported a similar behavior with other modes.
Masachika ISHIZUKA on freebsd-x11@ gets a kernel panic: panic: BUG ON: obj->base.write_domain & ~I915_GEM_GPU_DOMAINS.
- Stefan Wendler on freebsd-x11@ gets a blank screen, even in vt(4).
This is a list of files needing review. Reviewing consists of comparing each file with Linux 3.8.13 and with FreeBSD HEAD, to make sure everything is ported and no FreeBSD-specific changes were lost.