Learn how the graphics stack is organized with Linux and how to use it, covering both the kernel and user-space aspects.
- Duration: 2 days / 16 hours (on-site) – 4 half days / 16 hours (on-line)
- Agenda: on-site, on-line
- Training materials: slides.
- Written language: English
- Available oral languages: English and French.
Types of sessions
- Private on-site session, on request
- Private on-line session, on request
- Public on-line session, dates below
Dates of public on-line sessions
|Cost and registration|
|Linux Graphics (agenda)||Oct 2, 3, 5, 6, 2023||14:00 – 18:00 (Paris, UTC+2)
08:00 AM – 12:00 PM (New York, UTC-4)
|16 h||English||Paul Kocialkowski||
Discount: 519 EUR*
Regular: 619 EUR*
|Additional sessions at future dates will be announced progressively. We generally announce new sessions when existing ones are either full or already passed.|
*The price is excluding VAT. The online shop charges VAT, except for businesses outside of France if they provide valid company information at registration time. Businesses in France, and individuals registering by themselves must pay VAT.
The discount rate is applicable at the following conditions:
- Booking at least 1 month prior to the training session start
- Booking and payment made online using credit card
- Limit of 6 seats per training session at the discount rate
If you are unable to register through our online shop, do not hesitate to contact us, we will be able to provide a training contract and offer alternative payment methods.
Registration on the online shop remains available until the session starts, subject to seat availability.
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.
- 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.
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.
All the training materials that we use during this course are freely available. Before the session, you can then check that they correspond to your needs.
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.
- Solid experience with the C programming language: participants must be familiar with the usage of complex data types and structures, pointers, function pointers, and the C pre-processor.
- Experience with low-level development in Linux and hardware interfaces: participants should have a minimal understanding of memory management, interaction with common hardware interfaces (registers, interrupts), the interaction between Linux user-space applications and the Linux kernel (system calls). Following Bootlin’s Linux kernel driver development course allows to fulfill this pre-requisite.
- Minimal English language level: B1, according to the Common European Framework of References for Languages, for our sessions in English. See the CEFR grid for self-evaluation.
- For on-line courses:
- Computer with the operating system of your choice, with the Google Chrome or Chromium browser for videoconferencing.
- Webcam and microphone, from an audio headset
- High speed access to the Internet
- For on-site courses:
- Training room
- Video projector
- An HDMI monitor
‘Understanding the Linux Graphics Stack’ training is a very useful training that provides the essential knowledge to the teams that are planning to start developing Linux applications and/or drivers based on video protocols.”
Joao Pinto, Synopsys
By the way, you can also see evaluations from previous sessions. In the same way we are transparent with our training materials, we share all the evaluations that we collect, not only the best ones.
Participants with disabilities
Participants with disabilities who have special needs are invited to contact us to discuss adaptations to the training course.
For any question, registration or comment, you can contact us:
- phone : +33 484 258 096