Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Embedded Linux Conference (ELC) [clear filter]
Monday, October 26

17:15 GMT

Getting a Time of Flight Camera Working in Linux, the Full Story from Kernel to User Space - Bogdan Togorean, Analog Devices
Video for Linux (v4l) is a well-established infrastructure for interfacing with video cameras, providing a comprehensive API for camera control and data acquisition. With the advent of the Time of Flight (TOF) cameras, outputting synchronized depth and IR images, there are a few challenges when writing kernel v4l drivers as well as user space applications since these cameras have different controls, more operating modes and, in many cases, different MIPI data formats and more virtual channels than traditional RGB cameras. This session talks about the implementation of the v4l driver for the Analog Devices ADDI9036 ToF processor, with an emphasis on the additional features that had to be implemented to expose the ToF camera's full functionality and on the changes that had to be made to get the same driver, or platform specific variants of it, working on different computing platforms such as Raspberry Pi, NXP i.MX8, Nvidia Xavier AGX or the Rockchip RK3399. It also introduces the user space software stack required to interface with the ToF camera, providing the full picture of the software components that are required to get a ToF camera working on embedded platforms running Linux.


Bogdan Togorean

Software Engineer, Analog Devices
Bogdan holds a MSc degree and a BSc degree in Electrical Engineering from the Techical University of Cluj-Napoca. Since joining Analog Devices (ADI) in 2019 as an Embedded Software Engineer he has been working on developing Linux drivers for various ADI parts such as high speed converters... Read More →

Monday October 26, 2020 17:15 - 18:05 GMT
ELC Theater

18:30 GMT

From the Camera Sensor to the User, the Journey of a Video Frame - Maxime Chevallier, Bootlin
Video cameras are ubiquitous devices nowadays, taking a wild range of forms, from tiny sensors in your smartphone to complex cameras requiring lots of analog circuitry and internal decoding. The V4L2 susbsystem handles all of these devices, with an architecture capable of representing complex interconnections of components : Sensors, encoders, decoders, controllers, and so on. In this talk, we'll see how all of these components are chained together, using examples from real-life devices, by following the path of a frame, from the sensor up to the final consumer of the frame, which can be a display, a file on a storage, or a network stream. We'll see the various physical protocols and standards used for video transmission typically found on embedded systems, how they are implemented in the kernel and how to interact with them as a driver developer or a simple user. We'll also follow the transformations that a frame can go through so that it can in the end be correctly processed by the consumer. This talk's main audience are people who want to discover the various technologies around video capture, and that want an introduction to the complex but fascinating world of Video4Linux.


Maxime Chevallier

Embedded Linux Engineer, Bootlin
Maxime joined Bootlin in 2018, where he does Embedded Linux and kernel development. Since then, he has been working on networking drivers for MACs and PHYs, Audio drivers and more recently, V4L2 work with a complex camera setup. He also has experience working on SPI drivers, Yocto... Read More →

Monday October 26, 2020 18:30 - 19:20 GMT
ELC Theater
Tuesday, October 27

12:00 GMT

Graphical User Interface Using Flutter in Embedded Systems - Hidenori Matsubayashi, Sony
Sony has been researching open source Graphical User Interface (GUI) frameworks available for embedded products. There are many GUI frameworks in OSS, but there are some issues and trade-offs such as functionality, maintainability, compatibility with display manager (X11, Wayland), and software license. For example, in the case of consumer electronics products, higher designability is required. Furthermore, linking mobile apps and web apps and a development environment that facilitates development are required. Therefore, HTLM5/JavaScript using WebView (embedded browser) is often used. However, when using WebView, there are issues such as footprint and vulnerability countermeasure costs. Regarding Wayland, which is being mainly supported by Board Support Package (BSP) of SoC vendors, existing OSS sometimes lacks Wayland's support. And using it as is may cause stability problems. To solve above issues, we have adopted Flutter, which is a GUI framework for mobile and desktop in OSS, and developed to support Wayland protocol, application manager and development environment suitable for embedded systems. In this talk, we will talk about our challenge and exhibit demo applications.

avatar for Hidenori Matsubayashi

Hidenori Matsubayashi

Software Engineer, Sony
Hidenori has been working for more than 10 years on Embedded Software for a lot of products. He mainly works on developing system software on embedded systems as full stack software engineer.Specialties: C/C++, Rust, Dart (Flutter), Embedded Linux, System Software, Middleware, Firmware... Read More →

