Read-only file system

  • Hi all,

    I am trying to get my sound car Asus Xonar SE work with Libreelec/Kodi using its SPDIF output. Based on the guides here and here, it looks like I need to edit the file /usr/share/alsa/cards/USB-Audio.conf and change one digit with another (which is the correct device ID). Unfortunately, libreelec does not allow the root user to make this change since the file system is read-only. I would appreciate any workarounds for this problem.

    Thanks for your time.

  • Thank you for your reply chewitt . Just to clarify, do I need to copy that file to /storage/.config/asound.conf and make changes there with the same format?

    Edit 1: I tried this exactly and it worked! Thank you very much for your help!

    Edit 2: Unfortunately it was false alarm. This is the weird situation I am encountering: speaker-test utility does not produce any sound itself; however, if I start a movie while it is running, I can hear the sound of the movie, not the speaker-test sound. However, I suspect that the sound I am hearing is just mono, since the DTS encoding is not shown on the receiver that is amplifying the sound. In my previous set up with a different sound card, my receiver would always indicate the encoding correctly.

    When the speaker-test is not running, same movies produce no sound whatsoever, not even mono...

    The reason why I cannot use my former sound card with this new set up is because it was a PCI card and the new PC doesn't have a PCI slot, the only option is PCIEx1, that is why I am stuck with Xonar SE.

    Any pointers will be greatly appreciated.

    Edited 2 times, last by hakayova (March 31, 2021 at 4:04 AM).

  • Thank you Da Flex for your suggestion but still no joy with any available sample rate. Can anybody recommend a low profile sound card with SPDIF pass-through that has a PCI-express interface? I could not find any other than the Asus Xonar SE, the one that does not work for me, I am not even sure that the SPDIF on this card allows pass-through. Obviously, it should work with LibreElec/Kodi. I also tried this device with no success. I would appreciate any suggestion.

    Edited 2 times, last by hakayova: Clarified the statement (April 1, 2021 at 2:54 AM).

  • Thank you Da Flex for helping me troubleshoot this.

    I edited the /storage/.config/asound.conf as below, which helped me to hear sound:

    Code
    defaults.pcm.card 1
    defaults.pcm.device 2

    However, my receiver indicated that the input was PCM, not digital; therefore playing my movies with DTS audio did not produce any sound. When I was playing those movies, the receiver was reporting analog input. I believe I need the sound card to passthrough the digital sound to the receiver, and yes, I did enable passthrough in Kodi settings to the SPDIF option.

    Inspired by your recommendation, I modified the asound.conf a few times trying the following options:

    None of them worked, and unfortunately the last one broke the installation. Now the media pc is in an infinite loop of rebooting, the KODI starting screen never shows and it reboots right before that step. I believe I have to reinstall everything. I should have read more about alsa configuration before doing this but I got lazy...

    Edited once, last by hakayova (April 2, 2021 at 2:53 AM).

  • However, my receiver indicated that the input was PCM, not digital; therefore playing my movies with DTS audio did not produce any sound. When I was playing those movies, the receiver was reporting analog input.

    Just to be clear PCM is digital. It just means that Kodi has already decoded the audio to raw digital samples so your receiver doesn't have to do any work.

    If your media uses Dolby Digital Plus, Atmos, or DTS HD or similar, these formats cannot be output over SPDIF. You will have to let Kodi convert it to PCM for your receiver to be able to play the audio.

  • I did read your reply a little too late, by that time I had already re-installed the mediapc, but no worries, the libraries are not stored in its hard drive so it was just a LibreElec reinstall. Unfortunately, I didn't install LE 10 Beta either, but thank you for providing the link, I will definitely try it once I get this figured out.

    My previous media PC has an older version of Kodi on OpenElec with a PCI sound card with SPDIF, which worked out of the box. The reason I wanted to upgrade it was the processor, it had Core 2 duo, which had a hard time playing 4K content. This new media PC doesn't have a PCI connector, it only has PCIe so I had to but this new sound card, which gives me all the trouble, unless there has been a regression in Kodi/LibreElec.

    New experimentation: When I have the asound.conf as follows:

    Code
    pcm.!default {
        type hw
        card 1
        device 2
    }

    I can play a wav file with

    Code
    aplay -D default sample.wav

    However, playing movies with DTS audio still gives no joy. When I try the following:

    Code
    pcm.!default {
        type iec958
        card 1
        device 2
    }

    the wav file does not play and gives an audio open error, but movies with DTS audio still don't have an audible output. The following didn't help either:

    Code
    pcm.!default {
        type hw
        card 1
        device 2
    }
    
    USB-Audio.pcm.iec958_device {
        card 1
        device 2
    }

    I am not sure what to blame here. It may be the sound card not allowing digitally encoded data to passthrough, or it may be LE/Kodi not appropriately communicating with the sound card.

  • Latest asound.conf:

    Code
    aplay -D default ../music/sample3.wav  
    Playing WAVE '../music/sample3.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
    ^CAborted by signal Interrupt...

    Normal behavior, audible sound.

    Code
    aplay -D iec958 ../music/sample1.dts 
    ALSA lib /home/jails/home/jenkins/LE/build2/workspace/Generic/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.2.6/alsa-lib-1.1.9/src/pcm/pcm_iec958.c:636:(_snd_pcm_iec958_open) Unknown field card
    aplay: main:828: audio open error: Invalid argument

    Any input will be greatly appreciated...

  • Just to be clear PCM is digital. It just means that Kodi has already decoded the audio to raw digital samples so your receiver doesn't have to do any work.

    If your media uses Dolby Digital Plus, Atmos, or DTS HD or similar, these formats cannot be output over SPDIF. You will have to let Kodi convert it to PCM for your receiver to be able to play the audio.

    Thank you for your input. The weird thing is my former media PC has a previous version of Kodi with Openelec, that does allow SPDIF passthrough. The optic signal received by the receiver, recognized as DTS, etc. and decoded by the receiver itself. So, I am not sure that your second statement is accurate. If so, what does SPDIF passthrough mean? I believe it means that Kodi does not involve in any decoding process, passes the audio output directly to SPDIF instead.

    In my most recent -failed- configuration, I assume it must be either the sound card not handling Kodi/Libreelec's passthrough directives appropriately, or Kodi/Libreelec had some regression since the previous version and does not handle SPDIF passthrough gracefully. Is there any one in this forum who has such a working configuration with the latest Kodi/Libreelec version via SPDIF passthrough? If so, I am curious to know their configuration and sound card.

  • Yeah I can't help directly since I'm using HDMI for my audio now. I retired the SPDIF some time ago. You will be able to do Dolby Digital and DTS. But you will not be able to do the higher bitrate versions like Dolby Digital Plus, Dolby Digital EX, Dolby Atmos, DTS Master Audio, etc. Those require more bandwidth than SPDIF has to offer. The solution for these is to let Kodi process them and render them to PCM which is still 6 channel digital sound.

    What is new in LE & Kodi is that it now supports pass through of the higher bitrates. In your case you would need to disable this.

    When you look up the codec information for the media you're trying to play, can you tell if its vanilla DD or DTS or if its one of the higher bitrate variants?

  • Yeah I can't help directly since I'm using HDMI for my audio now.

    Unfortunately I cannot do that since my old receiver doesn't have an HDMI input. I did not know that the PCM still had 6 channel digital sound, I will be settled with this then. SPDIF passthrough still has to be disabled though to hear sound in this case, correct? That is what is happening in my case. Thank you for explaining all you did. Vanilla DD or DTS is curiously still not passed through to SPDIF in my case. This may perhaps be something that the Kodi developers still didn't optimize yet.

    Did you set the amount of output channels to 2.0? That's the right setting, other channels are encoded at those two.

    Yes, now I did :blush: , and it works.

    Do you get different results with and without pass-through enabled on the audio settings?

    Yes, as I stated above, pass-through enabled -> no sound, no DTS indicator lit on the receiver, curiously Analog indicator is lit on the receiver. Pass-through disabled -> sound audible, PCM indicator lit on the receiver.

    Thank you both for staying with me and helping me out!