GoXLR-on-Linux / goxlr-on-linux

Documentation and scripts to make the GoXLR and GoXLR Mini useful on Linux.
142 stars 8 forks source link

Error found when loading .profile #15

Open VirtualJunky opened 3 years ago

VirtualJunky commented 3 years ago

Finally got a chance to try this out and once my computer restarted I was met with the error screenshotted below, the "ok" needs to be clicked multiple times to actually enter the OS. Tried rebooting again to see if it would persist and it does this every time Linux loads. Also I have no sound what so ever, nor do the fader bars "fill up" as sound should be playing, my mic fader does react when I talk or tap on my mic though.

https://i.gyazo.com/f7eb27904034dabf44ca6fcaddeb0714.jpg

This is using Pop!_OS which is a fork of Ubuntu. Newest version, fully updated and all the proper drivers installed.

VirtualJunky commented 3 years ago

Okay so been messing with this for quite a few hours now. Heres the things I've learned;

1) Basically every time I turn on my computer the error message pops up, but it's random with what it's complaining about. Sometimes it's that the server couldn't be started, sometimes it's about system:playback_X and even sometimes it's GoXLR_Source_Chat. There is however a rare chance that it just works, and I actually have audio, it's quite rare though.

2) If I unplug and plug back in my GoXLR (USB NOT power), then do jack_control stop, jack_control exit, pulseaudio --kill then sh configure_goxlr.sh everything then works correctly until next reboot, where I have to repeat the steps again.

I came across this fix because I was thinking maybe it was trying to run that script before my USB ports were fully loaded and everything, even went as far as enabling auto login to see if that would help. But whenever I got the error for GoXLR_Source_Chat it didn't make sense because I knew the config was still loaded on my GoXLR, proven by the fact if I restarted enough times it would eventually work.

The simplest work around I have now, is I noted out source /etc/goxlr/goxlr-on-linux/configure_goxlr.sh from my .profile so on boot up I can just unplug and plugin my GoXLR USB, then simply sh configure_goxlr.sh and everything works.

Any idea on what would cause this, or a way to automate this? Hopefully this helps in some way as well, even if for troubleshooting if someone else has the issue.

RobinVanCauter commented 3 years ago

We are def. looking into installing the script as a systemd script, so we can control the startup order better. I've encountered this error in the past, but that was when I was using hw:0,0 instead of hw:GoXLR,0 and sometimes the audio card number changes on reboot.

If you are using the most recent version of the script, it should be using the named audio interface reference and that should not be the issue, so I'm going to guess this probably has to do with some form of startup deps.

Question: do you have password login enabled? Or does your system automatically login on bootup? I think .profile loads after login in, so if it logs in automatically it might be running the script a bit too soon maybe.

I also do remember some of us having issues with PopOS 20.10, but I think in the end it was also due to the hw number changing on reboots. Feel free to join the Discord if you want some live debugging help with this one :)

VirtualJunky commented 3 years ago

I do have password login enabled but I did try turning it off when testing to see if it would change anything and it doesn't. The error actually pops up before it lets me login, then again after I login.

The issue seems to be bigger then just priority though, because I have the line removed from my .profile and I just unplug and replug in my GoXLR then sh configure_goxlr.sh and it works, but if I reboot and try to just run the command from terminal it will throw all those errors in the console. I actually HAVE to unplug my GoXLR every time I turn my computer on.

VirtualJunky commented 3 years ago

Typed this in the Discord but figured I should also update this issue. I was able to partially fix the issue by removing the zero at the end of line 7 of configure_goxlr.sh so it reads jack_control dps device hw:GoXLR. This however still needs to be ran manually (at least in Pop!_OS) because if left in .profile I believe the script is trying to run before the USB ports are initialized. This is still pretty huge though, as I at least don't have to unplug my GoXLR anymore.

The other issue will probably be fixed when you do get around to making it a systemd script, since from the sound of it I can maybe delay when it runs.

RobinVanCauter commented 3 years ago

So this boils down to a two part problem;

  1. Leaving out the ,0 from the alsa selector, @lm41 already put up #18 to fix this. I will test on Ubuntu ASAP.
  2. Having more control of boot order, which is part of #2
lm41 commented 2 years ago

@VirtualJunky Would you like to test if the systemd configuration from Frosty is working for you

FrostyCoolSlug commented 2 years ago

Commenting to check if this is actually still an issue?