On-going Bootlin contributions to the Video4Linux subsystem: camera, camera sensors, video encoding

Over the past years, we have been more and more involved in projects that have significant multimedia requirements. As part of this trend, 2020 has lead us to work on a number of contributions to the Video4Linux subsystem of the Linux kernel, with new drivers for camera interfaces, camera sensors, video decoders, and even HW-accelerated video encoding. In this blog post, we propose to summarize our contributions and their status on the following topics:

  • Rockchip PX30, RK1808, RK3128 and RK3288 camera interface driver
  • Allwinner A31, V3s/V3/S3 and A83T MIPI CSI-2 support for the camera interface driver
  • Omnivision OV8865 camera sensor driver
  • Omnivision OV5648 camera sensor driver
  • TW9900 PAL/NTSC video decoder driver
  • Rockchip HW-accelerated H264 video encoding

Rockchip camera interface

Rockchip camera interfaceThe Rockchip ARM processors are known to have very good support in the upstream Linux kernel. However, one area where the support was lacking is in the support of the camera interface used by those SoCs. And it turns out that Bootlin engineer Maxime Chevallier has worked precisely on this topic throughout 2020: the development and upstreaming of the rkvip driver, a Video4Linux driver for the Rockchip camera interface. While the work was done and tested on a Rockchip PX30 platform, the same camera interface is used on RK1808, RK3128 and RK3288.

Several iterations of the driver have been posted on the linux-media mailing list, with the latest iteration, version 5, posted on December 29, 2020:

Maxime Chevallier (3):
  media: dt-bindings: media: Document Rockchip VIP bindings
  media: rockchip: Introduce driver for Rockhip's camera interface
  arm64: dts: rockchip: Add the camera interface description of the PX30

 .../bindings/media/rockchip-vip.yaml          |  101 ++
 arch/arm64/boot/dts/rockchip/px30.dtsi        |   12 +
 drivers/media/platform/Kconfig                |   15 +
 drivers/media/platform/Makefile               |    1 +
 drivers/media/platform/rockchip/vip/Makefile  |    3 +
 drivers/media/platform/rockchip/vip/capture.c | 1146 +++++++++++++++++
 drivers/media/platform/rockchip/vip/dev.c     |  331 +++++
 drivers/media/platform/rockchip/vip/dev.h     |  203 +++
 drivers/media/platform/rockchip/vip/regs.h    |  260 ++++
 9 files changed, 2072 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/rockchip-vip.yaml
 create mode 100644 drivers/media/platform/rockchip/vip/Makefile
 create mode 100644 drivers/media/platform/rockchip/vip/capture.c
 create mode 100644 drivers/media/platform/rockchip/vip/dev.c
 create mode 100644 drivers/media/platform/rockchip/vip/dev.h
 create mode 100644 drivers/media/platform/rockchip/vip/regs.h

We’re hoping to get this driver merged soon, as we have now addressed the feedback that was received through the 5 iterations the patch series as gone through. It should be noted that for now it only supports the parallel BT656 interface as this is what we needed for our current project, we are definitely able to extend it to support MIPI CSI2 as well if you’re interested!

It should be noted that as a result of this work, Maxime Chevallier also prepared and delivered a talk From a video sensor to your display which was given at the Embedded Linux Conference Europe 2020. See the slides and video.

Allwinner MIPI CSI2 camera interface

Allwinner MIPI CSI2As part of an internship in 2020 and then a customer project, Bootlin intern Kévin L’Hôpital and Bootlin engineer Paul Kocialkowski worked on extending the Allwinnera camera interface support with support for MIPI CSI2 cameras. In fact, this addition was done to two Allwinner camera interface drivers: the sun6i driver which is used on Allwinner A31 and V3s/V3/S3, and the sun8i-a83t, which is used on the Allwinner A83T.

Through a fairly long 15 patches patch series, support for MIPI CSI2 is added to both camera interface controllers. We have tested both with Omnivision sensors, which are described below.

The series is currently in its third iteration, which was posted by Paul Kocialkowski on December 11, 2020 on the linux-media mailing list:


Paul Kocialkowski (15):
  docs: phy: Add a part about PHY mode and submode
  phy: Distinguish between Rx and Tx for MIPI D-PHY with submodes
  phy: allwinner: phy-sun6i-mipi-dphy: Support D-PHY Rx mode for MIPI
    CSI-2
  media: sun6i-csi: Use common V4L2 format info for storage bpp
  media: sun6i-csi: Only configure the interface data width for parallel
  dt-bindings: media: sun6i-a31-csi: Add MIPI CSI-2 input port
  media: sun6i-csi: Add support for MIPI CSI-2 bridge input
  dt-bindings: media: Add A31 MIPI CSI-2 bindings documentation
  media: sunxi: Add support for the A31 MIPI CSI-2 controller
  ARM: dts: sun8i: v3s: Add nodes for MIPI CSI-2 support
  MAINTAINERS: Add entry for the Allwinner A31 MIPI CSI-2 bridge
  dt-bindings: media: Add A83T MIPI CSI-2 bindings documentation
  media: sunxi: Add support for the A83T MIPI CSI-2 controller
  ARM: dts: sun8i: a83t: Add MIPI CSI-2 controller node
  MAINTAINERS: Add entry for the Allwinner A83T MIPI CSI-2 bridge

 .../media/allwinner,sun6i-a31-csi.yaml        |  88 ++-
 .../media/allwinner,sun6i-a31-mipi-csi2.yaml  | 149 ++++
 .../media/allwinner,sun8i-a83t-mipi-csi2.yaml | 147 ++++
 Documentation/driver-api/phy/phy.rst          |  18 +
 MAINTAINERS                                   |  16 +
 arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts  |   2 +-
 arch/arm/boot/dts/sun8i-a83t.dtsi             |  26 +
 arch/arm/boot/dts/sun8i-v3s.dtsi              |  67 ++
 drivers/media/platform/sunxi/Kconfig          |   2 +
 drivers/media/platform/sunxi/Makefile         |   2 +
 .../platform/sunxi/sun6i-csi/sun6i_csi.c      | 165 +++--
 .../platform/sunxi/sun6i-csi/sun6i_csi.h      |  58 +-
 .../platform/sunxi/sun6i-csi/sun6i_video.c    |  53 +-
 .../platform/sunxi/sun6i-csi/sun6i_video.h    |   7 +-
 .../platform/sunxi/sun6i-mipi-csi2/Kconfig    |  12 +
 .../platform/sunxi/sun6i-mipi-csi2/Makefile   |   4 +
 .../sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c   | 590 ++++++++++++++++
 .../sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.h   | 117 ++++
 .../sunxi/sun8i-a83t-mipi-csi2/Kconfig        |  11 +
 .../sunxi/sun8i-a83t-mipi-csi2/Makefile       |   4 +
 .../sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c    |  92 +++
 .../sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.h    |  39 ++
 .../sun8i_a83t_mipi_csi2.c                    | 657 ++++++++++++++++++
 .../sun8i_a83t_mipi_csi2.h                    | 197 ++++++
 drivers/phy/allwinner/phy-sun6i-mipi-dphy.c   | 164 ++++-
 drivers/staging/media/rkisp1/rkisp1-isp.c     |   3 +-
 include/linux/phy/phy-mipi-dphy.h             |  13 +
 27 files changed, 2581 insertions(+), 122 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/media/allwinner,sun6i-a31-mipi-csi2.yaml
 create mode 100644 Documentation/devicetree/bindings/media/allwinner,sun8i-a83t-mipi-csi2.yaml
 create mode 100644 drivers/media/platform/sunxi/sun6i-mipi-csi2/Kconfig
 create mode 100644 drivers/media/platform/sunxi/sun6i-mipi-csi2/Makefile
 create mode 100644 drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
 create mode 100644 drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.h
 create mode 100644 drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/Kconfig
 create mode 100644 drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/Makefile
 create mode 100644 drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c
 create mode 100644 drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.h
 create mode 100644 drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
 create mode 100644 drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.h

