Linux version

I don’t know anything about the TD codebase, but macOS is built on a fork of BSD, which is a different branch of the POSIX family tree than Linux, which grew out of GNU. They have differently structured kernels and system calls. The gcc toolkit is available on both which streamlines compiling applications on both, but even that requires the availability of dependencies. I wouldn’t care to speculate what sort of crazy dependencies Touch has.

Linux supports pretty awesome graphics. NVIDIA (Derivative’s favourite) has great driver support on Linux, though I think the kernel yells at you for using closed source drivers (non-gpl, taints kernel…). Never tried using CUDA on Linux, but afaik, that’s the preferred platform for most of NVIDIA’s HPC GPU stuff (ie: Machine Learning)

Yeah, I used to think this too, but there are varieties of Windows (IoT now, and ‘Embedded’ before) that are made for creating smaller, more targeted system images. I think that there is some selection bias here. Most of us will probably never use a build of Windows that isn’t in the ‘Pro’ or ‘Server’ family but, other variants do exist. They just don’t get advertised as much. :slight_smile:

Many of these applications didn’t decide to jump ship from macOs and Windows to Linux. The vfx farms of yore used to be built on large networks of SGI/IRIX boxen, and transitioned (mostly to redhat) as SGI began to implode, because they had administrative infrastructure/practices for supporting POSIX type environments.

Touch’s UI seems to run inside an openGL viewport, so I imagine getting that part to run on Linux would be fairly straightforward. Then comes the obnoxious bit. Supporting networking, fs and third party APIs across three platforms would require more testing. This slows down the development of new features, and leads to scenarios where ‘such and such a feature’ is broken on one platform and not another. A developer who is solving these inconsistencies is not adding awesome new fun stuff to Touch instead. :frowning:

We already see bugs tagged for macOs and not Windows. I think folks like elburz dissed the macOs port on another thread a couple years ago because they’d prefer to see Derivative focus all development resources on growing the feature set, rather than solving inconsistencies between platforms.

There are only so many hours in the day.

I would loooooove a Linux port. I’d also like a Tesla, a pet serval, and to live in the Hundertwasser House in Vienna. :slight_smile:

Im finally famous for something :laughing:

I also had to look up with Lightworks was, so I wouldn’t really count that as professionally supported software under active development. Houdini (SideFX), Nuke (Foundry), and Blackmagic are pretty large companies, and in Foundry + Blackamagic cases - multi-national companies…so throwing a team of devs to make a linux port even at a loss may be worth it for them. I don’t think that’s a fair comparison to Derivative.

Yeah i know. As i said i am not a coder nor an expert in graphics hardware devices so i probably don’t know the underlying problems.

I already discovered things like SVG or Kinect are not compatible in TD macOS version so i can imagine how hard a linux port would be.

Anyway, i sometimes use openFrameworks for some installations and many times it runs much better in Linux than macOS (i don’t know for Windows)

But i also imagine that if such a version exists, it should be only one linux distribution oriented or this would be a nightmare to support !

But maybe… one day… :slight_smile:

Just wondering,

How can you “not be a coder” but also use open frameworks?

I know some concepts like Object Oriented Programming, algorithm etc… Every language is a matter of syntax.

Though i don’t know deep concepts of C++. openFrameworks is just that : a framework for creating audiovisuals that popularizes deep concepts. It brings C++ language to higher level, gives you the tools you need to produce visuals and hides the guts of the tool if you don’t understand or don’t need/want to understand it.

So i am able to use openFrameworks like i can drive a car, but i am not able to build or repair the engine.

I have recently delivered TD system for permanent setups to 3 different clients. Everything works great from a TD perspective. Except that the windows machines keep breaking. I’m now constantly giving support to these clients for reasons which have nothing to do with the TD project and everything to do with windows specific problems.
Comparing this to the linux machines I’ve delivered in the past, I’m literally living in a windows horror show. I’m afraid to touch these machines now because any little change keeps introducing new problems. Windows is just simply not an OS where I am the boss of the machine.

I will come back to this thread from now on every time I’ve delivered a new system to a client and I will post my issues here. I cannot bring my business to decent scale as long as I have to keep delivering windows machines.

Brutesque that sounds like you need to configure those windows machines quite a bit stricter.
If you you don’t want to do that yourself, you can buy rocksolid show-configured Windows machines from companies such as xi-machines.com/en/index.php (Germany) which will never update of ever show any popup.

I have delivered many TD installations over the years, and I have done many very large scale shows with TD clusters running on a lot of windows machines, so the statement that is is impossible to scale your business or run anything on Windows without problems, seems to me a bit exaggerated. As you see on derivative.ca/Blog/ all those large scale installations are running Windows, a lot of them 24/7, and not a blue screen in sight - that was something of the win95 age. Since win7 windows has been rocksolid in my opinion, if you configure it right.

