Open-source project
iswad-lab/TouchDesigner-Linux avatar
iswad-lab/TouchDesigner-Linux

TouchDesigner-Linux: A Wine-Based Installer for Running TouchDesigner on Any Distro

Run TouchDesigner on Linux : Automated installer, fixes, icons, & more

133 stars2 forksPythonMIT

At a glance

What is it?
TouchDesigner-Linux automates the messy process of running TouchDesigner on Linux via Wine, handling drivers, UI fixes, and containerized installs. It is a practical tool for artists and developers, but CodeMeter licensing and Wine compatibility still limit its reach.
Who is it for?
Adopt TouchDesigner-Linux if you are a TouchDesigner user on Linux who wants a one-command installer that handles Wine setup, UI fixes, and even containerized installs. Avoid it if you rely on CodeMeter dongles or network licenses, as the client-side runtime is still broken under Wine.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 12 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 7, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The Problem: TouchDesigner's Linux Gap

TouchDesigner, the node-based visual programming environment, has no native Linux build. Users on Linux have historically had to wrestle with Wine manually: installing the right runner, configuring a prefix, applying UI font fixes, and dealing with GPU drivers. This project, TouchDesigner-Linux, aims to remove that friction with an automated installer that works on any distro. It is for artists, VJs, and developers who want to run TouchDesigner on Linux without maintaining a separate Windows machine or virtual machine. The README positions it as a one-command solution, and the installer script auto-detects your environment to skip GUI-only steps over SSH, which is a thoughtful touch for remote setups.

How It Works: Installer, Wine Runners, and Fixes

The project is a Python-based installer that wraps Wine setup. The core mechanism is a shell script that you pipe into bash, which then downloads and configures a Wine runner, creates a Wine prefix, and applies a set of fixes. The README mentions winetricks and DXVK as part of the setup, which are standard tools for managing Wine components and DirectX-to-Vulkan translation. A key fix is the injection of `wine_ui_fixes.tox` into `.toe` files on launch, which addresses broken text rendering in TouchDesigner's UI. The installer also creates desktop shortcuts and file associations for `.toe` files. The base directory is `~/.local/share/touchdesigner-linux/`, which holds the runner, prefix, and backups of patched `.toe` files. This structure suggests a modular approach: the installer can regenerate launchers, winetricks, DXVK, and UI fixes without reinstalling TouchDesigner or recreating the prefix, which is a significant maintenance advantage.

Getting It Running: Commands and Config

The quick install is a one-liner: `curl -sSL https://raw.githubusercontent.com/ismail-bahloul/TouchDesigner-Linux/main/install.sh | bash`. For Arch users, there is an AUR package: `paru -S touchdesigner-linux`. The installer auto-detects your graphical session, SSH, NVIDIA GPU, or SteamOS. For NVIDIA, it advises installing the GPU driver first and rebooting. On SteamOS, it runs `steamos-readonly disable` automatically, which requires your sudo password. A debug mode is available with `DEBUG=true` before the curl command. Once installed, you get a `td-install` command for managing Python packages into TouchDesigner, like `td-install --pip install numpy`, and for CodeMeter license management, like `td-install --codemeter status`. The project also offers a container mode via Distrobox, which avoids touching the host system entirely: `td-install --container install` or `curl ... | bash -s -- --container`.

Container Mode: A Safe Haven for Immutable Distros

The container mode is a standout feature. It runs the entire installation inside a Distrobox container (podman or docker), which is especially useful for immutable distros like SteamOS or Fedora Silverblue. The first run creates a `touchdesigner-linux` container based on Ubuntu 24.04, then installs everything inside it. The launcher, desktop shortcuts, and `.toe` associations still work from the host, because they re-enter the container automatically. The Wine prefix stays in your `$HOME`, which is a sensible design that keeps user data accessible. You can even specify a custom image, like `TD_CONTAINER_IMAGE=fedora:40 td-install --container-create install`. This mode is a genuine alternative to a full host install, and it lowers the risk of breaking your system. However, the README points to a `docs/container.md` for GPU notes and limitations, which suggests that GPU passthrough in containers is not always trivial.

The CodeMeter Hurdle: When It Fails

The most explicit limitation is CodeMeter licensing. TouchDesigner uses CodeMeter for license dongles and network licenses. The project provides a `td-install --codemeter` command to manage the runtime and add license servers. However, the README states plainly: the server side works (native Linux or Docker), but the client under Wine is still blocked because Wibu's protected `cpsrt.dll` will not load under Wine 9.0. This was tested with runtimes 8.41a and 9.10. This means if you rely on a dongle or a network license, you cannot use this installer to run TouchDesigner with those licenses, at least not with current Wine versions. The project makes it easy to try other runtime versions with `--codemeter install`, but that is a workaround, not a fix. This is a critical failure mode for professional users who need license enforcement.

