[bootlin/training-materials updates] master: Dummy translation of the graphics agenda (84deaa50)
Michael Opdenacker
michael.opdenacker at bootlin.com
Mon Sep 30 09:18:03 CEST 2019
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/84deaa50dde86730bd4e5bc64e4c216dd1f3e599
>---------------------------------------------------------------
commit 84deaa50dde86730bd4e5bc64e4c216dd1f3e599
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date: Mon Sep 30 09:18:03 2019 +0200
Dummy translation of the graphics agenda
- To avoid a broken link before the document is translated
Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>
>---------------------------------------------------------------
84deaa50dde86730bd4e5bc64e4c216dd1f3e599
agenda/graphics-fr-agenda.tex | 351 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 351 insertions(+)
diff --git a/agenda/graphics-fr-agenda.tex b/agenda/graphics-fr-agenda.tex
new file mode 100644
index 00000000..f4781ecd
--- /dev/null
+++ b/agenda/graphics-fr-agenda.tex
@@ -0,0 +1,351 @@
+\documentclass[a4paper,12pt,obeyspaces,spaces,hyphens]{article}
+
+\usepackage{agenda}
+\usepackage{colortbl}
+\usepackage{xcolor}
+\usepackage{calc}
+
+\hypersetup{pdftitle={Training - Graphics display and rendering with Linux},
+ pdfauthor={Bootlin}}
+
+\renewcommand{\arraystretch}{2.0}
+
+\begin{document}
+
+\thispagestyle{fancy}
+
+\setlength{\arrayrulewidth}{0.8pt}
+
+\begin{center}
+\LARGE
+Training - Displaying and rendering graphics with Linux\\
+\large
+2-day session
+\end{center}
+
+\vspace{1cm}
+\small
+\newcolumntype{g}{>{\columncolor{fedarkblue}}m{4cm}}
+\newcolumntype{h}{>{\columncolor{felightblue}}X}
+
+\arrayrulecolor{lightgray} {
+ \setlist[1]{itemsep=-5pt}
+ \begin{tabularx}{\textwidth}{|g|h|}
+ {\bf Title} & {\bf Training - Graphics display and rendering with Linux} \\
+ \hline
+
+ {\bf Overview} &
+ Image and color representation \par
+ Pixel Drawing \par
+ Pixel Operations \par
+ Pipeline Components Overview and Generalities \par
+ Display Hardware Specifics \par
+ Render Hardware Specifics \par
+ System Integration, Memory and Performance \par
+ Display Stack Overview \par
+ TTY Kernel Aspects \par
+ Framebuffer Device Kernel Aspects \par
+ DRM Kernel Aspects \par
+ DRM Userspace Aspects \par
+ X Window Userspace Aspects \par
+ Wayland Userspace Aspects \par
+ Mesa 3D Userspace Aspects\\
+ \hline
+ {\bf Materials} &
+ Materials for this course are still under development.
+ They will be released under a free documentation license
+ after the first session is delivered.\\
+% Check that the course contents correspond to your needs:
+% \newline \url{https://bootlin.com/doc/training/graphics}. \\
+ \hline
+
+ {\bf Duration} & {\bf Two} days - 16 hours (8 hours per day).
+ \newline 75\% of lectures, 25\% of demos. \\
+ \hline
+
+ {\bf Trainer} & One of the engineers listed on:
+ \newline \url{https://bootlin.com/training/trainers/}\\
+ \hline
+
+ {\bf Language} & Oral lectures: English or French.
+ \newline Materials: English.\\
+ \hline
+
+ {\bf Audience} & People developing multimedia devices using the Linux kernel\\
+ \hline
+
+ {\bf Prerequisites} &
+ {\bf C programmig language, basic knowledge of concepts related to low-level
+ hardware interaction (e.g. registers, interrupts),
+ kernel-level system management (e.g. virtual memory mappings) and
+ userspace syscalls (e.g. ioctl, mmap).
+ Basic knowledge of concepts related to hardware interfaces
+ (e.g. clocks, busses).}\\
+ \hline
+
+ \end{tabularx}
+
+ \begin{tabularx}{\textwidth}{|g|h|}
+ {\bf Required equipment} &
+ {\bf For on-site sessions only}
+ \newline Everything is supplied by Bootlin in public sessions.
+ \begin{itemize}
+ \item Video projector
+ \item Large monitor
+ \item Drawing board
+ \end{itemize}\\
+ \hline
+
+ {\bf Materials} & Print and electronic copies of presentations slides\\
+ \hline
+
+\end{tabularx}}
+\normalsize
+
+\section{Day 1 - Morning}
+
+\feagendatwocolumn
+{Lecture - Image and Color Representation}
+{
+ \begin{itemize}
+ \item Light, pixels and pictures
+ \item Sampling, frequency domain, aliasing
+ \item Color quantization and representation
+ \item Colorspaces and channels, alpha
+ \item YUV and chroma sub-sampling
+ \item Pixel data planes, scan order
+ \item Pixel formats, FourCC codes, modifiers
+ \end{itemize}
+ \vspace{0.5em}
+ {\em Introducing the basic notions used for representing color images in graphics.}
+}
+{Lecture - Pixel Drawing}
+{
+ \begin{itemize}
+ \item Accessing and itegrating over pixel data
+ \item Concepts about rasterization
+ \item Rectangle drawing
+ \item Linear gradient drawing
+ \item Disk drawing
+ \item Circular gradient drawing
+ \item Line drawing
+ \item Line and shape aliasing, sub-pixel drawing
+ \item Circles and polar coordinates
+ \item Parametric curves
+ \end{itemize}
+ \vspace{0.5em}
+ {\em Presenting how to access pixel data in memory and draw basic shapes.}
+}
+\\
+\feagendatwocolumn
+{Lecture - Pixel Operations}
+{
+ \begin{itemize}
+ \item Region copy
+ \item Alpha blending
+ \item Color-keying
+ \item Scaling and interpolation
+ \item Linear filtering and convolution
+ \item Blur filters
+ \item Dithering
+ \end{itemize}
+ \vspace{0.5em}
+ {\em Providing basic notions about filtering, with very common examples of how it's used.}
+}
+{Demo - Drawing and operations}
+{
+ \begin{itemize}
+ \item Examples of various shapes and region drawing
+ \item Examples of basic pixel operations
+ \end{itemize}
+ \vspace{0.5em}
+ {\em Illustrating the concepts presented along the way.}
+}
+
+\section{Day 1 - Afternoon}
+
+\feagendatwocolumn
+{Lecture - Pipeline Components Overview and Generalities}
+{
+ \begin{itemize}
+ \item Types of graphics hardware implementations
+ \item Graphics memory and buffers
+ \item Graphics pipelines
+ \item Display, render and video hardware overview
+ \end{itemize}
+ \vspace{0.5em}
+ {\em Presenting the hardware involved in graphics pipelines.}
+}
+{Lecture - Display hardware}
+{
+ \begin{itemize}
+ \item Visual display technologies: CRT, plasma, LCD, OLED, EPD
+ \item Display timings, modes and EDID
+ \item DIsplay interfaces: VGA, DVI, HDMI, DP, LVDS, DSI, DP
+ \item Bridges and transcoders
+ \end{itemize}
+ \vspace{0.5em}
+ {\em Presenting the inner workings of display hardware.}
+}
+\\
+
+\feagendatwocolumn
+{Lecture - Render Hardware Specifics}
+{
+ \begin{itemize}
+ \item Digital Signal Processors (DSPs)
+ \item Dedicated hardware accelerators
+ \item Graphics Processing Unit (GPUs)
+ \end{itemize}
+ \vspace{0.5em}
+ {\em Describing the architecture of processing and rendering hardware.}
+}
+{Lecture - System Integration, Memory and Performance}
+{
+ \begin{itemize}
+ \item Graphics integration and memory
+ \item Shared graphics memory access
+ \item Graphics memory constraints and performance
+ \item Offloading graphics to hardware
+ \item Graphics performance tips
+ \end{itemize}
+ \vspace{0.5em}
+ {\em Topics related to graphics integration, memory management and performance aspects.}
+}
+
+\section{Day 2 - Morning}
+
+\feagendatwocolumn
+{Lecture - Display Stack Overview}
+{
+ \begin{itemize}
+ \item System-agnostic overview: kernel, display and render userspace
+ \item Linux kernel overview
+ \item Linux-compatible low-level userspace overview
+ \item X Window and Wayland overview
+ \item High-level graphics libraries and desktop environments overview
+ \end{itemize}
+ \vspace{0.5em}
+ {\em Presenting what software components are required for modern computer graphics and how they are divided between kernel and userspace.}
+}
+{Lecture - TTY Kernel Aspects, Framebuffer Device Kernel Aspects}
+{
+ \begin{itemize}
+ \item Linux TTY subsystem introduction
+ \item Virtual terminals and graphics
+ \item Virtual terminals switching and graphics
+ \end{itemize}
+ \vspace{0.5em}
+ \begin{itemize}
+ \item Fbdev overview
+ \item Fbdev basic operations
+ \item Fbdev limitations
+ \end{itemize}
+ \vspace{0.5em}
+ {\em How TTYs interact with graphics in Linux along with a short presentation of fbdev and why it's deprecated.}
+}
+\\
+
+\feagendatwocolumn
+{Lecture - DRM Kernel Aspects}
+{
+ \begin{itemize}
+ \item DRM devices
+ \item DRM driver identification and capabilities
+ \item DRM master, magic and authentication
+ \item DRM memory management
+ \item DRM KMS dumb buffer API
+ \item DRM FourCCs and modifiers
+ \item DRM KMS resources probing
+ \item DRM KMS modes
+ \item DRM KMS framebuffer management
+ \item DRM KMS legacy configuration and page flipping
+ \item DRM event notification
+ \item DRM KMS object properties
+ \item DRM KMS atomic
+ \item DRM render
+ \item DRM Prime zero-copy memory sharing (dma-buf)
+ \item DRM sync object fencing
+ \item DRM debug and documentation
+ \end{itemize}
+ \vspace{0.5em}
+ {\em An exaustive presentation of the DRM interface.}
+}
+{Demo - Kernel Aspects}
+{
+ \begin{itemize}
+ \item Linux TTY and virtual terminals
+ \item DRM KMS mode-setting
+ \item DRM KMS driver walkthrough
+ \item DRM render driver walkthrough
+ \end{itemize}
+ \vspace{0.5em}
+ {\em Illustrating how kernel aspects work.}
+}
+
+\section{Day 2 - Afternoon}
+
+\feagendatwocolumn
+{Lecture - X Window Userspace Aspects}
+{
+ \begin{itemize}
+ \item X11 protocol and architecture
+ \item X11 protocol extensions
+ \item Xorg architecture and acceleration
+ \item Xorg drivers overview
+ \item X11 and OpenGL acceleration: GLX and DRI2
+ \item Xorg usage, integration and configuration
+ \item Major issues with X11
+ \item Xorg debug and documentation
+ \end{itemize}
+ \vspace{0.5em}
+ {\em Presenting all things related to X11 and Xorg.}
+}
+{Lecture - Wayland Userspace Aspects}
+{
+ \begin{itemize}
+ \item Wayland overview and paradigm
+ \item Wayland protocol and architecture
+ \item Wayland core protocol detail
+ \item Wayland extra protocols
+ \item Wayland asynchronous interface
+ \item Wayland OpenGL integration
+ \item Wayland status and adoption
+ \item Wayland debug and documentation
+ \end{itemize}
+ \vspace{0.5em}
+ {\em An in-depth presentation of Wayland.}
+}\\
+
+\feagendatwocolumn
+{Lecture - Mesa 3D Userspace Aspects}
+{
+ \begin{itemize}
+ \item Standardized 3D rendering APIs: OpenGL, OpenGL ES, EGL and Vulkan
+ \item Mesa 3D overview
+ \item Mesa 3D implementation highlights
+ \item Mesa 3D internals: Gallium 3D
+ \item Mesa 3D internals: intermediate representations
+ \item Mesa 3D Generic Buffer Management (GBM)
+ \item Mesa 3D hardware support status
+ \item Mesa 3D versus proprietary implementations
+ \item Mesa 3D hardware support: debug and documentation
+ \end{itemize}
+ \vspace{0.5em}
+ {\em Presenting 3D APIs and the Mesa 3D implementation.}
+}
+{Demo - Userspace Aspects}
+{
+ \begin{itemize}
+ \item Xorg code walkthrough
+ \item Wayland compositor core walkthrough
+ \item Wayland client examples
+ \item Mesa code walk-through
+ \item OpenGL and EGL examples
+ \end{itemize}
+ \vspace{0.5em}
+ {\em Illustrating userspace aspects, client and server implementations.}
+}
+
+\end{document}
+
More information about the training-materials-updates
mailing list