Original author(s) | Carsten Munk |
---|---|
Developer(s) | Mer, Jolla, Open webOS community, Canonical Ltd. |
Initial release | 5 August 2012 [1] |
Written in | C, C++ |
Operating system | Linux |
Type | Compatibility layer |
License | Apache License 2 [2] |
Website | github |
libhybris is a compatibility layer for computers running Linux distributions based on the GNU C library or Musl, [3] intended for using software written for Bionic-based Linux systems, which mainly includes Android libraries and device drivers. [4]
Hybris was initially written by Carsten Munk, a Mer developer, who released it on GitHub on 5 August 2012 [1] and publicly announced the project later that month. [4] [5] Munk has since been hired by Jolla as their Chief Research Engineer. [6]
Hybris has also been picked up by the Open webOS community for WebOS Ports, [7] [8] by Canonical for Ubuntu Touch [6] [9] and by the AsteroidOS [10] project.
In April 2013, Munk announced that Hybris has been extended to allow Wayland compositors to use graphic device drivers written for Android. [6] [11] [12] Weston has had support for libhybris since version 1.3, which was released on 11 October 2013. [13]
Hybris loads "Android libraries, and overrides some symbols from bionic with glibc" [4] calls, making it possible to use Bionic-based software, such as binary-only Android drivers, on glibc-based Linux distributions.
Hybris can also translate Android's EGL calls into Wayland EGL calls, allowing Android graphic drivers to be used on Wayland-based systems. This feature was initially developed by Collabora's Pekka Paalanen for his Android port of Wayland. [6] [14] [15] [16]
Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open source implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics hardware drivers.
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.
nouveau is a free and open-source graphics device driver for Nvidia video cards and the Tegra family of SoCs written by independent software engineers, with minor help from Nvidia employees.
Video Decode and Presentation API for Unix (VDPAU) is a royalty-free application programming interface (API) as well as its implementation as free and open-source library distributed under the MIT License. VDPAU is also supported by Nvidia.
Wayland is a communication protocol that specifies the communication between a display server and its clients, as well as a C library implementation of that protocol. A display server using the Wayland protocol is called a Wayland compositor, because it additionally performs the task of a compositing window manager.
Bionic is an implementation of the standard C library, developed by Google for its Android operating system. It differs from the GNU C Library (glibc) in being designed for devices with less memory and processor power than a typical Linux system. It is a combination of new code and code from FreeBSD, NetBSD, and OpenBSD released under a BSD license, rather than glibc, which uses the GNU Lesser General Public License. This difference was important in the early days of Android, when static linking was common, and is still helpful in introducing Android to software companies used to proprietary operating systems, who can be wary of the LGPL, and unclear about the differences between it and the full GNU General Public License (GPL).
LightDM is a free and open-source X display manager that aims to be lightweight, fast, extensible and multi-desktop. It can use various front-ends to draw User Interface, also called Greeters. It also supports Wayland.
Mer was a free and open-source software distribution, targeted at hardware vendors to serve as a middleware for Linux kernel-based mobile-oriented operating systems. It is a fork of MeeGo.
Sailfish OS is a Linux-based operating system based on free software, and open source projects such as Mer as well as including a closed source UI. The project is being developed by the Finnish company Jolla.
musl is a C standard library intended for operating systems based on the Linux kernel, released under the MIT License. It was developed by Rich Felker with the goal to write a clean, efficient and standards-conformant libc implementation.
Ubuntu Touch is a mobile version of the Ubuntu operating system, being developed by the UBports community. Its user interface is written in Qt, and is designed primarily for touchscreen mobile devices such as smartphones and tablet computers, but the original goal of convergence was intended to bring Ubuntu Touch to laptops, desktops, IOT devices and TVs for a complete unified user experience.
Maliit is an input method framework for computers with particular focus on implementing virtual keyboards. Designed mostly for touchscreen devices, Maliit allows the inputting of text without the presence of a physical keyboard. More advanced features such as word correction and prediction are also available.
Mir is a computer display server and, recently, a Wayland compositor for the Linux operating system that is under development by Canonical Ltd. It was planned to replace the currently used X Window System for Ubuntu; however, the plan changed and Mutter was adopted as part of GNOME Shell.
bhyve is a type-2 hypervisor initially written for FreeBSD. It can also be used on a number of illumos based distributions including SmartOS, OpenIndiana, and OmniOS. A port of bhyve to macOS called xhyve is also available.
Vulkan is a low-overhead, cross-platform API, open standard for 3D graphics and computing. Vulkan targets high-performance real-time 3D graphics applications, such as video games and interactive media. Vulkan is intended to offer higher performance and more efficient CPU and GPU usage compared to older OpenGL and Direct3D 11 APIs. It provides a considerably lower-level API for the application than the older APIs, making Vulkan comparable to Apple's Metal API and Microsoft's Direct3D 12. In addition to its lower CPU usage, Vulkan is designed to allow developers to better distribute work among multiple CPU cores.
Windows Subsystem for Linux (WSL) is a feature of Windows that allows developers to run a Linux environment without the need for a separate virtual machine or dual booting. There are two versions of WSL: WSL 1 and WSL 2. WSL 1 was first released on August 2, 2016, and acts as a compatibility layer for running Linux binary executables by implementing Linux system calls on the Windows kernel. It is available on Windows 10, Windows 10 LTSB/LTSC, Windows 11, Windows Server 2016, Windows Server 2019 and Windows Server 2022.
AsteroidOS is an open source operating system designed for smartwatches. It is available as a firmware replacement for some Android Wear devices. The motto for the AsteroidOS project is "Hack your wrist."
postmarketOS is an operating system primarily for smartphones, based on the Alpine Linux distribution.