19 repositorios
Rendering components that write visual data directly to a firmware-provided framebuffer.
Distinct from Graphics Rendering Engines: Distinct from general graphics engines: specifically targets low-level framebuffer access when dedicated hardware drivers are absent.
Explore 19 awesome GitHub repositories matching graphics & multimedia · Framebuffer Renderers. Refine with filters or upvote what's useful.
Redox is a POSIX-compliant, microkernel-based operating system written entirely in Rust. By utilizing a memory-safe language for the kernel and all system components, the project eliminates common vulnerabilities such as buffer overflows and use-after-free errors. Its architecture relies on a minimal kernel that manages only essential hardware and process isolation, delegating all other system services to unprivileged user-space processes. The system distinguishes itself through a modular design where hardware drivers and system services run as independent user-space daemons, allowing them to
Display visual output by writing directly to a firmware-provided framebuffer when dedicated hardware drivers are unavailable.
Sokol is a C hardware abstraction layer and cross-platform graphics library designed for managing windowing, input, and audio across different operating systems. It functions as a GPU resource manager and multimedia application framework, providing a unified API for rendering 2D and 3D graphics across WebGL, Metal, Direct3D, and OpenGL. The project is distinguished by its single-header implementation, which simplifies integration and portability. It utilizes a stateless render pass definition and a one-update-per-frame model to synchronize CPU data to GPU memory and manage resource lifecycles
Supports rendering pixels directly to a memory buffer in direct-color or color-palette mode without a GPU.
xhyve is a macOS virtual machine manager and virtualization tool that leverages the native hypervisor framework to run guest operating systems in userspace. It provides a virtualization layer for executing guest systems with hardware acceleration. The project features a hardware pass-through hypervisor that maps physical host devices directly to guest virtual machines to increase performance. It includes a remote framebuffer server and VNC access to enable interaction with the guest display and input devices from external devices. The tool covers virtual hardware emulation for storage, netwo
Implements a display server that renders graphical output from a virtual machine directly to a remote framebuffer.
Grafika es una colección de implementaciones de referencia y herramientas de benchmarking para la plataforma Android. Proporciona demostraciones técnicas para validar ciclos de vida de la cámara, rendimiento de la GPU y configuraciones de códecs multimedia, incluyendo un conjunto de ejemplos de OpenGL ES y una aplicación de referencia de gráficos. El proyecto se distingue por herramientas especializadas para medir el rendimiento gráfico, como benchmarks para velocidades de carga de texturas y latencia de lectura de píxeles. También implementa patrones específicos enfocados en hardware, como el uso de buffers circulares para captura de video continua y la utilización de pantallas virtuales para la grabación de pantalla de todo el sistema. El repositorio cubre una amplia gama de capacidades multimedia y gráficas. Esto incluye renderizado de cámara a textura para manipulación en tiempo real, el uso de hilos de renderizado dedicados para interfaces receptivas y varios métodos de reproducción de video utilizando capas de compositor del sistema. Además, aborda el procesamiento de video mediante grabación de framebuffer simultánea y decodificación de múltiples flujos.
Draws graphics to the screen and a video encoder simultaneously using a shared buffer to prevent redundant rendering.
linuxdeploy is an Android application that installs and runs a full GNU/Linux distribution in an isolated chroot environment on an Android device without modifying the system partition. It bootstraps a complete Linux userland from distribution repositories or rootfs archives, using a debootstrap-style package installation process adapted for Android, and stores the filesystem as a loop-mounted ext4 disk image for efficient space management and portability. The project provides multiple ways to interact with the running Linux environment, including SSH remote access, VNC with X11 display forwa
Renders graphics directly to the Android device's framebuffer for environments without a display server.
This project is a Nintendo Entertainment System emulator written in Go. It functions as a hardware simulation that executes game ROMs by mimicking the original console's circuitry, including the processor and picture processing unit. The emulator includes a game library browser that identifies local files and retrieves titles and thumbnails from online databases using file checksums. It also implements a system of memory management mappers to ensure compatibility across various game ROM formats and hardware configurations. The software covers high-level capabilities for game ROM execution an
Simulates a picture processing unit that writes pixel data directly to a memory buffer for display.
LookingGlass es un sistema de espejo de pantalla y retransmisión de fotogramas de baja latencia diseñado para transferir fotogramas de video desde un sistema operativo invitado KVM a una ventana del host en tiempo real. Funciona como un puente especializado que permite la visualización de salidas de máquinas virtuales utilizando paso directo (passthrough) de hardware para minimizar el retraso. El sistema utiliza paso directo PCI VGA para retransmitir fotogramas desde una máquina virtual invitada a una ventana de visualización local. Este enfoque se centra en el espejo de pantalla de alto rendimiento, proporcionando una forma de ver las pantallas de los invitados en una máquina host sin utilizar protocolos de red tradicionales. La implementación se basa en un framebuffer de memoria compartida y acceso directo a memoria para mover datos de píxeles a través de los límites del hardware. Estos mecanismos permiten el renderizado de fotogramas en el espacio de usuario capturando el framebuffer invitado mapeado y renderizándolo directamente en una ventana de aplicación del host.
Captures the mapped guest framebuffer and renders it directly into a host application window.
CloverBootloader is a UEFI-compliant boot loader designed to initialize hardware and launch multiple operating systems across various platforms. Its primary purpose is to enable the booting of operating systems on unsupported hardware through system identity spoofing and hardware emulation. The project specializes in hardware compatibility patching by modifying ACPI tables, faking hardware IDs, and patching binary kernels or extensions in memory during the boot process. It provides capabilities to inject kernel extensions and spoof system parameters, such as product names and serial numbers,
Loads custom video ROMs and patches memory to enable high-resolution graphics during the pre-boot phase.
Pebble es una implementación de referencia de firmware para wearables destinada a la investigación de sistemas embebidos y análisis de firmware. Sirve como plano técnico para comprender cómo se estructuran y ejecutan los sistemas operativos de relojes inteligentes en hardware con recursos limitados. La base de código se centra en el renderizado de hardware de bajo consumo y la gestión de datos de píxeles y buffers de pantalla para minimizar el consumo de energía. Proporciona una guía histórica para el desarrollo de aplicaciones de reloj y el estudio de la arquitectura de software para wearables. El sistema incorpora una capa de abstracción de hardware, una imagen de firmware monolítica y una combinación de asignación de memoria estática y renderizado directo de framebuffer. La entrada se gestiona a través de un bucle basado en eventos que mapea interrupciones de hardware a devoluciones de llamada (callbacks) de la aplicación. El código fuente se proporciona mediante una distribución de archivos planos e incluye un script automatizado para restaurar la jerarquía de directorios original.
Writes visual data directly to a firmware-provided framebuffer to minimize overhead on low-power hardware.
Notcurses is a terminal graphics engine and TUI library that renders high-fidelity images, video, and rich Unicode graphics directly in terminal emulators. At its core, it provides a layered framebuffer system that composes overlapping planes with independent depth and opacity, enabling complex visual scenes. The library also includes a terminal input processor for capturing and decoding keyboard and mouse events, a data visualization toolkit for histograms and line plots, a multimedia terminal player for images and video, and a TUI widget framework with reusable interface components. The lib
Composes multiple independent planes with depth ordering and per-plane opacity for complex visual scenes.
Este proyecto es un manual técnico integral para instalar macOS en hardware x86 que no es de Apple utilizando el bootloader OpenCore. Sirve como una guía de configuración para emular hardware de Apple y parchear el firmware del sistema para lograr la compatibilidad del sistema operativo en PCs. La documentación proporciona instrucciones detalladas para la emulación de hardware SMBIOS, incluyendo la generación de identificadores de sistema y perfiles de modelo. Cubre la aplicación de parches de tablas ACPI para habilitar la gestión de energía nativa y la modificación de servicios de tiempo de ejecución UEFI para resolver problemas de mapa de memoria y protección contra escritura. El recurso detalla además la compatibilidad de hardware para componentes de red, gráficos y audio, así como la gestión de extensiones de kernel. Incluye orientación sobre la configuración del bootloader, la creación de instaladores arrancables y el uso de registros detallados (verbose) y kits de depuración para solucionar pánicos de kernel.
Defines platform identifiers and graphics settings to achieve correct hardware acceleration and display output.
Este proyecto proporciona un entorno de escritorio Ubuntu contenedorizado con una interfaz gráfica de usuario accesible a través de un navegador web. Implementa una imagen basada en Docker que integra una puerta de enlace web y un cliente basado en navegador para transmitir una estación de trabajo Linux a través de HTTP y HTTPS. El sistema se distingue por su capacidad para enrutar audio desde el contenedor al sistema anfitrión para su reproducción y su soporte para cifrado SSL/TLS para asegurar la conexión de escritorio remoto. También incluye configuraciones para alojar la interfaz detrás de un proxy inverso utilizando mapeo de rutas URL relativas. El proyecto cubre la gestión de pantalla para el escalado de resolución, control de acceso basado en contraseña para cuentas de usuario y compilaciones basadas en plantillas para definir entornos de escritorio e imágenes base.
Renders a virtual desktop into a memory-backed buffer via Xvnc for remote access without a physical monitor.
This project is an X11 window system server that coordinates graphical output and input devices. It functions as a display server, a hardware driver manager for graphics and input modules, and a graphics server capable of rendering directly to a generic framebuffer. The server provides multi-seat display management to isolate input and display devices for different concurrent users. It also implements namespace isolation to separate clients and restrict resource access, preventing interference between different user sessions or processes. The system manages GPU driver integration through dyn
Renders graphical output directly to a generic framebuffer on systems without dedicated GPU drivers.
embedded-notes es una colección de guías de estudio técnicas y notas de desarrollo centradas en Linux embebido, los internos del kernel de Linux y programación en C. Sirve como referencia para el desarrollo de sistemas embebidos y un recurso de preparación para entrevistas técnicas en el campo. El proyecto proporciona documentación detallada sobre la escritura de drivers de dispositivos, gestión de memoria virtual y comprensión de los internos del kernel. También incluye guías sobre protocolos de red IoT, como MQTT y TCP/IP, y describe los detalles arquitectónicos de arquitecturas de chips y periféricos de hardware. El material cubre una amplia superficie de programación de sistemas, incluyendo gestión manual de memoria, gestión del ciclo de vida de procesos y la implementación de conceptos de sistemas operativos en tiempo real (RTOS). También incluye referencias para herramientas de bajo nivel, como compilación cruzada para ARM, análisis binario y scripting de shell para la automatización de compilaciones.
Explains how to map memory and use character device interfaces to drive low-level framebuffer output.
NuttX is a POSIX-compliant real-time operating system designed for microcontrollers ranging from 8-bit to 64-bit architectures. It provides a deterministic execution environment with a real-time task scheduler and a POSIX embedded kernel to ensure portable code execution across diverse hardware targets. The project distinguishes itself through a comprehensive hardware abstraction layer that provides standardized drivers for I2C, SPI, CAN, and USB across various semiconductor chipsets. It also features an embedded networking stack supporting TCP, UDP, IPv4, and IPv6, alongside industrial proto
Writes visual data directly to a framebuffer or LCD using low-level rendering logic.
Hackintool is a hardware configuration tool designed to make non-native computer hardware compatible with macOS. It functions as a suite of utilities for spoofing device identifiers and patching system components to ensure the operating system recognizes unsupported hardware. The project provides specialized tools for graphics, audio, and USB configurations. This includes a framebuffer patcher for resolving display issues on unsupported GPUs, an audio layout configurator for enabling sound via device ID spoofing, and a USB port mapping tool that identifies connected devices to generate custom
Calculates and writes specific memory address offsets to the graphics driver to enable display outputs.
GPAC is an open-source multimedia framework built around a pluggable filter graph pipeline, where modular processing units called filters connect into a directed graph to handle media workflows. At its core, the framework centers all media packaging and manipulation on the ISO Base Media File Format (ISOBMFF), with specialized tools for reading, writing, fragmenting, and encrypting MP4 and related containers. It also provides a declarative scene graph composition system for describing interactive multimedia scenes using MPEG-4 BIFS, X3D, SVG, or VRML syntax, alongside a hardware-accelerated re
Configures WebGL context to draw directly on the main display framebuffer without intermediate textures.
Configures the Linux framebuffer device to output video signals directly to a TFT LCD panel without a display server.
ZealOS es un sistema operativo de 64 bits diseñado para el despliegue en metal desnudo y el desarrollo de kernel personalizado. Proporciona un entorno autónomo que opera dentro de un modelo de memoria de espacio de direcciones único, donde todo el software se ejecuta en un nivel de privilegio de anillo cero para eliminar el cambio de contexto y facilitar la interacción directa con el hardware. El sistema se distingue por una arquitectura monolítica que integra la compilación justo a tiempo, permitiendo que el código fuente se traduzca en instrucciones de máquina durante el tiempo de ejecución. Evita las capas de abstracción tradicionales utilizando el mapeo de memoria de hardware directo y un framebuffer de 32 bits agnóstico al hardware para la renderización de gráficos, asegurando un control de baja latencia sobre los recursos del sistema y la salida visual. La plataforma admite una gama de tareas de programación de sistemas de bajo nivel, incluido el manejo de dispositivos de entrada sin procesar y la modernización de arquitecturas de hardware heredadas. Incluye utilidades administrativas como un navegador de sistema de archivos basado en web y mantiene la compatibilidad con cargadores de arranque externos para simplificar el proceso de inicialización en máquinas físicas o virtuales.
Generates visual output by writing pixel data directly to a memory-mapped video buffer.