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 7 years ago: metan added keyword "python" to this project.
  • over 7 years ago: metan added keyword "c" to this project.
  • over 7 years ago: metan added keyword "library" to this project.
  • over 7 years ago: metan added keyword "graphics" to this project.
  • over 7 years ago: metan started this project.
  • over 7 years ago: metan originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    multipathd: improve asynchronous behavior by mwilck

    Project Description

    multipathd is multi...

    multipath-tools: improve CI by mwilck

    Project Description

    multipath-tools is ...

    NeoMutt: Show index and body of emails in a horizontal split by iivanov

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

    Phoebe - where AI meets Linux by mvarlese

    Project Description

    Phoeβe (/ˈfiːbi/) wan...

    multipath-tools: cleaner model for path device information by mwilck

    Project Description

    Obtaining correct inf...

    Learn DaVinci Resolve by psimons

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

    DRM driver for USB-based SiS graphics cards by tdz

    Back in the late 90s to early 2000s, SiS graphi...

    Design the 2021 Open Build Service sticker by hennevogel


    ![2019 sticker](

    Create short "videos/screencasts" demoing cool stuff in 5 minutes by PSuarezHernandez

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

    YAML 1.2 Schema support for PyYAML by tinita

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

    One of couple of Python projects by mcepl

    There are couple of projects I work on, which n...

    k8s-rook-client by haass

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

    Script that loads dummy data into HANA database for testing purposes. by rangelino

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