Не могу разделить /dev/dsp :(
Вторая проблема из четырех...
Кратко суть проблемы: при запущенном aRts сервере и играющем XMMS, например, сделать cat /dev/urandom >/dev/dsp нельзя - устройство занято. Это модель, разумеется, но таким же далеким посылом (Soundcard I/O error) отзывается Skype или KPhone при попытке инициализировать соединение с кем-нибудь. НО! Sim, например, работает относительно нормально. И не только сим. Многие другие приложения каким то хитрым образом умудряются использовать миксер.
Как заставить ВСЕ приложения без исключений работать с микшером нормально? Я и так пользуюсь костылями - артс если не используется отключается через 2 секунды вместо минуты по умолчанию. Но интересуют не костыли, а грабли. Точнее полная их ликвидация.
моя машина описана тут: http://gentoo.ru/node/1935
Железо: 00:04.0 Multimedia audio controller: nVidia Corporation CK804 AC'97 Audio Controller (rev a2)
На компе заинсталлированы
1) ALSA, т.е.:
* media-libs/alsa-lib
Latest version installed: 1.0.10
* media-libs/alsa-oss
Latest version installed: 1.0.10
* media-plugins/gst-plugins-alsa
Latest version installed: 0.8.11
* media-plugins/xmms-alsa
Latest version installed: 1.2.10-r3
* media-sound/alsa-headers
Latest version installed: 1.0.10
* media-sound/alsa-utils
Latest version installed: 1.0.10
* media-sound/alsaplayer
Latest version installed: 0.99.76-r1
Пользуюсь альсой, которая поставляется с ядром, т.е. lsmod выдает следующее:
snd_pcm_oss 55136 0
snd_mixer_oss 18752 1 snd_pcm_oss
snd_seq_oss 34816 0
snd_seq_midi_event 8320 1 snd_seq_oss
snd_seq 56320 4 snd_seq_oss,snd_seq_midi_event
snd_seq_device 9808 2 snd_seq_oss,snd_seq
snd_intel8x0 36960 0
snd_ac97_codec 107160 1 snd_intel8x0
snd_ac97_bus 2880 1 snd_ac97_codec
snd_pcm 97356 3 snd_pcm_oss,snd_intel8x0,snd_ac97_codec
snd_timer 25416 2 snd_seq,snd_pcm
snd 60072 9 snd_pcm_oss,snd_mixer_oss,snd_seq_oss,snd_seq,sn
d_seq_device,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer
snd_page_alloc 11984 2 snd_intel8x0,snd_pcm
2) Звуковой сервер aRts (пользуюсь KDE 3.5) все собиралось с USE=arts (в том числе, разумеется. Вся строка очень длинная)
3) * media-plugins/xmms-esd
Latest version installed: 1.2.10-r1
* media-libs/gstreamer
Latest version installed: 0.8.11
Мой конфиг: /etc/asound.conf после долгих ковыряний
=====================
pcm.CK804 {
type hw
card 0
device 0
}
ctl.CK804 {
type hw
card 0
device 0
}
pcm.!default {
type plug
slave.pcm "dmixer"
}
pcm.dmixer {
type dmix
ipc_key 1024
slave.pcm "CK804"
slave {
period_time 0
period_size 2048
buffer_size 16384
# rate 44100
}
bindings {
0 0
1 1
}
}
ctl.dmixer {
slave.ctl "CK804"
}
===============
gentoo etc # ls -l /dev/sound/
итого 0
crw-rw---- 1 root audio 14, 12 Янв 1 11:22 adsp
crw-rw---- 1 root audio 14, 4 Янв 1 11:22 audio
crw-rw---- 1 root audio 14, 3 Янв 1 11:22 dsp
crw-rw---- 1 root audio 14, 0 Янв 1 11:22 mixer
crw-rw---- 1 root audio 14, 1 Янв 1 11:22 sequencer
crw-rw---- 1 root audio 14, 8 Янв 1 11:22 sequencer2
gentoo etc # ls -l /dev/snd/
итого 0
crw-rw---- 1 root audio 116, 0 Янв 1 11:22 controlC0
crw-rw---- 1 root audio 116, 24 Янв 1 11:22 pcmC0D0c
crw-rw---- 1 root audio 116, 16 Янв 1 11:22 pcmC0D0p
crw-rw---- 1 root audio 116, 25 Янв 1 11:22 pcmC0D1c
crw-rw---- 1 root audio 116, 18 Янв 1 11:22 pcmC0D2p
crw-rw---- 1 root audio 116, 1 Янв 1 11:22 seq
crw-rw---- 1 root audio 116, 33 Янв 1 11:22 timer
gentoo etc # ls -l /dev/dsp
lrwxrwxrwx 1 root root 9 Янв 1 11:22 /dev/dsp -> sound/dsp
Как это ни странно, но /dev/sndstat у меня нет (т.е. нет этой символической ссылки), но зато есть /proc/asound/oss/sndstat:
Sound Driver:3.8.1a-980706 (ALSA v1.0.10rc1 emulation code)
Kernel: Linux gentoo 2.6.14-gentoo-r5 #1 Mon Dec 19 21:34:44 CET 2005 x86_64
Config options: 0
Installed drivers:
Type 10: ALSA emulation
Card config:
NVidia CK804 with ALC850 at 0xe5104000, irq 17
Audio devices:
0: NVidia CK804 (DUPLEX)
Synth devices: NOT ENABLED IN CONFIG
Midi devices: NOT ENABLED IN CONFIG
Timers:
7: system timer
Mixers:
0: Realtek ALC850 rev 0
- Для комментирования войдите или зарегистрируйтесь
Я так думаю что
Я так думаю что arts лочит устройство. Те проги которые выводят звук через arts - рабоатают нормально. Остальные получают по лбу. Ибо девай занят arts'ом.
В том и прикол!
Разумеется артс лочит устройство, собственно говоря поэтому я и ставлю 2 секунды - упал-умер. Но нужно ведь другое! Тот же skype он ведь "как бы умеет" работать с artsd и при запуске говорит, что дал мол, все ништяки и зубы мягкие и шелковистые - артс найден и все в порядке. Типа. На самом деле ничего подобного - он не хочет работать с миксером. Если что-то играется то сделать вызов невозможно (так же, как и прозвонится ко мне). Ошибка звука и большой привет. Да и стабильности нет никакой. Т.е. хочется kphone - я вырубаю полностью "звуковую систему" в KDE. Но поработал с кфоном - пытаешься включить эту самую систему снова - болт. Система как бы работает (тестовый звук слышно), а звуковые схемы KDE - нет. И это не потому что я забыл "включить звуки" или что-то еще. Я когда включаю - включаю все сразу.
Странно это все, ей Богу.
Не знаю, может быть поэтому у меня еще и TV|FM Tuner отказывается работать. При том что на ASPe (моей собственной доводки, конечно), но работал без проблем.