Yes, its another HDMI audio puzzle



  • Greetings friends,

    Scenario:
    Pi3 RecalBox up and running.
    Keyboard and mouse attached with multiport usb hub
    Connected to Yamaha 5.1 via HDMI
    Audio is working in Kodi. Audio not working in RecalBox.

    Background:
    Have used the Pi with retrosmc, and retropie builds. No issue with HDMI (on other SD cards obvioulsy) Scoured forums for some ideas; haven't found any solution in 3 days. I am now here :) lol

    Done so far:

    1. edited recalbox.conf - ensured the following is here:

    ------------ C - Audio ------------

    Set the audio device (auto, hdmi, jack)

    audio.device=hdmi <==================

    Set system volume (0..100)

    audio.volume=100 <=============

    Enable or disable system sounds in ES (0,1)

    audio.bgmusic=1

    1. edited /boot/config.txt, ensured the following is here:

    cat /boot/config.txt

    uncomment if you get no picture on HDMI for a default "safe" mode

    #hdmi_safe=1

    disable_overscan=1

    uncomment to force a specific HDMI mode (this will force VGA)

    #hdmi_group=1
    #hdmi_mode=1

    Sound output. Set to 0 or comment for autodetect, 1 for DVI, 2 to force HDMI.

    hdmi_drive=2<—————————————

    Using /etc/modules is deprecated and no longer supported on 4.4 kernel

    So manually enable audio

    dtparam=audio=on

    config_hdmi_boost=0

    force hdmi while the tv can take time before sending the signal on the hdmi output

    hdmi_force_hotplug=1 <—————————

    1. cat /proc/asound/cards

    0 [ALSA ]: bcm2835 - bcm2835 ALSA
    bcm2835 ALSA

    1. fiddled with /etc/retroarch.cfg (dont know whether 'hw 0,3' is in fact correct here as cannot install 'aplay' to determine what is what...) - question: how can I determine this without aplay?

    really just guessing here:

    grep audio /etc/retroarch.cfg | grep -v "#"

    audio_enable = true
    audio_out_rate = 44100
    audio_driver = alsa
    audio_device = hw:0,3
    audio_sync = true

    • however have noticed that a custom .cfg is in use, so assume this is not being read anyway...
      i.e. /recalbox/share/system/configs/retroarch/retroarchcustom.cfg
    1. lsmod | grep snd

    snd_bcm2835 20511 2
    snd_pcm 75698 2 snd_bcm2835
    snd_timer 19156 1 snd_pcm
    snd 51908 6 snd_bcm2835,snd_pcm,snd_timer

    1. cat /etc/modules.conf

    snd_bcm2835
    uinput
    usbhid

    1. amixer

    Simple mixer control 'PCM',0
    Capabilities: pvolume pvolume-joined pswitch pswitch-joined
    Playback channels: Mono
    Limits: Playback -10239 - 400
    Mono: Playback 400 [100%] [4.00dB] [on]

    dived into:
    dmeg, /var/log/messages and things of interest that the support_script presents, but cannot find any specific error related to why HDMI doesnt work with the build. was thinking of attempting to run the retroarch with --verbose and get some logging somewhere or is that too granular?

    hugely appreciate any help from some learned people out there - I think RecalBox is superb, but obviously not for me if I cant get audio working :/

    Peace.



  • Thought another update was needed after finding a very interesting thread about passthrough multichannel stuff over hdmi. this poor guy was configuring mythtv, but the setup from pi -> receiver over hdmi is identical and it appears its down to the "apparently unrelated device bcm2835 IEC958/HDMI"; my scenario exactly:

    https://www.raspberrypi.org/forums/viewtopic.php?p=1360335

    Having then gone back into osmc(retrosmc), I navigated here, which to me appears to be the reason why the pcm stuff is working ; as soon as I load emulation station and a rom, the receiver kicks in to PCM mode and I hear sound:

    root@osmc-gee:/usr/share/alsa/pcm# head -20 hdmi.conf

    Hardware output from HDMI

    pcm.!hdmi {
    @args [ CARD DEV AES0 AES1 AES2 AES3 ]
    @args.CARD {
    type string
    default {
    @func getenv
    vars [
    ALSA_IEC958_CARD
    ALSA_PCM_CARD
    ALSA_CARD
    ]
    default {
    @func refer
    name defaults.pcm.iec958.card <-------------------------
    }
    }

    --
    My setup in osmc uses 0,1 as below (aplay -L)

    plughw:CARD=ALSA,DEV=1
    bcm2835 ALSA, bcm2835 IEC958/HDMI
    Hardware device with all software conversions

    So, learned gurus out there ---- what can I do to emulate this puzzle on RecalBox? I'd gladly have a play if I was able to mount stuff in / but this appears not possible without potentially breaking something. Not a problem in itself, but I'm out of SD cards and I dont have a backup.

    Peace.



  • Tried various things with .conf files above after getting root (/) filesystem mounted as rw, but still unable to get things working.

    Used retroarch directly after stopping emulationstation manually, i.e.
    retroarch --menu --verbose ; customretroarch definitely being read-in including the following audio settings. have confirmed that audio_device is @ 0,1 and modified the audio_driver with alsa too.

    retroarch --features compiled with ALSA as expected, nothing else valid to use:

    audio_enable = "true"
    audio_driver = "alsa"
    audio_device = "hw:0,1"
    audio_sync = "true"

    simply getting an "failed to initialize audio" error from retroarch log:

    [ERROR] [ALSA]: Failed to initialize...

    [ERROR] Failed to initialize audio driver. Will continue without audio.

    --

    decided to take a good look at osmc config with retro and what its using:
    audio_driver = "alsathread"
    audio_resampler = "sinc"
    audio_device = ""
    audio_sync = "true"

    I emulated this in recalbox, and the errors in retroarch stop with the following in the retroarch startup as in osmc

    [INFO] ALSA: Using signed 16-bit format.
    [INFO] ALSA: Period size: 384 frames
    [INFO] ALSA: Buffer size: 1536 frames

    so figured I was onto something, however still no sound.

    really just clueless now. remember, I launch emulation in osmc (from kodi) and I start up a game... audio just works.

    i suppose my next question is: is there something in kodi that launches stuff correctly or emulation station, or is this simply a recalbox 'startup driver problem' that doesnt recognize the audio correctly. can anyone shed light on this for me?

    Peace.



Want to support us ?

Join us on :

258
Online

31023
Users

15110
Topics

113714
Posts

Looks like your connection to Recalbox Forum was lost, please wait while we try to reconnect.