GLFW - Le Bottin des Jeux Linux

GLFW

🗃️ Specifications

📰 Title: GLFW 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Development 🚦 Status: 05. Tested & Working (status)
🏷️ Category: Development ➤ Framework & Tool ➤ Rendering Framework 🌍️ Browser version:
🔖 Tags: Development; GLFW; Framework; Rendering Framework; C/C++; Multi-platform 📦️ Package Name: glfw, glfw-wayland, glfw-x11, python-glfw
🐣️ Approx. start: 2009-09-27 📦️ Arch package: ✓
🐓️ Latest: 2024-02-23 📦️ RPM package: ✓
📍️ Version: Latest: 💥️ 3.4 / Dev: 7b6aead 📦️ Deb package: ✓
🏛️ License type: 🕊️ Libre 📦️ Flatpak package:
🏛️ License: zlib & libpng 📦️ AppImage package:
🏝️ Perspective: First person (interface) 📦️ Snap package:
👁️ Visual: Text ⚙️ Generic binary:
⏱️ Pacing: Real Time 📄️ Source: ✓
👫️ Played: Single 📱️ PDA support:
🎖️ This record: 5 stars 🕳️ Not used:
🎀️ Game design: 3 stars 👫️ Contrib.: goupildb & Louis
🎰️ ID: 15024 🐛️ Created: 2016-06-25
🐜️ Updated: 2024-02-23

📖️ Summary

[en]: A libre, multi-platform, lightweight library for the development of OpenGL, OpenGL ES and Vulkan desktop applications. It provides programmers with the ability to create and manage windows and contexts for these graphical interfaces, as well as support for gamepads, keyboards and mice. [fr]: Une bibliothèque légère, libre et multi-plateforme pour le développement d'applications desktop OpenGL, OpenGL ES et Vulkan. Elle fournit aux programmeurs la possibilité de créer et de gérer des fenêtres et des contextes pour ces interfaces graphiques, et le support des gamepads, claviers et souris.

🚦 Entry status

💡 Lights on: ✓ 🦺️ Work in progress:
📰 What's new?: 🐞️ Hotfix New version published (to be updated):
🎨️ Significant improvement: 🚧️ Some work remains to be done:
🕳️ Not used2: 👔️ Already shown:

🎥️ Videos

💥️(3.3/201904),
🦝️ From Users:


🕯️ How To: 💥️(201812), 💥️(202301), 💥️[fr](202103),


🎮️ Showcase: 💥️(202311), 💥️(202006), 💥️(201509),

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) gd(202xxx) gu(3.3/201904) r(202xxx) d(202311) d(202006) d(201509) d(201102) d(202107) d(201706) d(201205) d(201601) d(201903) d(202210) d(201904) d(202201) d(201402) d(201206) d(201411) ht(201812) ht(202301) ht(202012) ht(201310) ht[fr](202103) ht[de](202xxx) ht[ru](201903) ht[pl](202xxx) ht[cz](202xxx) ht[sp](202xxx) ht[pt](202xxx) ht[it](202xxx) ht[tr](202xxx)] [WIKI] [FAQ] [RSS] [Changelog 1 2 3 4 5]

💰 Commercial: (empty)

🍩️ Resources
(empty, license): [Homepage] [Dev site] 🎬️ g(202xxx)

🛠️ Technical informations
[PCGamingWiki] [MobyGames]

🦣️ Social
Devs (GLFW Team [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
Devs (Camilla Berglund [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [LinkedIn] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related
[Wikipedia (GLFW) [fr] [en]] [de]]


📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [Gaming on Linux (20160608)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title: GLFW
🦊️ What's: A libre, lightweight lib for the dev. of OpenGL/ES & Vulkan desktop apps
🏡️ https://www.glfw.org
🐣️ https://github.com/glfw
🔖 #LinuxGameDev #Programming #Library #RenderingFramework
📦️ #Libre #Arch #RPM #Deb
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

🥁️ Update: 3.3.9-10
⚗️ Hotfix 🐞️
📌️ Changes: https://www.glfw.org
🦣️ From: 📶️ https://github.com/glfw/glfw/releases.atom

🦝️ https://www.youtube.com/embed/xmRgz_cbYdw
🕯️ https://www.youtube.com/embed/88dmtleVywk
🕯️[fr] https://www.youtube.com/embed/cqoJPrhYxFE
🎮️ https://www.youtube.com/embed/sEuz-dVWdos
🎮️ https://www.youtube.com/embed/nHhkv-86qlg

🕶️ The logo of this library

GLFW is a libre, multi-platform, lightweight library for the development of OpenGL, OpenGL ES and Vulkan desktop applications. It provides programmers with the ability to create and manage windows and contexts for these graphical interfaces, as well as support for gamepads, keyboards and mice.

📕 Description [en]

📕🐧"A libre, lightweight library for the development of OpenGL, OpenGL ES and Vulkan desktop applications"🐧📕


GLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan development on the desktop. It provides a simple API for creating windows, contexts and surfaces, receiving input and events.

GLFW is written in C and supports Windows, macOS, X11 and Wayland.

GLFW is licensed under the zlib/libpng license.

☑ Gives you a window and OpenGL context with just two function calls
☑ Support for OpenGL, OpenGL ES, Vulkan and related options, flags and extensions
☑ Support for multiple windows, multiple monitors, high-DPI and gamma ramps
☑ Support for keyboard, mouse, gamepad, time and window event input, via polling or callbacks
☑ Comes with a tutorial, guides and reference documentation, examples and test programs
☑ Open Source with an OSI-certified license allowing commercial use
☑ Access to native objects and compile-time options for platform specific features
☑ Community-maintained bindings for many different languages

No library can be perfect for everyone. If GLFW isn’t what you’re looking for, there are alternatives.


🌍️ Wikipedia:

GLFW (Graphics Library Framework) is a lightweight utility library for use with OpenGL. It provides programmers with the ability to create and manage windows and OpenGL contexts, as well as handle joystick, keyboard and mouse input.

Software architecture

GLFW is a small C library that allows the creation and management of windows with OpenGL contexts, making it also possible to use multiple monitors and video modes. It provides access to input from the keyboard, mouse, and joysticks. The API provides a thin, multi-platform abstraction layer, primarily for applications whose sole graphics output is through the OpenGL API. While GLFW is very useful when developing multi-platform OpenGL applications, single-platform developers can also benefit from avoiding having to deal with a platform-specific API.

GLFW is used in programs that require a window, due to OpenGL not providing any mechanisms for creating the necessary contexts, managing windows, user input, timing, etc. There are several other libraries available for aiding OpenGL development. The most common ones are FreeGLUT (an Open Source implementation of GLUT) and SDL. However, FreeGLUT is mostly concerned with providing a stable clone of GLUT, while SDL is too large for some people and has never had OpenGL as its main focus. GLFW is predicated on the assumption that there is room for a lightweight, modern library for managing OpenGL contexts, windows, and input.

GLFW is not a user-interface library, platform-specific library, image-loading library or a threading library. Additionally, it cannot render independently or playback sound.
Programming language bindings

Although GLFW is written in C, bindings do exist to use the API with other programming languages including Ada, C#, Common Lisp, D, Delphi, Go, Harbour, Haskell, Java, Julia, Python, Rebol, Red, Ruby and Rust, among others.

Back-ends

GLFW version 3.2 has experimental support for Wayland through compile-time flags.

📕 Description [fr]

Une bibliothèque pour le développement d'applications desktop OpenGL, OpenGL ES et Vulkan, par la GLFW Team (Camilla Berglund aka elmindreda et de nombreux autres).
En C.

GLFW (GL FrameWork) est une bibliothèque légère, libre et multi-plateforme pour le développement d'applications desktop OpenGL, OpenGL ES et Vulkan. Elle fournit aux programmeurs la possibilité de créer et de gérer des fenêtres et des contextes pour ces interfaces graphiques, et le support des gamepads, claviers et souris.

Utilisé par ces jeux / Used by these games: Dstroy 2 (via orx engine), BoohaBlox (via orx engine, Little Cells (via orx engine, Mushroom Stew (via orx engine, ORX engine, Ytterbite (via orx engine,


GLFW est une bibliothèque libre, Open Source et multiplateforme pour le développement d'OpenGL, OpenGL ES et Vulkan sur le bureau. Elle fournit une API simple pour créer des fenêtres, des contextes et des surfaces, et recevoir des entrées et des événements.

GLFW est écrit en C et supporte Windows, macOS, X11 et Wayland

GLFW est sous licence zlib/libpng.

☑ Vous donne une fenêtre et un contexte OpenGL avec seulement deux appels de fonction
☑ Prise en charge d'OpenGL, OpenGL ES, Vulkan et des options, drapeaux et extensions associés
☑ Prise en charge de fenêtres multiples, de moniteurs multiples, de DPI élevés et de rampes gamma
☑ Prise en charge du clavier, de la souris, de la manette de jeu, de l'heure et de l'entrée d'événements de fenêtre, via l'interrogation ou les rappels.
☑ Fourni avec un tutoriel, des guides et de la documentation de référence, des exemples et des programmes de test
☑ Open Source avec une licence certifiée OSI permettant une utilisation commerciale
☑ Accès aux objets natifs et aux options de compilation pour les caractéristiques spécifiques à la plate-forme
☑ Des bindings maintenus par la communauté pour de nombreux langages différents

Aucune bibliothèque ne peut être parfaite pour tout le monde. Si GLFW n'est pas ce que vous recherchez, il existe des alternatives.



🌍️ Wikipedia:

GLFW (GL Frame Work) est une bibliothèque offrant un jeu de routines pour la gestion des fenêtres OpenGL, proposée en alternative à GLUT.

🕵️ Test [fr]

📜️ Préambule :
⚬ 1ere édition : le 13 Novembre 2023 sous Manjaro. Par : goupildb. ⏱️ Durée du test : 15 minutes. 🎯️ Objectif : tester son fonctionnement.


🫕️ Installation :
▸ (✔3.3.2) avec le jeu BoohaBlox : FONCTIONNEL.

📜️ Préambule :
Je n'ai pas les connaissances pour tester directement cette bibliothèque. Néanmoins je signale ici des bugs rapportés sur d'autres jeux qui seraient liés à cette bibliothèque.

🏗️ Réalisation :
Test du jeu BoohaBlox (utilise GLFW) :
🟠️ (lié à la bibliothèque GLFW) Mon gamepad (Xbox Elite Wireless Controller Series 2) n'est pas reconnu.
🔴️ (lié à la bibliothèque GLFW➜non confirmé, voir ci-après) En mode fenêtré, le redimensionnement d'une fenêtre pourrait être à l'origine du plantage mon système d'exploitation (constaté et ré-itéré à plusieurs reprises avec le jeu BoohaBlox). Nota : le jeu Dstroy 2 utilise le moteur Orx (basé sur GLFW) et fonctionne en mode fenêtré (j'ai testé le passage de l'un à l'autre). Néanmoins le redimensionnement de fenêtre n'est pas autorisé (astuce ;).