Here as well, the patch series has gone through a number of iterations, with significant reshaping to take into account the comments and feedback of other kernel developers and maintainers, so we hope to be near the point where it can be merged.

Omnivision OV8865 camera sensor driver

OV8865 block diagramAs part of his internship at Bootlin in 2020, Kévin L’Hôpital implemented a driver for the OV8865 camera sensor, connected over MIPI CSI2 to an Allwinner A83T platform. This OV8865 was then taken by Bootlin engineer Paul Kocialkowski, who did additional rework and polishing.

We are currently at the 4th iteration of this driver, which has been posted on December 11, 2020, and it has now been accepted and submitted to the V4L maintainer in a pull request.


Kévin L'hôpital (1):
  ARM: dts: sun8i: a83t: bananapi-m3: Enable MIPI CSI-2 with OV8865

Paul Kocialkowski (2):
  dt-bindings: media: i2c: Add OV8865 bindings documentation
  media: i2c: Add support for the OV8865 image sensor

 .../bindings/media/i2c/ovti,ov8865.yaml       |  124 +
 arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts  |  102 +
 drivers/media/i2c/Kconfig                     |   13 +
 drivers/media/i2c/Makefile                    |    1 +
 drivers/media/i2c/ov8865.c                    | 2981 +++++++++++++++++
 5 files changed, 3221 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov8865.yaml
 create mode 100644 drivers/media/i2c/ov8865.c

Omnivision OV5648 camera sensor driver

OV5648 block diagramIn addition to the work done by Bootlin intern Kévin L’Hôpital on OV8865 with Allwinner A83T, Paul Kocialkowski worked on OV5648 with Allwinner V3s, also connected over MIPI CSI2. This work results in a driver for the OV5648 camera sensor, which Paul has submitted to the linux-media mailing list.

This driver is now in is 5th iteration, posted on December 11, 2020, and it has now been accepted and submitted to the V4L maintainer in a pull request.


Paul Kocialkowski (2):
  dt-bindings: media: i2c: Add OV5648 bindings documentation
  media: i2c: Add support for the OV5648 image sensor

 .../bindings/media/i2c/ovti,ov5648.yaml       |  115 +
 drivers/media/i2c/Kconfig                     |   13 +
 drivers/media/i2c/Makefile                    |    1 +
 drivers/media/i2c/ov5648.c                    | 2638 +++++++++++++++++
 4 files changed, 2767 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov5648.yaml
 create mode 100644 drivers/media/i2c/ov5648.c

TW9900 PAL/NTSC video decoder driver

TW9900In addition to working on the Rockchip camera interface driver, Maxime Chevallier has also worked on a driver for the TW9900 PAL/NTSC video decoder. This chip from Renesas, takes as input an analog PAL or NTSC signal, digitizes it and outputs it on a parallel BT656 interface, which in our case was connected to a Rockchip PX30 platform.

Maxime posted the third iteration of the patch series adding this driver on December 22, 2020 on the linux-media mailing list.

Maxime Chevallier (3):
  dt-bindings: vendor-prefixes: Add techwell vendor prefix
  media: dt-bindings: media: i2c: Add bindings for TW9900
  media: i2c: Introduce a driver for the Techwell TW9900 decoder

 .../devicetree/bindings/media/i2c/tw9900.yaml |  60 ++
 .../devicetree/bindings/vendor-prefixes.yaml  |   2 +
 MAINTAINERS                                   |   6 +
 drivers/media/i2c/Kconfig                     |  11 +
 drivers/media/i2c/Makefile                    |   1 +
 drivers/media/i2c/tw9900.c                    | 617 ++++++++++++++++++
 6 files changed, 697 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/tw9900.yaml
 create mode 100644 drivers/media/i2c/tw9900.c

Rockchip HW-accelerated H264 video encoding

In 2018 and thanks to success of the crowd-funding campaign we ran back then, Bootlin engineer Paul Kocialkowski pioneered support for stateless video decoders in the Linux kernel, with a first driver supporting MPEG2, H264 and H265 HW-accelerated video decoding on Allwinner platforms.

Rockchip video encoderIn 2020, Paul was tasked to work on HW-accelerated H264 video encoding for Rockchip platforms, which also use a stateless video encoder. Of course, Paul took the same approach of going towards an upstream-acceptable solution rather than relying on out-of-tree and vendor-specific solutions provided by Rockchip.

Paul has been able to implement a working solution for one of our customers, and while the result is not yet in a shape where it can be submitted upstream, Paul has presented its result at the Embedded Linux Conference Europe 2020: the slides and video. The kernel code is available at https://github.com/bootlin/linux/tree/hantro/h264-encoding while the user-space code is available at https://github.com/bootlin/v4l2-hantro-h264-encoder.

As explained in Paul’s talk, this is not fully ready for upstream, as lots of discussions are needed on the user-space APIs, especially around the topic of rate control.

If you are interested in having this work fully available in the upstream Linux kernel, please contact us. We are looking for additional funding and support to push this completely upstream.

Conclusion

As can be seen from the numerous topics covered in this blog post, Bootlin has significant experience with the Video4Linux subsystem, and is able to both implement support for new hardware, extend the Video4Linux subsystem if needed, and contribute drivers and changes to the official Linux kernel.

Wrapping up the Allwinner VPU crowdfunded Linux driver work

Back in early 2018, Bootlin started a crowd-funding campaign to fund the development of an upstream Linux kernel driver for the VPU found in Allwinner processors. Thanks to the support from over 400 contributors, companies and individuals, we have been able to bring support for hardware-accelerated video decoding in the mainline Linux kernel for Allwinner platforms.

From April 2018 to end of 2019, Paul Kocialkowski and Maxime Ripard at Bootlin worked hard on developing the driver and getting it accepted upstream, as well as developing the corresponding user-space components. We regularly published the progress of our work on this blog.

As of the end of 2019, we can say that all the goals defined in the Kickstarter have been completed:

  • We have an upstream Linux kernel for the Allwinner VPU, in drivers/staging/media/sunxi/cedrus, which supports MPEG2 decoding (since Linux 4.19), H264 decoding (since Linux 5.2) and H265 decoding (will be in the upcoming Linux 5.5)
  • We have a user-space VA-API implementation called libva-v4l2-request, and which allows to use any Linux kernel video codec based on the request API.
  • We have enabled the Linux kernel driver on all platforms we listed in our Kickstarter campaign: A13/A10S/A20/A33/H3 (since Linux 4.19), A64/H5 (since Linux 4.20), A10 (since Linux 5.0) and H6 (since Linux 5.1, contributed by Jernej Skrabec)

This means that the effort that was funded by the Kickstarter campaign is now over, and from now on, we are operating in maintenance mode regarding the cedrus driver: we are currently not actively working on developing new features for the driver anymore.

The Cedrus Linux driver in action

Of course, there are plenty of additional features that can be added to the driver: support for H264 encoding, support for high-profile H264 decoding, support for other video codecs. Bootlin is obviously available to develop those additional features for customers, do not hesitate to contact us if you are interested.

Overall, we found this experience of funding upstream Linux kernel development through crowd-funding very interesting and we’re happy to have been successful at delivering what was promised in our campaign. Looking at the bigger picture, the Linux userspace API for video decoding with stateless hardware codecs in V4L2 has been maturing for a while and is getting closer and closer to being finalized and declared a stable kernel API: this project has been key in the introduction of this API, as cedrus was the first driver merged to require and use it. Additional drivers are appearing for other stateless decoding engines, such as the Hantro G1 (found in Rockchip, i.MX and Microchip platforms) or the rkvdec engine. We are of course also interested in working on support for these VPUs, as we have gained significant familiarity with all things related to hardware video decoding during the cedrus adventure.

Back from ELCE 2019: our talks videos, slides, and more!

With 8 engineers participating to the Embedded Linux Conference Europe, almost the entire Bootlin engineering team took part to the conference. As usual, we not only attended the event, but also contributed by giving a total of 5 talks and 2 tutorials, for which we’re happy to share below the videos and slides. Also, as part of this conference, Bootlin CTO Thomas Petazzoni received an award for his contribution to the conference.

Buildroot, what’s new ?

Talk given by Thomas Petazzoni, slides in PDF and slides source code.

Timing boot time reduction techniques

Talk given by Michael Opdenacker, slides in PDF, slides source code.

Integrating hardware-accelerated video decoding with the display stack

Talk given by Paul Kocialkowski, slides in PDF, slides source code.

RTC subsystem, recent changes and where it is heading

Talk given by Alexandre Belloni, slides in PDF, slides source code.

Flash subsystems status update

Talk given by Miquèl Raynal (from Bootlin) and Richard Weinberger (from sigma star gmbh), slides in PDF, slides source code.

Offloading network traffic classification to hardware

Talk given by Maxime Chevallier, slides in PDF, slides source code.

Introduction to Linux Kernel driver programming

Tutorial given by Michael Opdenacker, slides in PDF, slides source document. The video is not yet available, but should be published in the future.

Introduction to the Buildroot embedded Linux build system

Tutorial given by Thomas Petazzoni, slides in PDF, slides source code. The video is not yet available, but should be published in the future.

Award to Thomas Petazzoni

During the traditional closing game of the conference, we were really happy to have Bootlin’s CTO Thomas Petazzoni called on stage, to receive from the hands of Tim Bird, an award for his continuous 11 year participation to the conference, with 24 presentations given, one keynote and for the past two years, participation to the conference program committee. We are honored and proud by this recognition of Thomas contribution to the conference.

Thomas Petazzoni receives ELCE conference award

Thomas Petazzoni receives ELCE conference award

Thomas Petazzoni receives ELCE conference award

Slides and videos from the Embedded Linux Conference Europe 2016

Last month, the entire Bootlin engineering team attended the Embedded Linux Conference Europe in Berlin. The slides and videos of the talks have been posted, including the ones from the seven talks given by Bootlin engineers:

  • Alexandre Belloni presented on ASoC: Supporting Audio on an Embedded Board, slides and video.
  • Boris Brezillon presented on Modernizing the NAND framework, the big picture, slides and video.
  • Boris Brezillon, together with Richard Weinberger from sigma star, presented on Running UBI/UBIFS on MLC NAND, slides and video.
  • Grégory Clement presented on Your newer ARM64 SoC Linux check list, slides and video.
  • Thomas Petazzoni presented on Anatomy of cross-compilation toolchains, slides and video.
  • Maxime Ripard presented on Supporting the camera interface on the C.H.I.P, slides and video.
  • Quentin Schulz and Antoine Ténart presented on Building a board farm: continuous integration and remote control, slides and video.

Support for the Allwinner VPU in the mainline Linux kernel

Over the last few years, and most recently with the support for the C.H.I.P platform, Bootlin has been heavily involved in initiating and improving the support in the mainline Linux kernel for the Allwinner ARM processors. As of today, a large number of hardware features of the Allwinner processors, especially the older ones such as the A10 or the A13 used in the CHIP, are usable with the mainline Linux kernel, including complex functionality such as display support and 3D acceleration. However, one feature that was still lacking is proper support for the Video Processing Unit (VPU) that allows to accelerate in hardware the decoding and encoding of popular video formats.

During the past two months, Florent Revest, a 19 year old intern at Bootlin worked on a mainline solution for this Video Processing Unit. His work followed the reverse engineering effort of the Cedrus project, and this topic was also listed as a High Priority Reverse Engineering Project by the FSF.

The internship resulted in a new sunxi-cedrus driver, a Video4Linux memory-to-memory decoder kernel driver and a corresponding VA-API backend, which allows numerous userspace applications to use the decoding capabilities. Both projects have both been published on Github:

Currently, the combination of the kernel driver and VA-API backend supports MPEG2 and MPEG4 decoding only. There is for the moment no support for encoding, and no support for H264, though we believe support for both aspects can be added within the architecture of the existing driver and VA-API backend.

A first RFC patchset of the kernel driver has been sent to the linux-media mailing list, and a complete documentation providing installation information and architecture details has been written on the linux-sunxi’s wiki.

Here is a video of VLC playing a MPEG2 demo video on top of this stack on the Next Thing’s C.H.I.P:

Videos of XDC2014 and Kernel Recipes 2014

Recently, two interesting conferences took place in France: the X.org developer conference (in Bordeaux, October 8th-10th) and the Kernel Recipes conference (in Paris, September 25th-26th).

X.org Foundation logo

Kernel Recipes logo

Both conferences have now published videos and slides of the different talks:

  • for the XDC 2014 conference, they are available in the program page
  • for the Kernel Recipes conference, they are available from the schedule page

It also means that the video of the talk given by Bootlin engineer Maxime Ripard about the support for Allwinner processors in the kernel is now available: video, slides.

https://www.youtube.com/watch?v=yJmZkzq651Q

Videos from Embedded Linux Conference 2013

San FranciscoBetter late than never: we are finally publishing a set of videos of 24 talks from the last Embedded Linux Conference, which took place earlier this year in San Francisco, California. These videos are coming in addition to the videos that the Linux Foundation had posted from this conference on video.linux.com.

Our videos are the ones from other talks, covering topics such as I2C, the BeagleBone, the Common Display Framework, Kernel debugging, Memory management in the kernel, usage of SPDX in Yocto, the SCHED_DEADLINE scheduler, the management of ARM SoC support in the kernel, real-time, kernel testing, and more. We’re also including below the full set of videos from the Linux Foundation, so that this page nicely gives links to all the videos from Embedded Linux Conference 2013.

Our videos

David AndersVideo capture
Texas Instruments
Board Bringup: You, Me and I2C
Slides
Video (38 minutes):
full HD (269M), 800×450 (151M)

Jayneil DalalVideo capture
Texas Instruments
Beaglebone Hands-On Tutorial
Slides
Video (66 minutes):
full HD (444M), 800×450 (249M)