Tuesday October 27, 2020 12:00 - 12:50 GMT
ELC Theater

14:15 GMT

Challenges of Using V4L2 to Capture and Process Video Sensor Images - Eugen Hristev, Microchip Technology, Inc.
The Video4Linux2(v4l2) is a complex subsystem in Linux that offers great capabilities for configuring a complete video capture pipeline. This presentation focuses on the challenges of taking a photo with a digital sensor, that in most cases is not adapted to the ambient scenery, and how dedicated hardware and software can help the simple photographer to take the best quality photo that they can. A hardware and software pipeline starts from the basic raw pixel data that comes from the sensor, and it goes through several processing stages, from interpolation of raw BAYER matrix and color space conversion to RGB space, color correction, brightness and contrast adjustment, white balance algorithms to adjust to ambient light, and in the end converting to a user friendly image format type. The presentation allows a non-experienced photographer, or a photographer used to classic cameras, to understand the difficulties of digital photography, and how Linux, and especially v4l2, can control, adjust, and automatically perform tasks that will help anyone take photos easy, with minimum amount of effort. The end goal is to understand the functionality of an Embedded Linux Camera.

avatar for Eugen Hristev

Eugen Hristev

Software Engineer, Microchip Technology, Inc.
I have been working with Microchip Technology for more than three years, focusing on Linux kernel and bootloader development, mainly driver development for different hardware blocks inside Microchip's AT91 SAM series, mostly on Cortex-A5 based MPUs. My main areas of interest and focus... Read More →

Tuesday October 27, 2020 14:15 - 15:05 GMT
ELC Theater

18:30 GMT

Overview of the Open Source Vulkan Driver for Raspberry Pi 4 - Alejandro Piñeiro Iglesias, Igalia
Igalia has been developing a new open source Mesa driver for the Raspberry Pi 4 since December 2019. This talk will discuss the development story and current status of the driver, provide a high level overview of the major design elements, discuss some of the challenges we found in bringing specific aspects of Vulkan 1.0 to the V3D GPU platform and finally, talk about future plans and how to contribute to the on-going development effort.


Alejandro Piñeiro Iglesias

Developer, Igalia
Alejandro has been a free software developer since 2004. His experience includes a variety of GNOME and freedesktop.org projects, focusing since 2015 on Mesa, including the Intel OpenGL i965 driver, Broadcom OpenGL v3d driver, and Broadcom Vulkan v3dv driver. He is also the maintainer... Read More →

Tuesday October 27, 2020 18:30 - 19:20 GMT
ELC Theater
Wednesday, October 28

12:00 GMT

Simplify and Reuse Your Driver's Code with Regmaps - Ioan Adrian Ratiu, Collabora Ltd
Regmaps allow you to abstract register-access by mapping memory regions to registers. At a first glance, one may not see the benefit of using regmap instead of directly calling the standard readl/writel functions. However, regmaps, as a register layout abstraction, bring more flexibility to the table: with regmaps you don't hold on to the specific details of your hardware register layout, opening the door to get your code to use slightly different variations of the same hardware platform just by setting the right register mapping at the driver's init phase. In this talk we will discuss this advantage and few others while looking at real examples where regmaps were used in mainline in the MIPI-DSI and Hantro media accelerator drivers.


Ioan-Adrian Ratiu

Senior Software Engineer, Collabora Ltd
Adrian Ratiu is a consultant Embedded Linux software engineer working for Collabora in its Core platform team. Recent areas of interest include SoC bringup, ASIC programming, display technologies like MIPI-DSI, media accelerators, PREEMPT_RT and others. Previously has attended and... Read More →

Wednesday October 28, 2020 12:00 - 12:50 GMT
ELC Theater

16:15 GMT

Supporting Hardware-Accelerated Video Encoding with Mainline - Paul Kocialkowski, Bootlin
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.

avatar for Paul Kocialkowski

Paul Kocialkowski

Embedded Linux Engineer, Bootlin
Paul joined Bootlin in 2018 and started with bringing support for the Allwinner VPU to mainline Linux. He went on to cover more topics related to graphics and multimedia, with various contributions to the DRM Linux subsystem and related projects. Before that, Paul worked on boot software... Read More →

Wednesday October 28, 2020 16:15 - 17:05 GMT
ELC Theater

Twitter Feed