Intel GPU driver import
gleb.kurtsou at gmail.com
Mon May 14 07:28:31 UTC 2012
On (13/05/2012 00:39), Konstantin Belousov wrote:
> With r235375, all required VM support for new Intel GPU driver was
> committed into HEAD. There are still some things to improve and
> change, but now the all.14.9.patch does not touch anything outside agp
> or drm. This allows to start the process of importing the new Intel
> GPU driver into HEAD.
> I am writing this as initial head-up and to discuss some questions,
> for which I do have answers but would prefer to have additional
> feedback from people doing Xorg work.
> The patch as-is just replaces the Intel DRI1 bits with DRI2
> driver. Patch added most of the KMS infrastructure into DRM
> core. Also, patch completely changed the locking model used by Intel
> driver. I made absolutely minimal efforts needed to keep other DRI1
> drivers compilable. Despite that, I got several surpising reports that
> Radeon DRI1 still works.
> That said, for import I can (first choice) just apply the patch,
> replacing the Intel driver with new one. Or (second choice) I may
> create another directory, say sys/dev/drm2, and import _only_ Intel
> driver together with updated DRM core, there.
> The positive points to the second approach is that we still have older
> kernel drivers around. Also, I have more freedom in changing the DRM
> core, without fearing breakage in the DRI1 land. Since I do not really
> want to deal with Gen2-3 hardware, and VGA console does not work with
> new driver (yet), there are definite advantages.
> On the other hand, driver automatic loading will not work with
> dev/drm2 approach. New driver have to use different module name to
> co-exist with dri1 driver, so ddx driver cannot load new driver by old
> name. As result, users need to manually kldload new driver before
> starting Xorg.
> My own preference is to implement second choice and put the driver
> into dev/drm2.
We had somewhat similar situation with new USB stack import. First
imported as 'usb2' then renamed to 'usb'. Considering there will be no
new DRI1 drivers in tree we could import drm2 into sys/dev/drm and
move old implementation under sys/dev/drm_compat1. It will break POLA
until automatic driver loading by X fixed.
More information about the freebsd-x11