Libcamera

Last updated
libcamera
Developer(s) Laurent Pinchart as lead architect [1]
Stable release
0.1.0 [2]   OOjs UI icon edit-ltr-progressive.svg (16 July 2023;3 months ago (16 July 2023))
Repository git.libcamera.org/libcamera/libcamera.git/
Written inC and C++
Operating system Linux
Website libcamera.org

libcamera is an open-source software library for image signal processors and embedded cameras on Linux distributions such as Android, ChromeOS and Ubuntu. [3] [4] [5] [6] The developers describe libcamera as a continuation of V4L2.

Contents

Background

Nokia originally wanted to create a plugin based software project for camera support, but this was cancelled because they stopped development of Linux based smartphones. [7]

Related Research Articles

<span class="mw-page-title-main">Gambas</span> Integrated development environment

Gambas is the name of an object-oriented dialect of the BASIC programming language, as well as the integrated development environment that accompanies it. Designed to run on Linux and other Unix-like computer operating systems, its name is a recursive acronym for Gambas Almost Means Basic. Gambas is also the word for prawns in the Spanish, French, and Portuguese languages, from which the project's logos are derived.

The Embedded Configurable Operating System (eCos) is a free and open-source real-time operating system intended for embedded systems and applications which need only one process with multiple threads. It is designed to be customizable to precise application requirements of run-time performance and hardware needs. It is implemented in the programming languages C and C++ and has compatibility layers and application programming interfaces for Portable Operating System Interface (POSIX) and The Real-time Operating system Nucleus (TRON) variant µITRON. eCos is supported by popular SSL/TLS libraries such as wolfSSL, thus meeting all standards for embedded security.

<span class="mw-page-title-main">Asterisk (PBX)</span> PBX software

Asterisk is a software implementation of a private branch exchange (PBX). In conjunction with suitable telephony hardware interfaces and network applications, Asterisk is used to establish and control telephone calls between telecommunication endpoints, such as customary telephone sets, destinations on the public switched telephone network (PSTN), and devices or services on voice over Internet Protocol (VoIP) networks. Its name comes from the asterisk (*) symbol for a signal used in dual-tone multi-frequency (DTMF) dialing.

Computer operating systems based on the Linux kernel are used in embedded systems such as consumer electronics, in-vehicle infotainment (IVI), networking equipment, machine control, industrial automation, navigation equipment, spacecraft flight software, and medical instruments in general.

<span class="mw-page-title-main">OpenGL ES</span> Subset of the OpenGL API for embedded systems

OpenGL for Embedded Systems is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerated using a graphics processing unit (GPU). It is designed for embedded systems like smartphones, tablet computers, video game consoles and PDAs. OpenGL ES is the "most widely deployed 3D graphics API in history".

NX technology, commonly known as NX or NoMachine, is a remote access and remote control computer software, allowing remote desktop access and maintenance of computers. It is developed by the Luxembourg-based company NoMachine S.à r.l.. NoMachine is proprietary software and is free-of-charge for non-commercial use.

<span class="mw-page-title-main">Free and open-source graphics device driver</span> Software that controls computer-graphics hardware

A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software license. Graphics device drivers are written for specific hardware to work within a specific operating system kernel and to support a range of APIs used by applications to access the graphics hardware. They may also control output to the display if the display driver is part of the graphics hardware. Most free and open-source graphics device drivers are developed by the Mesa project. The driver is made up of a compiler, a rendering API, and software which manages access to the graphics hardware.

<span class="mw-page-title-main">PandaBoard</span> Single board computer

The PandaBoard was a low-power single-board computer development platform based on the Texas Instruments OMAP4430 system on a chip (SoC). The board has been available to the public at the subsidized price of US$174 since 27 October 2010. It is a community supported development platform.

<span class="mw-page-title-main">Raspberry Pi</span> Series of low-cost single-board computers used for educational purposes and embedded systems

Raspberry Pi is a series of small single-board computers (SBCs) developed in the United Kingdom by Raspberry Pi Ltd in association with Broadcom. The Raspberry Pi project originally leaned toward the promotion of teaching basic computer science in schools. The original model became more popular than anticipated, selling outside its target market for uses such as robotics. It is widely used in many areas, such as for weather monitoring, because of its low cost, modularity, and open design. It is typically used by computer and electronic hobbyists, due to its adoption of the HDMI and USB standards.

<span class="mw-page-title-main">Bodhi Linux</span> Linux distribution

