{"repo":"astefanutti/shaderbang","free":true,"listed":false,"github":"https://github.com/astefanutti/shaderbang","clone":"git clone https://github.com/astefanutti/shaderbang.git","description":"Shebang for Shaders","language":"Python","stars":124,"topics":["opengl","glsl","linux","gpu","shadertoy","shaders","raspberry-pi"],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"Shaderbang Shaderbang is a Python toolkit for OpenGL rendering using DRM/KMS on Linux. It renders fullscreen without requiring any windowing system, like X or Wayland, making it ideal for embedded systems and headless environments. It is compatible with shaders from Shadertoy, and can be used as a library to build interactive applications. It supports hot-pluggable input devices — keyboard, mouse, touchscreen, and trackpad — via evdev for interactive rendering. Shader files can be made directly executable with shebangs, and Python scripts can embed their dependencies inline as single-file scripts using PEP 723. It works with any GPU and display controller hardware, provided a DRM/KMS driver is available, from the Raspberry Pi and Jetson Nano to NVIDIA RTX desktop GPUs. More configurations are listed in the compatibility section. A cloth simulation using NVIDIA Warp with an NVIDIA RTX 5090 FE GPU and a Magedok 16\" 4K OLED touchscreen monitor: https://github.com/user-attachments/assets/ccf6e96a-de56-46f8-9be3-c94f6b7c6223 A Shadertoy shader running on the Raspberry Pi 4, connected to the official Raspberry Pi 7\" touchscreen monitor, in WVGA resolution: Another shader running on the Jetson Nano in full HD resolution: Installation System dependencies Install the required DRM, GBM, EGL and OpenGL development libraries: Optionally, install X RandR for display lease support: Install Install from source For development, clone the repository and use an editable install: The Makefile c","default_branch":null,"files":null,"tree":[],"storefront":"/r/astefanutti","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/astefanutti/shaderbang/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}