geoffreybennett / alsa-scarlett-gui

alsa-scarlett-gui is a Gtk4 GUI for the ALSA controls presented by the Linux kernel Focusrite Scarlett2 Mixer Driver
511 stars 33 forks source link

Unexpected levels in Levels Display. #77

Closed jandejongh closed 7 months ago

jandejongh commented 8 months ago

Running v0.3.1 on Fedora 39 with Pipewire/PulseAudio [no JACK yet, AFAIK] with a 2nd Gen 6i6. Applied modprobe.d stuff, audio group stuff, limits stuff.

Signal Routing works just fine, here's my [modest] routing:

image

Setup: Playing a song with audacious, PulseAudio routing to 6i6, showing USB Levels in alsa-scarlett-gui, looking at middle row [Mixer Inputs]. All mixer level unused set to -80dB:

image

Result: Levels of Mixer inputs 1&2 (3&4 do not) perfectly follow the [stereo] signal, but also mixer inputs 9 through 18 see below:

image

Expected: Since I do not use mixer inputs 9 through 18, I'd expect no signal displayed here. Also, I'd expect Mixer Inputs 3 and 4 to follow the input signal instead of 1 and 2. (Clearly, 5 through 8 level displays are weird as well, but different... All PCM Inputs levels also follow the signal which is unexpected as well...)

geoffreybennett commented 8 months ago

Hi @jandejongh,

Please try 0.3.2 and confirm that the Level Meters option is disabled now?

Thanks, Geoffrey.

jandejongh commented 8 months ago

Confirmed Geoffrey. Just built and ran on Fedora 39. Levels option is grayed out / disabled. I understand the 6i6/2ndgen does not properly support this? Thanks, BR, Jan.

geoffreybennett commented 8 months ago

Hi @jandejongh,

Thanks for checking that. All the devices do properly support it, but you need a 6.7 kernel if you want the values interpreted correctly (otherwise you get the weird results as you see).

6.7-rc1 just came out, if you dare to try it, or I'd suggest following the instructions here to build just the snd-usb-audio module as an update to your current kernel.

Let me know how you go.

Thanks, Geoffrey.

jandejongh commented 8 months ago

Hi Geoffrey,

I tried to build and install the snd-usb-audio module against my Linux 6.5.11 kernel (Fedora 39), following your instructions. Apart from some warnings related to BTF and (I guess) signing, all appears to work after reboot. Levels are back in the gui 0.3.2-1-g9293, and they work like a charm now! (6i6 2nd Gen). Tested Hardware Outputs, Mixer Inputs and PCM Inputs => all OK. "Sliders" are now Read-Only as well. The new module also fixes the Level Display on v0.3.1 (probably to be expected).

image

(Mixer Inputs 1 and 2 and PCM Inputs 1 and 2 show the noise from my guitar-effects processor.)

Unfortunately, this is somewhat too much of a production machine to try the 6.7 RC kernel. I'll patiently wait for Fedora to push it through their repos and then try again.

Thanks, Jan

geoffreybennett commented 8 months ago

Excellent, and thanks for the quick feedback! What you observe is how it's meant to work! :)

No problem on not testing the RC kernel. Testing only the new snd-usb-audio module is sufficient for our purposes.

You may also notice that the modprobe.d device_setup=1 configuration is no longer required.

Just note that if you upgrade your kernel, then you'll also need to rebuild/reinstall the module, otherwise it will revert to the version that needs device_setup=1 and has not-working level meters. There is a way to have the module automatically rebuild with new kernel updates (akmods), but I'm not sure that's a good idea because when Linux 6.7 eventually arrives, we don't want this module to keep overriding it.