My problem is that I create live multimedia theater performances with live actors. My mobile MacBook Air has not enough power to drive a live performance, but I don't have money for Mac Pro... So imagine: with this feature we could build compositions on Macs, export a linux app and run it on a very powerful linux machine, which you can build especially for running Vuo compositions, eg. on a show, performance. You can build cheap machine with very good graphics, many monitor outputs and so on.

Magneson, the ability to deploy compositions to Linux would mainly involve changes to certain parts of Vuo: the compiler, the runtime, and OS-specific nodes.

The compiler/runtime is what allows compositions to actually execute on a computer. The compiler takes a composition (nodes, cables, etc.) and translates it into an executable for a specific CPU architecture. Currently, the compiler only supports one architecture, x86_64 (common to all recent Macs, and many Linux PCs as well). To be able to run a composition on a Raspberry Pi, the compiler would have to be modified to support additional architectures, ARMv6 and ARMv7.

The runtime handles some stuff common to all compositions. It's largely independent of processor and operating system, but does have a Mac-specific implementation of the event loop. That would have to be ported to Linux.

Although we've tried whenever practical to make nodes OS-independent, some are specific to Mac and would have to be ported to Linux. This includes nodes involving windows, displays, GL contexts, images shared between processes, mouse, and keyboard.

So those are the main things that would have to be ported. The biggest things that would not be ported for this feature request are the editor and the build system.

The editor is based on a cross-platform GUI framework, Qt. Currently the editor contains a number of tweaks/workarounds for Mac-specific issues. Porting to Linux would probably mean adding some more tweaks/workarounds.

The build system is what we use to develop the code. In order to use Linux machines as developer workstations, we'd have to modify a number of scripts. It's another case where we're using cross-platform tools but OS-specific tweaks have to be made.

And finally, there are a few other scattered bits of Mac-specific code and documentation that would need to be ported.

So yeah, I would guess that this feature request would take Vuo more than halfway to a full-fledged Linux release, though substantial work would remain to be done.

Thanks for the explanation Jaymie! I noticed early that using QT gave the possibility for Vuo to become cross-platform eventually, so any news in that direction is greatly appreciated (Vuo is a lot of the reason I'm still mostly on a mac).

Since this is currently the #1 top-voted feature request, I want to point out that it's also one of the highest-development-time feature requests. We'd pretty much have to dedicate a release to it, and not implement any other top-voted feature requests in that release. When we (Vuo team) pick the feature requests that go into a release, votes are a very important factor, but we may pick a feature request with fewer votes over one with more if we believe it results in a combination of feature requests that has greater potential to expand the Vuo community, address the needs of the current community, and fit within a time frame of a few months.

GPIO nodes would be a separate feature request. Similar to Serial input/output, for using Arduino etc., they would enable a composition running on a Mac to communicate with a Raspberry Pi — whereas the current feature request is about making the composition run on the Raspberry Pi.Edit: GPIO nodes would enable a composition running on a Raspberry Pi to communicate with whatever's connected to the GPIO port. It would require some extra effort on top of the current feature request. The implementation time would be 1-2 dots (maybe a week or two of work).

If Vuo gets ported to Raspberry Pi, would that mean the Pi camera modules would be available to the video input node or would that be another feature request? Would UVC webcams be supported on a Pi port?

Chris (@cwilmsloyalist), I'm not sure. We'd at least be adding some basic support for cameras under Linux (since the current camera nodes are Mac-specific). We'd have to do some research to find out how difficult it would be to add support for camera modules / UVC webcams beyond that.

I think basic support would be ok for a beginnig: bunch of input nodes (keyboard, audio, video), all of OpenGL/layers stuff, list nodes, math nodes and render nodes (to windows, screens (Xserver) and images). Maybe it's a good idea to make some poll which categories of nodes are most important for users?

As a self identifying Apple Fanboi, this is a really hard post for me to write. Considering Apples current trajectory: soldered ssd, non existent pcie slots, this feature request may be nessesary for the future of Vuo.

I am interested in using Vuo for multiprojector setups, huge data walls, 360 etc, and currently- no matter how fantastic MacOS is, ( we all know how great and stable macos is) Apples hardware lock-in is becoming the most limiting factor.

It is impossible for me to set up a system for clients without crazy work arounds, (using old macpros which have pci slots etc ).

I believe strongly that Vuo will gain a whole new user base once it is Cross platform, and have a super exciting future!

I for one will vote for this as the number 1 priority for the next release cycle (post 1.3)

I would like to see Vuo on Linux desktop first, as this would give us quick access to extremely powerful playback solutions. Would that at least make this request a bit simpler to achieve in one release cycle?

I am interested in a Linux version as well. However since much of my interest in Linux relates directly to the RPi I would actually be pretty disappointed if it wasn't supported right at the beginning.

@alexmitchellmus, as Chris (@cwilmsloyalist) points out, the problem would be how do you do so in a way that is fair and transparent to the people who voted on the FR with the understanding that it would support Raspberry Pi.

This is important to the future of Vuo I would think. Not so much use to me for now, but expanding the commercial base of Vuo is critical to keep it developing the way we want it to.

Love the idea of cheap Linux 'rackmounts' driving installations and live performance at more reasonable cost and the idea of deployable RPi scientific and health devices for logging and processing real time physical world data. (And any kinds of sophisticated automation that can drive interesting graphical output/UI/UXs)

Air quality monitoring around industrial sites and fossil fuel extraction points with a simple user UI they can see on cheap touch screens. That's fancy UI stuff is all very hard to wrangle with Arduino/RPi today. Some kind of code bridge or binding to the hard core data aquistion and processing programs would be neat way to close this loop.

Feature status

When we (Team Vuo) plan each release, we try to implement as many of the community's top-voted feature requests as we have time for. Vote your favorite features to the top! (How do Vuo feature requests work?)