Jesse BarkerVideo capture
Linaro
Common Display Framework BoF
Video (113 minutes):
full HD (761M), 800×450 (389M)

Alison ChaikenVideo capture
Mentor Embedded Software Division
Embedded Linux Takes on the Hard Problems of Automotive
Slides
Video (54 minutes):
full HD (359M), 800×450 (152M)

Kevin ChalmersVideo capture
Texas Instruments
RFC: Obtaining Management Buy-in for Mainline Development
Slides
Video (36 minutes):
full HD (253M), 800×450 (140M)

Michael ChristoffersonVideo capture
Enea
Yocto Meta-Virtualization Layer Project
Slides
Video (47 minutes):
full HD (330M), 800×450 (187M)

Kevin DankwardtVideo capture
K Computing
Survey of Linux Kernel Debugging Techniques
Slides
Video (50 minutes):
full HD (350M), 800×450 (206M)

Ezequiel Alfredo GarciaVideo capture
VanguardiaSur
Kernel Dynamic Memory Allocation Tracking and Reduction
Slides
Video (56 minutes):
full HD (398M), 800×450 (235M)

Christopher FriedtVideo capture
Research In Motion
Gentoo-Bionic: We Can Rebuild Him. Better. Stronger. Faster.
Slides
Video (39 minutes):
full HD (272M), 800×450 (154M)

Gregoire GentilVideo capture
Always Innovating
Lessons Learned in Designing a Self-Video, Self-Hovering Nano Copter
Video (56 minutes):
full HD (391M), 800×450 (225M)

Mark Gisi, Mark HatleVideo capture
Wind River Systems
Leveraging SPDX with Yocto
Video (53 minutes):
full HD (376M), 800×450 (204M)

Yoshitake KobayashiVideo capture
TOSHIBA Corporation
Deadline Miss Detection with SCHED_DEADLINE
Slides
Video (38 minutes):
full HD (274M), 800×450 (158M)

Tetsuyuki KobayashiVideo capture
Kiyoto Microcomputer
Tips of Malloc and Free
Slides
Video (39 minutes):
full HD (277M), 800×450 (163M)

Tristan LelongVideo capture
Adeneo Embedded
Debugging on a Production System
Slides
Video (51 minutes):
full HD (354M), 800×450 (195M)

Noor UI MubeenVideo capture
Intel Technology India Pvt Ltd
Making Gadgets Really “cool”
Slides
Video (45 minutes):
full HD (298M), 800×450 (122M)

Hisao MunakataVideo capture
Renesas Electronics
How to Cook the LTSI Kernel with Yocto Recipe
Slides
Video (42 minutes):
full HD (295M), 800×450 (166M)

Olof JohanssonVideo capture
Google
Anatomy of the arm-soc git tree
Slides
Video (50 minutes):
full HD (348M), 800×450 (192M)

Mark OrvekVideo capture
Linaro
Application Diversity Demands Accelerated Linux Innovation
Slides
Video (38 minutes):
full HD (273M), 800×450 (158M)

Thomas PetazzoniVideo capture
Bootlin
Your New ARM SoC Linux Support Checklist!
Slides
Video (60 minutes):
full HD (418M), 800×450 (231M)

Matt PorterVideo capture
Texas Instruments, Inc.
Kernel Testing Tools and Techniques
Slides
Video (60 minutes):
full HD (405M), 800×450 (230M)

Brent RomanVideo capture
Monterey Bay Aquarium Research Institute
Making Linux do Hard Real-Time
Slides
Video (24 minutes):
full HD (173M), 800×450 (101M)

Mans RullgardVideo capture
ARM/Linaro
Designing for Optimisation
Slides
Video (50 minutes):
full HD (353M), 800×450 (202M)

Chris SimmondsVideo capture
2net Limited
The End of Embedded Linux (as we know it)
Video (46 minutes):
full HD (293M), 800×450 (137M)

Hunyue YauVideo capture
HY Research LLC
uCLinux for Custom Mobile Devices
Slides
Video (40 minutes):
full HD (283M), 800×450 (151M)

Linux Foundation videos

Joo-Young HwangVideo capture
Samsung Electronics Co., Ltd.
F2FS, Flash-Friendly File System
Slides
Video : on video.linux.com

Linus WalleijVideo capture
ST-Ericsson
Pin Control and GPIO Update
Slides
Video : on video.linux.com

Mark GrossVideo capture
Intel
The ‘Embedded Problem’ as Experienced by Intel’s Reference Phones

Video : on video.linux.com

Gap-Joo NaVideo capture
Electronics and Telecommunications Research Institute (ETRI)
Task Scheduling for Multicore Embedded Devices
Slides
Video : on video.linux.com

Joel FernandesVideo capture
Texas Instruments, Inc
FIT Image Format: Inspired by Kernel’s Device Tree
Slides
Video : on video.linux.com

Steven RostedtVideo capture
Red Hat
Understanding PREEMPT_RT (The Real-Time Patch)
Slides
Video : on video.linux.com

Ruud DerwigVideo capture
Synopsys
Using GStreamer for Seamless Off-loading Audio Processing to a DSP
Slides
Video : on video.linux.com

Rob LandleyVideo capture
Multicelluar
Toybox: Writing a new Linux Command Line from Scratch
Slides
Video : on video.linux.com

Denys DmytriyenkoVideo capture
Texas Instruments
Pre-built Binary Toolchains in Yocto Project
Slides
Video : on video.linux.com

Anna DushistovaVideo capture
Me, Myself and I
Target Communication Framework: One Link to Rule Them All
Slides
Video : on video.linux.com

Jim HuangVideo capture
0xlab
olibc: Another C Runtime Library for Embedded Linux
Slides
Video : on video.linux.com

Jake EdgeVideo capture
LWN.net
Namespaces for Security
Slides
Video : on video.linux.com

Beth FlanaganVideo capture
Intel
Listening to your Users: Refactoring the Yocto Project Autobuilder

Video : on video.linux.com

Katsuya MatsubaraVideo capture
– , IGEL Co., Ltd.
Optimizing GStreamer Video Plugins: A Case Study with Renesas SoC Platform
Slides
Video : on video.linux.com

Behan WebsterVideo capture
Converse in Code Inc
LLVMLinux: Compiling the Linux Kernel with LLVM
Slides
Video : on video.linux.com

Jim Zemlin, George GreyVideo capture
The Linux Foundation, Linaro
Working Together to Accelerate Linux Development

Video : on video.linux.com

Andrew ChathamVideo capture
Google
Google’s Self-Driving Cars: The Technology, Capabilities & Challenges
Video : on video.linux.com

Laurent PinchartVideo capture
Ideas on board SPRL
Anatomy of an Embedded KMS Driver
Slides
Video : on video.linux.com

Scott GarmanVideo capture
Intel Open Source Technology Center
Atom for Embedded Linux Hackers and the DIY Community
Video : on video.linux.com

Mike AndersonVideo capture
The PTR Group, Inc.
Controlling Multi-Core Race Conditions on Linux/Android
Video : on video.linux.com

Tracey Erway, Nithya RuffVideo capture
Intel Corporation, Synopsys
Can You Market an Open Source Project?
Video : on video.linux.com

Dave StewartVideo capture
Intel
Code Sweat: Embed with Nightmares
Video : on video.linux.com

Gregory ClementVideo capture
Bootlin
Common Clock Framework: How to Use It
Slides
Video : on video.linux.com

Sean HudsonVideo capture
Mentor Graphics
Building a Custom Linux Distribution with the Yocto Project
Slides
Video : on video.linux.com

Tzugikazu SHibataVideo capture
NEC
How to Decide the Linux Kernel Version for the Embedded Products to Keep Maintaining Long Term
Slides
Video : on video.linux.com

Mathieu PoirerVideo capture
Linaro
In Kernel Switcher: A Solution to Support ARM’s New big.LITTLE implementation
Slides
Video : on video.linux.com

Russell DillVideo capture
Texas Instruments
Extending the swsusp Hibernation Framework to ARM
Slides
Video : on video.linux.com

John MehaffeyVideo capture
Mentor Graphics
Security Best Practices for Embedded Systems
Slides
Video : on video.linux.com

Leandro PereiraVideo capture
ProFUSION Embedded System
EasyUI: No Nonsense Mobile Application Development with EFL

Video : on video.linux.com

Khem RajVideo capture
OpenEmbedded
Bringing kconfig to EGLIBC
Slides
Video : on video.linux.com

Aaditya KumarVideo capture
Sony India Software Centre Pvt Lltd
An Insight into the Advanced XIP Filesystem (AXFS)
Slides
Video : on video.linux.com

Pantelis AntoniouVideo capture
Antoniou Consulting
Adventures in (simulated) Assymmetric Scheduling
Slides
Video : on video.linux.com

Mike Anderson, The PTR group; Zach Pfeffer, Linaro; Tim Bird, Sony Network Entertainment; David Stewart, Intel; Karim Yaghmour, Opersys (Moderator)Video capture

Is Android the new Embedded Linux

Video : on video.linux.com

George Grey, CEO, Linaro, Jim Zemlin, Executive Director, The Linux FoundationVideo capture

Working Together to Accelerate Linux Development

Video : on video.linux.com

Frank RowandVideo capture
Sony Network Entertainment
Using and Understanding the Real-Time Cyclictest Benchmark
Slides
Video : on video.linux.com

Videos of the Embedded Linux Conference Europe 2012

With the approaching Embedded Linux Conference, to be held February 20-22 in San Francisco, we felt that it was time to finally fight with ffmpeg/libav and get the videos we had taken from the last Embedded Linux Conference Europe talks, encode them and publish them online. So here they are, as what we could consider a late Christmas gift.

There are so many talks that it might be hard to watch everything. So I’d like to share with you my preferred talks from this last ELCE (of course, I haven’t been able to see all talks, but only a third of them, so the following selection is only taken from the talks I have seen) :

  • For sure, the talk I have preferred is the Understanding PREEMPT_RT (The Real-Time Patch) talk from Steven Rostedt (Redhat). In an hour, Steven explained some very interesting internals of PREEMPT_RT, in a very clear way. Definitely a must see, in my opinion.
  • I also enjoyed the ARC Linux: From a Tumbling Toddler to a Graduating Teen talk from Vineet Gupta (Synopsys). While talking about a specific new CPU architecture that probably most of us have never used, Vineet is able to tell a very nice story by bringing you through various issues they had while porting Linux on this new CPU architecture, giving interesting and funny technical details in the process.
  • The talk about Regmap: The Power of Subsystems and Abstractions from Mark Brown (Wolfson Microelectronics) was also very good, in that it clearly explained the need for this new kernel subsystem, how the API works, etc. Definitely the kind of talk I’d like to see about more kernel subsystems: in an hour, you learn the philosophy of the subsystem, why it’s there, how it has been designed to solve the original problems, and the basics of its APIs. It’s often what’s missing from an API documentation: the philosophy behind it. Hour long talks that are capable of conveying this philosophy are therefore highly useful.
  • As usual, David Anders talk, this time about Board bringup: you, me and I2C has been very nice as well. It is a good introduction about electronics related to I2C, it doesn’t go very far for anyone having an existing experience of I2C, but is indeed a very good introduction for those who don’t. I really enjoyed the good explanation about pull-up resistors.
  • Finally, another talk that was great is Samuel Ortiz (Intel) talk about Near Field Communication with Linux. A bit like the Regmap talk, the great benefit of Samuel talk is that in an hour, he went through the different hardware available for NFC in Linux, the architecture of the software stack, the different software components that exist, their strenghts and weaknesses and so on. So without any prior knowledge about NFC, you get at the end of the talk a very good coverage of how this technology is supported by Linux today.

Well, enough with my suggestions, here is the complete list of videos:

Matt RanostayVideo capture
Beaglebone: The Perfect Telemetry Platform?
Slides
Video (24 minutes):
full HD (153M), 800×450 (74M)

Jim HuangVideo capture
0xlab
Implement Checkpointing for Android
Slides
Video (43 minutes):
full HD (291M), 800×450 (168M)

Wolfram SangVideo capture
Pengutronix e.K.
Maintainer’s Diary: Devicetree and Its Stumbling Blocks
Slides
Video (49 minutes):
full HD (329M), 800×450 (160M)

Matthias BruggerVideo capture
ISEE 2007 S.L.
A War Story: Porting Android 4.0 to a Custom Board
Slides
Video (34 minutes):
full HD (230M), 800×450 (106M)

Kishon Vijay AbrahamVideo capture
Texas Instruments
USB Debugging and Profiling Techniques
Slides
Video (40 minutes):
full HD (245M), 800×450 (109M)

Alan OttVideo capture
Signal 11 Software
Wireless Networking with IEEE 802.15.4 and 6LoWPAN
Slides
Video (52 minutes):
full HD (339M), 800×450 (156M)

João Paulo Rechi VitaVideo capture
INdT
Bluetooth Smart devices and Low Energy support on Linux
Slides
Video (36 minutes):
full HD (250M), 800×450 (116M)

Peter StugeVideo capture
OpenOCD: Hardware Debugging and More
Video (47 minutes):
full HD (316M), 800×450 (155M)

Alessandro RubiniVideo capture
PF_ZIO: Using Network Frames to Convey I/O Data and Meta-Data
Slides
Video (48 minutes):
full HD (317M), 800×450 (141M)

Joo-Young HwangVideo capture
Samsung
A New File System Designed for Flash Storage in Mobile
Slides
Video (54 minutes):
full HD (369M), 800×450 (152M)

Alexandre BelloniVideo capture
Adeneo Embedded
Boot Time Optimizations
Slides
Video (39 minutes):
full HD (261M), 800×450 (129M)

Philipp ZabelVideo capture
Pengutronix e.K.
Modular Graphics on Embedded ARM
Slides
Video (32 minutes):
full HD (217M), 800×450 (100M)

Karim YaghmourVideo capture
Opersys
Inside Android’s User Interface
Slides
Video (42 minutes):
full HD (284M), 800×450 (117M)

Samuel OrtizVideo capture
Intel
Near Field Communication with Linux
Slides
Video (35 minutes):
full HD (232M), 800×450 (92M)

Arnout VandecappelleVideo capture
Essensium/Mind
Upgrading Without Bricking
Slides
Video (56 minutes):
full HD (373M), 800×450 (172M)

Tim BirdVideo capture
Sony Network Entertainment
BoFs: Developer Tools and Methods: Tips & Tricks
Slides
Video (62 minutes):
full HD (395M), 800×450 (160M)

