Linux Media Summit 2026 Nice, France
An update on the ongonig work to support stateless codecs in V4L2. Some of the remaining open topics will be presented and discussed.
Toulouse Embedded Linux Meetup 2025 Toulouse, France (French)
Les flux de pixels sont au centre de nombreux cas d'utilisation du matériel embarqué. Si le noyau Linux dispose de différentes interfaces permettant de les prendre en charge (en particulier via les sous-systèmes DRM et V4L2), il n'est pas toujours aisé d'avoir une vision claire de leurs particularités et des fonctionnalités du matériel effectivement prises en charge. De plus, ces composants interagissent avec d'autres aspects du noyau, notamment pour la gestion de la mémoire. Cette présentation se propose donc d'effectuer un tour d'horizon de ces différentes technologies du côté du noyau Linux, tout en mentionnant les implémentations en espace utilisateur qui permettent d'en tirer le meilleur parti. Quelques éléments de contexte au sujet des pixels, des images et du matériel concerné seront également présentés.
XDC 2025 Vienna, Austria
This talk will present a brief overview of 2d acceleration hardware, exisiting proprietary APIs and the current state of things in mainline Linux. Some thoughts and propositions to properly support these units will then be discussed.
Linux Media Summit 2025 Nice, France
This talk starts with an introduction to stateless video encoding, related hardware and specific challenges. It then goes over the various attempts that were made to support them with V4L2 in Linux and draws some conclusions from these approaches. Desired design goals are then presented along with a proposed path to finalize support in mainline Linux.
FOSDEM 2024 Bruxelles, Belgique/Brussel, België
This talk will present the current effort to bring support for stateless video encoders in mainline V4L2. This includes an overview of the current preliminary work on selected hardware platforms and video codecs as well as a brief summary of today's out-of-tree support. It will be followed by an introduction to the difficult process of creating a new userspace API to support them in mainline Linux, the inherent trade-offs that need arbitration and why this is taking time to converge.
ELCE 2023 Prague, Czech Republic
This talk will highlight the main aspects of the current DRM KMS kernel-side APIs and how to use them for writing such drivers. It will cover various topics such as memory management, internal pipeline configuration, bridge and panel handling as well as complex interfaces handling (such as MIPI DSI and DP). Examples from actual drivers in the tree will be presented, as well as impressions from personal experience when writing the logicvc-drm driver and working on various panel and bridge drivers.
FOSDEM 2023 Bruxelles, Belgique/Brussel, België
This talk will present how support for an advanced camera use case was integrated into the mainline Linux kernel, using the Media and V4L2 APIs. It involves supporting a sensor using the raw Bayer RGB format, transmission over the MIPI CSI-2 bus as well as support for the Image Signal Processor (ISP) found on Allwinner platforms. A specific focus will be set on this ISP, with details about the features it implements as well as the internal and userspace APIs that are used to support it.
Capitole du Libre 2022 Toulouse, France (French)
La pile graphique utilisée avec Linux est notoirement complexe et se divise en de nombreux composants qui interagissent les uns avec les autres. Entre les aspects liés à l'affichage, ceux liés au rendu et le fonctionnement propre du matériel, il est parfois difficile de s'y retrouver. Cette présentation propose donc une vue d'ensemble afin de tirer les choses au clair.
ELCE 2022 Dublin, Ireland
The graphics stack used with the Linux kernel is a notoriously complex beast. From userspace down to the kernel level, a number of components are involved and interact with eachother. It is also an area that is constantly evolving to meet new use cases, refresh legacy implementations and achieve better performance. This makes it difficult to have a clear idea of the big picture and what is actually happening when using graphics-related components. This presentation will detail a walk through the graphics stack, with actual examples of displaying a buffer and rendering using the GPU. Going from the application level through the system libraries, down to the kernel and ending with actual hardware configuration. State-of-the-art technologies such as Wayland and DRM will be highlighted with relevant excerpts from the source code of related free software projects that are widely used today.
Embedded Recipes 2022 Paris, France
Capturing pixels with a camera involves a number of steps, from the ADC reading the photosites in the image sensor to the final pixel values that are ready for encode/display, with various processing and transmission taking place along the way. While simple cases put most of the heavy lifting on the image sensor's side (through its embedded processor) and use a simple parallel bus for transmission, advanced cases require more work to be done outside of the sensor. In addition, modern high-speed transmission buses also bring-in more complexity. This talk will present how support for such an advanced use case was integrated into the mainline Linux kernel, using the Media and V4L2 APIs. It involves supporting a sensor using the raw Bayer RGB format, transmission over the MIPI CSI-2 bus as well as support for the Image Signal Processor (ISP) found on Allwinner platforms. A specific focus will be set on this ISP, with details about the features it implements as well as the internal and userspace APIs that are used to support it. The integration between all of the involved components will also be highlighted.
ELC 2021 Online
Capturing pixels with a camera involves a number of steps, from the ADC reading the photosites in the image sensor to the final pixel values that are ready for encode/display, with various processing and transmission taking place along the way. While simple cases put most of the heavy lifting on the image sensor's side (through its embedded processor) and use a simple parallel bus for transmission, advanced cases require more work to be done outside of the sensor. In addition, modern high-speed transmission buses also bring-in more complexity. This talk will present how support for such an advanced use case was integrated into the mainline Linux kernel, using the Media and V4L2 APIs. It involves supporting a sensor using the raw Bayer RGB format, transmission over the MIPI CSI-2 bus as well as support for the Image Signal Processor (ISP) found on Allwinner platforms. A specific focus will be set on this ISP, with details about the features it implements as well as the internal and userspace APIs that are used to support it. The integration between all of the involved components will also be highlighted.
Live Embedded Event 2020 Online
Graphics with the Linux kernel is often perceived as a haystack, composed of many components that have complex interactions with eachother. While this is not always far from the truth, this talk will try to provide a clear overview of the different pieces in the stack and what their individual role is. Throughout the presentation, various APIs, protocols and software implementations will be demystified, covering both display and render aspects. This includes topics such as DRM, Wayland, Xorg, OpenGL, Mesa and more!
ELCE 2020 Online
The media subsystem and the V4L2 API have recently been extended to support hardware-accelerated video decoding for stateless implementations, with drivers such as cedrus and hantro supporting embedded platforms like Allwinner and Rockchip. While the stateless decoding work is being finalized, the next order of business is stateless video encoding. This talk will present the research and first implementation attempts to support H.264 encoding, using the Hantro H1 hardware. It will start with an introduction to H.264 encoding and rate-control approaches, one of the key aspects of encoding. It will follow with details about the hardware and provide an overview of the implementation challenges, choices that were made and their limitations for a common interface that can apply to any kind of stateless H.264 encoder. With that, a general picture of what a generic stateless encoding API for V4L2 would look like will be drawn.
ELCE 2019 Lyon, France
This talk will introduce some context about hardware video decoding, the work we carried out and the major issue we encountered with display integration as well as lessons learned from the experience.
Toulouse Embedded Linux & Android Meetup 2018 Toulouse, France (French)
Dans cette présentation, nous aborderons l'utilisation de l'API V4L2 pour un cas bien spécifique: l'accélération du décodage de vidéos par un composant matériel appelé VPU. Le cas étudié sera celui des plateformes Allwinner, pour lesquelles la prise en charge de l'accélération du décodage vidéo a été récemment intégrée au noyau Linux. Nous présenterons le fonctionnement des APIs en question et les adaptations qui leur ont été apportées pour ce cas d'utilisation ainsi que le rôle joué par le driver lors du décodage.
Capitole du Libre 2018 Toulouse, France (French)
Si de nombreux logiciels libres sont développés pour prendre en charge le processeur principal de nos appareils numériques (en particulier au niveau du système et dans une moindre mesure du démarrage), de nombreux autres composants sont laissés pour compte. Une multitude de micro-contrôleurs restent en effet sous le joug de logiciels propriétaires, sans alternatives libres. Si ces composants sont moins visibles, ils sont bien souvent cruciaux pour la liberté, la vie privée et la sécurité. Le projet Origami-EC s'intéresse aux Embedded Controllers, qui assurent de nombreux aspects liés à la gestion d'énergie et aux entrées/sorties des ordinateurs portables. Le développement d'un logiciel libre pour ces composants sera présenté, avec tous les challenges et les contraintes techniques qui lui sont associés.
OSFC 2018 Erlangen, Deutschland
THSF 2018 Toulouse, France (French)
Capitole du Libre 2017 Toulouse, France (French)
Un nombre croissant d'ordinateurs modernes, qu'il s'agisse d'ordinateurs x86 de bureau, portables ou encore d'appareils embarqués, contient des dispositifs de vérification du premier logiciel de démarrage. En pratique, cela signifie souvent que seul le logiciel de démarrage autorisé par le fabricant peut être exécuté sur ces appareils, causant de sérieux problèmes de liberté mais également de sécurité.
European coreboot Conference 2017 Bochum, Deutschland
European coreboot Conference 2017 Bochum, Deutschland
Capitole du Libre 2016 Toulouse, France (French)
Chaque aspect de la technologique numérique présente des problématiques liées aux libertés, avec de nombreuses implications. La situation actuelle et les efforts de libération concernant chaque aspect seront présentés, en particulier aux plus bas niveaux.
RMLL Security Track 2016 Paris, France
Pas Sage en Seine 2016 Paris, France (French)
Les appareils mobiles, tels que les téléphones portables ou tablettes sont de plus en plus présent dans notre usage de l'informatique et sont particulièrement sujets aux questions de liberté et de vie privée/sécurité. Étant de véritables ordinateurs, il est possible d'y exécuter du logiciel libre, même si la situation est loin d'être parfaite.
coreboot Conference 2016 San Francisco, USA
Coliberator 2016 București, România
Coliberator 2016 București, România
FOSDEM 2016 Bruxelles, Belgique/Brussel, België
Liberating the software running at the lower levels of the hardware we use, either on the main processor or on controllers and peripherals can reveal to be quite challenging. There is a series of (more or less) usual limitations to overcome in the process, each of them being a challenge for free software developers, with the potential of fatally blocking a free software implementation.
JM2L 2015 Nice, France (French)
Les appareils mobiles sont privilégiés pour nos communications et gardent grand nombre de données personnelles, en plus de ce qu'ils ont la capacité de collecter via les différents capteurs qu'ils embarquent. Il semble donc nécessaire de pouvoir réellement contrôler ces appareils. Replicant vise à libérer ces appareils. Présentation, enjeux, et limites.
Bazar du Libre 2015 Toulouse, France (French)
Les appareils mobiles sont privilégiés pour nos communications et gardent grand nombre de données personnelles, en plus de ce qu'ils ont la capacité de collecter via les différents capteurs qu'ils embarquent. Il semble donc nécessaire de pouvoir réellement contrôler ces appareils. Replicant vise à libérer ces appareils. Présentation, enjeux, et limites.
Brest en Biens Communs 2015 Brest, France (French)
Dans la lignée du mouvement du logiciel libre, Replicant est une facette de nos infrastructures de communication : à l’heure où l’informatique mobile (ordiphone, tablette,...) prend son envol, il est indispensable que les utilisateurs aient le contrôle de leur machine pour garder le contrôle de leurs informations personnelles (carnet d’adresse, agenda, SMS/appels reçus/émis,...), de leur liberté d’information et de leur liberté d’expression ainsi que du droit au secret de leur correspondance.
Chaos Communication Camp 2015 Deutschland
Chaos Communication Camp 2015 Deutschland
This lightning talk will (quickly) highlight various aspects of developing on Replicant, the fully free Android-based mobile operating system. It will provide some insight about why more developers should join-in and how to get started with it.
RMLL 2015 Beauvais, France
Most mainstream mobile devices are fatally flawed when it comes to software freedom since they are unable to function without proprietary software on their main processing unit. In particular, most of those devices ship with proprietary bootloaders: early software that is in charge of bringing up the hardware and loading the operating system. While free software bootloaders exist and provide support for a wide range of different platforms, mainstream mobile devices very often do not allow running free bootloaders because of enforced numeric signature checks. However, once in a while, we come across a few devices or platforms that allow running free bootloaders and thus show true potential for taking freedom to the next step. Some of those will be presented, along with the communities built around them. In particular, the work conducted to liberate the LG Optimus Black (P970) will be presented with detail, as well as the efforts to free Allwinner platforms by the linux-sunxi community and the work on the GTA04 and Neo900 phones, built around the OpenPhoenux community.
RMLL 2015 Beauvais, France (French)
Cet exposé présentera Replicant dans le cadre de l’initiative visant à libérer les appareils mobiles. En premier lieu, les problèmes majeurs liés à la liberté sur ces appareils seront abordés, ainsi que différentes considérations à propos de la sécurité de ces appareils et des communications qu’ils peuvent effectuer. Par la suite, Replicant sera introduit comme réponse à certaines de ces problématiques. Les différentes étapes du projet au fil des années ainsi que l’ensemble du travail accompli pour la prise en charge de différents appareils seront présentés, en particulier au travers de l’écriture de remplacements libres pour les composants propriétaires. Plusieurs exemples parmi les plus laborieux seront particulièrement mis en lumière. L’état actuel du projet ainsi que les récents développements seront présentés par la suite. Finalement, cette présentation abordera en quoi les appareils actuellement pris en charge sont fondamentalement imparfaits pour le logiciel libre et quelles sont les conséquences qui en découlent vis-à-vis de l’orientation et du développement actuel et futur de Replicant.
FOSDEM 2015 Bruxelles, Belgique/Brussel, België
Replicant was started as a pragmatic way to achieve software freedom on mobile devices, as a fully free version of Android. Over the years, support was added for a dozen of different mainstream devices. However, most of these are severely flawed when it comes to software freedom and privacy/security. Thus, it was decided to focus the development effort on a few specific devices that perform better than others from those perspectives, instead of trying to catch up with the latest mainstream devices.
Capitole du Libre 2014 Toulouse, France (French)
Les appareils mobiles, tels que les téléphones portables ou tablettes sont de plus en plus présent dans notre usage del'informatique et sont particulièrement sujets aux questions de liberté et de vie privée/sécurité. Étant de véritables ordinateurs, il est aisé d'y exécuter du logiciel libre, même si la situation est loin d'être parfaite.
RMLL 2014 Montpellier, France
The Replicant project was founded four years ago as a fully free version of Android. While Google releases most of Android as open source, with the Android Open Source Project, it still cannot run as-is on any actual device, since it needs proprietary programs for handling various parts of the hardware. Replicant however intends to run on actual devices while not compromising on software freedom. Hence, the proprietary parts are not part of Replicant and are instead either avoided or replaced. Over time, a good share free software replacements for the proprietary components was developed by the project, each time a new challenge for the developers involved!
RMLL 2014 Montpellier, France
ARM devices have become an overwhelming part of our computing, present in most embedded and mobile devices. While free software seems prominent on ARM platforms, for instance with Android on phones and tablets, and various other GNU/Linux systems on single board computers and plug computers, not all systems and platforms are equal in terms of software freedom.
RMLL 2014 Montpellier, France
Android is developed by Google mostly as open source, through the Android Open Source Project. However, AOSP cannot actually run on most devices without proprietary software for supporting various hardware features. Back in 2010, the Replicant project was founded by a couple of free software enthusiasts to try and bring a fully free version of Android to the first Android phone, the HTC Dream, by replacing or avoiding the proprietary parts. Four years later, more than 10 different devices are supported by the project, which still focuses primarily on software freedom. Hence, making Replicant the only mobile operating system that truly puts the emphasis on freedom.
Open Bidouille Camp 33 2014 Bordeaux, France (French)
ICFOSS 2014 Remote
Mardi Giroll 2014 Bordeaux, France (French)
Mardi Giroll 2014 Bordeaux, France (French)
Giroll Party 2013 Bordeaux, France (French)