A cross-platform Rust library for creating windows and handling framebuffers with keyboard/mouse input, designed for prototyping.
Minifb is a cross-platform Rust crate that simplifies window creation and framebuffer management for graphical applications. It provides an easy-to-use interface for displaying pixel buffers and capturing user input, making it ideal for quick prototyping and simple visual projects.
Rust developers who need to quickly create windows and display pixel buffers for prototyping, visual experiments, or lightweight graphical applications without the complexity of full-featured windowing libraries.
Developers choose Minifb for its minimal setup, straightforward API for window management and input handling, and cross-platform support with a focus on simplicity over feature completeness.
Cross platfrom window and framebuffer crate for Rust
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports macOS, Linux (X11 and Wayland), and Windows with a single codebase, as confirmed in the README's status section, making it easy to deploy across desktop environments.
Creating a window and displaying a pixel buffer takes only a few lines of code, demonstrated in the example with Window::new and update_with_buffer, reducing boilerplate.
Provides easy APIs for keyboard and mouse events, such as is_key_down for escape key detection in the example, simplifying user interaction.
Allows setting target FPS with window.set_target_fps, enabling basic performance management for real-time applications without complex timing logic.
Lacks built-in support for GUI elements, text rendering, or advanced graphics, focusing only on raw pixel buffers as admitted in the philosophy, requiring extra work for common features.
On Linux, requires installing packages like libxkbcommon-dev, as noted in the build instructions, adding setup complexity compared to purely Rust-based solutions.
Redox support is broken after version 0.13, and Wayland may have issues, indicating maintenance gaps and potential instability for some targets.