TouchDesigner on Linux using Bottles and Wine

I will be using TouchDesigner for an upcoming course, but it’s only officially supported on Windows and MacOS. Can we run this on Linux? Let’s try it!

Screenshot of a Linux Desktop with two windows side by side. The left window shows bottles. The right window shows TouchDesigner with the default example.

For this, we will use Bottles, which is a very convenient way of setting up wine environments. You will likely find Bottles in your linux distribution’s packages or you can get it on flatpak.

Get and Configure “Bottles”

In my case, I use Bottles 51.13 from Flatpak, but I also tried it from Fedora’s default rpms and this worked exactly the same way. Both of these are available in the default Gnome Software directory but also via flatpak cli (flatpak install com.usebottles.bottles) or standard package manager (dnf install bottles).

Screenshot of Gnome Software, opened to the Bottles App. It shows as installed from Flathub.

After installing, please start Bottles and it will lead you through some default setup steps. Then, you can Create your own first bottle. This is what they call a contained wine environment. Yes. They gave up any kind of search engine discoverability by running with a pun. I respect that. But I also hate it.

Anyway.

Press the + plus button in the top left corner to create a new bottle and give it a meaningful name for this collection of stuff you want to run. It could just be called TouchDesigner, if you want. No need to be fancy.

Screenshot of Bottles with a "new bottle" interface on top of it.

I did not need to make any changes here, the default setting of “application” and the most recent stable versions of the runner (soda-9.0.1), architecture (64 bit) and no changes to config or bottle-directory worked fine. I am reasonably certain that any later versions (and likely many earlier versions) would also work fine.

Configuration files and some other necessary files will get downloaded for you and after that, your new bottle should appear in a list. Select it for some further configuration.

Configuration screen for the just now created bottle

Below “options”, there’s a configuration for dependencies (“Abhängigkeiten” in the screenshot). Click it and find allfonts and lucon and install/activate them. If you skip this step, TouchDesigner will run, but will not render most of the text in its user interface.

Screenshot of the dependencies screen of TouchDesigner. allfonts has already been downloaded and activated.

Get and Run the TouchDesigner Installer

For TouchDesigner itself, you will need an account and a license (non-commercial use is limited but free of charge!) and I will not cover this part. You would need to figure this part out on MacOS or Windows as well. You’ll be fine.

Go to the TouchDesigner download page and download it. I went with the “full” installer (2+ GB), but likely the web installer (~500MB) would work the same way. The version I tried here was 2023.11880, but as with the other versions I’m pretty sure other versions will work the same way.

At the top of your bottle screen you have a bright button that lets you run something. Click it and in the upcoming file selector, select the setup file you downloaded just now.

Then follow the regular setup instructions by carefully reading all of the license text, contemplating if you are really deeply satisfied with the conditions laid out in that finely crafted document and hit “next” a couple of times. The setup itself took quite a while on my machine.

Setup Screen of TouchDesigner, when run on Linux

Run TouchDesigner

After the setup concludes, your bottle configuration should have picked up on the newly installed application. It should add it right below the colourful button and it should be labelled just like the program you installed. In case you install multiple programs into the same bottle, they should all end up here.

Click the Play-Button next to it to start TouchDesigner. On first launch, this will ask you for an account and a license. Again, I will not cover this part, you’ll figure it out.

You should now be presented with their default example.

Screenshot of TouchDesigner with a slightly modified default example

Things that are Working

  • Webcam input works just fine
  • Serial Communication works after linking the appropriate tty to the appropriate COM. Alternatively you can lookup if the tty in question is automatically symlinked. For me, those ports seem to get overwritten when I start a bottle, so I set the symlink once the software is running. Maybe I’ll find a better way down the line, but for now “it works”.
  • Microphone input works just fine
  • If a MIDI device is connected before you start TouchDesigner, it should be available automatically. As usual, you need to use the MIDI device mapper to be able to use it in the first place. Here’s a tutorial on working with midi in TouchDesigner.
  • Joystick works out of the box (tested with an XBOX360 controller)
  • Creating windows (including borderless fullscreen on pre-determined screens) and rendering to them works.

Things that are NOT working

Overall, it seems to crash sometimes. For example, it doesn’t seem to like high volumes of debug() calls. But I don’t know if this is different from running it on windows in any way. Regular use, so far, has been pretty stable.

Closing Remarks

It is also probably a good idea to install a proper code editor into that same bottle. I used Notepad++, but Sublime or Codium would also be nice choices. They can then be set up in TouchDesigner’s settings (under the DAT tab) and this gives you the Ctrl+E shortcut to edit your text outside of TouchDesigner.

I haven’t tried anything beyond that. It is very possible that some operators don’t work as intended, especially if they need driver support for hardware. I might extend this list later, also feel free to give me feedback about stuff that you tried that did or did not work and I might add it here.


Comments are closed. Please feel free to Contact me directly!


Author

Claudius Coenen is a tech-enthusiast. He's writing on all kinds of topics, including programming, technology, gadgets and media.

This site features his occasional articles, findings, documentations.

Categories

Connect

RSS Recent Bookmarks

Legal