Matt LockeVideo capture
Texas Instruments
Are We Headed for a Complexity Apocalypse in Embedded SoCs?
Video (27 minutes):
full HD (167M), 800×450 (76M)

Sascha HauerVideo capture
Pengutronix e.K.
Barebox Bootloader
Slides
Video (47 minutes):
full HD (313M), 800×450 (134M)

Benjamin ZoresVideo capture
Alcatel-Lucent
Dive Into Android Networking: Adding Ethernet Connectivity
Slides
Video (46 minutes):
full HD (270M), 800×450 (118M)

Jiyoun ParkVideo capture
Samsung
Experiences as an OEM with Development of UI Frameworks
Video (42 minutes):
full HD (282M), 800×450 (158M)

Keshava MunegowdaVideo capture
Texas Instruments
FFSB and IOzone: File system Benchmarking Tools, Features and Internals
Slides
Video (56 minutes):
full HD (367M), 800×450 (171M)

Chris SimmondsVideo capture
2net Limited
The End of Embedded Linux (As We Know It)
Slides
Video (47 minutes):
full HD (324M), 800×450 (150M)

Steven RostedtVideo capture
Red Hat
Understanding PREEMPT_RT (The Real-Time Patch)
Slides
Video (61 minutes):
full HD (412M), 800×450 (186M)

Klaas van GendVideo capture
Vector Fabrics
Application Parallelization for Multi-Core Android Devices
Slides
Video (44 minutes):
full HD (293M), 800×450 (124M)

David AndersVideo capture
Texas Instruments
Board Bringup: You, Me, and I2C
Slides
Video (38 minutes):
full HD (217M), 800×450 (97M)

Rama PallalaVideo capture
Intel
Linux Power Supply Charging Subsystem
Video (35 minutes):
full HD (213M), 800×450 (83M)

Agusti FontquerniVideo capture
ISEE 2007 S.L.
Embedded Linux RADAR Device
Slides
Video (50 minutes):
full HD (331M), 800×450 (140M)

Matt PorterVideo capture
Texas Instruments
What’s Old Is New: A 6502-based Remote Processor
Slides
Video (58 minutes):
full HD (389M), 800×450 (181M)

Thomas PetazzoniVideo capture
Bootlin
Your New ARM SoC Linux Support Check-List
Slides
Video (56 minutes):
full HD (362M), 800×450 (150M)

Tracey M. Erway and Nithya A. RuffVideo capture
Intel and Synopsys
Can You Market an Open Source Project?
Slides
Video (43 minutes):
full HD (272M), 800×450 (103M)

Lars KnollVideo capture
Qt Project
Qt on Embedded Systems
Video (50 minutes):
full HD (337M), 800×450 (175M)

Koen KooiVideo capture
Circuitco
Supporting 200 Different Expansionboards: The Broken Promise of Devicetree
Slides
Video (37 minutes):
full HD (232M), 800×450 (102M)

Anna DushistovaVideo capture
Eclipse and Embedded Linux Developers: What it Can and Cannot Do For You
Slides
Video (58 minutes):
full HD (378M), 800×450 (167M)

Dave StewartVideo capture
Intel
Yocto Project Overview and Update
Video (52 minutes):
full HD (338M), 800×450 (139M)

Vineet GuptaVideo capture
Synopsys
ARC Linux: From a Tumbling Toddler to a Graduating Teen
Slides
Video (44 minutes):
full HD (269M), 800×450 (113M)

Laurent PinchartVideo capture
Ideas on Board
DRM/KMS, FB and V4L2: How to Select a Graphics and Video API
Slides
Video (48 minutes):
full HD (328M), 800×450 (145M)

Frank RowandVideo capture
Sony Network Entertainment
Practical Data Visualization
Slides
Video (46 minutes):
full HD (308M), 800×450 (141M)

Marcin JuszkiewiczVideo capture
Linaro
ARM 64-Bit Bootstrapping with OpenEmbedded
Slides
Video (32 minutes):
full HD (208M), 800×450 (88M)

Wim DecroixVideo capture
TPVision
Practical Experiences With Software Crash Analysis in TV
Slides
Video (35 minutes):
full HD (224M), 800×450 (87M)

Mark BrownVideo capture
Wolfson Microelectronics
Regmap: The Power of Subsystems and Abstractions
Video (44 minutes):
full HD (282M), 800×450 (124M)

Hans VerkuilVideo capture
Cisco Systems
Video4Linux: Current Status and Future Work
Slides
Video (33 minutes):
full HD (217M), 800×450 (100M)

Holger BehrensVideo capture
Wind River
Yocto Layer for In-Vehicle Infotainment
Slides
Video (43 minutes):
full HD (284M), 800×450 (123M)

Tero KristoVideo capture
Texas Instruments
Debugging Embedded Linux (Kernel) Power Management
Slides
Video (36 minutes):
full HD (241M), 800×450 (108M)

Martin BisVideo capture
BIS
Real-Time Linux in Industrial Appliances
Slides
Video (48 minutes):
full HD (323M), 800×450 (145M)

Jens GeorgVideo capture
Openismus GmbH
Rygel: Open Source DLNA, ready for Customer Products?
Slides
Video (33 minutes):
full HD (215M), 800×450 (88M)

Yoshitake KobayashiVideo capture
Toshiba
Improvement of Scheduling Granularity for Deadline Scheduler
Slides
Video (31 minutes):
full HD (195M), 800×450 (82M)

Tsugikazu ShibataVideo capture
NEC
LTSI (Long-Term Stable Initiative) Status Update
Slides
Video (44 minutes):
full HD (278M), 800×450 (111M)

Thomas GleixnerVideo capture
Linutronix
UBI Fastmap
Slides
Video (45 minutes):
full HD (299M), 800×450 (121M)

Embedded Linux Conference 2012 videos

The 2012 edition of the Embedded Linux Conference took place on February 15-17th 2012 at Redwood Shores near San Francisco in California. Three engineers of Bootlin attended this conference, and we reported every day our impressions about the talks, see our blog posts for day 1, day 2 and day 3. We have now taken the time to encode all the videos we have recorded during this event, and are proud to distribute them today.

It is worth noting that for the first time, the Linux Foundation was also recording videos of the talks, the Linux Foundation videos are available from video.linux.com, and we included links to these videos below for the different talks.

We hope that those of you who couldn’t attend the conference will enjoy those videos, with many great talks on technical embedded Linux topics.

Jon CorbetVideo capture
Editor at LWN.net
The Kernel Report
Slides
Linux Foundation video
Bootlin video (53 minutes):
full HD (525M), 450×800 (154M)

Loïc PallardyVideo capture
Saving the Power Consumption of the Unused Memory
Slides
Bootlin video (46 minutes):
full HD (378M), 450×800 (125M)

Bernhard RosenkränzerVideo capture
Linaro
What Android and Embedded Linux Can Learn From Each Other
Slides
Linux Foundation video
Bootlin video (40 minutes):
full HD (370M), 450×800 (129M)

Ricardo Salveti de AraujoVideo capture
Linaro
Ubuntu on ARM: Improvements and Optimizations Done By Linaro
Slides
Linux Foundation video
Bootlin video (46 minutes):
full HD (301M), 450×800 (140M)

