2
votes

While building Linux kernel from source, I noticed that it is also building some drivers (e.g. drivers/gpu/drm/i915 or nouveau etc). On the other hand, on my system I also have xserver-xorg-video-intel package installed (Ubuntu). So the question is: how does the xserver-xorg-video-intel driver go with drivers/gpu/drm/i915 from kernel? Are they two separate things with different purpose (e.g. the second is for X11 only)?

1
The DRM part just does some basic things: mode-setting, allocating command ring buffers, waiting for vsync, ..., while the X11 part uses it: e.g. it requests a command ring buffer from the DRM, fills it with commands, and issues it to the GPU. - ninjalj

1 Answers

8
votes

Linux graphic stack is a wide and complex ecosystem.

you have a general overview here :

or a more complete and technical one from Stephane Marchesin which is one of the nouveau hackers.

Basically, graphics toolkits (Qt, Gtk, efl, etc..) talk with Xorg. XOrg use libdrm to interact with the kernel DRM infrastructure which stands upon and abstract video card drivers (nouveau, i915, ..).

svg