Alsa: Surround audio with an HDMI splitter

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
0
down vote

favorite












Running Gentoo Linux on a laptop. I have a displayport output hooked to an HDMI -> HDMI + Toslink spitter.



The toslink goes to an old Onkyo that can receive 7.1 direct pcm or AC3, DTS, etc.
The HDMI is hooked to a Samsung TV. One problem I can see is that Samsung responds to the HDMI so the card believes it has only two channels:





$ cat /proc/asound/card0/eld#0.0
monitor_present 1
eld_valid 1
monitor_name SAMSUNG
connection_type HDMI
eld_version [0x2] CEA-861D or below
edid_version [0x3] CEA-861-B, C or D
manufacture_id 0x2d4c
product_id 0x659
port_id 0x0
support_hdcp 0
support_ai 1
audio_sync_delay 0
speakers [0x1] FL/FR
sad_count 1
sad0_coding_type [0x1] LPCM
sad0_channels 2
sad0_rates [0xe0] 32000 44100 48000
sad0_bits [0xe0000] 16 20 24


Since it only sees 2 channels then the speaker test would only test FL,FR. IF I try with 6:




pasuspender -- speaker-test -c 6 -t w -D hw:0,3

speaker-test 1.1.6



Playback device is hw:0,3
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
Channels count (6) not available for playbacks: Invalid argument
Setting of hwparams failed: Invalid argument



I can try with plughw 0,3 but then it would only use 2 channels anyway.



If I use pulseaudio I set up





default-sample-channels=6


and then playing a 5.1 file sound only comes from FL,FR anyway.



How do I set this up?










share|improve this question







New contributor




Reimundo Heluani is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.



















  • You'd need to overwrite the ELD. IIRC you can overwrite at least part of the parameters by writing to some file in /proc or /sys. Possibly this includes the number of channels. I'll see if I can dig up my notes where I've written down the details, but that may take some time.
    – dirkt
    16 hours ago










  • See this question, either try to overwrite speakers (not sure if it will work), or modify old EDID from the Samsung TV, fabricate a new EDID and load with drm.edid_firmware.
    – dirkt
    7 hours ago














up vote
0
down vote

favorite












Running Gentoo Linux on a laptop. I have a displayport output hooked to an HDMI -> HDMI + Toslink spitter.



The toslink goes to an old Onkyo that can receive 7.1 direct pcm or AC3, DTS, etc.
The HDMI is hooked to a Samsung TV. One problem I can see is that Samsung responds to the HDMI so the card believes it has only two channels:





$ cat /proc/asound/card0/eld#0.0
monitor_present 1
eld_valid 1
monitor_name SAMSUNG
connection_type HDMI
eld_version [0x2] CEA-861D or below
edid_version [0x3] CEA-861-B, C or D
manufacture_id 0x2d4c
product_id 0x659
port_id 0x0
support_hdcp 0
support_ai 1
audio_sync_delay 0
speakers [0x1] FL/FR
sad_count 1
sad0_coding_type [0x1] LPCM
sad0_channels 2
sad0_rates [0xe0] 32000 44100 48000
sad0_bits [0xe0000] 16 20 24


Since it only sees 2 channels then the speaker test would only test FL,FR. IF I try with 6:




pasuspender -- speaker-test -c 6 -t w -D hw:0,3

speaker-test 1.1.6



Playback device is hw:0,3
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
Channels count (6) not available for playbacks: Invalid argument
Setting of hwparams failed: Invalid argument



I can try with plughw 0,3 but then it would only use 2 channels anyway.



If I use pulseaudio I set up





default-sample-channels=6


and then playing a 5.1 file sound only comes from FL,FR anyway.



How do I set this up?










share|improve this question







New contributor




Reimundo Heluani is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.



















  • You'd need to overwrite the ELD. IIRC you can overwrite at least part of the parameters by writing to some file in /proc or /sys. Possibly this includes the number of channels. I'll see if I can dig up my notes where I've written down the details, but that may take some time.
    – dirkt
    16 hours ago










  • See this question, either try to overwrite speakers (not sure if it will work), or modify old EDID from the Samsung TV, fabricate a new EDID and load with drm.edid_firmware.
    – dirkt
    7 hours ago












up vote
0
down vote

favorite









up vote
0
down vote

favorite











Running Gentoo Linux on a laptop. I have a displayport output hooked to an HDMI -> HDMI + Toslink spitter.



The toslink goes to an old Onkyo that can receive 7.1 direct pcm or AC3, DTS, etc.
The HDMI is hooked to a Samsung TV. One problem I can see is that Samsung responds to the HDMI so the card believes it has only two channels:





$ cat /proc/asound/card0/eld#0.0
monitor_present 1
eld_valid 1
monitor_name SAMSUNG
connection_type HDMI
eld_version [0x2] CEA-861D or below
edid_version [0x3] CEA-861-B, C or D
manufacture_id 0x2d4c
product_id 0x659
port_id 0x0
support_hdcp 0
support_ai 1
audio_sync_delay 0
speakers [0x1] FL/FR
sad_count 1
sad0_coding_type [0x1] LPCM
sad0_channels 2
sad0_rates [0xe0] 32000 44100 48000
sad0_bits [0xe0000] 16 20 24


