GLFW VS bgfx

Compare GLFW vs bgfx and see what are their differences.


A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input (by glfw)


Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library. (by bkaradzic)
Our great sponsors
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • Scout APM - A developer's best friend. Try free for 14-days
  • SaaSHub - Software Alternatives and Reviews
GLFW bgfx
28 25
8,189 10,003
2.0% -
8.8 9.5
3 days ago 3 days ago
C C++
zlib License BSD 2-clause "Simplified" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of GLFW. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-13.
  • [Handmade Network] How to write better (game) libraries
    Even if someone wants to use VS2008 for game development, it only took me a Google search to find which doesn't have any dependencies and a very permissive licence.
  • how do i include glfw in my code to make a window? | 2021-08-31
  • LibOS – Cross-platform OS features in C++ | 2021-08-23
    You seem to have had a similar impetus as I had 20 years ago when I created GLFW (though with a slightly different focus).
  • Is there a way to get japanese text input in raylib? | 2021-08-23
    Thanks for the detailed explanation. I'm afraid I didn't considered that use case for raylib and it would require some investigation to implement it... but raylib uses internally GLFW for desktop platforms and I've seen there is a related issue: About IME support by the browser, it should be investigated. Feel free to open an issue on raylib GitHub for further investigation!
  • Massive trouble with GLFW header inclusion. Can someone help?
    Looking at the actual code of the .h file, it looks pretty empty, and like it needs some extra files perhaps. For instance, functions are just filled with comments with some random explanations, so they are basically 1 line, which probably does nothing. Here you can take a look yourself on github.
  • Hey, I want start
    I would suggest using GLFW and Glad with C++ and use LearnOpenGL as a refrence
  • Compiling in MacOS M1 Chip (arm64) | 2021-07-22
    Now I read the logs and it seems the issue is with GLFW. I've found this:
  • Opengl(glfw) gears on termux x11 NO ROOT!! | 2021-07-19
    Clone the glfw repositiory - git clone
  • 3D Visualization with C++
    Use to get a window with an OpenGL context.
  • A better way of running Minecraft Without XWayland. Because I REALLY had nothing better to do with my life. (which is where I got some patches from) says there wasn't much upstream interest on merging the patches. But (the fix for the freezing issue) might be a good candidate for merging, though I don't know how GLFW people work, so I cannot comment on if it is properly upstreamable or not.


Posts with mentions or reviews of bgfx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-03.
  • Unified Shader Programming in C++ | 2021-10-03
  • Bgfx: Cross-platform, graphics API agnostic style rendering library | 2021-09-24
  • Selection technologies for new 2D/3D CAD program | 2021-08-13
  • So you want to write a GUI framework | 2021-08-11
  • Porting a game to android | 2021-08-01
    This new Android game kit is a step in the right direction because now you have less JNI/NDK stuff to deal with, BUT it locks you into the Google ecosystem even more. I would not recommend. Most PC game ported to mobile/other platform use SDL2 to manage the audio/input/file access cross platform. And then use something like bgfx or angle for the rendering back end.
  • Finding a good game framework (not engine) for Android game develop | 2021-07-02
    When I was toying with the Idea of ditching the (very opinionated) engines and doing everything myself better(tm), I've found this: and my idea was to take it, slap something like imgui to it, maybe some ECS system on top of it and roll with that (and do the same for sounds, particles...).
  • Template vulkan project (Nehe production)
  • New to graphics development, where should I start? | 2021-06-14
    An alternative you did not mention, which might also be useful to you, are these and . These are graphics API abstraction layers. They work the similarly to SDL in that they aim to abstract the API details of the graphics APIs into a single front facing API, allowing you to do graphics work without caring (too much) about the underlying backends. This could be a good option for you too if you want to go the multiplatform way.
  • Any good 3D libraries for C#? | 2021-05-21
  • What is the best 3D engine for a non-game application?
    Facebook is using it in habitat AI, on page of magnum are some projects which use it. For graphics only you can also check bgfx

What are some alternatives?

When comparing GLFW and bgfx you can also consider the following projects:

magnum - Lightweight and modular C++11 graphics middleware for games and data visualization

Ogre 3D - scene-oriented, flexible 3D engine (C++, Python, C#, Java)

Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

SDL - Simple Directmedia Layer

OpenSceneGraph - OpenSceneGraph git repository

urho3d - Cross-platform 2D and 3D game engine

DiligentEngine - A modern cross-platform low-level graphics library and rendering framework

The-Forge - The Forge Cross-Platform Rendering Framework PC Windows, Linux, Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2

sokol - minimal cross-platform standalone C headers