Речь сегодня пойдет о том, почему не стоит пытаться устанавливать “неродные” драйвера на Убунту, чем это чревато и как после таких действий вернуть звук в рабочее состояние. Так же расскажу о том, как разблокировать некоторые канальные режимы, которые поддерживаются вашей звуковой платой, но не поддерживаются по умолчанию системой.
А началось все с того, что захотелось мне что то нового, а то все, понимаешь ли, работает – скучно. Почитав форумы, решил я поставить драйвер Realtek для своей встроенной звуковой карты на базе чипа ALC888. Тем более форумы почитал, народ вроде ставит, да и говорят звук лучше работает.
Надо ли говорить что после всех этих манипуляций звук у меня исчез напрочь, а утилита alsacof радостно выдавала :
No supported PnP or PCI card found.
Would you like to probe legacy ISA sound cards/chips?
Соответственно в настройках звука аудиоустройства отсутствовали, а вывод предлагался осуществлять через виртуальное устройство Dummy output.
Можно конечно сказать, что у меня руки кривые. Но! Делал все по инструкции, даже полностью и без ошибок скомпилил альсу из сорцов, но вот alsaconf к сожалению находить мою карту не захотела.. В чем была причина я так и не понял, но просидел пару часов тщетно пытаясь восстановить звук и вернуть все как было -). Это кстати был единственный момент когда я уже подумывал, что придется как в старые, нехорошие виндоузные времена решать проблему переустановкой системы…
…Мне повезло, и я случайно наткнулся на замечательный скрипт, назначение у которого было апгрейдить альсу из сорцов. Так как последняя альса версии 1.0.24 поставляется с Natty, то обычным пользователем он может пригодиться разве что, если они еще не перешли на 11.04. Но, как оказалось, он может эту самую альсу еще и грамотно переустановить, чего у меня никак не получалось.
Итак, всем тем кто потерял звук и тем, кто просто хочет проапдейтить альсу – Скрипт.
Описание
Сам скрипт ставит Альсу из сорцов, поэтому никаких изменений в Синаптике вы не увидите. При любых ошибках скрипт останавливает свою работу до внесения изменений в вашу систему. В самом плохом случае используйте запуск скрипта с ключом -r, это восстановит стандартные акеты ядра и альсы.
Обновления Ubuntu могут откатить ваши изменения, поэтому если это произошло, используйте ключ -i (если конечно вы еще не удалили скомпилированные сорцы).
Использование
1. Скачайте скрипт и распакуйте его в любое место
2. cd <папка-размещения-скрипта>
3. tar xzvf AlsaUpgrade-1.0.24-2.tar.gz
4. chmod +x AlsaUpgrade-1.0.24-2.sh
5. sudo ./AlsaUpgrade-1.0.24-2.sh -d – (скачиваем сорцы и необходимые пакеты)
6. sudo ./AlsaUpgrade-1.0.24-2.sh -c – (компилим скачанные сорцы)
7. sudo ./AlsaUpgrade-1.0.24-2.sh -i – (устанавливаем скомпилированные сорцы)
8. sudo shutdown -r 0 – (перезагружаемся)
После перезагрузки вы можете поглядеть текущую версию альсы:
cat /proc/asound/version
Приложения и PulseAudio
Бывет так, что после того как альсу вы обновили, у вас одновременно не работает звук в браузере и в системе – только где-то в одном месте. При просмотре логов видим – Failed to open audio device (/dev/dsp): Device or resource busy.
Дело все в том что чистая альса не позволяет использовать себя одноременно нескольким приложениям (ну а если как-то и позволяет, то как, я не вкурсе), для этого служит PulseAudio. Нужно заставить приложения автоматически выводить звук через него.
В файле ~/.asoundrc прописываем:
pcm.!default {
type pulse
}
И перезагружаемся, все будет работать как надо.
7.1 канальный звук
Бывает так, что система не хочет определять нормально вашу карту по умолчанию, что в некоторых случаях может привести к отсутсвию различным режимов в настройках звука. Например у меня отсутствует режим 7.1. Исправить можно следующим образом:
1. В настройках Alsa жестко указываем, какой тип карты использовать – добавляем в конец/etc/modprobe.d/alsa-base.conf следующую строчку:
options snd-hda-intel model=”значение”
где значение смотрим тут.
2. В настройках PulseAudio (/etc/pulse/daemon.conf) указываем по умолчанию использовать то количество каналов, какое нам нужно:
default-sample-channels = 8
3. Перезагружаемся
4. В терминале вбиваем alsamixer и в channels выбераем нужное количество каналов.
5. Перезагружаемся
6. В настройках звука выбираем нужный режим.
Ссылки по теме
http://help.ubuntu.ru/wiki/alsa – Компилим alsa из сорцов, мануал.
http://ubuntuforums.org/showthread.php?t=1681577 – оригинальная тема на Ubuntuforums.org, где можно скачать последнюю версию скрипта (требуется регистрация).
А реальная польза-то хоть была от этих манипуляций?
Ага, я себе звук восстановил-))) А так это лишний раз подтверждает правило – все дрова ставить только из репов.
Единственное что – звук себе 7,1 сделал, тут все ок, а то и карта и мулт. система 7,1, а Убунта только 5,1 почему то по дефолту разрешала.
Огромное, спасибо!
Мне то же помогло =)
Если честно скачал твою статью до того как сам начал побывать устанавливать драйвер Realtek и естественно звук пропал.
Но с помощью этой статьи звук удалось восстановить =)
Не за что, рад что помогло.
В следующий раз лучше пользуйтесь офф. репозиториями, Я так уже как то раз пролетал с установкой дравера nvidia вручную.
Огромное спасибо! До того как пришел сюда, тоже поставил Realtek по всем инструкциям и тоже звук пропал напрочь=)
Теперь получилось не только все восстановить, но и получить качественный звук, взамен шипящего. Правда, пока только в наушниках, но видимо, нужно больше поперебирать модели звуковух.
Друг, спасибо тебе за статью и за скрипт, век живи – век учись 🙂
Только вот после ребута в конце у меня уровень звука упал практически до порога слышимости, не было такой проблемы? Сейчас буду разбираться.
Ну да, ларчик просто открывался: стоит добавить, что в alsamixer все бегунки (кроме PC Beep) выставляем на max. Не знаю, есть ли тонкости, но всё пошло! Ещё раз спасибо автору 😉
это так просто, когда тебе на блюдце принесут с голубой каемкой! С П А С И Б О !!! недели полторы копался, просил, умолял на сайтах и ноль…, пока не спотыкнулся об эту страничку и…ну, как всегда 🙂 отложил ее на посмотреть когда времени будет больше…эх, читать бы в детстве кто б меня научил…:)
Круто, рад что этот пост все еще помогает людям=)