shorepine / tulipcc

The Tulip Creative Computer - a portable Python synthesizer for music and graphics
https://tulip.computer/
Other
416 stars 28 forks source link

Linux Tulip Desktop megaissue, we need help with maintaining #295

Open bwhitman opened 1 month ago

bwhitman commented 1 month ago

We're having various problems with Tulip Desktop in Linux. There are probably a few unrelated issues #231 #230 #121

I personally don't use Linux regularly, and it shows. When I test it, I run Tulip Desktop just fine in VMWare on my Mac on Ubuntu 22 and Fedora 39 in VMs. I run the ARM linux versions to test. I don't have easy access to an intel machine, or one with a real GPU, or etc

I would love for someone who's more linux-savvy to help me get this app into shape so we stop having so many problems. Most of them seem to be to do with SDL. SDL works for me on Mac and the linux-es I test on, however.

There's also #253, which is a feature we need to add in for MIDI. I don't know enough about Linux MIDI to pull this off.

Can anyone help in the short term? Longer term I do really think we should just move Tulip Desktop to the web (#182) and just maintain one platform, but that'll be a while. In the interim I would love to have someone help us out getting better at running Desktop in linux!

bwhitman commented 1 month ago

Logistics note: we do build the linux version as a commit hook in GitHub here, so we are tracking that it always builds fine. Maybe there's a way to also make a run hook to test the app starts in the GitHub task runner?

znmeb commented 1 month ago

I don't know anything about GitHub Actions, etc., but I can certainly test and troubleshoot on various Linux environments. I have an Alienware Aurora with an NVIDIA RTX 3090 on Windows 11 / WSL, which can run Ubuntu, Debian, Arch and Fedora. NVIDIA only supports the GPU in Ubuntu, however.

If you're interested in "native" Windows, Tulip will probably build and run in a Mambaforge virtual environment. This is a Python conda based package and environment manager that supports just about everything Python and GPU, including PyTorch and TensorFlow. It also has many common libraries and build tools like git, gcc, make, CMake and ninja. It runs on 64-bit Windows, MacOS and Linux.

I have an Acer Nitro 5 with an NVIDIA GTX 1650 on Universal Blue Bluefin 40 (a superset of Fedora Silverblue 40). Bluefin/Silverblue is a Fedora Atomic Desktop designed for "container-native" workflows. The host has a GNOME desktop and can run Fedora apps, but most of the work is done in either Distrobox or Docker containers. Distrobox containers can be just about any Linux distro that has a Docker image on Docker Hub, but I only use Fedora 40, Ubuntu "jammy" and "noble" and Debian "bullseye" and "bookworm" regularly. I occasionally use Arch.

I also have a few Raspberry Pi Zero 2 Ws. They can run either Ubuntu "jammy" or Debian "bullseye" 32 or 64 bits, but they only have 512 MB of RAM, which isn't enough to run Ubuntu "noble" or Debian "bookworm". 512 MB of RAM isn't enough for a desktop but they should run the Tulip desktop assuming the compiles can run in 512 MB of RAM.