As said before in this thread, as Derivative has a small team, to me it’s not worth it to divide the manpower of that development team even further over another OS. Also, if I would have a linux machine with TD, what good is that if none of my sensors, depth camera’s, kinects, videocards, capture cards, SDI cards, stereo camera’s, you name it, have a linux driver?

Not to blow holes in this lovely defense of Windows:

But most SDI cards you’d care to use do have Linux drivers. :slight_smile:

Edit: that’s also true for graphics cards.

While I totally agree with your laments about Windows, I would recommend looking into Windows 10 Enterprise. I haven’t tried it yet, but not only does Windows 10 Enterprise allow you to comPLETEly disable updates and telemetry, it also has a feature called Unified Write Filter, where it kind of acts like a perpetual hibernation. AKA every time windows starts up, it creates a temporary “windows install” in RAM and runs from that, never writing to the hard drive. So even if the worst happens, just tell the client to restart and it will come back up into the exact state you left it when you finished your install. You don’t even have to do the standard windows “Shutdown”. Literally just pull the plug and it will be fine.

[url]https://docs.microsoft.com/en-us/windows-hardware/customize/enterprise/unified-write-filter[/url]

Like I said, I’ve never tried it, but it’s on my list of things to try if I need to start scaling to larger installs, especially since you have to buy 5 licenses at a time, and I think you have to install them on top of Windows 10 Pro installs (can’t use home).

ouch

looks like windows 10 enterprise has a subscription based licensing model.

zdnet.com/article/microsoft- … -per-year/

no thanks

Yeah that’s why I haven’t tried it yet. I wanted to get one license just to experiment with and it was basically impossible. I need to be a corporate enterprise or something and get at least 5 for at least a year as far as I can tell. Maybe if I get a bunch more projects rolling through…

@brutesque if you have issues, please do make a thread and we can try to help. It would be nice to get to a point of having a Windows image we could put up for download and you’d just have to license it yourself. I’ve never looked into that, so Im not sure if that’s something feasible or not, but would probably be useful for all.

Maybe I’ll start creating a list of issues. But mainly the issues appear when the production computer is already deployed. And I just can’t make up the shit windows throws at me. I can’t forsee them either. Windows 10 enterprise is basicly never an option budget wise. And to be honest, a lot of the solution in this thread pro windows will cost a lot more than I would need when I just grab a copy of ubuntu and run my modification script.

Just an example: A decent bash shell is extremely usefull. I hear many time from people: ‘oh yeah but you can run bash and ssh on windows too now.’ But when I actually tried to implement this in my system I mainly get a bunch of ridiculous hurdles that only windows can come up with.

I would agree with most that with enough configuration, a windows computer can be tamed to listen to the owner and not do anything the owner doesn’t ask. But that is also a huge load of work to do at scale and very costly in a windows ecosystem. Sure it’s all possible, but the whole internet backbone hasn’t been replaced with linux for no reason. It’s just easier, more efficient to deploy, way cheaper, easier to maintain, all that good stuff.

And honestly, if the development team is to small, I would have no problem spending twice the amount on a TD or TP license to be able to run it on linux.

It’s funny, I’ve been changing my tune the more time passes. I would like a Linux version, since I’ve transitioned basically everything else I do that isn’t TouchDesigner over to Linux. I’m not up-to-speed on Linux hardware support, drivers, etc, so I can’t speak to that stuff, I do know that a lot of stuff works pretty well on Windows, so it’d only be useful to me if it was roughly equivalent. It seems a lot of companies are supporting Linux more and more. With Steam Proton coming along well from what I hear, DaVinci Resolve working on Linux, and others, it seems traction is picking up slowly. Even Win 10 LTSB is a pain, .

But the realities are definitely still limitations. Hard to support yet another OS, especially I think after seeing the amount of Mac specific bugs there are, I’d be hesitant to dive into another OS if I was developing TouchDesigner. It seems like macOS is going hard on Metal, so I’m really hoping the transition to Vulkan happens and maybe that makes it easier to port? I’m not sure, I haven’t followed Vulkan too much recently, but linux folks seem to like the DirectX and OpenGL to Vulkan libraries?

Linux folks don’t have a preference for OpenGL over Vulkan. I suspect most Vulkan wonks at Khronos have Linux Workstations on their desks :slight_smile:.

I think the limitations are mostly in the space of consumer usb sensor hardware (leap, kinekt, etc.) just as I suspect they are on the mac.

Graphics driver and Capture support for Linux is first rate. Since most of the AV user base there is other pro developers with some hobbyists but few consumers. With a bustling little market of kernel for video tweakers (ubuntu studio and the like) a port of TD to Linux would probably have low video latency and full support for the latest and greatest GLSL features (unlike MacOs).

please, please, please - linux version!!!

++1

+1

of course +10 :wink:

One of the funnest things about a Linux port would be making a bootable stick that has your standard deployment setup on it.

I guess this is theoretically possible with Mac or Windows as well but, the fact that the operating system has no notions about licensing is kind of amazing.