Zach PfefferVideo capture
Linaro
Binary Blobs Attack
Slides
Linux Foundation video
Bootlin video (50 minutes):
full HD (486M), 450×800 (157M)

Hisao MunakataVideo capture
Renesas Electronics
Close Encounters of the Upstream Resource
Slides
Linux Foundation video
Bootlin video (37 minutes):
full HD (394M), 450×800 (121M)

Daniel HurshVideo capture
IBM
Open Source Automated Test Framework
Slides
Bootlin video (45 minutes):
full HD (303M), 450×800 (132M)

Saul WoldVideo capture
Intel
The Yocto Project Overview and Update
Slides
Linux Foundation video
Bootlin video (54 minutes):
full HD (543M), 450×800 (171M)

Sean HudsonVideo capture
Mentor Graphics, Inc.
Embedded Linux Pitfalls
Slides
Bootlin video (51 minutes):
full HD (483M), 450×800 (176M)

Vincent GuittotVideo capture
Linaro
Comparing Power Saving Techniques For Multicore ARM Platforms
Slides
Linux Foundation video
Bootlin video (57 minutes):
full HD (307M), 450×800 (154M)

Tim BirdVideo capture
Sony Network Entertainment
Status of Embedded Linux
Slides
Linux Foundation video
Bootlin video (49 minutes):
full HD (492M), 450×800 (159M)

Bruce AshfieldVideo capture
Wind River
A View From the Trenches: Embedded Functionality and How It Impacts Multi-Arch Kernel Maintenance
Slides
Bootlin video (54 minutes):
full HD (741M), 450×800 (222M)

R DurgadossVideo capture
Intel
PeakCurrent Management in x86-Based Smartphones
Slides
Linux Foundation video
Bootlin video (50 minutes):
full HD (296M), 450×800 (141M)

Matt PorterVideo capture
Texas Instruments
Passing Time With SPI Framebuffer Driver
Slides

Bootlin video (54 minutes):
full HD (565M), 450×800 (172M)

WookeyVideo capture
Linaro
Multiarch and Why You Should Care: Running, Installing and Crossbuilding With Multiple Architectures
Slides
Bootlin video (42 minutes):
full HD (453M), 450×800 (143M)

Amit Daniel KachhapVideo capture
Linaro/Samsung
A New Simplified Thermal Framework For ARM Platforms
Slides
Linux Foundation video
Bootlin video (41 minutes):
full HD (226M), 450×800 (115M)

Tsugikazu ShibataVideo capture
NEC
On The Road: To Provide the Long-Term Stable Linux For The Industry
Slides
Linux Foundation video
Bootlin video (32 minutes):
full HD (304M), 450×800 (95M)

Thomas P. AbrahamVideo capture
Samsung Electronics
Experiences With Device Tree Support Development For ARM-Based SOC’s
Slides
Bootlin video (44 minutes):
full HD (509M), 450×800 (155M)

Paul E. McKenneyVideo capture
IBM
Making RCU Safe For Battery-Powered Devices
Slides
Linux Foundation video
Bootlin video (52 minutes):
full HD (506M), 450×800 (186M)

Mike AndersonVideo capture
Chief Technology Officer at The PTR Group
The Internet of Things
Slides
Linux Foundation video
Bootlin video (50 minutes):
full HD (580M), 450×800 (186M)

Thomas PetazzoniVideo capture
Bootlin
Buildroot: A Nice, Simple, and Efficient Embedded Linux Build System
Slides
Linux Foundation video
Bootlin video (56 minutes):
full HD (594M), 450×800 (182M)

Steven RostedtVideo capture
Red Hat
Automated Testing with ktest.pl (Embedded Edition)
Slides
Linux Foundation video
Bootlin video (102 minutes):
full HD (1,2G), 450×800 (354M)

David VomLehnVideo capture
Cisco
Intricacies of a MIPS Stack Backtrace Implementation
Slides
Linux Foundation video
Bootlin video (52 minutes):
full HD (345M), 450×800 (153M)

Edward HerveyVideo capture
Collabora
GStreamer 1.0: No Longer Compromise Flexibility For Performance
Slides
Linux Foundation video
Bootlin video (49 minutes):
full HD (540M), 450×800 (174M)

Tim BirdVideo capture
Sony Network Entertainment
Embedded-Appropriate Crash Handling in Linux
Slides
Linux Foundation video
Bootlin video (49 minutes):
full HD (292M), 450×800 (142M)

Arnd BergmannVideo capture
Linaro
ARM Subarchitecture Status
Slides
Linux Foundation video
Bootlin video (49 minutes):
full HD (416M), 450×800 (140M)

Mark GisiVideo capture
Wind River Systems
The Power of SPDX – Sharing Critical Licensing Information Within a Linux Device Supply Chain
Linux Foundation video
Bootlin video (49 minutes):
full HD (498M), 450×800 (164M)

Yoshitake KobayashiVideo capture
Toshiba
Ineffective and Effective Ways To Find Out Latency Bottlenecks With Ftrace
Slides
Linux Foundation video
Bootlin video (37 minutes):
full HD (251M), 450×800 (108M)

Ohad Ben-CohenVideo capture
Wizery / Texas Instruments
Using virtio to Talk With Remote Processors
Slides
Linux Foundation video
Bootlin video (54 minutes):
full HD (582M), 450×800 (182M)

Elizabeth FlanaganVideo capture
Intel
Embedded License Compliance Patterns and Antipatterns
Linux Foundation video
Bootlin video (44 minutes):
full HD (391M), 450×800 (144M)

David AndersVideo capture
Texas Instruments
Board Bringup: LCD and Display Interfaces
Slides
Linux Foundation video
Bootlin video (40 minutes):
full HD (207M), 450×800 (113M)

Rob ClarkVideo capture
Texas Instruments
DMA Buffer Sharing: An Introduction
Slides
Linux Foundation video
Bootlin video (35 minutes):
full HD (306M), 450×800 (100M)

Ken ToughVideo capture
Intrinsyc
Linux on eMMC: Optimizing For Performance
Slides
Linux Foundation video
Bootlin video (52 minutes):
full HD (468M), 450×800 (165M)

Paul LarsonVideo capture
Linaro
LAVA Project Update
Slides
Linux Foundation video
Bootlin video (52 minutes):
full HD (366M), 450×800 (159M)

Frank RowandVideo capture
Sony Network Entertainment
Real Time (BoFs)
Slides
Bootlin video (77 minutes):
full HD (924M), 450×800 (288M)

Mike TurquetteVideo capture
Texas Instruments
Common Clock Framework (BoFs)
Slides
Bootlin video (53 minutes):
full HD (333M), 450×800 (148M)

Hunyue YauVideo capture
HY Research LLC
Userland Tools and Techniques For Linux Board Bring-Up and Systems Integration
Slides
Linux Foundation video
Bootlin video (51 minutes):
full HD (407M), 450×800 (136M)

Matt WeberVideo capture
Rockwell Collins Inc.
Optimizing the Embedded Platform Using OpenCV
Slides
Linux Foundation video
Bootlin video (37 minutes):
full HD (388M), 450×800 (125M)

Greg UngererVideo capture
McAfee
M68K: Life in the Old Architecture
Slides
Linux Foundation video
Bootlin video (46 minutes):
full HD (452M), 450×800 (166M)

