Training – Displaying and rendering graphics with Linux

Learn how the graphics stack is organized with Linux and how to use it, covering both the kernel and user-space aspects.

Course details

  • Duration: 2 days
  • Agenda: details
  • Training materials: under development (will be published after the first session).
  • Written language: English
  • Available oral languages: English and French.

Contact:, phone : +33 484 258 097.

Public sessions

No public session planned at the moment.
What locations and dates would interest you?

On-site sessions

We can also send a trainer to train your engineers at your own location, anywhere in the world (we have taught classes on all continents). See our cost and registration information.

Objectives and target audience

Display testing by displaying multiple DRM planes

This course targets engineers who need a detailed level of understanding of graphics concepts, graphics hardware and how the graphics stack is organized with Linux. It covers areas related to display and render, both at the kernel and user-space levels.

At the end of this course, you will be familiar with all the elements required to manage graphics efficiently on an embedded Linux-based system.


Here are the main topics that we cover:

  • Image and color representation
  • Basic drawing
  • Basic and advanced operations
  • Hardware aspects overview
  • Hardware for display
  • Hardware for rendering
  • Memory aspects
  • Performance aspects
  • Software aspects overview
  • Kernel components in Linux
  • Userspace components with Linux

See the detailed agenda.

Bootlin’s expertise in graphics

Bootlin engineers have worked on multiple projects implementing display, video playback and video capture support on numerous embedded platforms running Linux:

  • Development of the Linux kernel DRM driver for the display controlled found in Allwinner ARM processors: drivers/gpu/drm/sun4i.
  • Development of the Linux kernel DRM driver for the display controller found in Atmel SAMA5 processors: drivers/gpu/drm/atmel-hlcdc.
  • Improvements to the Linux kernel DRM driver for the RaspberryPi: kernel commits.
  • Improvements of the Intel GPU Tools project to be able to use the Google Chamelium board for display testing, and to allow testing various pixel formats and display configurations. See our blog posts Testing pixel formats on the RaspberryPi and More Improvements to Raspberry Pi Display Testing, and also our commits to the Intel GPU Tools project.
  • Development of a driver for the Allwinner hardware video decoding engine in the Video4Linux subsystem: drivers/staging/media/sunxi/cedrus. This was the first Linux kernel driver merged for stateless codec, which required a new user-space interface.
  • Numerous improvements to the OV5640 camera sensor driver: ov5640 commits
  • Linux support for display panels in a large number of Linux Board Support packages for our customers, for a wide range of platforms: HDMI displays, parallel RGB displays, MIPI-DSI displays, etc.

It is this Linux display expertise gathered both in the community and through customer projects that Bootlin is offering in this training course.

Training materials

All the training materials that we use during this course are freely available:


Each lecture in our course is followed by a practical demonstration, performed on an embedded ARM board, representing about 25% of the whole course time.

On-site sessions – Cost

We can send a trainer to train your engineers at your own location, anywhere in the world (we have taught classes on all continents).

If you are interested, please contact and tell us where and when you would need such a session.

The total cost will depend on whether we have already managed to sell this course to another customer or not, in which case there will be no preparation work.

Further details about our courses