J'ai une machine sans tête connectée à mon système audio et je l'utilise pour exécuter un démon de lecture de musique que je contrôle sur le réseau. (Entre autres)
Cependant, je n'arrive pas à faire en sorte que le son sorte de mes haut-parleurs sans exécuter X.
J'utilise Pulse audio dans une instance système et mon démon ne fonctionne pas sous X. Néanmoins, lorsque mon démon lit de la musique sans que je l'entende, je peux le réparer en exécutant startx
dans une session indépendante. Après que X ait commencé, je peux entendre le son. Le son disparaît à nouveau si je tue le serveur X.
Fait intéressant/ennuyeux, le son s’arrête également après quelques minutes de fonctionnement de X. Cela pourrait être dû à un économiseur d'écran, mais je n'ai pas été en mesure de vérifier ou d'infalsifier cette théorie.
Donc, ma solution actuelle consiste à ssh
dans la boîte à chaque fois que je veux de la musique et à startx
, et de le redémarrer toutes les quinze minutes environ. J'aimerais faire mieux.
J'ai pu vérifier les éléments suivants:
alsamixer
n'ont aucun effet sur ce problème. Le canal de sortie correspondant n'est jamais mis en sourdinealsamixer
, je ne vois aucune différence entre le moment où le son fonctionne et le moment où il ne fonctionne pas.pactl list
pactl list
entre le début de X et le suivant. (Sauf l'identifiant de l'instance pactl
connectée à Pulse, qui est différente à chaque fois que vous exécutez pactl
)audio
, Pulse
et Pulse-access
.dbus
est en cours d'exécution. ps aux|grep dbus
signale dbus-daemon --system --fork --activation=upstart
avant et après le démarrage de XQuelques détails sur mon matériel:
Sortie 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
Des idées? Qu'est-ce que X fait qui est si important?
La sortie HDMI est gérée par le pilote graphique, qui dans votre cas est le pilote à source fermée de Nvidia. Apparemment, ce pilote n'active l'encodeur audio HDMI que lorsque X est en cours d'exécution.
Se plaindre à Nvidia.
Vous pouvez également utiliser la sortie S/PDIF de votre carte mère.
Addendum du demandeur, Magnus Hoff:
En poursuivant cet angle, j'ai fini par exécuter X mais en désactivant dpms, de sorte que la sortie HDMI est maintenue à son état alimenté et entièrement fonctionnel. J'ai réalisé que je devais le faire en lisant documentation de nvidia .
Pour y parvenir, j'ai ajouté ce qui suit à mon .xinitrc
:
xset s off
xset -dpms
Source: http://crunchbang.org/forums/viewtopic.php?pid=121360#p12136