Gentoo Music Player Daemon (MPD) and ALSA installing: различия между версиями

Материал из AlexNook
Перейти к навигацииПерейти к поиску
Строка 111: Строка 111:
Процесс установки под Gentoo на Gentoo Wiki Archive вот [http://www.gentoo-wiki.info/MPD тут].
Процесс установки под Gentoo на Gentoo Wiki Archive вот [http://www.gentoo-wiki.info/MPD тут].


==Установка ALSA под Gentoo==
В качестве устройства вывода звука я решил использовать ALSA. Для её установки на свой компьютер, мне пришлось пересобрать ядро, вклчив поддержку ALSA, а так же необходимых драйверов под свою звуковую карту.
===Найстройка ядра Gentoo для поддержки ALSA на P5Q-e===
Для начала сразу скажу, что у меня в сервере стоит мать ASUS P5Q-e с слудующей звуковухой:
{{root| lspci -v | grep -i audio}}
<syntaxhighlight lang="bash" line start="1" line="GESHI_FANCY_LINE_NUMBERS" enclose="div">
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
</syntaxhighlight>
Таким образом запускаем Genkernel и выбираем следующие настройки:
==Настройка ALSA под Gentoo==


[[Category:Index]]
[[Category:Index]]
[[Category:Linux]]
[[Category:Linux]]

Версия 17:50, 7 марта 2011

Решил использовать свой gentoo server box для проигрывания музыки. Купил нужные провода для соединения с системой 5.1. Дальше встал вопрос - как проигрывать музыку удалённо, управляя сервером. ПОтратил некоторое время для поиска консольного плеера, чтобы запускать его по ssh, но случайно наткрунлся на клиент-серверную программу MPD. Прочитал о программе, крайне понравилась идея и огромное количество клиентов подовсе ОС, и даже, веб клиенты, что мне особенно понравилось! Решено, надо установить эту замечательную штуку.

Утсновка Music Player Daemon под Gentoo

Сперва надо выполнить стандартный

emerge -v mpd

Use Flags: aac alsa bzip2 cue curl flac id3 ipv6 lame network sqlite unicode wavpack zip -ao -audiofile -avahi -cdio -debug -ffmpeg -fifo -fluidsynth -jack -lastfmradio -libmms -libsamplerate -mad -mikmod -modplug -musepack -ogg -oss -pipe -profile -pulseaudio -sid -vorbis -wildmidi (?)

Note: Для установки всех флагов их надо занести в
nano /etc/portage/package.use

Однако, как обычно всё гладко не бывает в жизни. После установки всех необходимых сопуствующих программ система приступила к установке собственного самого mpd и на этом остановилась с ошибкой:

 * ERROR: media-sound/mpd-0.15.15 failed.
 * Call stack:
 * ebuild.sh, line 49: Called pkg_setup
 * mpd-0.15.15.ebuild, line 60: Called enewuser 'mpd' '' '' '/var/lib/mpd' 'audio'
 * eutils.eclass, line 726: Called die
 * The specific snippet of code:
 * useradd -r ${opts} \
 * -c "added by portage for ${PN}" \
 * ${euser} \
 * || die "enewuser failed"
 * The die message:
 * enewuser failed

Подтверждение этой ошибки я нашёл вот тут. Если прочитать ошибку, то видно, что проблема в невозможности создать пользователя для mpd, что он не запускался от root'а. Далее я открыл на правку файл, который и вызвал этот затык и внёс в него следующие коррективы:

vim /usr/portage/eclass/eutils.eclass
File: /usr/portage/eclass/eutils.eclass
if [[ -z $@ ]] ; then
	useradd  ${opts} \
	-c "added by portage for ${PN}" \
		${euser} \
		|| die "enewuser failed"
else
	einfo " - Extra: $@"
	useradd -r ${opts} "$@" \
		${euser} \
		|| die "enewuser failed"
fi

На выделенной 730-й строчке я убрал параметр -r у команды useradd. Ещё раз пробуем пересобрать mpd. Всё должно сработать.

Настройка

Теперь приступаем к настройке конфигурационнго файла MPD:

vim /etc/mpd.conf
File: /etc/mpd.conf
music_directory         "/var/lib/mpd/music"
playlist_directory      "/var/lib/mpd/playlists"
db_file                 "/var/lib/mpd/database"
log_file                "/var/log/mpd/mpd.log"
state_file              "/var/lib/mpd/state"
user                    "mpd"
bind_to_address         "localhost"
bind_to_address         "/var/lib/mpd/socket"
port                            "6600"
log_level                       "default"

input {
        plugin "curl"
#       proxy "proxy.isp.com:8080"
#       proxy_user "user"
#       proxy_password "password"
}

audio_output {
        type            "alsa"
        name            "P5Q-E ALSA Device"
#       device          "hw:0,0"        # optional
#       format          "44100:16:2"    # optional
#       mixer_device    "default"       # optional
#       mixer_control   "PCM"           # optional
#       mixer_index     "0"             # optional
}

filesystem_charset "UTF-8"
Warning: Обратите внимание на выделенную строчку номер 6. Все файлы, указанные в конфигурационном файле mpd.conf должны принадлежать пользователю, указанному в строке №6! Все файлы должны существовать, группа у файлов должна быть audio, а пользователь должен иметь права на чтение и запись. На папки естественно и исполнение. Кроме файла socket.

Привер вывода команды

ls -l
-rw-r--r-- 1 mpd  audio 2532 Mar  7 19:53 database
drwxr-xr-x 2 mpd  audio 4096 Mar  7 19:35 music
drwxr-xr-x 2 mpd  audio 4096 Mar  7 19:41 playlists
srw-rw-rw- 1 root root     0 Mar  7 19:53 socket
-rw-r--r-- 1 mpd  audio  493 Mar  7 20:23 state

Проблемы запуска MPD - TroubleShooting

В случае возникновения каких-либо сложностей, надо смотреть вот эту ссылку.

Причём крайне помогает команда

/usr/bin/mpd --stdout --no-daemon --verbose

или же занесения в конфиг /etc/mpd.conf строчки: log_level "verbose"

Так же можно посмтреть вот эту ссылку, которая описывает процесс установки и настройки (в кратце) под различные ОС, или вот процесс установки под ArchLinux.

И наконец, крайне важная ссылка - FAQ, который помогает в поиске ошибок. Очень полезная ссылка.

А вот пример одного из ответов на вопросы, который помог лично мне. Важно собрать MPD с нужными поддерживаемыми форматами, о поддержке которых можно узнать по команде

mpd --version

. В общем читать надо тут.

Процесс конфигурирования MPD описан на официальном вики вот тут. В частности подробно расмотрены варианты Audio device outputs.

Процесс установки под Gentoo на Gentoo Wiki Archive вот тут.

Установка ALSA под Gentoo

В качестве устройства вывода звука я решил использовать ALSA. Для её установки на свой компьютер, мне пришлось пересобрать ядро, вклчив поддержку ALSA, а так же необходимых драйверов под свою звуковую карту.

Найстройка ядра Gentoo для поддержки ALSA на P5Q-e

Для начала сразу скажу, что у меня в сервере стоит мать ASUS P5Q-e с слудующей звуковухой:

lspci -v
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller

Таким образом запускаем Genkernel и выбираем следующие настройки:

Настройка ALSA под Gentoo