# Headless Cinder?

**URL:** <https://discourse.libcinder.org/t/headless-cinder/637>\
**Category:** Uncategorized\
**Created:** [April 4, 2017, 1:28pm UTC](https://discourse.libcinder.org/t/headless-cinder/637 "2017-04-04T13:28:01Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![felixfaire](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.libcinder.org/felixfaire/32/168_2.png) [@felixfaire](https://discourse.libcinder.org/u/felixfaire)\
**Post date:** [April 4, 2017, 1:28pm UTC](https://discourse.libcinder.org/t/headless-cinder/637/1 "2017-04-04T13:28:01Z")

</div>

This is just a thought but I was wondering how difficult it would be to have a “Headless” App template with Tinderbox? This kind of defeats the point of using Cinder as a graphics library but with the new official Linux support i’ve been thinking about some RPI audio / lighting ideas that would be great if I could write using Cinder (and possibly some favourite blocks like Ci-Xtract and Ci-DMXusbPro) but without the overhead of creating a graphics context etc.

If the device doesnt have a display will the app run regardless? Perhaps the window creation overhead isnt even that much, again i’m just wondering whether Cinder might be a valid tool to use for embedded projects or whether I should just use a different kit / language. (maybe this is all already possible)

Cinder is an awesome creative c++ library even without the graphics stuff (audio, timeline animation, events, filesystem etc) though I don’t know how tightly coupled the graphics are to the main App…

Any feasibility thoughts on an embedded Cinder target, RPI etc?

F

---

<div class="post-metadata">

**Author:** ![lithium](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.libcinder.org/lithium/32/38_2.png) [@lithium](https://discourse.libcinder.org/u/lithium)\
**Post date:** [April 4, 2017, 1:51pm UTC](https://discourse.libcinder.org/t/headless-cinder/637/2 "2017-04-04T13:51:17Z")

</div>

I remember a few mentions of this on the old forum, but can’t remember anyone reporting back as to its success.

[https://forum.libcinder.org/topic/terminal-app-no-window](https://forum.libcinder.org/topic/terminal-app-no-window)  
[https://forum.libcinder.org/topic/no-screen-application](https://forum.libcinder.org/topic/no-screen-application)

---

<div class="post-metadata">

**Author:** ![hperigo](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.libcinder.org/hperigo/32/409_2.png) [@hperigo](https://discourse.libcinder.org/u/hperigo)\
**Post date:** [April 4, 2017, 6:53pm UTC](https://discourse.libcinder.org/t/headless-cinder/637/3 "2017-04-04T18:53:33Z")

</div>

Hi Felix,

last year I used cinder with rpi for a [project.](http://hperigo.com.br/project?name=Drivein%20-%20Belas%20Artes)

And it worked without any extra settings, the app just detected that there were no monitor and opengl was not initialized. ( not sure if things have changed )

The DMX block was a little bit more tricky, Enttec and the other devices I had at time did not worked with the default Cinder Serial stuff. It needed some specific FTDI driver calls, you can see an example of (bad 🙃) code [here](https://github.com/Hperigo/DMX-FTDI/blob/master/DmxFtdi.h)

---

<div class="post-metadata">

**Author:** ![andrewfb](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.libcinder.org/andrewfb/32/2_2.png) [@andrewfb](https://discourse.libcinder.org/u/andrewfb)\
**Post date:** [April 5, 2017, 2:01am UTC](https://discourse.libcinder.org/t/headless-cinder/637/4 "2017-04-05T02:01:46Z")

</div>

At Rare Volume we’re also doing headless in Cinder for a client, performing cloud rendering on AWS using OpenGL. Currently you have to jump through a few hoops to create a virtual display in XWindows, but it’s not too bad to setup and works perfectly - neither Cinder nor your app require any modifications. However I’d like to explore using EGL in scenarios like that, in particular without a window at all. GLFW definitely echoes some foreboding warnings to the console, though they are ultimately harmless.

Ultimately I doubt a no-op `draw()` method in your app requires too much in terms of resources, but exploring this is on my list for the near-term.

-Andrew

---

<div class="post-metadata">

**Author:** ![felixfaire](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.libcinder.org/felixfaire/32/168_2.png) [@felixfaire](https://discourse.libcinder.org/u/felixfaire)\
**Post date:** [April 5, 2017, 11:46am UTC](https://discourse.libcinder.org/t/headless-cinder/637/5 "2017-04-05T11:46:44Z")

</div>

Cool to hear that its on your radar Andrew!

It would be great to have an example or two (maybe headless rendering image to file and a simple audio example) in the samples in the future.

Thanks for all the pointers everyone else.

F
