.

Component: 

Notes from Team Vuo

Vuo Pro: 

Yes — requires a Vuo Pro license

Complexity: 

●●●● — Many months of work

Potential: 

●●● — Opens Vuo to a new audience

Comments

My problem is that I create

dumski's picture
Submitted by

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.

Also, don't keep your votes in a pocket! :) Cheers, Teo

Magneson, the ability to

jstrecker's picture
Submitted by

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.

Pretty interesting for the

useful design's picture
Submitted by

Pretty interesting for the low cost Intel desktop option pointed to by Teo and the lightweight ARM turnkey device option with a sophisticated GUI (once Vuo gets GUI nodes). Could expand the Vuo user base indeed.

thanks for the explanation, Jaymie — very informative!

And ARM is moving fast: This little guy just got US$1.7 million dollars in backing on Kickstarter PINE A64, First $15 64-Bit Single Board Super Computer. repeat $15, deploy multiple projector and Artnet driver applications for example on multiple $15 devices.

Since this is currently the

jstrecker's picture
Submitted by

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

jstrecker's picture
Submitted by

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).

I think basic support would

dumski's picture
Submitted by

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

alexmitchellmus's picture
Submitted by

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)

@Jaymie, would it be possible

alexmitchellmus's picture
Submitted by

@jaymie, would it be possible to split this request into two?

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?

RPi could follow after Linux is stable?

This is important to the

useful design's picture
Submitted by

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.

The main reasons for me now

Jesse Edmond's picture
Submitted by

The main 2 reasons for me now to stick with VUO are mainly twofold:

  • because of all you have done for the QC community (Kineme i.e.)
  • and this feature request (Raspbian & Ubuntu specifically for obvious reasons)

Why? I recently dived into TouchDesigner and decided, that this will be my weapon of choice for the coming year. Unless I've overlooked something crucial, then I would like someone to point that out to me. Thanks in advance & big thumbs up to the live visuals community, including of course Team VUO.

Would it be possible to get

useful design's picture
Submitted by

Would it be possible to get an estimate of the resources required to execute on this in a dollar value and some of us could possibly fund raise on a kickstarter type of platform for it?

I've come up with a concept I'd only be able to deploy on cheap devices like Raspberry Pi, not $1k Mac minis. I'm quite keen to see this happen from a personal perspective, but even more so for expanding the Vuo community and it's reach as any other reason. The sooner the Vuo community grows to be able to afford full-time developers working on core product features requests and UI improvements the sooner Vuo really takes off I think. It's getting close IMHO to having that ‘killer-app’ user base, even if the last decade has flown by.

Then again maybe being the highest polling feature today it's on the roadmap for 2022 already? Even If it is (almost) on the implementation roadmap, we can hurry it along with funds that would be worth it in my view. We could also set some stretch goals like the GPIO pin access bn86 asked for, and other add-ons for working with interesting 3rd party input and output devices.

I gave up on this feature

mattgolsen's picture
Submitted by

I gave up on this feature request many years ago and have instead opted for using something like OSC or MQTT as a messaging bus to control something that runs natively on different platforms. As much as I would love to see Vuo expand in this direction, I have little faith in believing that this work would actually be implemented, unfortunately.

I think it's important to

2bitpunk's picture
Submitted by

I think it's important to keep the conversation going. If you could run Vuo apps on Linux this would help ensure the framework keeps alive and the user base would undoubtably expand. Nothing wrong with chasing as it lets the dev team know there's interest in the idea.

using something like OSC or

bn86's picture
Submitted by

using something like OSC or MQTT as a messaging bus to control something that runs natively on different platforms

For the people who know how to create and maintain such systems, I'm sure that would work well. But I thought the target audience of Vuo was supposed to be artists and non-programmers.

Sure, and I didn't suggest it

mattgolsen's picture
Submitted by

Sure, and I didn't suggest it as a solution for new beginners. I only mentioned it as my solution for my use case.

At least a 9th of the vote submitted for this have been from me. I wholeheartedly support this feature, but I'm also a realist. If they don't have the resources to implement this then it should be deprioritized.

I don't see Vuo as an

2bitpunk's picture
Submitted by

I don't see Vuo as an 'artists' tool but it is accessible for people with limited coding knowledge and that's why it's worth supporting. What Matt (Matt) was describing was a common workaround for bridging platforms, sharing data and connecting apps... something a lot of artists would be interested in. Personally I use Vuo in quite a simple way to help support my VDMX projects for plugins, FX and media sources. Other people build complex applications, that's the great thing about this type of framework. I'm supporting this feature as I see it as a a way to expand my installation work and to accelerate Vuo as a viable platform for new users.

I still like the idea of

cwilms-loyalist's picture
Submitted by

I still like the idea of being able to use a RPi in certain types of Vuo projects. I think having a clear understanding of what performance we could even expect from such a low powered device and knowing what nodes would not be compatible could also be helpful. For me, something like the "Receive NDI Video" node running on a Pi would be an amazing addition and I can think of all kinds of uses for that especially if it's efficient enough to have room for additional functionality.

People have already managed to get NDI at 720p (and 1080p kind of) running on a RPi so there is potential there. https://dicaffeine.com

Agreed. For a non-coder like

bn86's picture
Submitted by

Agreed. For a non-coder like me, the idea that I can create a standalone app with Vuo in a few clicks is incredible, but many situations demand something like a pi for the project to be viable.

Maybe what I need is dedicated "show control" hardware, but I kinda wanted Vuo to be part of the solution.

Safe to say while work will

useful design's picture
Submitted by

Safe to say while work will begin on this FR soonish, a release for the finished FR is a couple of years away at best (correct me Jaymie if that's a bad read). Would funding help or does it not pay to mess with the roadmap timeline, because of co-dependencies of the new good things coming to Vuo, Jaymie? Obviously Metal support in an abstracted graphics layer is much more important, and probably a necessary first step for export to Linux compiled app. So is lists in lists and recursion IMHO, and probably several others. I just love the idea of opening up new business opportunities for Vuo. (of course I'm speculating on what that might be!).

Feature status

  • Submitted to vuo.org
  • Reviewed by Team Vuo
  • Open for community voting
  • Chosen to be implemented
  • Released

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.

If anyone would like to help this happen sooner, we're also accepting commissioned work.

Read more about how Vuo feature requests work.

Votes

926 votes so far!

Who voted?

iaian7's picture
bnvisuals's picture
Eurotrash's picture
carlitos's picture
ShowBlender's picture
PixelScience's picture
oscillatedspace's picture
Mika-TS's picture
jvolker's picture
dumski's picture
quad_damage's picture
parker's picture
manuel_mitasch's picture
sandrobilbeisi's picture
rorypickering's picture
DRDN's picture
bn86's picture
wiredv's picture
yutian's picture
cmaglie's picture
mattgolsen's picture
ahoeben's picture
Alejo's picture
luukz's picture
ape5's picture
zwei-p's picture
architek1's picture
joeladria's picture
useful design's picture
cremaschi's picture
PoxG's picture
alexmitchellmus's picture
savienojums's picture
milliondots's picture
Pike's picture
MartinusMagneson's picture
jackverne's picture
stewey's picture
Jesse Edmond's picture
2bitpunk's picture
danmillest's picture
aa-83's picture
dj2mn's picture