Since it only sees 2 channels then the speaker test would only test FL,FR. IF I try with 6:




pasuspender -- speaker-test -c 6 -t w -D hw:0,3

speaker-test 1.1.6



Playback device is hw:0,3
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
Channels count (6) not available for playbacks: Invalid argument
Setting of hwparams failed: Invalid argument



I can try with plughw 0,3 but then it would only use 2 channels anyway.



If I use pulseaudio I set up





default-sample-channels=6


and then playing a 5.1 file sound only comes from FL,FR anyway.



How do I set this up?










share|improve this question







New contributor




Reimundo Heluani is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











Running Gentoo Linux on a laptop. I have a displayport output hooked to an HDMI -> HDMI + Toslink spitter.



The toslink goes to an old Onkyo that can receive 7.1 direct pcm or AC3, DTS, etc.
The HDMI is hooked to a Samsung TV. One problem I can see is that Samsung responds to the HDMI so the card believes it has only two channels:





$ cat /proc/asound/card0/eld#0.0
monitor_present 1
eld_valid 1
monitor_name SAMSUNG
connection_type HDMI
eld_version [0x2] CEA-861D or below
edid_version [0x3] CEA-861-B, C or D
manufacture_id 0x2d4c
product_id 0x659
port_id 0x0
support_hdcp 0
support_ai 1
audio_sync_delay 0
speakers [0x1] FL/FR
sad_count 1
sad0_coding_type [0x1] LPCM
sad0_channels 2
sad0_rates [0xe0] 32000 44100 48000
sad0_bits [0xe0000] 16 20 24


Since it only sees 2 channels then the speaker test would only test FL,FR. IF I try with 6:




pasuspender -- speaker-test -c 6 -t w -D hw:0,3

speaker-test 1.1.6



Playback device is hw:0,3
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
Channels count (6) not available for playbacks: Invalid argument
Setting of hwparams failed: Invalid argument



I can try with plughw 0,3 but then it would only use 2 channels anyway.



If I use pulseaudio I set up





default-sample-channels=6


and then playing a 5.1 file sound only comes from FL,FR anyway.



How do I set this up?







pulseaudio alsa hdmi






share|improve this question







New contributor




Reimundo Heluani is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




Reimundo Heluani is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




Reimundo Heluani is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Nov 16 at 22:58









Reimundo Heluani

1012




1012




New contributor




Reimundo Heluani is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Reimundo Heluani is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Reimundo Heluani is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











  • You'd need to overwrite the ELD. IIRC you can overwrite at least part of the parameters by writing to some file in /proc or /sys. Possibly this includes the number of channels. I'll see if I can dig up my notes where I've written down the details, but that may take some time.
    – dirkt
    16 hours ago










  • See this question, either try to overwrite speakers (not sure if it will work), or modify old EDID from the Samsung TV, fabricate a new EDID and load with drm.edid_firmware.
    – dirkt
    7 hours ago
















  • You'd need to overwrite the ELD. IIRC you can overwrite at least part of the parameters by writing to some file in /proc or /sys. Possibly this includes the number of channels. I'll see if I can dig up my notes where I've written down the details, but that may take some time.
    – dirkt
    16 hours ago










  • See this question, either try to overwrite speakers (not sure if it will work), or modify old EDID from the Samsung TV, fabricate a new EDID and load with drm.edid_firmware.
    – dirkt
    7 hours ago















You'd need to overwrite the ELD. IIRC you can overwrite at least part of the parameters by writing to some file in /proc or /sys. Possibly this includes the number of channels. I'll see if I can dig up my notes where I've written down the details, but that may take some time.
– dirkt
16 hours ago




You'd need to overwrite the ELD. IIRC you can overwrite at least part of the parameters by writing to some file in /proc or /sys. Possibly this includes the number of channels. I'll see if I can dig up my notes where I've written down the details, but that may take some time.
– dirkt
16 hours ago












See this question, either try to overwrite speakers (not sure if it will work), or modify old EDID from the Samsung TV, fabricate a new EDID and load with drm.edid_firmware.
– dirkt
7 hours ago




See this question, either try to overwrite speakers (not sure if it will work), or modify old EDID from the Samsung TV, fabricate a new EDID and load with drm.edid_firmware.
– dirkt
7 hours ago















active

oldest

votes











Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);






Reimundo Heluani is a new contributor. Be nice, and check out our Code of Conduct.









 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f482258%2falsa-surround-audio-with-an-hdmi-splitter%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes








Reimundo Heluani is a new contributor. Be nice, and check out our Code of Conduct.









 

draft saved


draft discarded


















Reimundo Heluani is a new contributor. Be nice, and check out our Code of Conduct.












Reimundo Heluani is a new contributor. Be nice, and check out our Code of Conduct.











Reimundo Heluani is a new contributor. Be nice, and check out our Code of Conduct.













 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f482258%2falsa-surround-audio-with-an-hdmi-splitter%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown






Popular posts from this blog

How to check contact read email or not when send email to Individual?

Displaying single band from multi-band raster using QGIS

How many registers does an x86_64 CPU actually have?