Replies: 1 comment
|
@jacola This is incredibly helpful! Thank you so much for taking the time to write this up, it's exactly the kind of real-world documentation that helps other users. I love the comprehensive approach here: Distrobox for the immutable filesystem, Vulkan tools for GPU detection, and especially the udev rule for input device access. Question: Would you be open to us incorporating some of this into the installer itself? Specifically:
It would make Vocalinux much more accessible on modern Fedora derivatives. Would you be interested in collaborating on that, or would you prefer we link to your guide as the authoritative source? Thanks again for this awesome contribution! 🙌 |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
AI generated notes of what I needed to do to get this working on Fedora Atomic. Maybe it will be helpful to someone else who can't stand typing because it feels like such an insane waste of time.
Running Vocalinux on Bazzite (Fedora Atomic / Immutable)
This guide covers installing and running Vocalinux on Bazzite and other Fedora Atomic desktops (Silverblue, Kinoite, Aurora, etc.), where the root filesystem is immutable and
dnf installis blocked on the host.📋 Overview
Fedora Atomic images use
rpm-ostreefor system packages, which means you cannot rundnf installon the host. Vocalinux must be installed inside a Distrobox container instead.There are three things to be aware of:
/dev/input/access, which requires a host-side udev rule🚀 Setup
1. Create a Distrobox (if you don't have one)
2. Install Vulkan tools (for GPU acceleration)
Inside your Distrobox, whisper.cpp uses Vulkan for GPU-accelerated speech recognition. The
vulkaninfocommand is needed for detection:Verify your GPU is detected:
You should see your GPU listed (e.g.,
Radeon 8060S Graphics,Intel UHD Graphics, etc.).3. Install Vocalinux
Inside Distrobox:
git clone https://github.com/jatinkrmalik/vocalinux.git cd vocalinux ./install.shThe installer will detect your Vulkan GPU and set up whisper.cpp accordingly.
4. Fix keyboard shortcut permissions (Wayland)
On Wayland, Vocalinux uses
evdevto detect keyboard shortcuts by reading/dev/input/event*devices. Inside Distrobox, rootless Podman remaps device ownership so these devices appear asnobody:nobody, making them unreadable even if you're in theinputgroup.On the host (exit Distrobox first, or open a new terminal), create a udev rule:
Then verify inside Distrobox:
python3 -c "open('/dev/input/event0', 'rb').close(); print('OK')"If it prints
OK, keyboard shortcuts will work.5. Launch Vocalinux
Inside Distrobox:
Or with debug logging:
Installer kills my Distrobox session
The install script used
pgrep -f "vocalinux"to find running instances, which matched the Distrobox container process itself (since the working directory path contains "vocalinux"). You must modify the installer now uses targeted patterns that only match actual Vocalinux application processes."No GPU detected" / falls back to CPU
Make sure
vulkan-toolsis installed inside Distrobox:If
vulkaninforuns but shows no GPU, check that/dev/dri/is accessible:You should see
card*andrenderD*devices.Keyboard shortcut doesn't work
~/.config/vocalinux/config.json:{ "shortcuts": { "toggle_recognition": "ctrl+ctrl", "mode": "toggle" } }vocalinux --debugand look for evdev-related errorsAlternative permission approaches
If you prefer not to use the udev rule, you can:
Set ACLs per-session (does not persist across reboots):
Use X11 instead of Wayland: Vocalinux can use the
pynputbackend on X11/XWayland, which doesn't need/dev/input/access. Switch to an X11 session at the login screen.📌 Summary
distrobox create --name fedora-dev ...sudo dnf install -y vulkan-tools./install.shvocalinuxAll reactions