Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions release/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

## Unreleased

### Added
- `ryoku-desktop` ships `system/hardware/audio/70-ryoku-maono.rules` to
`/usr/lib/udev/rules.d`, so the vendor HID node on Maono USB mics is reachable
by the active-session user. See the system/hardware changelog.

### Fixed
- `ryoku-desktop` no longer ships the PipeWire `switch-on-connect` drop-in
(`ryoku/apps/pipewire/`): it broke the saved default audio device on every
Expand Down
5 changes: 5 additions & 0 deletions release/packages/ryoku-desktop/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -492,6 +492,11 @@ package() {
install -Dm644 "$_repo/system/hardware/ddc/60-ryoku-i2c.rules" \
"$pkgdir/usr/lib/udev/rules.d/60-ryoku-i2c.rules"

# Maono USB mics: their control features sit on a vendor HID page the kernel
# leaves root-only, so uaccess is what lets a control app reach them at all.
install -Dm644 "$_repo/system/hardware/audio/70-ryoku-maono.rules" \
"$pkgdir/usr/lib/udev/rules.d/70-ryoku-maono.rules"

# Bluetooth tuning: bluez owns /etc/bluetooth/main.conf and BlueZ has no
# drop-in dir, so Ryoku cannot ship a copy here (pacman file conflict). The
# ryoku-bluetooth-tune helper (installed by the hardware glob above) sets the
Expand Down
9 changes: 9 additions & 0 deletions system/hardware/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,15 @@
## Unreleased

### Added
- `audio/70-ryoku-maono.rules`: reach the control features on Maono USB mics.
The PD400X and its siblings put gain, EQ, compressor, limiter and the monitor
mix behind a vendor-defined HID page (usage page `0xFF01`) instead of the audio
interface, and the kernel leaves both `/dev/hidraw*` and the raw USB node
root-owned, so a control app running as the user cannot open either one. The
rule grants the active-session user access (`uaccess`, no group setup), the
same pattern as `60-ryoku-i2c.rules`. Shipped to `/usr/lib/udev` by
`ryoku-desktop`. The four standard USB-audio controls (mic gain and mute,
headphone level and mute) already worked without it.
- `leds/ryoku-leds`: `RYOKU_LEDS_DISABLE=1` turns the OpenRGB accent sync off.
`ryoku-leds apply` runs from Hyprland autostart and again from the shell daemon
on every wallpaper change, and there was no off switch short of forking the
Expand Down
6 changes: 6 additions & 0 deletions system/hardware/audio/70-ryoku-maono.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Maono USB mics (PD400X, DM30, ...) expose gain, EQ, compressor, limiter and
# the monitor mix on a vendor-defined HID page rather than the audio interface.
# The kernel leaves that node root-only, so grant the active-session user access
# (uaccess, no group setup) and any control app can reach it.
KERNEL=="hidraw*", ATTRS{idVendor}=="352f", TAG+="uaccess"
SUBSYSTEM=="usb", ATTR{idVendor}=="352f", TAG+="uaccess"
Loading