This is an old revision of the document!
The eARC is a feature implemented in the latest HDMI 2.1 specification, the biggest advantage is that it exceedingly improves bandwidth and speed. This allows you to transmit high-quality audio from your TV to your Soundbar or AV receiver and is compatible with the high bitrate formats Dolby Atmos and DTS.
This documentation is about how to record audio from eARC
.
Only for VIM3L with 5.15 kernel.
In order to use the eARC
functuion, you need to make sure your TV supports the eARC
function, in generic, if the HDMI port on your TV has a eARC
mark,
it means your TV supports eARC function, anyway you need to check with your TV vendor whether it supports or not.
You also need to enable the eARC
function on your TV if it supports, you can check with the TV vendor about how to enable it.
You also need to enable the eARC
RX function on VIM3L, you can follow the command below to enable eARC
RX.
amixer cset name='ARC eARC RX enable' 1
Check enable status:
$ amixer cget name='ARC eARC RX enable'
numid=41,iface=MIXER,name='ARC eARC RX enable'
; type=BOOLEAN,access=rw------,values=1
: values=on
values=on
means eARC
RX is enabled.
You need to use a HDMI 2.1 cable to connect VIM3L HDMI port to your TV HDMI IN port with eARC
function.
You can follow the command below to check the status of eARC.
khadas@Khadas:~$ amixer cget name='eARC_RX attended type'
numid=24,iface=MIXER,name='eARC_RX attended type'
; type=ENUMERATED,access=rw------,values=1,items=3
; Item #0 'DISCONNECT'
; Item #1 'ARC'
; Item #2 'eARC'
: values=2
If your setup is correct, it should be values=2
which means work on eARC
.
You can also try to unplug/replugin HDMI cable to check.
You can check the record sound devices with arecord -l
$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: AMLAUGESOUND [AML-AUGESOUND], device 0: TDM-B-dummy-alsaPORT-i2s multicodec-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: AMLAUGESOUND [AML-AUGESOUND], device 1: TDM-A-dummy-alsaPORT-pcm multicodec-1 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: AMLAUGESOUND [AML-AUGESOUND], device 2: TDM-C-dummy dummy-2 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: AMLAUGESOUND [AML-AUGESOUND], device 3: PDM-dummy-alsaPORT-pdm dummy-3 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: AMLAUGESOUND [AML-AUGESOUND], device 4: SPDIF-dummy-alsaPORT-spdif dummy-4 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: AMLAUGESOUND [AML-AUGESOUND], device 6: EARC/ARC-dummy-alsaPORT-earc dummy-6 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: AMLAUGESOUND [AML-AUGESOUND], device 7: LOOPBACK-A-dummy-alsaPORT-loopback dummy-7 []
Subdevices: 1/1
Subdevice #0: subdevice #0
The card 0, device 6
device is the eARC
device. You can record audio with the command below:
arecord -D hw:0,6 -f S16_LE -c 2 -r 48000 /tmp/out.wav