Re: Intel Haswell support - Any updates?

From: Rui Paulo <>
Date: Thu, 17 Sep 2015 08:41:50 -0700
On Thu, 2015-09-17 at 14:47 +0100, David Chisnall wrote:
> On 17 Sep 2015, at 14:41, Lundberg, Johannes <
>> wrote:
> > 
> > However, the problem now is not the driver right? But the whole
> > graphics
> > stack which has to be rewritten to work with new generation
> > graphics like
> > KMS, Wayland, etc?
> There are lots of different components here that you’re conflating:
> - KMS is the thing that allows the kernel to be responsible for
> setting the graphics mode, restoring it on context switches and so
> on.  This has worked on FreeBSD for a while.
> - GEM / TTM are memory managers, they allow the kernel to manage
> memory (video memory and main memory allocated to the GPU) for GPU
> -using drivers.  These work on FreeBSD, but the supported version
> lags Linux slightly.  This is the focus of current work.
> - The i915 driver.  This is the graphics driver for Intel GPUs.  It
> uses KMS and the memory manager functionality. Importing a newer
> version will be possible once the underlying parts are done.
> - Wayland is a userland application that sits on top of DRI drivers,
> just as does.  Most of the things Wayland needs that don’t work
> on FreeBSD are not graphics related.
> The problem is that the developers *also* conflate them.  Upstream 
> i915 developers will add KPIs to GEM / TTM / KMS to make their lives 
> easier and these features need bringing across to FreeBSD.

Let's also not forget the following statistics:

- The DRM / GEM / TTM code is around 50k lines of code;
- The i915 driver is 120k lines of code;
- The radeon driver is 212k lines of code. 

Even with a good linux compatibility layer, it's still a big project
that requires a lot of work.  If we don't convince the vendors to work
on FreeBSD, I fear this problem will never be solved.

P.S.: the total linux drm stack is around 600k LOC.
Rui Paulo
Received on Thu Sep 17 2015 - 13:42:02 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:59 UTC