I have my system set up using the TV (Samsung) as the monitor through HDMI. I have to keep it this way for other reasons having to do with receiver so going through the receiver is not an option at the moment. Anyway, the problem is that I am using the audio return line on the TV in order to output sound. I have my system set up so that sound comes out of the speakers (two front) in the desktop and, if using pcm, through all of the speakers. My problem is that the sound should be able to come through all the speakers from the desktop. And, what I think, is the real problem is the probing done for sound through the HDMI system. When my Fedora 16 system starts up and I go into X I can see that /proc/asound/card0/eld#1.0 is:
monitor_present 1eld_valid 1monitor_name SAMSUNGconnection_type HDMIeld_version [0x2] CEA-861D or belowedid_version [0x3] CEA-861-B, C or Dmanufacture_id 0x2d4cproduct_id 0x6c6port_id 0x20000support_hdcp 0support_ai 0audio_sync_delay 0speakers [0x1] FL/FRsad_count 1sad0_coding_type [0x1] LPCMsad0_channels 2sad0_rates [0xe0] 44100 48000 88200sad0_bits [0xe0000] 16 20 24
When I connect up the system directly to the receiver I get:
monitor_present 1eld_valid 1monitor_name HT-RC260connection_type HDMIeld_version [0x2] CEA-861D or belowedid_version [0x3] CEA-861-B, C or Dmanufacture_id 0xcb3dproduct_id 0xa65port_id 0x20000support_hdcp 0support_ai 0audio_sync_delay 0speakers [0x4f] FL/FR LFE FC RL/RR RLC/RRCsad_count 8sad0_coding_type [0x1] LPCMsad0_channels 2sad0_rates [0x1ee0] 44100 48000 88200 176400 192000 384000sad0_bits [0xe0000] 16 20 24sad1_coding_type [0x1] LPCMsad1_channels 8sad1_rates [0x1ee0] 44100 48000 88200 176400 192000 384000sad1_bits [0xe0000] 16 20 24sad2_coding_type [0x2] AC-3sad2_channels 8sad2_rates [0xe0] 44100 48000 88200sad2_max_bitrate 640000sad3_coding_type [0x7] DTSsad3_channels 8sad3_rates [0xc0] 48000 88200sad3_max_bitrate 1536000sad4_coding_type [0x9] DSD (One Bit Audio)sad4_channels 6sad4_rates [0x40] 48000sad5_coding_type [0xa] E-AC-3/DD+ (Dolby Digital Plus)sad5_channels 8sad5_rates [0xc0] 48000 88200sad6_coding_type [0xb] DTS-HDsad6_channels 8sad6_rates [0x1ec0] 48000 88200 176400 192000 384000sad7_coding_type [0xc] MLP (Dolby TrueHD)sad7_channels 8sad7_rates [0x1480] 88200 192000
What I would like to do is have the second one come up because I am using the audio return in HDMI 1.4. I know I can make a script like:
(I know there are other ways as well, this took two seconds in VI.)
echo eld_version 0x2 > /proc/asound/card0/eld#1.0
echo edid_version 0x3 > /proc/asound/card0/eld#1.0
echo speakers 0x4f > /proc/asound/card0/eld#1.0
echo sad_count 8 > /proc/asound/card0/eld#1.0
echo sad0_coding_type 0x1 > /proc/asound/card0/eld#1.0
echo sad0_channels 2 > /proc/asound/card0/eld#1.0
echo sad0_rates 0x1ee0 > /proc/asound/card0/eld#1.0
echo sad0_bits 0xe0000 > /proc/asound/card0/eld#1.0
echo sad1_coding_type 0x1 > /proc/asound/card0/eld#1.0
echo sad1_channels 8 > /proc/asound/card0/eld#1.0
echo sad1_rates 0x1ee0 > /proc/asound/card0/eld#1.0
echo sad1_bits 0xe0000 > /proc/asound/card0/eld#1.0
echo sad2_coding_type 0x2 > /proc/asound/card0/eld#1.0
echo sad2_channels 8 > /proc/asound/card0/eld#1.0
echo sad2_rates 0xe0 > /proc/asound/card0/eld#1.0
echo sad2_max_bitrate 640000 > /proc/asound/card0/eld#1.0
echo sad3_coding_type 0x7 > /proc/asound/card0/eld#1.0
echo sad3_channels 8 > /proc/asound/card0/eld#1.0
echo sad3_rates 0xc0 > /proc/asound/card0/eld#1.0
echo sad3_max_bitrate 1536000 > /proc/asound/card0/eld#1.0
echo sad4_coding_type 0x9 > /proc/asound/card0/eld#1.0
echo sad4_channels 6 > /proc/asound/card0/eld#1.0
echo sad4_rates 0x40 > /proc/asound/card0/eld#1.0
echo sad5_coding_type 0xa > /proc/asound/card0/eld#1.0
echo sad5_channels 8 > /proc/asound/card0/eld#1.0
echo sad5_rates 0xc0 > /proc/asound/card0/eld#1.0
echo sad6_coding_type 0xb > /proc/asound/card0/eld#1.0
echo sad6_channels 8 > /proc/asound/card0/eld#1.0
echo sad6_rates 0x1ec0 > /proc/asound/card0/eld#1.0
echo sad7_coding_type 0xc > /proc/asound/card0/eld#1.0
echo sad7_channels 8 > /proc/asound/card0/eld#1.0
echo sad7_rates 0x1480 > /proc/asound/card0/eld#1.0
and that works fine. Then I can play stuff through more than two speakers ("speakers [0x1] FL/FR" vs. "speakers [0x4f] FL/FR LFE FC RL/RR RLC/RRC") using aplay and speaker-test and such but by that time the desktop is running because I have to log into X in order to get the alsa system started.
So I guess the question would be, "Is there a way to do this before or during alsa starting up and if so is there anything else I should be worried about?"
Gary
------------------------------------------------------------------------------ Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev
_______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user