Eu tenho uma máquina sem cabeçalho conectada ao meu sistema de som, e estou usando-a para executar um daemon de reprodução de música que eu controle na rede. (Entre outras coisas)
No entanto, parece que não consigo sair som dos meus alto-falantes sem executar o X.
Estou executando o áudio de pulso em uma instância ampla do sistema e meu daemon é não rodando no X. No entanto, quando meu daemon está tocando música sem que eu o ouça, posso corrigi-lo executando startx
em uma sessão não relacionada. Depois que X começa, eu posso ouvir o som. O som desaparece novamente se eu matar o servidor X.
Interessante / irritante, o som também pára após o X ter funcionado por alguns minutos. Isso pode ser devido a algum tipo de proteção de tela, mas não consegui verificar ou falsificar essa teoria.
Portanto, minha solução atual é ssh
na caixa sempre que eu quiser música e startx
e reiniciá-la a cada quinze minutos ou mais. Eu gostaria de fazer melhor.
Eu pude verificar o seguinte:
- Os ajustes em
alsamixer
não têm efeito sobre esse problema. O canal de saída relevante nunca é silenciado
- Em
alsamixer
, não vejo diferença entre quando o som está funcionando e quando não está
- Nada é silenciado em
pactl list
- Não há diferença na saída de
pactl list
entre antes de iniciar o X e depois de iniciado. (Exceto o identificador da instância pactl
conectada ao pulso, que é diferente cada vez que você executa pactl
)
- O usuário que está executando o daemon de música é membro dos grupos
audio
, pulse
e pulse-access
- O programa daemon de música não relata nenhuma mensagem de erro e age como se estivesse tocando a música como deveria
- Alguma forma do daemon
dbus
está em execução. ps aux|grep dbus
relatórios dbus-daemon --system --fork --activation=upstart
antes e depois de ter iniciado o X
Alguns detalhes sobre meu hardware:
- Placa-mãe: link
- Chip de som: Nvidia GPU 0b HDMI / DP (da alsamixer)
- Usando HDMI para saída
- (A máquina também tem um Intel Realtek ALC887 que não estou usando)
Saída de lsmod
:
Module Size Used by
deflate 12617 0
zlib_deflate 27139 1 deflate
ctr 13201 0
twofish_generic 16635 0
twofish_x86_64_3way 25287 0
twofish_x86_64 12907 1 twofish_x86_64_3way
twofish_common 20919 3 twofish_generic,twofish_x86_64_3way,twofish_x86_64
camellia 29348 0
serpent 29125 0
blowfish_generic 12530 0
blowfish_x86_64 21466 0
blowfish_common 16739 2 blowfish_generic,blowfish_x86_64
cast5 25112 0
des_generic 21415 0
xcbc 12815 0
rmd160 16744 0
bnep 18281 2
rfcomm 47604 12
sha512_generic 12796 0
crypto_null 12918 0
parport_pc 32866 0
af_key 36389 0
ppdev 17113 0
binfmt_misc 17540 1
nfsd 281980 2
ext2 73795 1
nfs 436929 1
lockd 90326 2 nfsd,nfs
fscache 61529 1 nfs
auth_rpcgss 53380 2 nfsd,nfs
nfs_acl 12883 2 nfsd,nfs
sunrpc 255224 16 nfsd,nfs,lockd,auth_rpcgss,nfs_acl
btusb 18332 2
vesafb 13844 2
pl2303 17957 1
ath3k 12961 0
bluetooth 180153 24 bnep,rfcomm,btusb,ath3k
snd_hda_codec_hdmi 32474 4
nvidia 11308613 0
ftdi_sio 40679 1
usbserial 47113 6 pl2303,ftdi_sio
psmouse 97485 0
snd_hda_codec_realtek 224173 1
snd_hda_intel 33719 5
snd_hda_codec 127706 3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
serio_raw 13211 0
snd_seq_midi 13324 0
snd_hwdep 17764 1 snd_hda_codec
snd_pcm 97275 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_rawmidi 30748 1 snd_seq_midi
snd_seq_midi_event 14899 1 snd_seq_midi
snd_seq 61929 2 snd_seq_midi,snd_seq_midi_event
snd_timer 29990 2 snd_pcm,snd_seq
snd_seq_device 14540 3 snd_seq_midi,snd_rawmidi,snd_seq
snd 79041 20 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
asus_atk0110 18078 0
mac_hid 13253 0
jc42 13948 0
soundcore 15091 1 snd
snd_page_alloc 18529 2 snd_hda_intel,snd_pcm
coretemp 13554 0
i2c_i801 17570 0
lp 17799 0
parport 46562 3 parport_pc,ppdev,lp
r8169 62154 0
Alguma ideia? O que o X faz de tão importante?