The RC0 release is out since the last hackweek see GFXprim pages. From that point 187 patches with various fixes, new features and new tests went in. New features includes support for various file formats, fixes and enhancements in python bindings, speedups, CMYK support, better documentation and more. Now it's about the time for RC1.

Gfxprim is simple modular 2D bitmap graphics library with emphasis on speed and correctness.

One of the key points of the library is meta-programming. Most of the operations and filters are written in Jinja templating language that is used to generate specialized code in C programming language. Creating code that works with less usual pixel types should be as easy as adding pixel definition into the configuration and rebuilding the library.

Some of the features are:

  • Supports loading and saving most of the image formats (PNG, JPG, BMP, TIFF, PNM; loading only: PSP, GIF, JPEG2000, CBZ, ...)
  • Can draw lines/circles/polygons (anti aliased drawing is being worked on)
  • Has image filters (resampling, convolutions, point filters, ditherings, ...) some supports running in multiple threads
  • Drawing and input support for X11 (with support for multiple windows), SDL, Linux Framebuffer, AALib, kernel input layer
  • Text drawing with compiled-in fonts or TTF fonts using FreeType
  • V4L2 frame grabbers
  • Python bindings (work in progress, but generally most of the C API is covered at the time)
  • Has number of unit tests

One of the tasks I want to tackle before the RC1 release is to make spiv (image viewer based on the library) to be full featured image viewer. The work has already began with implementation of feh-like actions, code cleanups, better help (-h), cleaner implementation of slideshow timers, etc. What is currently the most missing part is better configuration and handling for zooming.

There are more (smaller) tasks I have in my mind. If anybody wants to give helping hand feel free to contact me or ask on our our mailing list.


[Cyril Hrubis] originated this idea.


GFXprim 1.0.0-rc0 has been released!

You can get the tarball directly from project pages or packages from buildservice.

Now it's time for 1.0.0-rc1 :)

Get the latest Source Code from github.

Looking for hackers with the skills:

c library graphics python

This project is part of:

Hack Week 10


  • over 10 years ago: metan added keyword "python" to this project.
  • over 10 years ago: metan added keyword "c" to this project.
  • over 10 years ago: metan added keyword "library" to this project.
  • over 10 years ago: metan added keyword "graphics" to this project.
  • over 10 years ago: metan started this project.
  • over 10 years ago: metan originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    80-bit floats support on x86_64 for Valgrind by mfranc

    [comment]: # (Please use the project descriptio...

    Vulkan Widget for GTK by yudaike

    [comment]: # (Please use the project descriptio...

    Deep Packet Inspection: compare the performance between libnetfilter_queue, NF_HOOK and eBPF XDP by nguyens

    Deep Packet Inspection: compare the performan...

    Port OTPClient to GTK >= 4.12 by pstivanin

    Project Description

    OTPClient is currentl...

    Extract generic testing framework from Linux Test Project code base by acervesato

    Project Description

    The Linux Test Projec...

    Linux incarnation of the Party Parrot by rsimai

    Project Description

    Lesser on the coding s...

    Work on gfxprim e-ink support by metan

    Project Description

    I did manage to write...