Обычный режим
Ответить

Gentoo sndio

16 дек 2017, 08:09

aucat звуковой сервер openbsd легко переносится на другие операционные
системы,а в оверлее лежит готовый ebuild,установка:
Код:
layman -a quarks && eix update
emerge sndio

после установки меняем шапочку в файле /etc/init.d/sndiod на
#!/sbin/openrc-run,а лучше положить в свой локальный оверлей весь пакет
при помощи утилиты repoman и удалить оверлей
добавляем в загрузку:
Код:
rc-update add sndiod boot

alsa при этом трогать совсем не нужно,просто перенаправить устройство
вывода через asoundrc:
Код:
cat ~/.asoundrc
pcm.sndio {
type asym
playback.pcm "sndio-play"

hint {
   show on description "OpenBSD sndio"
}
}

pcm.sndio-play {
type plug
slave {
pcm "sndio-raw"
rate 48000
format s16_le
channels 2
}
}

pcm.sndio-raw {
type file
slave.pcm null

format raw
file "| aucat -f snd/0 -i -"
}
pcm.default sndio

последний шаг c правами :
Код:
mkdir -p /var/run/sndiod
useradd -r -g audio -s /sbin/nologin -d /var/run/sndiod sndiod

проверяем набрав в консоли:
Код:
tupoll@shell [127] ~ % sndiod -ddd
snd0 pst=cfg.default: rec=0:1 play=0:1 vol=23170 dup
listen(/tmp/aucat-1000/aucat0|ini): created
sock(sock|ini): created
sock,rmsg,widl: AUTH message
sock,rmsg,widl: HELLO message
sock,rmsg,widl: hello from <aucat>, mode = 1, ver 7
sock,rmsg,widl: using snd0 pst=cfg.default, mode = 1
aucat0: overwritten slot 0
snd0 pst=cfg: device requested
sio(rsnd/0|ini): created
snd0 pst=ini: 48000Hz, s16le, play 0:1, rec 0:1, 8 blocks of 960 frames
sock(sock|ini): processed in 19720us
aucat0 vol=127,pst=ini,mmc=off,rmsg,widl: SETPAR message
aucat0 vol=127,pst=ini,mmc=off,rmsg,widl: playback channels 0:1 -> 0:1
aucat0 vol=127,pst=ini,mmc=off,rmsg,widl: 48000Hz sample rate, 960 frame blocks
aucat0 vol=127,pst=ini,mmc=off,rmsg,widl: 9600 frame buffer
aucat0 vol=127,pst=ini,mmc=off,rmsg,widl: GETPAR message
aucat0 vol=127,pst=ini,mmc=off,rmsg,widl: GETPAR message
aucat0 vol=127,pst=ini,mmc=off,rmsg,widl: START message
а то здесь что-то никто не пишет :?
Ответить