Alsa: Surround audio with an HDMI splitter
Clash 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?
pulseaudio alsa hdmi
New contributor
add a comment |
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?
pulseaudio alsa hdmi
New contributor
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 overwritespeakers
(not sure if it will work), or modify old EDID from the Samsung TV, fabricate a new EDID and load withdrm.edid_firmware
.
– dirkt
7 hours ago
add a comment |
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?
pulseaudio alsa hdmi
New contributor
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
pulseaudio alsa hdmi
New contributor
New contributor
New contributor
asked Nov 16 at 22:58
Reimundo Heluani
1012
1012
New contributor
New contributor
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 overwritespeakers
(not sure if it will work), or modify old EDID from the Samsung TV, fabricate a new EDID and load withdrm.edid_firmware
.
– dirkt
7 hours ago
add a comment |
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 overwritespeakers
(not sure if it will work), or modify old EDID from the Samsung TV, fabricate a new EDID and load withdrm.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
add a comment |
active
oldest
votes
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.
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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 withdrm.edid_firmware
.– dirkt
7 hours ago