LINUX.ORG.RU

cubieboard, alsa, загрузка 100% cpu

 , , , ,


0

2

Добрый вечер!

Ситуация следующая: есть Cubieboard, и желание использовать на нем MPD-сервер. Проблема заключается в 100%ой загрузке ЦПУ про воспроизведении аудио. В момент тормозов вижу следующее:

 ALSA lib pcm.c:7339:(snd_pcm_recover) underrun occurred

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

На данный момент я уже давненько обновился до ядра 3.4.102(в том образе версия 3.4.75, собранная без поддержки необходимых мне tun/tap и nfs), и столкнулся с данной проблемой.

Какие есть пути решения? 1) Откатится в git до версии 3.4.75 и пересобрать? Не хотелось бы, ребята все таки улучшают поддержку железа.

2) Мигрировать обратно на gcc 4.7.2, с которым и было собрано старое ядро? Но на сколько возможен баг в компиляторе gcc 4.9.2, вызывающий данную проблему? (К тому же в 4.9 вроде бы добавили много улучшений для ARM, не хочется от них отказываться).

Пока я вижу только вариант попробовать разные комбинации версий ядра и версий компилятора. Но по понятным причинам, дело это не очень быстрое.

Кстати, должен заметить что система на «старом» ядре работает ощутимо отзывчивее(работаю через ssh).

Владельцы железок на Allwinner a10, поделитесь опытом!

Ответ на: комментарий от deterok

Видел, там они конфиг пульсы правят, я её еще установить не успел даже.

shooter93 ★★ ()

Проблема заключается в 100%ой загрузке ЦПУ про воспроизведении аудио

Обычно это проблема с битрейтом, когда драйвер нативно поддерживает только 1 битрейт(44100), а на вход подаётся другой(48000 или 22000 например) и приходиться перекодировать.

Вроде у alsa-utils есть USE-flag libsamplerate, но во-первых он включён по умолчанию, а во-вторых сдаётся мне это тебе не поможет.

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)

Откатился в исходниках ядра до коммита версии 3.4.75(как в рабочем ядре), собрал его используя gcc версии 4.9.2. Система не запустилась(в отличии связки gcc 4.9.2 + linux-sunxi 3.4.102).

Следующий шаг: сборка gcc 4.7.4, и попытка собрать ядро 3.4.75.

shooter93 ★★ ()

Не советую на произольную версию в git откатываться. Там в основном не рабочие ревизии получаются. Лучше попробуй включить dmix в asound на последнем ядре. Если gentoo, советую оверлей reinforce подключить, там есть ebuild для ядра.
Звук я в основном через CedarXPlayetTest слушаю, он меньше грузит.
Может, высокая нагрузка на CPU из-за cpufreq и так и должно быть?
Скоро полную поддержку в mainline запилят, уже вроде даже hdmi работает там через simplefb.

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