-
Notifications
You must be signed in to change notification settings - Fork 202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for TC-Helicon GoXLR #121
Comments
I created a test configuration for one stereo stream at perexg@goxlr (patch URL: https://github.com/perexg/alsa-ucm-conf/commit/goxlr.patch). Please, get the latest alsa-ucm-conf from this repo, pull / unpack it somewhere and redirect (symlink) /usr/share/alsa/ucm2 to the unpacked ucm2 tree (backup/rename the original /usr/share/alsa/ucm2 tree). Also, apply the above patch. Let me know, if the Speaker / System device is detected, eventually show me the PW log. |
I did it but when I do so, I don’t have the output anymore. |
Thanks, the spa-acp-tool output is sufficient. Could you show me output from UPDATE: I did some tests locally, but it seems like a bummer from pipewire. It handles incorrectly the private alsa-lib configurations for the PCM devices. |
Here it is |
Also UPDATE: Could you add |
Here is the dump If I do add Syntax 4 as the first line of the file, I now have a warning For the following tests, is there a way to reload the ucm configuration without rebooting ? |
Ahh. OK. The syntax cannot be changed here. Please, modify
It should be enough to restart pipewire / run acp tool or alsaucm. |
It works with |
OK, now it's the time to analyze the channel / output jack mapping. What output jack is connected to first two channels? In configuration, look for the two bindings lines:
Change just the second value (like |
You have the corresponding outputs in my pipewire.conf file in the first message Thanks a lot for your work. It helps a lot. |
I updated perexg@goxlr for playback. |
Thanks. It is not working currently. Here is my last working GoXLR-HiFi.conf file. I changed the bindings to 8 and 9 for Sample, not 10 and 11. But it doesn’t change the fact that the moment I uncomment one more Sectiondevice part, it isn’t working anymore. With only one sectiondevice With 2 or more uncommented |
I updated perexg@goxlr again. The playback device has 10 channels total, right ? |
You’re right, it got 10 channels : FL, FR, RL, RR, SL, SR, FC, LFE, AUX0, AUX1. I tried your new patch, but it still not working. In fact, the moment I uncomment something else than the System sectiondevice, it doesn’t work anymore. Also, is there something to force 48khz and s32le to get rid of this
|
I updated perexg@goxlr again. The channels settings were at the wrong place. |
It works ! Wonderful ! Thank you so much. One mistake from my side. Maybe somewhere pipewire and ucm differs in naming the outputs. But Voice chat and music are inverted. Music should be 6 and 7 and Voice is 4 and 5. Can we now try with the inputs ? |
Can you please also add this usb id : 1220:8FE4 , which is another version of the GoXLR (the Mini version but it works the same) ? Thanks |
I updated perexg@goxlr again. I simplified playback (needs verification) and added capture (input). I don't know how many channels the PCM capture device has. It should be tweaked in the config. Also, the mono mic channel is not readable from the pipewire config. I expect errors somewhere. |
Thanks a lot again. It works if I take off the Mono mic. But I checked on windows, and this input isn’t present. I changed your file to make the names the same as Windows. What do you think ? |
Damn ! Another issue. Everything is working fine with a kernel 5.10 (which I was using for the tests). But if I reboot to the same system but with a kernel 5.14, the profile is gone. There is only the "off" profile available. Do you have an idea ? The fact is, I don’t have sound working on a 5.14 kernel even when I don’t use this new ucm profile. The multichannel stays mute. So it’s not because of what we’ve done, I had the problem before. But I was hoping it will solve this issue. |
Report this in the kernel's bugzilla: https://bugzilla.kernel.org . It appears like a kernel bug:
It's better to test the input using |
The bug is reported : https://bugzilla.kernel.org/show_bug.cgi?id=215079 Thanks again for your kind help. |
This hardware has multichannel output and input, but it's expected to work in separate stereo groups. Use dsnoop/dshare alsa-lib plugins to split the multichannel stream to stereo devices. Fixes: alsa-project#121 Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Hi,
I’m the owner of a GoXLR : https://www.tc-helicon.com/product.html?modelCode=P0CQK . It is a usb sound mixer that is not supported officially with Linux. The main issue is that the GoXLR is a multi inputs / multi outputs device, but it is not seen as one. It works great under Windows thanks to a driver. With Linux, it is seen as a single usb sound device with a single multichannel output. Right now, I managed with other people to separate those channels with pulseaudio or jack or even pipewire, using loopback modules for example. For exemple, Front Left and Front Right are the stereo output named "System". Rear left and rear right are another stereo output named "Game". There are other outputs, and it is the same mechanism for the inputs.
I opened an issue on pipewire, but someone told me it wasn’t possible to separate the in/outputs with a profile : https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1787 .
I then wondered if it was possible with a kernel quirk, which I asked : https://bugzilla.kernel.org/show_bug.cgi?id=215035 .
I was adviced to open a ticket here. So here I am. Do you think it would be possible to create a profile for my device ?
alsa-info.txt
pipewire.conf.txt
The text was updated successfully, but these errors were encountered: