Jump to content

Local Pocket TTS 260124

From Game in the Brain Wiki

πŸŽ™οΈ Local TTS Wiki: Pocket TTS on Ubuntu

Template:Notice

πŸ› οΈ System Requirements

This guide is specifically optimized for the following stack:

  • GPU: AMD Radeon RX 7600 (RDNA3 / Navi 33)
  • OS: Ubuntu 24.04 LTS (Noble Numbat)
  • Platform: ROCm 6.x

πŸ” Phase 0: Pre-Flight Compatibility Check

Before you begin, run these commands to ensure your hardware is ready.

1. Check CPU Support

Pocket TTS requires AVX2 instructions for real-time CPU performance.

lscpu | grep -i "avx2"

2. Verify GPU Detection

Ensure your RX 7600 is visible to the system.

lspci -nn | grep -i vga

3. Check Kernel Version

AMD RDNA3 cards (RX 7600) require Kernel 6.2 or higher for stable support.

uname -r

πŸ› οΈ Phase 1: Driver & ROCm Setup

The RX 7600 uses the gfx1102 architecture.

1. Install AMD ROCm 6.2

sudo apt update

# Download the installer for Ubuntu 24.04
wget https://repo.radeon.com/amdgpu-install/6.2.4/ubuntu/noble/amdgpu-install_6.2.60204-1_all.deb
sudo apt install ./amdgpu-install_6.2.60204-1_all.deb

# Install ROCm and Graphics components
sudo amdgpu-install --usecase=rocm,graphics --no-dkms

2. Hardware Access Permissions

Check if your user already has the necessary hardware permissions:

groups | grep -E 'render|video'
  • If output shows render and video: Skip to Phase 2.
  • If empty: Run the commands below and then log out/in.
sudo usermod -a -G render,video $LOGNAME

πŸ“¦ Phase 2: Pocket TTS Installation

1. Install uv (Fast Package Manager)

curl -LsSf https://astral.sh/uv/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
source ~/.bashrc

2. Environment Setup

# Create and enter virtual environment
uv venv tts_env
source tts_env/bin/activate

# Install ROCm-specific PyTorch for AMD GPUs
uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.1
uv pip install pocket-tts

πŸš€ Phase 3: Launching the Service

Standard Launch

By default, the server runs on port 8000. Use a unique port (like 5821) to avoid conflicts.

uvx pocket-tts serve --port 5821

RX 7600 Hardware Override

If the server starts but uses the CPU instead of the GPU, use this environment variable to force RDNA3 compatibility:

export HSA_OVERRIDE_GFX_VERSION=11.0.0
uvx pocket-tts serve --port 5821

πŸ§ͺ Phase 4: Verification

Create a script named check_gpu.py to confirm hardware acceleration is active:

import torch
print(f"Is ROCm/GPU available? {torch.cuda.is_available()}")
if torch.cuda.is_available():
    print(f"Device Name: {torch.cuda.get_device_name(0)}")
else:
    print("Warning: Running on CPU. Check Phase 3 for the RX 7600 Override.")

Run it with: python check_gpu.py

⚠️ Common Failure Steps & Fixes

Symptom Fix
amdgpu-lib32 unmet dependencies Run the 32-bit architecture fix (see below).
Permission Denied on /dev/kfd Ensure you added groups and restarted your session.
Address already in use Use the --port 5821 flag.
HSA_STATUS_ERROR_OUT_OF_RESOURCES Close other GPU-heavy apps (Browsers/Games).

Detailed Fix: amdgpu-lib32 Unmet Dependencies

If you encounter errors regarding :i386 packages, enable the 32-bit architecture:

sudo dpkg --add-architecture i386
sudo apt update
sudo amdgpu-install --usecase=rocm,graphics --no-dkms