Skip to content

TrimUI Brick Pro (tg4040): volume keys don't control USB audio (USB-C headphones) #1650

Description

@bindike

Device

TrimUI Brick Pro (tg4040), nightly v4.3.6-20260906

Summary

USB-C UAC headphones (Apple EarPods) play fine, but the volume keys and audio
routing aren't USB-audio-aware.

What works

  • The headphones enumerate as ALSA card 1 (USB-Audio); the audio interfaces bind
    (snd-usb-audio is built in, CONFIG_SND_USB_AUDIO=y).
  • If connected before launching a game, RetroArch (audio_device = "") opens the
    USB card and game audio plays through it (card1 pcm RUNNING, card0 closed).

Problems

  1. Volume keys don't affect USB output. Volume on the Brick is handled by the
    stock TrimUI firmware via the transient /tmp/system/set_volume, targeting only
    the built-in codec (card 0). With audio on card 1, the keys (and the EarPods'
    inline HID volume buttons) do nothing audible. The USB card does expose volume
    (amixer -c1: numid=4 Headset Playback Volume 0-38, numid=6 0-120 — setting
    these works), but nothing drives it. There's no stable current-level value to
    mirror externally (codec controls sit at max; level is applied internally).
  2. No hotplug re-routing. Output only lands on the USB card if it's present
    before the game starts; plugging in mid-game keeps output on the speaker until
    the game is relaunched.

Suggestion

Make the volume path and routing USB-audio-aware: when a USB audio card is present,
route output to it and have the volume keys target its playback volume
(card1 numid=4/6), ideally re-routing on hotplug.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions