Cinder Headless Hardware Accelerated Renderer

I have always had the utmost respect and gratitude for the open source communities out there sharing tools, code, and knowledge that make so many great things possible in the creative coding scene. Since the early days, I have always felt the need to remain somehow connected to this world and do my best to give back something from my side as well. I came across Cinder, a C++/OpenGL creative coding library, for the first time probably around 2009 and was really impressed by the possibilities it was opening up. There was one problem for me though: it didn't support Linux. Fast-forward a few years later, after a presence on the forums and a couple of Linux port attempts, I came in contact with the core team and had the chance to be involved and give back something by slowly becoming one of the main contributors of the Linux port of the library. As part of that process I also wrote the GStreamer-based video player that is the default option for Cinder under Linux and got heavily involved in the CMake support of the library also,

This involvement with Cinder, besides peace of soul, also brought a nice project collaboration with Andrew Bell, the original author of the library. At the time, Rare Volume—the creative studio he co-runs—had a cloud-based video effect rendering pipeline they were developing for Reuters TV. Although there are ways to hack your way into rendering applications that require a windowing system with hardware acceleration on headless Linux systems, Andrew approached me to implement a proper headless Cinder renderer with support for NVIDIA hardware through EGL and the EGL_EXT_platform_device extension. This way both Rare Volume but also the Cinder community could benefit - many kudos to Andrew and Rare Volume for supporting and funding initiatives like this.

As a bonus, I also added support for OSMesa with llvmpipe or Intel's OpenSWR software rasterizer, which allows to run OpenGL Core Profile applications on pure CPU systems that have no GPUs attached. You can find more technical details about this work here and here. For the Rare Volume work this was used for, you can have a look here.