Maintenance and Upgrade Cost

The project is actively maintained, with recent releases v1.6, v1.7, and v1.8. Updating is straightforward: run the installer and choose option 2 to update. Uninstalling is option 3. The update regenerates launchers, winetricks, DXVK, and UI fixes, which implies that fixes are iterative and tied to Wine versions. The uninstaller warns you that it deletes everything, including your TouchDesigner license activation file (`ins*.dat`), so you must re-enter your license key after a reinstall. This is a real cost: a full uninstall is destructive. The project is MIT-licensed, so you can fork and modify it freely, but the maintenance burden falls on the maintainer and the Wine project. Given that Wine is under active development, you may need to update frequently to keep TouchDesigner working, especially as new versions of TouchDesigner or Wine are released.

Alternatives: What Else Is Out There

The main alternative is a manual Wine setup, which is what this project automates. You could install TouchDesigner's Windows installer under Wine yourself, configure winetricks, and apply UI fixes by hand. That approach gives you full control but requires significant Wine expertise and time. Another alternative is running TouchDesigner in a Windows virtual machine, which avoids Wine compatibility issues entirely but adds overhead and requires a Windows license. There is also the possibility of running TouchDesigner on a remote Windows machine via RDP or VNC, which is not a Linux solution but a network one. The project's own documentation includes a runners comparison (`docs/runners.md`), which suggests that different Wine runners (like WineHQ, Proton, or custom builds) have varying compatibility. The key difference is that this project centralizes the fixes and automates the process, whereas manual setups are bespoke and fragile.

Who Should Adopt It, and What to Verify First

This project is a good fit for hobbyists, artists, and developers who want to run TouchDesigner on Linux without a Windows machine, especially if they do not depend on CodeMeter licenses. It is also a good choice for users on immutable distros who want a containerized install. However, professional users with dongle-based licenses should wait until the CodeMeter client works under Wine, or they should plan to use a separate Windows machine. Before adopting, verify your GPU driver setup, especially if you have NVIDIA, and check the compatibility docs for your TouchDesigner version. Also, test the container mode on a non-critical system first, because GPU passthrough can be tricky. The project's active maintenance is a positive sign, but Wine's compatibility with TouchDesigner is the real constraint, and it can change with each Wine release. The installer's ability to update without reinstalling is a strong point, but the destructive uninstall is a warning to back up your license file.

Editorial conclusion

Adopt TouchDesigner-Linux if you are a TouchDesigner user on Linux who wants a one-command installer that handles Wine setup, UI fixes, and even containerized installs. Avoid it if you rely on CodeMeter dongles or network licenses, as the client-side runtime is still broken under Wine. Before adopting, verify your GPU driver setup, test the install in a container first if you are on an immutable distro, and check the compatibility docs for your specific TouchDesigner version. The project is actively maintained, but its core value depends on Wine's evolving support for TouchDesigner, so verify that your critical features work before committing.

Frequently asked questions

How do I install TouchDesigner on Linux?

Run the installer with curl piped to bash, which works on any distro and is the recommended path. Arch users can install the AUR package with paru -S touchdesigner-linux. Budget five to ten minutes and about three to five gigabytes of disk.

Why does TouchDesigner look broken the first time I launch it?

The font fix is a .tox file injected into .toe project files on launch, and the licence activation screen loads before any .toe file, so its text is missing on the first run. Enter your licence, close TouchDesigner, and launch again, at which point the fonts are fixed.

How do I update or uninstall TouchDesigner-Linux?

Run the installer again and choose option two to update or option three to uninstall. An update regenerates the launcher, winetricks, DXVK and the UI fixes without reinstalling TouchDesigner or recreating the Wine prefix. On Arch, use paru -Syu to update and paru -R touchdesigner-linux to remove.

What does uninstalling TouchDesigner-Linux delete?

A full uninstall removes everything including your TouchDesigner licence activation, the ins*.dat files, so you will need to re-enter your licence key after reinstalling. The uninstaller warns you before deleting it.

How do I change the TouchDesigner UI scaling on Linux?

Use td-install --dpi with a value of 96, 120, 144 or 192, or the string auto. Wine's own DPI setting has no effect on TouchDesigner, which is why the installer provides its own flag. The same command installs Python packages with td-install --pip install <package>.

Can I install TouchDesigner-Linux without modifying my system?

Yes, pass the container flag to the installer, which creates a container named touchdesigner-linux. It requires distrobox and podman, or Docker, to be installed already. A dedicated document covers how the container mode works along with GPU notes and its limitations.

Official sources

  1. Official README
  2. Project repository
  3. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/iswad-lab-touchdesigner-linux.svg)](https://hysenlabs.com/projects/iswad-lab-touchdesigner-linux)