MGRX a C graphics library

Site index

About MGRX
Software repository
Site log


DJGPP compiler
TDM-GCC compiler
Netpbm distribution
Libpng library
Libjpeg library


Malfer at
dot net


MGRX version: 1.5.1
Site update: 2024-06-23

About MGRX

MGRX is a 2D graphics library derived from the GRX library. GRX was originaly written by Csaba Biegl for DJ Delorie's DOS port of the GCC compiler.

MGRX supports five platforms: DOS (DJGPPv2), Linux console, Linux X11, Linux Wayland and Win32 (TDM-GCC). On DOS it supports VGA and VESA compliant cards. On Linux console it comes with framebuffer and KMS/DRM videodrivers. On X11, Wayland and Win32 it runs in a window.

For the Linux console, Linux X11 and the Linux Wayland versions three architectures are supported: i386 (32bit), x86_64 (64bit) and ARM (32bit, tested in a Raspberry Pi 4 using Raspbian).

MGRX comes with GrGUI, a mini Graphics User Interface specifically designed for MGRX.

The Linux X11, Linux Wayland and Win32 videodrivers support user window resize.

The Wayland videodriver was new in version 1.5.0, it must be considered in beta stage, only the i386 and x86_64 architectures are tested at the moment.


MGRX is a fork of GRX. Because I liked the GRX C API interface, I began to maintain GRX when it was orphaned at the end of 2000. But GRX has not only the C API, it has a Pascal API, a BGI compatibility API, support for Turbo C, Wattcom, MSC and some X11 implementations over mainframes. At the end it was not funny, it was easy to break things I didn't know (and I didn't want to know). So I stopped maintainig GRX at the end of 2003.

After that I developed a fork for my own use, only the C API, no Pascal, no BGI, no Turbo C support, only the 5 platforms I can test. It has a new (and better I think) input API and some (limited) international support. I have released it for fun, maybe it can be useful for someone.

Supported platforms

Latest versions of OS, compiler, and key software tested:


Global dependencies, for all platforms, are libjpeg (for reading and writing JPEG files) and libpng and zlib (for reading and writing PNG files). But if you don't have those libraries in your platform you can disable JPEG and PNG support editing the "makedefs.grx" file before compilation (See the readme file bellow).

Anyway it's easy to install the binary libraries at least in Linux and DJGPP. For TDM-GCC (Win32) you have to compile them, it isn't too difficult, or you can download this package with the libraries already compiled by me and install them for TDM-GCC following the simple instructions in the included readme file.

For linux console if the KMS/DRM driver is enabled the libdrm library will be needed, normally it is included in most linux distributions by default, but you will need to install the developper files.

For linux X11 you need libX11, normally installed by default, but you will need to install the developper files.

For linux Wayland you need libwayland-client and libxkbcommon, also normally installed by default, but you also will need to install the developper files.



Current release

MGRX v1.5.1
  Tar.gz format: mgrx151.tar.gz (4295383 bytes)
Zip format: (4912871 bytes)
MD5 sums:   62130f5d1cef20ede92ae3fb6c76bddc
c98a6b3b6e648c23742499f33236a4c9 mgrx151.tar.gz

Older releases

MGRX v1.5.0
  Tar.gz format: mgrx150.tar.gz (4249371 bytes)
Zip format: (4865281 bytes)
MD5 sums:   c0ede575df8c1bb8fa88d0052e6da012
e989819c74bce822249c46fe41b61ae0 mgrx150.tar.gz
MGRX v1.4.3
  Tar.gz format: mgrx143.tar.gz (4224312 bytes)
Zip format: (4823263 bytes)
MD5 sums:   29446689da19c95a5f5df44bdb984d61
fc9c5b6697a0b956412dd436dbc3551d mgrx143.tar.gz
MGRX v1.4.2
  Tar.gz format: mgrx142.tar.gz (4255675 bytes)
Zip format: (4823031 bytes)
MD5 sums:   d74148a54aebd3bf31bb5d2b1fa197c4
33225d0d71b942b4cb87bc85ffdb9a5a mgrx142.tar.gz
MGRX v1.4.1
  Tar.gz format: mgrx141.tar.gz (4220850 bytes)
Zip format: (4750090 bytes)
MD5 sums:   7e026b6893f49f3db71a0aa7edef6808
057f66c91839b5a9137f7be10472a800 mgrx141.tar.gz
MGRX v1.3.6
  Tar.gz format: mgrx136.tar.gz (3447031 bytes)
Zip format: (3867379 bytes)
MD5 sums:   bd841dbb955bd81e19b1a57f54081d91
2b6dc458a370b027d4caebc8fd6d2ac6 mgrx136.tar.gz
MGRX v1.3.5
  Tar.gz format: mgrx135.tar.gz (3136482 bytes)
Zip format: (3562106 bytes)
MD5 sums:   d15e30c4f8f7113818a4dddc52429fd4
218a87efe586dbc93628c3a0a0a7bf62 mgrx135.tar.gz
MGRX v1.3.4
  Tar.gz format: mgrx134.tar.gz (2703589 bytes)
Zip format: (3145186 bytes)
MD5 sums:   de6266a31fe955c5223708f44354f3ca
95a9942cad78cb153cd96b30ef16d29c mgrx134.tar.gz
MGRX v1.3.3
  Tar.gz format: mgrx133.tar.gz (2596097 bytes)
Zip format: (3035763 bytes)
MD5 sums:   3f7713b34ad9eec136290b2f434b918a
4607ad27923ec09049b82ba390e89a49 mgrx133.tar.gz
MGRX v1.3.2
  Tar.gz format: mgrx132.tar.gz (2270485 bytes)
Zip format: (2711942 bytes)
MD5 sums:   0be4dbf2de28b48182675f996aa0f934
c0a79486e1e663680a486d6be4e12d2d mgrx132.tar.gz
MGRX v1.3.1
  Tar.gz format: mgrx131.tar.gz (2261909 bytes)
Zip format: (2700743 bytes)
MD5 sums:   37bc706dc1e685514c18aaf1ef4cdfdd
783434cc2e39b3c63fafd11c059e1a66 mgrx131.tar.gz
MGRX v1.3.0
  Tar.gz format: mgrx130.tar.gz (2259398 bytes)
Zip format: (2698196 bytes)
MD5 sums:   3f58d546ec59ea0c2e4622537534aef0
93b83de8d2f3d76155765b37d51b5414 mgrx130.tar.gz
MGRX v1.2.0
  Tar.gz format: mgrx120.tar.gz (1907066 bytes)
Zip format: (2303427 bytes)
MD5 sums:   04477b6217c53fd254a346058375db0f
8578ce2f6ce0e7adb8b94ec7c668d827 mgrx120.tar.gz
MGRX v1.1.2
  Tar.gz format: mgrx112.tar.gz (1898668 bytes)
Zip format: (2293141 bytes)
MD5 sums:   981d5fc5097508bab21d2cc0cc84868a
3460c2996f2a5ecd64d4c3220798dcf8 mgrx112.tar.gz
MGRX v1.1.1
  Tar.gz format: mgrx111.tar.gz (1407212 bytes)
Zip format: (1809423 bytes)
MD5 sums:   27c41f888d067f8afd5ca6e6925de87a
6eaf1bf2d897dd97b7197ed28e408b36 mgrx111.tar.gz
MGRX v1.1.0
  Tar.gz format: mgrx110.tar.gz (1424763 bytes)
Zip format: (1830037 bytes)
MD5 sums:   55568a8dc244bd602f41584c046ecc9c
f1d113afb8879296795e5db431994fdf mgrx110.tar.gz
MGRX v1.0.0
  Tar.gz format: mgrx100.tar.gz (1278260 bytes)
Zip format: (1714202 bytes)
MD5 sums:   7461a28eba8ef70574f2d0f339d528c3
b80ac0a024c166a116dee07cfd590f50 mgrx100.tar.gz
MGRX v0.9.9
  Tar.gz format: mgrx099.tar.gz (1280167 bytes)
Zip format: (1711903 bytes)
MD5 sums:   e4ea789dd2b475b65d7711f4b9c2946e
1beba5b0a847393ab3c546c31663a2f5 mgrx099.tar.gz
MGRX v0.9.8
  Tar.gz format: mgrx098.tar.gz (1266805 bytes)
Zip format: (1696387 bytes)
MD5 sums:   08f0b52018afc82276e2dd1e909a347f
58207976f78a9499c1938b14399dc3cf mgrx098.tar.gz
MGRX v0.9.7
  Tar.gz format: mgrx097.tar.gz (1267175 bytes)
Zip format: (1696618 bytes)
MD5 sums:   cb4d977db809a84885e0ce953baac346
4461cc2ecc09e188fb49cee58b6ba41a mgrx097.tar.gz
MGRX v0.9.6
  Tar.gz format: mgrx096.tar.gz (1266267 bytes)
Zip format: (1695931 bytes)
MD5 sums:   f10255d15a22672671def58ae1778f23
686ac970a180a93c63e700044d9c2074 mgrx096.tar.gz
MGRX v0.9.4
  Tar.gz format: mgrx094.tar.gz (1202565 bytes)
Zip format: (1701358 bytes)
MD5 sums:   e8efedcbe3bb6c6f90f86438aa4a1328
cc277004b8af613c942000504a092c43 mgrx094.tar.gz



GChart is an add-on, by me, to the MGRX graphics library. It draws bar, line and area charts in a graphic context.

Download: (16049 bytes)

MD5 Sum: 8f781633c9b2c6984201a3777a0c575f

LFP fonts for MGRX

These MGRX fonts were converted from the (now defunct) Linux Font Project packages:

All the fonts are in the public domain.

Download: (177659 bytes)

MD5 Sum: fc709f6d0f4afc087f0f258a926b3a22


Bezier is a first try to draw bezier curves using MGRX.

Source code: bezier.c

Bitmapped Hershey Fonts

Two bitmap fonts, in three sizes each, converted to the MGRX format from vector fonts developed by Dr. Allen Vincent Hershey.



libmsvg is a small and generic C library for reading and writing SVG files. It has examples for using whit MGRX.


FEdit 1.5 New 2024-06-24

Fedit is a small visual editor for the MGRX own font format. Readme file

Download: (270915 bytes)

MD5 Sum: a905850aef5b75c58f4df9a85096c52e

Old versions

Download: (270328 bytes)

MD5 Sum: 6b2d544c002a4139e081904b06b7678c

Download: (261554 bytes)

MD5 Sum: 5c330d96319fe388139432ec127a6f3d

Parchí­s v5

Parchí­s v5 is a computer program to play Parchí­s, a very popular board-game in Spain. It can be played by up to four players.

The program can handle any combination of human beings and pc-driven players.


Mandel, by Richard Sanders, is a nice program to render the Mandelbrot and Julia sets.

Download: (27485 bytes)

MD5 Sum: 3b723ad40f062692f023d59b40f779a7

Software repository

MGRX is in github, so you can clone, fork or see the latest changes in the source:

Site log