Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| devsummit:201510:graphicsstack [2015/09/25 13:24] – Add a link to my user page JeanSébastienPédron | devsummit:201510:graphicsstack [2021/04/25 07:12] (current) – Move to DevSummit namespace. JethroNederhof | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| - | ==== Chair Person: Jean-Sébastien Pédron | + | **Chair Person: |
| - | ===== Agenda: ===== | + | ===== Agenda ===== |
| The goal of this working group is about the Graphics stack. | The goal of this working group is about the Graphics stack. | ||
| Line 9: | Line 9: | ||
| It will address the following items: | It will address the following items: | ||
| - | - Present the work we (the graphics team) do, past, present and future. The idea is to clarify the scope of this graphics stack (ie. it is not limited to showing 3D games), give an overview of the components and what we do on them, and last but not least, eliminate bias toward | + | - Give a short status report |
| - | - Discuss what we should | + | - **Present the work** |
| - | - Talk about the input stack and define a roadmap to catch up in this area. Our input stack shows its age. Our support for touchpads is very limited. This is also true for programmable mices or multiple plugged-in keyboards. We need to detail what is required to have evdev, udev and libinput on %%FreeBSD%% and how we reach this goal. | + | |
| + | |||
| + | - Discuss the remaining issues with the **Linux KPI shim** and find solutions for them. This layer will ease updates to the kernel video drivers, so it is critical. | ||
| + | |||
| + | | ||
| Attendees are welcome to add their own topics to the agenda. | Attendees are welcome to add their own topics to the agenda. | ||
| - | ==== Attending | + | < |
| + | < | ||
| + | |||
| + | ===== Conclusions | ||
| + | |||
| + | Around 20 people attended the working group. Allan Jude put in place a live stream on https:// | ||
| + | |||
| + | ==== Presenting the Graphics stack ==== | ||
| + | |||
| + | Jean-Sébastien gave an overview of the architecture of the graphics stack: | ||
| + | * the video drivers in the kernel | ||
| + | * their userland counterpart in X.Org DDX ('' | ||
| + | * the display servers above (X.Org server, Wayland compositors) with a large number of libraries | ||
| + | * the input stack: kernel drivers, X.Org DDX ('' | ||
| + | |||
| + | Here is a picture of the architecture sketched on the board: | ||
| + | {{devsummit/ | ||
| + | |||
| + | One important question was: why is the input stack considered part of the graphics stack? This is because the display servers (and toolkits above) integrate the input stack in the service they provide. Both the graphics and input stacks are the basis for offering an interactive session to the user. | ||
| + | |||
| + | ==== Attracting contributors ==== | ||
| + | |||
| + | This topic was in fact mostly covered by the " | ||
| + | * Attracting contributors means attracting **users** first | ||
| + | * A lot more efforts must be put into the [[/ | ||
| + | * We should provide VM images with a complete graphical development environment preinstalled | ||
| + | * %%FreeBSD%% must work out-of-the-box on current hardware: of course, for the graphics stack specific case, this is a chicken and egg problem. | ||
| + | |||
| + | ==== The Linux shim license issues ==== | ||
| + | |||
| + | Somes files, such as '' | ||
| + | |||
| + | Meny Yossefi from Mellanox will contact his employer' | ||
| + | |||
| + | ==== The input stack ==== | ||
| + | |||
| + | Jean-Sébastien started with a presentation of the current state in %%FreeBSD%%: | ||
| + | * Keyboard input comes from the TTY (from the X.Org server point of view). All physical keyboards ('' | ||
| + | * Mices are supports through '' | ||
| + | * We lack proper integration and sensitive default configuration for input devices. | ||
| + | * Keyboards can't be exposed directly (ie. without '' | ||
| + | |||
| + | He then detailed what the Linux community is aiming at: | ||
| + | * evdev is the kernel API exposed to userland to handle all input devices. | ||
| + | * libinput is a new project from Red Hat to have a uniform input library, independent from the X.Org server. This library reached version 1.0 recently. It will be used by both Wayland compositors and the X.Org server. Eventually, it could replace all '' | ||
| + | * libinput uses evdev and udev to access the hardware. | ||
| + | |||
| + | [[/ | ||
| + | |||
| + | To address udev, we will continue the work on libdevq and add a wrapper above it to provide a udev API. This will be useful to libinput but other components such as Mesa. What we need with libdevq are: | ||
| + | * a way to enumerate devices (video, input, storage, etc.); | ||
| + | * a way to query those devices to get informations; | ||
| + | * a way to attach global and per-user properties to devices. | ||
| - | In order to attend you need register | + | Another requirement |
| - | **Please do NOT add yourself here.** Your name will appear automatically once you have received the confirmation email. You need to put your name on the general [[/ | + | ---- |
| - | ^ Name ^ Username / Affiliation ^ Topics of Interest ^ Notes ^ | + | {{tag> |
| - | | [[/ | + | |