Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Game Engine Development
  3. MiniFB

MiniFB

MITC

A small cross-platform C library for creating windows and rendering 32-bit pixel buffers.

GitHubGitHub
1.3k stars97 forks0 contributors

What is MiniFB?

MiniFB is a cross-platform C library that creates windows and renders 32-bit pixel buffers with minimal overhead. It solves the problem of writing portable low-level graphics code by abstracting platform-specific windowing and input APIs, allowing developers to focus on pixel manipulation rather than system integration.

Target Audience

C and C++ developers building pixel-based graphics applications, simple games, demoscene productions, or educational tools who need a lightweight, portable windowing solution without the complexity of larger frameworks.

Value Proposition

Developers choose MiniFB for its extreme simplicity, small codebase, and broad platform support—from desktop and mobile to web and even legacy systems like DOS. It provides just enough abstraction to be portable while staying close to the metal.

Overview

MiniFB is a small cross platform library to create a frame buffer that you can draw pixels in

Use Cases

Best For

  • Building simple 2D games or demos in C/C++
  • Creating educational graphics programming examples
  • Developing cross-platform pixel art tools
  • Porting legacy DOS graphics code to modern systems
  • Prototyping low-level graphics algorithms
  • Embedding lightweight graphics in WASM applications

Not Ideal For

  • Applications requiring built-in GUI widgets, text rendering, or complex UI controls
  • High-performance 3D games or simulations needing shader pipelines and advanced graphics APIs
  • Projects where consistent keyboard input across all platforms (e.g., on iOS or Android) is non-negotiable
  • Teams wanting a plug-and-play solution without managing platform-specific build flags and dependencies

Pros & Cons

Pros

Cross-Platform Abstraction

Provides a unified API for window creation and input handling across Windows, macOS, Linux, iOS, Android, Web, and DOS, enabling a single codebase for diverse targets as highlighted in the platform support matrix.

Minimal API Footprint

Offers a small set of functions focused on pixel buffer updates and basic events, reducing integration complexity—exemplified by the quick start example requiring only a few calls.

Performance-Oriented Backends

Utilizes hardware-accelerated APIs like OpenGL on Windows/Linux and Metal on macOS by default, with built-in frame rate control and vertical sync where supported.

Broad Platform Reach

Supports niche environments like WebAssembly and MS-DOS, including debugging tools for DOSBox-x, making it unique for retro computing or embedded web graphics.

Cons

Inconsistent Feature Support

Some platforms lack key features; for instance, iOS has no keyboard callbacks, Android input is limited, and Wayland requires protocol regeneration for compatibility, as noted in the limitations table.

Complex Build Configuration

Requires different CMake flags and dependencies per platform (e.g., libwayland-dev for Wayland or specific X11 packages), which can complicate multi-platform setup and maintenance.

Pixel Format Inconsistencies

Android uses RGBA byte order while desktop uses BGRA, forcing manual swizzling for external image data to avoid color swaps, as detailed in the Android pixel format section.

Frequently Asked Questions

Quick Stats

Stars1,257
Forks97
Contributors0
Open Issues8
Last commit16 days ago
CreatedSince 2014

Tags

#c-library#graphics#windowing#game-development#embedded-graphics#low-level-api#cross-platform

Built With

C
Cocoa
W
WASM
C
CMake
x
x11
W
Wayland
M
Metal
O
OpenGL
C
C++

Included in

Game Engine Development1.3k
Auto-fetched 1 day ago

Related Projects

ProtoBufProtoBuf

Protocol Buffers - Google's data interchange format

Stars71,157
Forks16,114
Last commit1 day ago
C/C++C/C++

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Stars70,941
Forks8,271
Last commit2 days ago
JSON for Modern C++JSON for Modern C++

JSON for Modern C++

Stars49,495
Forks7,378
Last commit4 days ago
BlazorBlazor

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.

Stars37,870
Forks10,631
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub