LINUX.ORG.RU

FGLRX + JACK + Fast Track Ultra

 , , ,


1

1

Есть USB звуковуха M-Audio Fast Track Ultra, с ядром 3.5 на ней отлично работает JACK.
При некоторых условиях (переключение на другую консоль с иксов, работа с тяжёлыми проектами в Blender и даже произвольный сёрфинг в Firefox) звуковая карта перестаёт выдавать звук, однако продолжает принимать его с микрофонных входов - видно по индикаторам в различных JACK клиентах. При этом JACK не выдаёт никаких сообщений о проблемах и клиенты продолжают работать как ни в чём не бывало.
Известно что PulseAudio хорошо работает на этой карте с ядром 3.4 и звук не пропадает, но на 3.4 JACK работает некорректно, с ядром 3.5 PulseAudio запускаться не хочет.
Лечится пропавший звук только рестартом звуковой карты, выгружать и загружать модули ALSA ещё не пробовал, с проприетарным драйвером NVidia таких проблем нет, но их нет и при работе JACK на встроенной в материну HDA ATI SB когда в системе используется FGLRX.
Прилагаю /var/log/everything.log (ядро скомпилировано с ALSA debug опциями)

После старта JACK

Aug  7 12:57:34 SEVER kernel: [  241.489495] ALSA sound/usb/pcm.c:326 setting usb interface 2:1
Aug  7 12:57:34 SEVER kernel: [  241.489505] ALSA sound/usb/endpoint.c:435 Creating new capture data endpoint #81
Aug  7 12:57:34 SEVER kernel: [  241.490150] ALSA sound/usb/endpoint.c:794 Setting params for ep #81 (type 0, 8 urbs), ret=0
Aug  7 12:57:34 SEVER kernel: [  241.490541] ALSA sound/usb/pcm.c:326 setting usb interface 1:1
Aug  7 12:57:34 SEVER kernel: [  241.490543] ALSA sound/usb/endpoint.c:435 Creating new playback data endpoint #1
Aug  7 12:57:34 SEVER kernel: [  241.490549] ALSA sound/usb/endpoint.c:427 Re-using EP 81 in iface 2,1 @ffff8803f6b14000
Aug  7 12:57:34 SEVER kernel: [  241.491301] ALSA sound/usb/endpoint.c:794 Setting params for ep #1 (type 0, 8 urbs), ret=0
Aug  7 12:57:34 SEVER kernel: [  241.491338] ALSA sound/usb/endpoint.c:794 Setting params for ep #81 (type 0, 8 urbs), ret=0
Aug  7 12:57:34 SEVER kernel: [  241.491550] ALSA sound/usb/pcm.c:225 Starting data EP @ffff8803f68c4000
Aug  7 12:57:34 SEVER kernel: [  241.491556] ALSA sound/usb/pcm.c:239 Starting sync EP @ffff8803f6b14000
Aug  7 12:57:34 SEVER kernel: [  241.494123] ALSA sound/usb/pcm.c:225 Starting data EP @ffff8803f6b14000

Когда пропал звук

Aug  7 12:59:30 SEVER kernel: [  357.449069] ALSA sound/usb/pcm.c:985 frame 3 active: -18
Aug  7 12:59:31 SEVER kernel: [  358.159453] ALSA sound/usb/pcm.c:985 frame 5 active: -18
Aug  7 12:59:31 SEVER kernel: [  358.303128] ALSA sound/usb/pcm.c:985 frame 6 active: -18
JACK запускаю вот так
jackd -R -d alsa -d hw:2 -r 44100 -p 1024 -n 2
но пробовал и массу других комбинаций. На открытых драйверах таких проблем нет, но при их использовании значительно падает производительность Blender, и на ядре 3.5 не показывает второй монитор. Ещё отмечу, что при запущенном трекере Renoise (не важно, подключен ли он к серверу JACK или же просто работает напрямую через ALSA, даже на другой звуковой карте) звук с FTU не пропадает при переключении на другую консоль, но пропадает произвольно при работе в Blender.
Процессор AMD Phenom II X6 1090T, видеокарта ATI HD6950, ArchLinux.

с ядром 3.5 PulseAudio запускаться не хочет

Сообщение об ошибке?

на ядре 3.5 не показывает второй монитор

Сделайте как автор этого треда.

с ядром 3.4 и звук не пропадает

Опять же, предлагаю написать багрепорт о регрессии в ALSA (пишите как в ядерную багзиллу, так и в багтрекер ALSA). Наверное поломался какой-то костыль, потому как с этой картой проблемы, описанные вами, есть и в Windows.

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от RussianNeuroMancer

Сообщение об ошибке?

[indaair@SEVER ~]$ pulseaudio 
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="1" name="pci-0000_02_00.1" card_name="alsa_card.pci-0000_02_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes card_properties="module-udev-detect.discovered=1""): initialization failed.
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="2" name="usb-M-Audio_Fast_Track_Ultra-00-Ultra" card_name="alsa_card.usb-M-Audio_Fast_Track_Ultra-00-Ultra" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes card_properties="module-udev-detect.discovered=1""): initialization failed.
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="2" name="usb-M-Audio_Fast_Track_Ultra-00-Ultra" card_name="alsa_card.usb-M-Audio_Fast_Track_Ultra-00-Ultra" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes card_properties="module-udev-detect.discovered=1""): initialization failed.
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="2" name="usb-M-Audio_Fast_Track_Ultra-00-Ultra" card_name="alsa_card.usb-M-Audio_Fast_Track_Ultra-00-Ultra" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes card_properties="module-udev-detect.discovered=1""): initialization failed.
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="2" name="usb-M-Audio_Fast_Track_Ultra-00-Ultra" card_name="alsa_card.usb-M-Audio_Fast_Track_Ultra-00-Ultra" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes card_properties="module-udev-detect.discovered=1""): initialization failed.
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="2" name="usb-M-Audio_Fast_Track_Ultra-00-Ultra" card_name="alsa_card.usb-M-Audio_Fast_Track_Ultra-00-Ultra" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes card_properties="module-udev-detect.discovered=1""): initialization failed.
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="2" name="usb-M-Audio_Fast_Track_Ultra-00-Ultra" card_name="alsa_card.usb-M-Audio_Fast_Track_Ultra-00-Ultra" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes card_properties="module-udev-detect.discovered=1""): initialization failed.
W: [pulseaudio] module-udev-detect.c: Tried to configure /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1:1.0/sound/card2 (alsa_card.usb-M-Audio_Fast_Track_Ultra-00-Ultra) more often than 5 times in 10s

Сделайте как автор этого треда.

Спасибо тебе, попробую.

А о проблемах в Windows, кстати, и не знал, потому что почти не пользовался ей там.

indaair
() автор топика
Ответ на: комментарий от indaair

Предварительно отключите autospawn у PulseAudio.

pulseaudio --kill
sudo alsa force-reload
pulseaudio --start
Даёт в итоге тот же набор сообщений об ошибках? При alsa force-reload ошибок нет?

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от RussianNeuroMancer

autospawn уже был отключен, поэтому дело было так:

[indaair@SEVER ~]$ pulseaudio --kill
E: [pulseaudio] main.c: Не удалось убить демон: Нет такого процесса
[indaair@SEVER ~]$ sudo alsa force-reload
sudo: alsa: command not found
[indaair@SEVER ~]$ sudo /etc/rc.d/alsa force-reload
usage: /etc/rc.d/alsa {start|stop|restart}
[indaair@SEVER ~]$ sudo /etc/rc.d/alsa stop
:: Saving ALSA Levels [DONE] 
[indaair@SEVER ~]$ sudo /etc/rc.d/alsa start
:: Restoring ALSA Levels [DONE] 
[indaair@SEVER ~]$ pulseaudio --start
Во время «pulseaudio --start» в /var/log/everything.log вывалилось 5 раз вот такое http://pastebin.com/pfbcbxNv
после пятого раза вот такое
Aug  7 16:01:51 SEVER pulseaudio[3077]: [pulseaudio] module-udev-detect.c: Tried to configure /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1:1.0/sound/card2 (alsa_card.usb-M-Audio_Fast_Track_Ultra-00-Ultra) more often than 5 times in 10s[/code/

indaair
() автор топика
Ответ на: комментарий от indaair

Я конечно может ошибаюсь, но что-то мне подсказывает, что во время старта PulseAudio в логе ALSA не должно быть ничего такого:

ALSA sound/usb/endpoint.c:866 cannot submit urb 0, error -2: endpoint not enabled
Так что см. ответ на третью цитату.

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от RussianNeuroMancer

Спасибо что разъяснили, значит буду писать багрепорт и пока использовать открытый драйвер для ATI во время работы со звуком.

indaair
() автор топика

Пользуйся отрытым драйвером, когда будешь работать со звуком. Старые версии закрытого у меня даже от резкого движения мышью делали лаг звука (а именно в плеере VLC, который, в отличие от Amarok, у меня не буферизирует песню, а считывает её без остановки. С VLC Flash-диск перемигивается огоньком, с Amarok - редко. И с Amarok звук не прерывается никогда). Да и в настоящее время с последними версиями закрытого драйвера иногда притормаживает звук в видеороликах.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Учту, конечно, только вот на других картах (интегрированных), или с PulseAudio на этой FTU не было совершенно никаких слышимых проблем, хотя, во время работы аудио софта со стороны других программ были довольно агрессивные нагрузки на видеокарту и процессор.
Багрепорт пока времени делать нет, но буду пытаться и сидеть на открытых.

indaair
() автор топика
Ответ на: комментарий от RussianNeuroMancer

Сделал как автор этого поста и HD6950 стала корректно работать с двумя мониторами и открытым драйвером, звуковая карта работает как надо.

Это очень хорошо и теперь я могу работать со звуком, но приходится переключаться на проприетарный драйвер для работы с Blender, так как под открытым не хватает производительности - Blender сильно задумывается при выделении объектов в сложных сценах. Но это уже совсем другая история.

indaair
() автор топика
Ответ на: комментарий от lazyklimm

Pulse не нужен если как надо работает JACK.

Но на ядре 3.4 JACK с USB картой работает неправильно, начинает «пердеть» через пару минут, а Pulse работает и позволяет слушать музон на качественной карте во время работы.

На ядре 3.5 JACK работает правильно, но звук с карты пропадает при сильных нагрузках во время работы, а PulseAudio совсем не запускается. При использовании открытых драйверов для видеокарты можно стабильно пользоваться джеком, но тогда не получается работать с Blender, не хватает 3D производительности.

indaair
() автор топика
Ответ на: комментарий от RussianNeuroMancer

Пишите багрепорты по регрессиям в ALSA.

Как только найду время.

Виртуальный ящик работает только с пульсой.

А пульса работает с джеком.

indaair
() автор топика
Ответ на: комментарий от indaair

так как под открытым не хватает производительности - Blender сильно задумывается при выделении объектов в сложных сценах

Кстати говоря, попробуйте врубить ColorTiling, как рекомендуют тут.

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от Hertz

Виртуальный ящик работает только с пульсой.

да ну? в прошлом штоле году последний раз тыкал - работал с альсой без проблем. и вообще - вбокс УГ

lazyklimm ★★★★★
()
Ответ на: комментарий от lazyklimm

Отвечаю. Может нынче поломали чего, но с альсой, даже если топором начинаю шугать: «работай суко, зарублю!», - ни в какую. А хотелось то всего в MK Trylogy помесить. Под вайном взлетает, но почему то sample rate вместо православных 44.1 вино выдаёт неправоверные 22.05, и звук получается глухой и дерьмовый. Так то под линухом нахрен эти вбоксы не нужны, кроме этого другого применения и не нашёл.

Hertz ★★★★★
()
Ответ на: комментарий от RussianNeuroMancer

попробуйте врубить ColorTiling

Запустил ядро с параметром radeon.pcie_gen2=1, врубил ColorTiling и впридачу к нему принудительно EXA и EnablePageFlip.

Точно сказать не могу, может быть 3D в Blender стало слегка быстрее, не уверен, но вращать сцену ещё терпимо, а вот выделение объектов так и осталось медленным - ~20 секунд с момента клика по объекту с radeon супротив ~3-4 секунд с FGLRX в сложных сценах (~4 000 000 фэйсов) и ~2.5 секунды против ~0.05 в относительно простых (~500 000 фэйсов). Происхождение тормозов выглядит для меня особо аномальным, поэтому никак не смею ругать открытый драйвер, а скорее склоняюсь к странным особенностям блендера.

indaair
() автор топика

На ядре 3.4.9 JACK не пердит если использовать -n 3 (встретил где-то совет для USB-звуковух путём гугления по запросу linux usb audio jack cracks). Вероятно, не пердел и на предыдущих ядрах, только тогда у меня ума не хватало использовать -n 3.

Сейчас сижу на ядре 3.4.9 из репов, ничего не падает, звук не пропадает, PulseAudio работает (только оно теперь нафиг не нужно, так как JACK потребляет гораздо меньше ресурсов и тоже стабильно работает). Задержки устраивают, может быть и быстрее умеет работать, но мне и так хорошо, не проверял и работаю уже несколько часов без сбоев потихоньку с jackd -d alsa -d hw:2 -r 44100 -p 256 -n 3

Всем в треде большое спасибо что всё разъяснили, отмечаю его как решённый.

indaair
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.