A cross-platform, single-header C windowing library for creating windows and graphics contexts with minimal dependencies.
RGFW is a lightweight, single-header C library for creating and managing windows, graphics contexts, and input events across multiple platforms. It solves the problem of platform-specific windowing code by providing a unified, minimal API that works with various graphics APIs like OpenGL, Vulkan, and DirectX.
C/C++ developers building cross-platform graphical applications, games, or tools who need a simple, dependency-free windowing solution without the overhead of larger frameworks.
Developers choose RGFW for its extreme portability, single-header design, and lack of external dependencies, allowing full control over rendering while keeping the codebase small and easy to integrate or modify.
A cross platform lightweight single-header simple-to-use window abstraction library for creating graphical programs or libraries.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implemented as a stb-style single header file, making it trivial to drop into C/C++ projects without complex build systems or dependencies.
Supports X11, Wayland (experimental), Cocoa, WinAPI, and Emscripten, enabling targeting of desktop and web platforms with unified code.
Provides optional helper functions for OpenGL, Vulkan, Metal, DirectX, and WebGPU, allowing integration with any rendering pipeline without lock-in.
Relies solely on system APIs like WinAPI or X11, eliminating external dependencies and keeping the codebase minimal and easy to modify.
Wayland support is explicitly marked as experimental in the README, which may lead to instability or missing features on modern Linux desktops.
It only creates graphics contexts; all rendering must be implemented from scratch, increasing development time for those wanting more out-of-the-box functionality.
As a bare-minimum library, it lacks conveniences like window decorations, dialog boxes, or advanced UI elements, forcing developers to build these themselves.