From 48fddfe1c61f56605c215b4db595b398d00b91bf Mon Sep 17 00:00:00 2001 From: Laan Tungir Date: Thu, 26 Mar 2026 18:53:26 -0400 Subject: [PATCH] Document NVIDIA GPU passthrough/CUDA rollout and update runtime GPU config path --- plans/gpu_enablement_plan.md | 253 +++++++++++++++++++++++++++++++++++ src/config.c | 3 + src/config.h | 1 + src/gui_main.c | 14 ++ src/main.c | 1 + src/transcribe.c | 79 ++++++++++- src/transcribe.h | 2 + voice_linux_gui | Bin 136192 -> 138632 bytes 8 files changed, 352 insertions(+), 1 deletion(-) create mode 100644 plans/gpu_enablement_plan.md diff --git a/plans/gpu_enablement_plan.md b/plans/gpu_enablement_plan.md new file mode 100644 index 0000000..dd42143 --- /dev/null +++ b/plans/gpu_enablement_plan.md @@ -0,0 +1,253 @@ +# GPU Enablement Plan — voice_linux on NVIDIA GTX 1080 Ti + +## Summary + +Enable CUDA-accelerated whisper.cpp inference for the voice_linux project by passing the GTX 1080 Ti through to the Qubes `ai` AppVM, installing NVIDIA drivers and CUDA toolkit, and rebuilding the application with `WHISPER_CUDA=1`. + +## Current State + +The codebase is **already GPU-ready**: +- [`build.sh`](../build.sh) accepts `WHISPER_CUDA=1` to build whisper.cpp with CUDA +- [`src/transcribe.c:22`](../src/transcribe.c:22) sets `cparams.use_gpu` from the transcribe params +- [`src/main.c:77`](../src/main.c:77) supports `--gpu` / `--cpu` CLI flags +- [`src/transcribe.h:9`](../src/transcribe.h:9) has `use_gpu` in the params struct + +What's missing is the **hardware and driver stack** underneath. + +## Architecture + +```mermaid +graph TD + A[dom0 - Xen Hypervisor] -->|PCI passthrough| B[ai AppVM] + B --> C[NVIDIA Driver 550.x] + C --> D[CUDA Toolkit 12.6] + D --> E[whisper.cpp built with WHISPER_CUDA=ON] + E --> F[voice_linux --gpu] + + style A fill:#f9f,stroke:#333 + style F fill:#9f9,stroke:#333 +``` + +## Phase 0: GPU Passthrough in dom0 + +> **All commands in this phase run in a dom0 terminal.** + +### Step 0.1 — Hide the GTX 1080 Ti from dom0 + +Edit `/etc/default/grub` in dom0 and add `rd.qubes.hide_pci=65:00.0,65:00.1` to the end of the **first** `GRUB_CMDLINE_LINUX` line (inside the quotes): + +```bash +sudo nano /etc/default/grub +``` + +The line should look like: +``` +GRUB_CMDLINE_LINUX="...existing options... rd.qubes.hide_pci=65:00.0,65:00.1" +``` + +The BDF addresses `65:00.0` (GPU) and `65:00.1` (HDMI audio) come from the `lspci` output documented in [`plans/architecture.md:97`](../plans/architecture.md:97). + +### Step 0.2 — Regenerate GRUB and reboot + +```bash +sudo grub2-mkconfig -o /boot/efi/EFI/qubes/grub.cfg +# If that path doesn't exist: sudo grub2-mkconfig -o /boot/grub2/grub.cfg +sudo reboot +``` + +### Step 0.3 — Verify GPU is assignable + +After reboot, in dom0: + +```bash +xl pci-assignable-list +``` + +Expected output should include: +``` +0000:65:00.0 +0000:65:00.1 +``` + +If these don't appear, check IOMMU grouping with `xl pci-assignable-list -l` and verify the GRUB change took effect with `cat /proc/cmdline`. + +### Step 0.4 — Attach GPU to the ai AppVM + +```bash +qvm-pci attach ai dom0:65_00.0 --persistent -o permissive=true +qvm-pci attach ai dom0:65_00.1 --persistent -o permissive=true +``` + +The `--persistent` flag ensures the GPU is attached on every boot. The `permissive=true` option is needed for NVIDIA GPUs in Qubes. + +### Step 0.5 — Decide on driver persistence + +Since `ai` is a template-based AppVM using `debian-13-xfce`, anything installed outside `/home` is lost on reboot. Three options: + +| Option | Pros | Cons | +|--------|------|------| +| **A: Install in template** | Persists automatically, simple | Affects ALL AppVMs using that template | +| **B: Convert to StandaloneVM** | Full persistence, isolated | Uses more disk, no template updates | +| **C: bind-dirs** | Keeps template-based, selective persistence | More complex setup | + +**Recommendation**: Option B (StandaloneVM) is simplest for a dedicated AI workload. Run in dom0: + +```bash +qvm-clone --class StandaloneVM ai ai-standalone +# Then attach GPU to ai-standalone instead +qvm-pci attach ai-standalone dom0:65_00.0 --persistent -o permissive=true +qvm-pci attach ai-standalone dom0:65_00.1 --persistent -o permissive=true +``` + +## Phase 1: NVIDIA Driver Installation + +> **All commands from here run inside the ai AppVM (or ai-standalone).** + +### Step 1.1 — Install build prerequisites + +```bash +sudo apt update +sudo apt install -y build-essential linux-headers-$(uname -r) +``` + +### Step 1.2 — Install NVIDIA driver + +For the GTX 1080 Ti (Pascal/GP102, compute capability 6.1), use the 550.x branch: + +```bash +wget https://us.download.nvidia.com/XFree86/Linux-x86_64/550.127.05/NVIDIA-Linux-x86_64-550.127.05.run +chmod +x NVIDIA-Linux-x86_64-550.127.05.run +sudo ./NVIDIA-Linux-x86_64-550.127.05.run --no-opengl-files --dkms +``` + +> **Critical**: `--no-opengl-files` prevents replacing the VM's display GL stack. We only need CUDA compute, not display rendering. + +### Step 1.3 — Verify driver + +```bash +nvidia-smi +``` + +Expected: Shows GTX 1080 Ti with 11GB VRAM and driver version 550.127.05. + +## Phase 2: CUDA Toolkit Installation + +### Step 2.1 — Install CUDA toolkit + +```bash +wget https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/cuda-keyring_1.1-1_all.deb +sudo dpkg -i cuda-keyring_1.1-1_all.deb +sudo apt update +sudo apt install -y cuda-toolkit-12-6 +``` + +### Step 2.2 — Configure environment + +Add to `~/.bashrc`: + +```bash +echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc +echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc +source ~/.bashrc +``` + +### Step 2.3 — Verify CUDA + +```bash +nvcc --version +``` + +Expected: CUDA 12.6. + +## Phase 3: Rebuild with CUDA + +### Step 3.1 — Clean and rebuild + +From the project directory, run: + +```bash +WHISPER_CUDA=1 bash ./build.sh +``` + +This will: +1. Clone whisper.cpp into `vendor/whisper.cpp` (if not already present) +2. Run `cmake -DWHISPER_CUDA=ON` to configure whisper.cpp with CUDA support +3. Build whisper.cpp with CUDA kernels +4. Download the `ggml-base.en.bin` model (if not present) +5. Compile voice_linux linking against the CUDA-enabled whisper library + +### Step 3.2 — Verify CUDA linkage + +```bash +ldd ./voice_linux | grep -i cuda +``` + +Should show linkage to CUDA libraries (indirectly through libwhisper). + +Also check: +```bash +ldd ./vendor/whisper.cpp/build/src/libwhisper.so | grep -i cuda +``` + +Should show `libcudart.so`, `libcublas.so`, etc. + +## Phase 4: Run with GPU + +### Step 4.1 — Launch with GPU flag + +```bash +./voice_linux --gpu +``` + +The startup log at [`src/main.c:119`](../src/main.c:119) will print `gpu: on` confirming GPU mode. Watch for whisper.cpp log lines mentioning CUDA device initialization. + +### Step 4.2 — Verify GPU utilization + +In a separate terminal while transcribing: + +```bash +nvidia-smi +``` + +Should show `voice_linux` process using GPU memory. + +### Step 4.3 — Optional: Try a larger model + +With 11GB VRAM on the 1080 Ti, you can comfortably run `medium.en` for much better accuracy: + +```bash +cd models/ +wget https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-medium.en.bin +``` + +Then update [`config.ini`](../config.ini) line 5: +```ini +model_path=./models/ggml-medium.en.bin +``` + +| Model | VRAM Usage | Speed (10s audio) | Accuracy | +|-------|-----------|-------------------|----------| +| base.en | ~1GB | <1s | Good | +| medium.en | ~5GB | ~2-3s | Excellent | +| large-v3 | ~10GB | ~4-6s | Best | + +## Troubleshooting + +| Problem | Solution | +|---------|----------| +| `xl pci-assignable-list` empty | Check GRUB cmdline with `cat /proc/cmdline`, verify `rd.qubes.hide_pci` is present | +| `nvidia-smi` not found | Driver install failed; check `dmesg` for NVIDIA errors | +| `nvcc` not found | CUDA PATH not set; run `source ~/.bashrc` or check install | +| whisper.cpp cmake fails with CUDA | Ensure `nvcc` is in PATH before running `build.sh` | +| `voice_linux` crashes on `--gpu` | Run without `--gpu` first to verify CPU mode works, then check CUDA libs with `ldd` | +| GPU passthrough causes VM crash | Try without `permissive=true` first, or check IOMMU groups in dom0 | + +## No Code Changes Required + +The existing codebase handles everything: +- [`build.sh:8`](../build.sh:8) — `WHISPER_CUDA` env var controls CUDA build +- [`build.sh:92-93`](../build.sh:92) — passes `-DWHISPER_CUDA=ON` to cmake +- [`src/transcribe.c:21-22`](../src/transcribe.c:21) — `whisper_context_default_params()` + `use_gpu` flag +- [`src/main.c:77-78`](../src/main.c:77) — `--gpu` / `--cpu` CLI argument parsing + +The only change is the build command: `WHISPER_CUDA=1 bash ./build.sh` instead of `bash ./build.sh`. diff --git a/src/config.c b/src/config.c index 7ad2bcc..feccd35 100644 --- a/src/config.c +++ b/src/config.c @@ -37,6 +37,7 @@ void config_set_defaults(voice_config_t *cfg) { cfg->vad_min_speech_ms = 250; cfg->vad_max_speech_ms = 15000; cfg->autotype_enabled = 1; + cfg->filter_bracketed_tags = 1; } int config_load_file(const char *path, voice_config_t *cfg) { @@ -91,6 +92,8 @@ int config_load_file(const char *path, voice_config_t *cfg) { cfg->vad_max_speech_ms = atoi(value); } else if (strcmp(key, "autotype_enabled") == 0) { cfg->autotype_enabled = atoi(value); + } else if (strcmp(key, "filter_bracketed_tags") == 0) { + cfg->filter_bracketed_tags = atoi(value); } } diff --git a/src/config.h b/src/config.h index 1a80a4c..1e29e3f 100644 --- a/src/config.h +++ b/src/config.h @@ -20,6 +20,7 @@ typedef struct { int vad_min_speech_ms; int vad_max_speech_ms; int autotype_enabled; + int filter_bracketed_tags; } voice_config_t; void config_set_defaults(voice_config_t *cfg); diff --git a/src/gui_main.c b/src/gui_main.c index 1cabac8..b7a4410 100644 --- a/src/gui_main.c +++ b/src/gui_main.c @@ -18,6 +18,7 @@ typedef struct { GtkWidget *record_btn; GtkWidget *always_on_btn; GtkWidget *type_check; + GtkWidget *filter_tags_check; GtkWidget *transcript_view; GtkWidget *record_light; GtkWidget *transcribe_light; @@ -424,6 +425,13 @@ static GtkWidget *add_scale_row(GtkWidget *grid, return scale; } +static void on_filter_tags_toggled(GtkToggleButton *btn, gpointer user_data) { + gui_state_t *s = (gui_state_t *)user_data; + int enabled = gtk_toggle_button_get_active(btn) ? 1 : 0; + s->cfg.filter_bracketed_tags = enabled; + transcribe_set_filter_bracketed_tags(enabled); +} + static void on_app_activate(GtkApplication *app, gpointer user_data) { gui_state_t *s = (gui_state_t *)user_data; @@ -489,6 +497,11 @@ static void on_app_activate(GtkApplication *app, gpointer user_data) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(s->type_check), s->cfg.autotype_enabled ? TRUE : FALSE); gtk_box_pack_start(GTK_BOX(outer), s->type_check, FALSE, FALSE, 0); + s->filter_tags_check = gtk_check_button_new_with_label("Filter bracketed tags like [laughs]"); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(s->filter_tags_check), s->cfg.filter_bracketed_tags ? TRUE : FALSE); + g_signal_connect(s->filter_tags_check, "toggled", G_CALLBACK(on_filter_tags_toggled), s); + gtk_box_pack_start(GTK_BOX(outer), s->filter_tags_check, FALSE, FALSE, 0); + GtkWidget *meter_frame = gtk_frame_new("Live Microphone Level"); gtk_box_pack_start(GTK_BOX(outer), meter_frame, FALSE, FALSE, 0); @@ -597,6 +610,7 @@ int main(int argc, char **argv) { snprintf(tp.language, sizeof(tp.language), "%s", st.cfg.language); tp.use_gpu = st.use_gpu; tp.n_threads = (int)sysconf(_SC_NPROCESSORS_ONLN); + tp.filter_bracketed_tags = st.cfg.filter_bracketed_tags; if (audio_init(&ap) != 0) { fprintf(stderr, "fatal: audio init failed\n"); diff --git a/src/main.c b/src/main.c index 29a240a..72ccb1d 100644 --- a/src/main.c +++ b/src/main.c @@ -87,6 +87,7 @@ int main(int argc, char **argv) { snprintf(tp.language, sizeof(tp.language), "%s", cfg.language); tp.use_gpu = use_gpu; tp.n_threads = (int)sysconf(_SC_NPROCESSORS_ONLN); + tp.filter_bracketed_tags = cfg.filter_bracketed_tags; hotkey_ctx_t hk; diff --git a/src/transcribe.c b/src/transcribe.c index c7c9b8d..47b4f3c 100644 --- a/src/transcribe.c +++ b/src/transcribe.c @@ -1,5 +1,6 @@ #include "transcribe.h" +#include #include #include #include @@ -8,6 +9,71 @@ #define WITH_WHISPER 0 #endif +static int g_filter_bracketed_tags = 1; + +static char *filter_bracketed_tags_copy(const char *input) { + if (!input) return NULL; + + const size_t len = strlen(input); + char *no_tags = (char *)malloc(len + 1); + if (!no_tags) return NULL; + + size_t w = 0; + int bracket_depth = 0; + + for (size_t i = 0; i < len; ++i) { + unsigned char ch = (unsigned char)input[i]; + + if (ch == '[') { + bracket_depth++; + continue; + } + if (ch == ']' && bracket_depth > 0) { + bracket_depth--; + continue; + } + if (bracket_depth > 0) { + continue; + } + + no_tags[w++] = (char)ch; + } + no_tags[w] = '\0'; + + char *out = (char *)malloc(w + 1); + if (!out) { + free(no_tags); + return NULL; + } + + size_t j = 0; + int in_space = 1; + for (size_t i = 0; i < w; ++i) { + unsigned char ch = (unsigned char)no_tags[i]; + if (isspace(ch)) { + if (!in_space) { + out[j++] = ' '; + in_space = 1; + } + } else { + out[j++] = (char)ch; + in_space = 0; + } + } + + if (j > 0 && out[j - 1] == ' ') { + j--; + } + out[j] = '\0'; + + free(no_tags); + return out; +} + +void transcribe_set_filter_bracketed_tags(int enabled) { + g_filter_bracketed_tags = enabled ? 1 : 0; +} + #if WITH_WHISPER #include @@ -17,6 +83,7 @@ static transcribe_params_t g_params; int transcribe_init(const transcribe_params_t *params) { if (!params) return -1; g_params = *params; + transcribe_set_filter_bracketed_tags(g_params.filter_bracketed_tags); struct whisper_context_params cparams = whisper_context_default_params(); cparams.use_gpu = g_params.use_gpu ? true : false; @@ -63,7 +130,17 @@ char *transcribe_buffer(const float *samples, size_t count) { if (i + 1 < nseg) strcat(out, " "); } - return out; + if (!g_filter_bracketed_tags) { + return out; + } + + char *filtered = filter_bracketed_tags_copy(out); + if (!filtered) { + return out; + } + + free(out); + return filtered; } void transcribe_cleanup(void) { diff --git a/src/transcribe.h b/src/transcribe.h index df66c2a..1e9faf5 100644 --- a/src/transcribe.h +++ b/src/transcribe.h @@ -8,9 +8,11 @@ typedef struct { char language[32]; int use_gpu; int n_threads; + int filter_bracketed_tags; } transcribe_params_t; int transcribe_init(const transcribe_params_t *params); +void transcribe_set_filter_bracketed_tags(int enabled); char *transcribe_buffer(const float *samples, size_t count); void transcribe_cleanup(void); diff --git a/voice_linux_gui b/voice_linux_gui index 4d37dec67e4082950ebda5d1cbbd7cf60fe1ec0d..6f29f6f2f261e521c82e62a819572ac1e0b25957 100755 GIT binary patch delta 58062 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 f<|pgzdQwb5XET2ZG;HMEvUop#EWl+Ig%4+fL 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