30 open-source projects similar to rust-windowing/winit, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Winit alternative.
This project is a cross-platform library designed for desktop application development, providing a unified interface for window management, input handling, and hardware-accelerated graphics. It serves as a foundational framework that abstracts platform-specific windowing protocols and graphics APIs, enabling developers to create interactive software that functions consistently across Windows, macOS, and Linux. The library distinguishes itself by providing deep integration with low-level graphics APIs, specifically OpenGL and Vulkan. It manages the complexities of graphics context initializati
Nannou is a creative coding framework for Rust designed for building interactive visual and audio sketches. It provides a loop-based API with hardware-accelerated 2D and 3D rendering, serving as a toolkit for generative art production and multimedia installation design. The framework is distinguished by its comprehensive hardware communication interface, which bridges software with physical devices via MIDI, OSC, DMX, serial, and laser DAC protocols. It also includes specialized projection mapping tools for warping visual output to fit non-standard physical surfaces and a dedicated GPU shader
Fyne is a cross-platform graphical user interface toolkit for the Go programming language. It provides a comprehensive framework for building native applications that run on desktop, mobile, and web environments from a single codebase. The toolkit centers on a canvas-based rendering engine and a device-independent layout engine, ensuring that visual elements maintain consistent dimensions and behavior across diverse operating systems and screen densities. The project distinguishes itself through a reactive data-binding system that automatically synchronizes application state with interface co
Neovide is a cross-platform graphical frontend for the Neovim text editor. It provides a native windowed interface that preserves terminal-based functionality and keyboard-driven workflows while introducing a hardware-accelerated display layer. By utilizing GPU-accelerated rendering, the application ensures high-performance visual output across different desktop operating systems. The project distinguishes itself through an interpolated animation engine that provides fluid, frame-by-frame transitions for cursor movement and scrolling. It features an asynchronous input event loop to maintain i
Piston is a modular game engine and framework written in Rust for building two and three-dimensional graphical applications. It functions as a cross-platform windowing library and a system for managing input events and window loops across different operating systems. The project provides specialized rendering systems, including a voxel rendering engine for volumetric pixels and a skeletal animation system for deforming meshes via hierarchical bone structures. It also features an immediate mode user interface toolkit for creating responsive on-screen elements and a behavior tree AI framework t
SFML is a cross-platform multimedia framework for C++ designed for creating 2D graphics, audio, and network applications. It functions as a unified set of libraries that provides a 2D graphics rendering engine, an audio processing library, a network socket library, and a cross-platform window manager. The framework allows for the development of interactive software by coordinating real-time 2D graphics rendering, audio playback, and user input handling. It provides a standardized interface for creating and controlling application windows across multiple operating systems. Its capability surf
LWJGL is a cross-platform library that provides Java bindings to native APIs for graphics, audio, compute, windowing, and input. It enables Java applications to access low-level hardware-accelerated capabilities such as OpenGL and Vulkan rendering, OpenAL 3D audio, OpenCL GPU compute, and GLFW windowing and input handling. Under the hood, LWJGL dynamically resolves native function pointers at runtime, loads platform-specific shared libraries, and uses generated JNI bindings to bridge Java and native code. It offers explicit memory management through direct buffer access and stack-allocated me
Elements is a C++ GUI library and component-based UI framework used for building desktop user interfaces. It features a retained-mode layout engine that manages the positioning, sizing, and layering of elements within a window. The framework functions as a cross-platform window manager, handling application event loops and embedding graphical views into native platform windows. It allows for the creation of custom widgets by composing basic primitive elements and alignment wrappers. The system supports responsive layout organization through the use of tiles, grids, and flows. It also provide
Silk.NET is a low-level API binding library for the .NET ecosystem that provides high-performance interfaces for graphics, audio, and input APIs. It consists of a C header binding generator that converts headers into type-safe language bindings, a graphics API interface for GPU compute and rendering, and a cross-platform windowing wrapper. The project utilizes a customizable pipeline to automate the generation of language bindings from C headers by mapping metadata to syntax trees. Its windowing and input abstraction provides a unified interface to manage application windows across different
This project provides Rust bindings for the Dear ImGui library, enabling the creation of high-performance graphical user interfaces using an immediate-mode paradigm. By defining interface elements directly within the application render loop, it eliminates the need for persistent object hierarchies, allowing for rapid prototyping and dynamic visual updates. The library distinguishes itself by wrapping complex native function signatures in type-safe builders, which improves developer ergonomics while maintaining the performance characteristics of the underlying C++ implementation. It utilizes a
i3 is an X11 tiling window manager for Linux that organizes application windows into a non-overlapping grid to maximize screen space. It functions as a configurable window layout engine and a desktop environment component that interfaces with the X Window System to handle window placement and input events. The manager specifically provides the ability to add configurable visual spacing and gaps between windows and screen edges. It determines window borders and spacing by parsing a text configuration file at startup or during runtime. The system covers workspace layout optimization and interf
Dunst is a lightweight notification daemon for Linux desktop environments that receives and displays system alerts via the DBus protocol. It functions as a configurable alert service and notification manager, rendering pop-up messages for X11 and Wayland. The project distinguishes itself through a pattern-based rule engine that allows for dynamic alert filtering and conditional modifications of visual styles or behavioral settings based on the sending application or category. It also supports notification workflow automation by triggering external scripts and system commands when specific not
Twisted is an event-driven networking engine for Python that provides a framework for building asynchronous network applications. At its core, it uses a reactor-based event loop to drive all input and output, dispatching callbacks in a single thread without blocking. The library implements a deferred promise chain for composing asynchronous logic, along with a protocol and factory pattern that separates connection state management from protocol handling, enabling reusable handlers for different network protocols. The framework supports multiple event loops across platforms, including select,
Magnum is a C++ middleware suite for cross-platform graphics development and real-time data visualization. It provides a hardware-agnostic rendering layer that translates graphics commands into platform-specific calls, ensuring consistent behavior across different GPU drivers and APIs such as Vulkan. The project focuses on decoupling application logic from underlying hardware through abstract graphics and system utilities. It features a plugin-based resource importer for 3D assets and audio, a hierarchical scene graph for spatial transformations, and a high-performance signal-based event syst
This project is a comprehensive collection of reusable code snippets, custom hooks, and implementation patterns for building user interfaces with React. It serves as a library of short examples designed to solve common development tasks, ranging from state management to DOM integration. The collection provides a wide array of specialized utilities for interacting with browser APIs, including window dimension tracking, media query evaluation, and online status monitoring. It also includes practical guides and snippets for performance optimization, such as memoization, lazy loading, and state c
Three-d is a cross-platform graphics framework for the Rust programming language designed to facilitate the development of 2D and 3D applications. It provides a unified rendering toolkit that abstracts hardware-specific graphics APIs, allowing visual content to run consistently across desktop, mobile, and web environments. The library distinguishes itself by balancing high-level, immediate-mode abstractions with granular control over the rendering pipeline. It includes built-in support for instanced geometry rendering to optimize performance in complex scenes, alongside a resource-oriented sy
olcPixelGameEngine is a cross-platform pixel game engine and rendering library designed for building two-dimensional games, simulations, and algorithm visualizations. It provides a framework for rendering graphics on a per-pixel basis across multiple operating systems. The project functions as an embedded UI framework, allowing for the creation of interactive interface elements and the management of user input within a pixel-based visual environment. It is used for pixel art rendering and the development of cross-platform graphics prototypes.
This project is a macOS utility designed to enable high-density scaling on non-Retina monitors. It functions as a display override manager and HiDPI enabler that modifies how the operating system perceives monitor hardware to unlock native high-resolution scaling options within system settings. The tool achieves this by patching and injecting Extended Display Identification Data (EDID) into the system registry. It utilizes a system of file-based overrides stored in library directories to ensure that custom resolution and scaling settings persist across system reboots. Beyond scaling, the pro
SFML is a cross-platform C++ multimedia library designed for building 2D games and interactive applications. It provides a unified interface for hardware-accelerated graphics, audio playback, and window management, allowing developers to create visual software that functions consistently across different operating systems. The library abstracts native windowing and graphics APIs, enabling the use of object-oriented primitives to render shapes, sprites, and text. It includes a dedicated audio engine that supports sound effects and music with controls for volume, pitch, and spatial positioning,
DeviceKit is a hardware library for iOS that provides a value-type replacement for device specifications and system state metrics. It serves as a framework for detecting device identity, hardware capabilities, display metrics, and real-time system state indicators. The library includes tools for identifying specific device models, families, and simulator status to implement hardware-specific optimizations. It also provides a detector for physical components, such as biometric sensors and stylus support, to toggle interface features. Additional capabilities cover display metrics analysis for
This project is a Linux game distribution client, digital game storefront, and gaming runtime. It provides a desktop interface for discovering, purchasing, downloading, and launching digital video games on Linux operating systems. The software implements a translation layer that converts Windows API calls into Linux system calls to enable the execution of non-native binaries. It utilizes a container-based runtime environment and kernel namespaces to ensure binary and dependency compatibility across diverse Linux distributions. The system includes a display manager that abstracts the interfac
This project is a technical guide and implementation library for advanced visual effects and hardware-accelerated animations using the Core Animation framework on iOS. It provides a comprehensive reference for creating high-performance motion graphics, custom graphic rendering, and the construction of 3D engines using perspective transforms and Z-axis manipulation. The collection distinguishes itself through a deep focus on GPU rendering optimization and graphics performance. It covers advanced strategies to maintain high frame rates, such as reducing offscreen rendering via shadow path optim
RDM is a system utility for macOS designed to unlock and apply unsupported screen resolutions. It functions as a display resolution manager that enables users to set their screens to high-density resolutions not natively available in standard system settings. The tool specifically manages Retina display scaling by enabling high-density pixel modes. This ensures the user interface remains sharp while increasing the usable workspace through the use of custom resolution overrides. These capabilities are provided via a menu bar interface that interacts with low-level system frameworks to modify
Ultralight is a GPU-accelerated HTML UI renderer and C++ framework designed for embedding web interfaces within native applications. It functions as a lightweight web browser and cross-platform UI framework that renders HTML, CSS, and JavaScript directly to CPU pixel buffers or GPU textures. The project distinguishes itself by allowing developers to emit raw geometry and draw calls via a custom GPU driver interface, eliminating intermediate CPU bitmaps. It provides deep integration between native logic and web environments through a C++ web interface library that binds native functions and ob
pywebview is a cross-platform desktop GUI framework for Python that renders HTML, CSS, and JavaScript content using the operating system's native web rendering engine. It enables developers to build desktop applications that run on Windows, macOS, and Linux from a single Python codebase, with the web frontend displayed in a lightweight, native window. The framework provides a bidirectional JavaScript-Python bridge for real-time data exchange between frontend and backend, along with the ability to manipulate the Document Object Model directly from Python without writing JavaScript. It includes
FlatLaf is a Java Swing look and feel library and theme engine that provides a modern flat design for desktop user interfaces. It serves as a comprehensive framework for applying visual themes, managing high-density scaling, and implementing customized window decorations. The project distinguishes itself through a flexible styling system that supports light and dark mode toggling and the ability to define visual identities via property files, subclassing, and external theme imports. It includes a dedicated scaling framework to ensure that interface elements and vector icons remain crisp on Hi
This project is a cross-platform library for building desktop applications using Deno. It enables developers to create software with web-based user interfaces by rendering HTML, CSS, and JavaScript within native desktop windows. The framework functions as a bridge between the web-based frontend and the host operating system. It provides a communication layer that allows for bidirectional data exchange and code execution between the interface and the underlying system. By integrating with native system event queues, the library maintains window responsiveness and manages the application lifecy
Alacritty is a cross-platform terminal emulator that provides a consistent command-line environment across Linux, macOS, and Windows. It functions as a configuration-driven terminal, relying on a declarative file format to manage user preferences, key bindings, and visual styling. The application distinguishes itself through a high-performance architecture that offloads text rendering to the graphics processor. By utilizing zero-copy terminal emulation, it processes incoming byte streams directly into a grid-based memory buffer to minimize data duplication and latency during output. The proj
Zelda64Recomp is a native game recompilation project that translates legacy binary machine code into modern machine code. It functions as a native hardware port and a static recompiled binary, executing original game logic directly on modern CPUs and GPUs to run without an emulator. The project serves as a moddable game engine, providing a framework to apply community texture packs and code patches to the recompiled title. It includes native hardware porting capabilities that remove emulator overhead to improve stability and frame rate control. The software covers retro game modernization th
Julius is a cross-platform game engine and simulation tool designed for the reimplementation of legacy games. It executes original game logic using the original assets while applying modern resolution and interface updates. The engine features a localization framework for integrating community translations of text, audio, and video, and an integrated scenario editor for configuring gameplay rules and resource requirements within map data files. The project covers a broad capability surface including save game management with automated backups, input mapping for diverse keyboard layouts and t