Installing the Driver on Bazzite #20
-
|
Hello I just made the switch over to to using Linux and I'm trying to get this driver working on Bazzite. I'm able to get the driver installed via a Fedora distrobox except for getting myself added to the "input group" and "dialout" group (it still says install successful though) but I can't get the tourbox to connect via bluetooth after restart. Also, when I try to get this drive installed via my normal terminal in Bazzite, I get the following error: Installing TourBox Linux driver... × Building wheel for evdev (pyproject.toml) did not run successfully. note: This error originates from a subprocess, and is likely not a problem with pip. × Failed to build installable wheels for some pyproject.toml based projects I'm VERY new to Linux so any help would be appreciated. TYSM in advance! |
Beta Was this translation helpful? Give feedback.
Replies: 7 comments 1 reply
-
|
Hi @dxerfe, welcome to Linux! Bazzite is an immutable distro, which adds some complexity here. Let me break down what's happening: Native Install Error The Python.h: No such file or directory error means you're missing Python development headers. On immutable rpm-ostree install python3-devel Then reboot. However, layering packages on immutable distros is generally discouraged for this kind of thing, so your Distrobox Approach You're on the right track, but there are a few things that need to happen on the host system, not inside the container: 1. Group Membership (Must Be Done on Host) Groups added inside the container don't grant hardware access. On your host Bazzite terminal (not in distrobox), run: sudo usermod -aG input,dialout $USER Then log out and back in (or reboot) for the groups to take effect. 2. Udev Rules (Must Be on Host) The udev rules file needs to be on the host system for device permissions to work. Copy it from the repo to your host: sudo cp /path/to/tourbox-linux/99-tourbox.rules /etc/udev/rules.d/ 3. Bluetooth Considerations BLE from inside a container can be tricky. A few things to check:
Alternative: Try USB First If you have the USB cable, I'd suggest trying USB mode first to verify the driver works, then tackle Bluetooth Inside your distrobox from inside the tourbox-linux directory, run... There is no guarantee that this will work, as Bazzite is a very specialized distro and I have never tried it myself. (I admit I had to consult an AI to get this information) |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the quick response! I followed your instructions until connecting to Bluetooth. My computer can detect via USB for now. But I got the best response for installation so far below: =======================================
|
Beta Was this translation helpful? Give feedback.
-
|
Great progress! You're almost there. GUI Error Fix The libGL.so.1 error means your Distrobox is missing the OpenGL libraries that PySide6 needs. Inside your Distrobox, sudo dnf install mesa-libGL mesa-libEGL Then try tourbox-gui again. Checking if the Driver is Running To verify the driver started successfully: systemctl --user status tourbox You should see "active (running)" if it's working. To watch the live logs (useful for seeing button presses): journalctl --user -u tourbox -f Press some buttons on your TourBox while watching the logs - if the driver is working, you'll see output for each Quick Test Without the GUI If you just want to verify the driver detects your TourBox, you can run it directly in verbose mode: cd ~/tourbox-linux This will show detailed output as it connects and processes button presses. Press Ctrl+C to stop. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks again for the quick response! I've gone ahead and ran the GUI error fix then ran into a similar error. I think I'll need another library to reference: 📦[derfe@Fedora tourbox-linux]$ tourbox-gui Then I got curious if the driver detected my tourbox while connected via USB. While my computer itself knows it's connected, it doesn't seem that any button presses are registering 📦[derfe@Fedora tourbox-linux]$ cd |
Beta Was this translation helpful? Give feedback.
-
|
Also getting these errors to check status 📦[derfe@Fedora tourbox-linux]$ systemctl --user status tourbox 📦[derfe@Fedora tourbox-linux]$ journalctl --user -u tourbox -f |
Beta Was this translation helpful? Give feedback.
-
|
I see what's happening now - there are two separate issues: Issue 1: USB Permission DeniedThe On your host Bazzite terminal (not inside distrobox), verify: groupsIf you don't see sudo usermod -aG input,dialout $USERThen log out and back in (or reboot). After that, verify with Issue 2: Systemd Service Can't Find the DriverThe For now, the simplest workaround is to run the driver manually from inside Distrobox instead of using systemd: # Inside your distrobox
cd ~/tourbox-linux
./venv/bin/python -m tourboxelite --usb -vYou can disable the failing systemd service: # On host or in distrobox (both work for user services)
systemctl --user disable tourbox
systemctl --user stop tourboxIssue 3: More Missing Libraries for GUIFor the fontconfig error, install: # Inside distrobox
sudo dnf install fontconfigYou may hit more missing libraries. To install a broader set of Qt dependencies at once: sudo dnf install mesa-libGL mesa-libEGL fontconfig freetype libxkbcommon libxkbcommon-x11 xcb-util-cursor xcb-util-keysyms xcb-util-image xcb-util-renderutil xcb-util-wmLong-term OptionsRunning from Distrobox with immutable distros is tricky for system services. Your options:
Let me know if the permissions fix works and you can get button presses registering! |
Beta Was this translation helpful? Give feedback.
-
|
So good news! After a long journey to get myself added to the input dialout and input groups I was able to get it installed now and the GUI for button configurations. I had to do these commands in addition to what you suggested to get added to dialout and input: $grep -E '^input:' /usr/lib/group | sudo tee -a /etc/group Also the driver seems to be working just fine now after implementing your suggestions in issue 2 and 3 and the terminal and GUI are detecting and displaying my inputs. Everything seems to be working now, just need to play around with it and using it in my workflow to see if any other issues come up. Thanks again for helping me out, my creative workflow was something I was worried about transferring from Windows to Linux and you've made the transition so much easier. Appreciate all your hard work on this project for all the help on setup! |
Beta Was this translation helpful? Give feedback.
I see what's happening now - there are two separate issues:
Issue 1: USB Permission Denied
The
Permission denied: '/dev/ttyACM0'error means thedialoutgroup membership inside the Distrobox isn't being inherited from the host, or it wasn't applied on the host.On your host Bazzite terminal (not inside distrobox), verify:
If you don't see
dialoutandinputlisted, run:sudo usermod -aG input,dialout $USERThen log out and back in (or reboot). After that, verify with
groupsagain.Issue 2: Systemd Service Can't Find the Driver
The
No module named tourboxeliteerror is because systemd runs on the host system, but the driver is installed inside your Distrobox container. The host can't…