Gary BissonVideo capture
Adeneo Embedded
Useful USB Gadgets on Linux
Slides
Linux Foundation video
Bootlin video (43 minutes):
full HD (402M), 450×800 (129M)

Jason KridnerVideo capture
Texas Instruments
GUIs: Coming To Uncommon Goods Near You
Slides
Linux Foundation video
Bootlin video (52 minutes):
full HD (476M), 450×800 (166M)

Mike AndersonVideo capture
The PTR Group
Adapting Your Network Code For IPv6 Support
Slides
Linux Foundation video
Bootlin video (63 minutes):
full HD (485M), 450×800 (216M)

Koen KooiVideo capture
The Angstrom Distribution
Producing the Beaglebone and Supporting It
Linux Foundation video
Bootlin video (42 minutes):
full HD (398M), 450×800 (126M)

Danny BennettVideo capture
basysKom GmbH
HTML5 in a Plasma-Active World
Slides
Linux Foundation video
Bootlin video (34 minutes):
full HD (258M), 450×800 (75M)

Marcin MielczarczykVideo capture
Tieto
Getting the First Open Source GSM Stack in Linux
Slides
Linux Foundation video
Bootlin video (54 minutes):
full HD (439M), 450×800 (178M)

Pierre TardyVideo capture
Intel
PyTimechart Practical
Slides
Linux Foundation video
Bootlin video (32 minutes):
full HD (260M), 450×800 (86M)

Linus WalleijVideo capture
ST-Ericsson
Pin Control Subsystem Overview
Slides
Linux Foundation video
Bootlin video (60 minutes):
full HD (638M), 450×800 (200M)

Khem RajVideo capture
OpenEmbedded Project
OpenEmbedded – A Layered Approach
Slides
Linux Foundation video
Bootlin video (39 minutes):
full HD (227M), 450×800 (108M)

Lucas De MarchiVideo capture
ProFUSION Embedded Systems
Managing Kernel Modules With kmod
Slides
Linux Foundation video
Bootlin video (46 minutes):
full HD (443M), 450×800 (140M)

Jean PihetVideo capture
NewOldBits
A New Model for the System and Devices Latency
Slides
Bootlin video (49 minutes):
full HD (431M), 450×800 (146M)

Android Builders Summit 2012 videos

On February 13-14th 2012, the second edition of the Android Builders Summit took place in Redwood Shores, near San Francisco in California. While Bootlin was not officially in charge of video recording for this conference, we recorded the talks we attended and that we are glad to share below. The Linux Foundation has also recorded those talks (except a few of them for which they had technical issues), and we provide those additional links below. You can also follow our reports from day 1 and day 2 of this conference.

You’ll find below our videos of the main talks we recorded, and also the videos of the lightning talks that took place on the evening of the first day of the conference. Enjoy!

Main talks

Karim YaghmourVideo capture
Opersys
Leveraging Linux’s History With Android
Slides
Bootlin video (32 minutes):
full HD (386M), 450×800 (107M)

Arnd Bergmann, Tim Bird, Greg Kroah-Hartmann, Zach Pfeffer, moderated by Jonathan CorbetVideo capture
IBM/Linaro, Sony Network Entertainment, The Linux Foundation, Linaro, LWN.net
Panel: Android and the Linux Kernel Mainline: Where Are We?
Bootlin video (38 minutes):
full HD (525M), 450×800 (156M)

Marko GargentaVideo capture
Marakana
Customizing Android
Slides
Linux Foundation video
Bootlin video (50 minutes):
full HD (409M), 450×800 (131M)

Tetsuyuki KobayashiVideo capture
Kyoto Microcomputer
How ADB(Android Debug Bridge) Works
Slides
Linux Foundation video
Bootlin video (33 minutes):
full HD (365M), 450×800 (100M)

Andrew BoieVideo capture
Intel
Android OTA SW Updates
Slides
Linux Foundation video
Bootlin video (61 minutes):
full HD (698M), 450×800 (189M)

Benjamin ZoresVideo capture
Alcatel-Lucent
Android Device Porting Walkthrough
Slides
Linux Foundation video
Bootlin video (69 minutes):
full HD (534M), 450×800 (179M)

Jason Kridner, Khasim Syed MohammedVideo capture
Texas Instruments
Using Android outside of the Mobile Phone Space
Slides
Linux Foundation video
Bootlin video (34 minutes):
full HD (414M), 450×800 (120M)

Tom MossVideo capture
3LM
The Android Ecosystem
Linux Foundation video
Bootlin video (27 minutes):
full HD (267M), 450×800 (82M)

Karim YaghmourVideo capture
Opersys
Headless Android
Slides
Bootlin video (50 minutes):
full HD (462M), 450×800 (145M)

Tom FoyVideo capture
Intrinsyc
Android on eMMC: Optimizing for Performance
Slides
Bootlin video (34 minutes):
full HD (234M), 450×800 (90M)

Wolfgang MauererVideo capture
Siemens
Real-Time Android
Slides
Bootlin video (59 minutes):
full HD (418M), 450×800 (155M)

Jim HuangVideo capture
0xlab
Improve Android System Component Performance
Slides
Linux Foundation video
Bootlin video (54 minutes):
full HD (457M), 450×800 (152M)

Rodrigo ChiossiVideo capture
Samsung
AndroidXRef: Speeding up the Development of Android Internals
Slides
Linux Foundation video
Bootlin video (38 minutes):
full HD (313M), 450×800 (108M)

Mark BrownVideo capture
Wolfson Microelectronics
Towards a Standard Audio HAL for Android
Slides
Linux Foundation video
Bootlin video (47 minutes):
full HD (227M), 450×800 (123M)

Jen CostilloVideo capture
Topics in Designing An Android Sensor Subsystem: Pitfalls and Considerations
Slides
Linux Foundation video
Bootlin video (36 minutes):
full HD (238M), 450×800 (101M)

Aleksandar (Saša) GargentaVideo capture
Marakana
Android Services Black Magic
Linux Foundation video
Bootlin video (61 minutes):
full HD (410M), 450×800 (169M)

Lightning talks

Dario LaverdeVideo capture
HTC
HTC Dev
Bootlin video (3 minutes):
full HD (44M), 450×800 (13M)

Robert McQueenVideo capture
Collabora
Integrating GStreamer and PulseAudio in Android
Bootlin video (4 minutes):
full HD (49M), 450×800 (16M)

Mark GrossVideo capture
Intel
Android build times and host tweakage
Bootlin video (4 minutes):
full HD (37M), 450×800 (13M)

Tony ManssonVideo capture
Linaro
Painless debugging of native code in Android-based device (using DS-5)
Bootlin video (4 minutes):
full HD (32M), 450×800 (13M)

Paul ArssovVideo capture
ARS Technologies Inc.
How easy is it to support external hardware on Android platform
Bootlin video (4 minutes):
full HD (33M), 450×800 (13M)

Karim YaghmourVideo capture
Opersys
Cyborgstack
Bootlin video (4 minutes):
full HD (60M), 450×800 (18M)

Yahya MirzaVideo capture
Aurora Borealis Software
Towards a heterogeneous application for compute driver performance testing and analysis
Bootlin video (3 minutes):
full HD (47M), 450×800 (14M)

Joe BornVideo capture
Sonrlabs
Sonr, Serial headphone interface and hardware
Bootlin video (4 minutes):
full HD (38M), 450×800 (13M)