Understanding the Linux Graphics Stack

A self-paced, 13h48 video course on the Linux graphics stack, available on Udemy for 99 EUR.

Course details

Icon from www.flaticon.comUnderstanding the Linux Graphics Stack is a self-paced, pre-recorded video course available on Udemy. Unlike Bootlin’s other training courses, which are delivered as instructor-led live sessions, this course can be followed at your own pace, whenever and wherever you want.

The course is available on Udemy for 99 EUR and contains a total of 13 hours and 48 minutes of video, split into 19 chapters:

  1. Introduction
  2. Image representation
  3. Color representation
  4. Layout and formats
  5. Pixel drawing
  6. Pixel operations
  7. Hardware aspects overview
  8. Pipelines
  9. Display devices
  10. Display interfaces
  11. Render accelerators
  12. System integration
  13. Software stack overview
  14. Linux kernel: TTY
  15. Linux kernel: framebuffer device
  16. Linux kernel: DRM
  17. Userspace: X Window
  18. USerspace: Wayland
  19. Userspace: Mesa3D

If you enroll through our referral link, a larger portion of the amount you pay goes to Bootlin. This helps us create new training courses and improve our existing ones.

Target audience

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.

Objectives

  • Be able to understand the basics of graphics display: image and color representation, pixel drawing, pixel operations.
  • Be able to understand graphics hardware: display pipeline components, display and rendering hardware.
  • Have a solid understanding of the Linux kernel graphics stack components and role: TTY, framebuffer and DRM subsystems.
  • Have a solid understanding of the Linux user-space graphics stack components and role: DRM from user-space, X.org, Wayland, OpenGL.

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

The course videos are available through Udemy and are not freely available. However, all the training materials used in the course are freely available and can be used to review the course contents.

Contact

For any question, registration or comment, you can contact us:

Further details about our courses