Bodhi Linux is a light-weight Linux distribution based on Ubuntu that uses an Enlightenment DR17-based fork called Moksha. The philosophy for the distribution is to provide a minimal base system so that users can install the software they want. In turn, the distribution only includes software that is essential to most users, such as a file manager (Thunar), a terminal emulator (Terminology), and a web browser. To install additional software, Bodhi Linux developers maintain a browser-based app store that uses apturl to install programs.

<span class="mw-page-title-main">Leafpad</span> Lightweight text editor

Leafpad is a free and open-source graphical text editor for Linux, Berkeley Software Distribution (BSD), and Maemo that is similar to the Microsoft Windows program Notepad. Created with the focus of being a lightweight text editor with minimal dependencies, it is designed to be simple-to-use and easy-to-compile.

OpenELEC is a discontinued Linux distribution designed for home theater PCs and based on the Kodi media player.

Arch Linux ARM is a port of Arch Linux for ARM processors. Its design philosophy is "simplicity and full control to the end user," and like its parent operating system Arch Linux, aims to be very Unix-like. This goal of minimalism and complete user control, however, can make it difficult for Linux beginners as it requires more knowledge of and responsibility for the operating system.

<span class="mw-page-title-main">SolveSpace</span> Open-source computer-aided design software

SolveSpace is a free and open-source 2D/3D constraint-based parametric computer-aided design (CAD) software that supports basic 2D and 3D constructive solid geometry modeling.

<span class="mw-page-title-main">Raspberry Pi OS</span> Debian-based operating system for Raspberry Pi

Raspberry Pi OS is a Unix-like operating system based on the Debian Linux distribution for the Raspberry Pi family of compact single-board computers. First developed independently in 2012, it has been produced as the primary operating system for these boards since 2013, distributed by the Raspberry Pi Foundation.

<span class="mw-page-title-main">Buildroot</span>

Buildroot is a set of Makefiles and patches that simplifies and automates the process of building a complete and bootable Linux environment for an embedded system, while using cross-compilation to allow building for multiple target platforms on a single Linux-based development system. Buildroot can automatically build the required cross-compilation toolchain, create a root file system, compile a Linux kernel image, and generate a boot loader for the targeted embedded system, or it can perform any independent combination of these steps. For example, an already installed cross-compilation toolchain can be used independently, while Buildroot only creates the root file system.

<span class="mw-page-title-main">Pi-hole</span> Network level ad- and tracker-blocking app

Pi-hole is a Linux network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole and optionally a DHCP server, intended for use on a private network. It is designed for low-power embedded devices with network capability, such as the Raspberry Pi, but can be installed on almost any Linux machine.

LÖVE is a free, open-source, cross-platform framework released under the zlib license for developing video games. The framework is written in C++ and uses Lua as its scripting language and is still maintained by its original developers. The framework is cross-platform supporting the platforms Microsoft Windows, macOS, Linux, Android, and iOS.

<span class="mw-page-title-main">PinePhone</span> Smartphone with Linux-based mobile operating system

The PinePhone is a smartphone developed by Hong Kong-based computer manufacturer Pine64, intended to allow the user to have full control over the device. Measures to ensure this are: running mainline Linux-based mobile operating systems, assembling the phone with screws, and simplifying the disassembly for repairs and upgrades. LTE, GPS, Wi-Fi, Bluetooth and both cameras can be physically switched off. The PinePhone ships with the Manjaro Linux-based operating system using the Plasma Mobile graphic interface, although other distributions can be installed by users.

References

  1. "Work to begin on camera API standard". 2022-01-19.
  2. Error: Unable to display the reference properly. See the documentation for details.
  3. Larabel, Michael. "libcamera Celebrates Its First Release As Camera Support Library For Linux". Phoronix . Archived from the original on 2022-12-07. Retrieved 2023-02-05.
  4. Cheng, Roger (2020-05-11). "A More Open Raspberry Pi Camera Stack With Libcamera". Hackaday . Archived from the original on 2022-12-03. Retrieved 2023-02-06.
  5. Pounder, Les (2021-11-14). "How To Use Raspberry Pi Cameras with Bullseye". Tom's Hardware . Archived from the original on 2023-02-06. Retrieved 2023-02-06.
  6. Brown, Eric (2018-12-04). "Libcamera Aims to Make Embedded Cameras Easier". Linux.com . Archived from the original on 2022-12-05. Retrieved 2023-02-06.
  7. Corbet, Jonathan. "Access to complex video devices with libcamera". LWN.net . Archived from the original on 2022-12-06. Retrieved 2023-02-06.

Further reading