[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