[Intel-gfx] Question on Linux graphics driver architecture

Dave Airlie airlied at gmail.com
Thu Apr 18 12:43:24 CEST 2013


> Please forgive me if I post my questions to the wrong place, but I don't know
> where else to post.

Probably dri-devel at lists.freedesktop.org might get more non-Intel people.

> I am new to graphic programming. I found that the Linux graphic architecture
> is very complicated. Luckily I found an "Intel Graphics Stack" on 01.org. There
> are 8 components in the 2013Q1 stack. Do all these eight components contain
> Intel specific codes?

So generally the kernel, DDX and Mesa really contain the driver code,
libdrm_intel is a set of helper functions that is shared between the
DDX and Mesa drivers.

libva is pretty much Intel only video API, other drivers have started
to get vdpau support via code in the Mesa project.

>
> Do they have i960 specific code too? Or are they listed here just for compatibily
> infomation?

compatability info.

>   - 2D acceleration: xf86-video-intel. This part is always required;
>   - 3D acceleration: kernel DRM, mesa, libdrm. This part is optional if 3D accele-
>                    ration is not needed;
>   - video acceleration: vaapi-intel-driver, libva. This part is optional if video
>                    acceleration is not needed.
> Am I right?

2D accel is only required if X.org is being used, we now have EGL
support where a 3D driver can be used standalone. Also most non-Intel
GPUs are now using gallium based drivers, which is an architecture
developed in the Mesa project.

>
> The last question is what is the roll of Cairo in this Graphics Stack?
>

Cairo is a client side 2D rendering library, it can render using
software (pixman) or can use Xrender to send rendering to the X
server, which calls the DDX 2D driver, or it can even talk to OpenGL.

Dave.



More information about the Intel-gfx mailing list