Nie można uruchomić gniazda jack (nie można przydzielić pamięci)

15

Chcę użyć PulseAudio na górze gniazda, więc wyłączyłem puls i teraz chcę zacząć korzystać z gniazda qjackctl. Powoduje to jednak następujący dziennik błędów:

22:14:15.933 Patch Panel disabled
22:14:15.940 Reset statistics.
22:14:15.953 Changed ASLA connection.
22:14:15.970 D-BUS: Service available (org.jackaudio.service aka jackdbus).
Cannot connect to server socket err = File or directory not found
Cannot connect to server socket
jack server is not running or cannot be started
22:14:15.980 Updated visualization of ASLA connections
22:14:18.147 D-BUS: Unable to start JACK server
Cannot connect to server socket err = File or directory not found
Cannot connect to server socket
jack server is not running or cannot be started
Fri Jul 20 22:14:18 2012: Starting jack server...
Fri Jul 20 22:14:18 2012: JACK server starting in realtime mode with priority 10
Fri Jul 20 22:14:18 2012: [1m[31mERROR: Cannot lock down 82246176 byte memory area (Cannot allocate memory)[0m
Fri Jul 20 22:14:18 2012: control device hw:0
Fri Jul 20 22:14:18 2012: control device hw:0
Fri Jul 20 22:14:18 2012: [1m[31mERROR: Failed to acquire device name : Audio0 error : Cannot allocate memory[0m
Fri Jul 20 22:14:18 2012: [1m[31mERROR: Audio device hw:0 cannot be acquired...[0m
Fri Jul 20 22:14:18 2012: [1m[31mERROR: Cannot initialize driver[0m
Fri Jul 20 22:14:18 2012: [1m[31mERROR: JackServer::Open() failed with -1[0m
Fri Jul 20 22:14:18 2012: [1m[31mERROR: Failed to open server[0m
Fri Jul 20 22:14:19 2012: Saving settings to "/home/jan/.config/jack/conf.xml" ...
22:14:24.418 Cannot connect to JACK server as client - connection failed. See message dialog for details.
Cannot connect to server socket err = File or directory not found
Cannot connect to server socket
jack server is not running or cannot be started

(Kilka wiadomości było w języku niemieckim, zrobiłem co w mojej mocy, aby je przetłumaczyć)

Proces pulseaudio na pewno nie działa.

Używam Ubuntu 12.04 64 bit z kartą dźwiękową NVIDIA.

Yogu
źródło

Odpowiedzi:

16

Ok, rozumiem: musiałem dodać się do grupy audio:

usermod -a -G audio theusername

Członkostwo w grupie jest aktualizowane tylko podczas logowania, więc musisz się wylogować i zalogować ponownie (lub po prostu zrestartować) .

Yogu
źródło
2
Nawet w grupie audio gniazdo nie może przydzielić pamięci.
btilford,
3
Robiłem to bezskutecznie; musiałem się wylogować i zalogować ponownie. Mam nadzieję, że ktoś oszczędzi 5 minut.
underskor
@tilford używasz Dockera lub innego kontenera?
Jonathan
@Jathanathan Staram się to zrobić za pomocą Dockera - i to po prostu nie działa :( Czy działało to w Dockerze?
Angad
W moim przypadku wylogowanie nie wystarczyło. Uruchomienie pomogło.
PetroCliff
1

Szybka wersja: oto, co dodałem do /etc/security/limits.conf, aby naprawić problem blokady pamięci; symbol @ wskazuje, że ustawienia dotyczą grupy zamiast użytkownika:

 user        soft      rtprio      90
 user        soft      memlock      unlimited

 @audio      hard      rtprio      90
 @audio      hard      memlock      unlimited

 @video      hard      rtprio      90
 @video      hard      memlock      unlimited

Istnieje prosty sposób na rozwiązanie problemu „Nie można zablokować obszaru pamięci 82246176 bajtów”. Blokada pamięci jest zwykle bardzo mała. Możesz sprawdzić sam z ulimit -lmaksymalną zabawą ulimit -a. Lub maksimum informacji, jeśli nie znosisz zabawy.

Chcesz skonfigurować system, aby umożliwić użytkownikowi i odpowiednim grupom korzystanie z nieograniczonej pamięci.

Ustawienia znajdują się w /etc/security/limits.conf; plik w obecnej postaci nic nie robi, ale wyjaśnia twoje opcje. Jeśli po ulimit -lzwróceniu się do mojego przykładu z góry nie zwróci „nieograniczony”, coś jest nie tak z twoimi ustawieniami w dokumencie.

Re: pytania ludzi dotyczące Dockera (lub snapd lub innego rodzaju wirtualizacji), możesz mieć za mało dostępnej pamięci lub plik konfiguracyjny może nie być edytowalny. Lub może działać.

Fin Hirschoff
źródło