Menu

Tree [a99005] master /
 History

HTTPS access


File Date Author Commit
 android 2025-09-05 Karl Robillard Karl Robillard [715d3e] Add multisample argument to glv_create().
 dist 2025-02-25 Karl Robillard Karl Robillard [922259] Update Doxyfile for Doxygen 1.13.2.
 examples 2025-12-07 Karl Robillard Karl Robillard [a99005] Examples: Add glv_create multisample argument.
 mac 2022-07-30 Karl Robillard Karl Robillard [23fa2e] Add GLV_MASK_CMD & GLV_MASK_NUM for Command (Wi...
 win32 2025-09-05 Karl Robillard Karl Robillard [715d3e] Add multisample argument to glv_create().
 x11 2025-10-15 Karl Robillard Karl Robillard [f23075] x11: Add comment showing how compatibility prof...
 ChangeLog 2024-12-22 Karl Robillard Karl Robillard [a8335b] Bump version to 0.5.0.
 Doxyfile 2025-02-25 Karl Robillard Karl Robillard [922259] Update Doxyfile for Doxygen 1.13.2.
 LICENSE 2024-12-23 Karl Robillard Karl Robillard [2f6f6b] Update documentation and make README a markdown...
 Makefile 2024-12-23 Karl Robillard Karl Robillard [20ab75] Move .spec file to dist directory.
 README.md 2025-08-09 Karl Robillard Karl Robillard [622371] README: Update Shared Libraries chart using Fed...
 dist_files 2008-04-05 wickedsmoke wickedsmoke [893e0e] GLV now builds on openSUSE Build Service.
 glv.c 2025-05-16 Karl Robillard Karl Robillard [2be2a9] Replace glv_filterRepeatKeys() with state GLV_M...
 glv.h 2025-09-05 Karl Robillard Karl Robillard [715d3e] Add multisample argument to glv_create().

Read Me

GLV Window Library

The GLV library provides a small, cross-platform, C interface for creating a
window or fullscreen display with an OpenGL context. It was written for use
in games and demos as an alternative to larger libraries such as GLUT, SDL,
GLFW, PLIB, etc. There are no thread, joystick, or timer wrappers here.

The library is made available under the MIT License and the implementation
for Linux & Windows is a single source file to facilitate copying directly
into your own projects.

The currently supported systems are Android, Linux (X11), and Windows.
The Linux version is the most complete and gets the most testing.
The Mac version is obsolete as it has not been updated for Cocoa.

The small size of GLV relative to alternatives can be seen on the following
chart:

Linux x86_64 Shared Libraries

Bytes Library Version
36536 GLV 0.6
277712 GLFW 3.3
307296 GLUT 3.12.1
1503144 Allegro 5.2.10
1890144 SDL 2.30.11

Requirements

For Linux install the OpenGL and X11 development packages.

Fedora:

sudo dnf install libglvnd-devel libXcursor-devel libXxf86vm-devel

Ubuntu:

sudo apt install libgl-dev libxcursor-dev libxxf86vm-dev

The X11 version is built without the XFree86 XF86VidMode extension by default,
but this can be enabled in the Makefile by defining USE_XF86VMODE.

Installation

Linux

To use in source form copy these three files into your project:

x11/glv.c x11/glv.h x11/glv_keys.h

To build a shared library run the following commands:

make -C x11
make -C examples -f Makefile.linux
sudo make -C x11 install

Windows

To use in source form copy these three files into your project:

win32/glv.c win32/glv.h win32/glv_keys.h

To build a shared library run the following commands from the command prompt:

cd win32
nmake

Android

Add the android source and header files to your project.

Auth0 Logo