Chromium, Firefox, RetroArch, SuperTuxKart and Terminal addons for LE13

  • Regarding multichannel sound in VacuumTube, if Gemini is to be believed, there are good news and there are bad news.

    The good news is that making it capable of outputting Opus multichannel should be relatively easy. The bad news is that not all videos with multichannel content actually carry a multichannel Opus stream (they often just carry an AC3 and an EAC3 one). And having VacuumTube support EAC3 looks like a bit of a nightmare.
    For the Opus multichannel route, I attach what Gemini proposed. I'm no coder, so I just limited myself to input the different sources and explain the overall situation and my findings.

    As far as EAC3 is concerned (which would grant full compatibility with all multichannel videos available on the platform), it would require, according to Gemini:

    1. Patch Chromium's C++ source code to enable E-AC-3 in mp4_stream_parser.cc.
    2. Patch ffmpeg_audio_decoder.cc to map AudioCodec::kEAC3 to AV_CODEC_ID_EAC3.
    3. Compile a custom version of Electron from source on Linux with proprietary codecs and custom FFmpeg branding enabled.
    4. Repackage the entire Flatpak with your custom Electron binary.

    This would basically become a mess for building and maintaining everything.

    Working towards Opus multichannel compatibility could still be worth it, as its use is destined to become more widespread as time goes by.

    I hope not to have wasted anybody's time with the above. As I stated: I am not a coder and I have no illusion of becoming one just because I have access to a moderately advanced LLM.

  • HiassofT  nissel  ashlar
    The fix turned out to be surprisingly simple: upgrading Electron from 44.5.1 to 45.2.3, which moves Chromium from version 152 to 156 and enables IAMF/Opus decoding.

    No changes to VacuumTube's playback logic, YouTube client identity, or audio processing were required.

    I wrote in an issue with patch file, it's late here (4:30am) so I'll look to get it as a PR sometime

    [Fix Available] Enable 5.1 surround sound (IAMF) by upgrading Electron 44 to 45 · Issue #300 · shy1132/VacuumTube
    Hi @shy1132, I've managed to get genuine multichannel audio working in VacuumTube on Windows, addressing the current lack of 5.1 surround support. The fix…
    github.com


    Source Code with changes working in windows (just the changes using the patch file) is in my Issue post.
    Let me know what you think and if it works in Linux, I haven't got that far and would appreciate someone confirming, not sure how to turn it into a flatpaq to test either.

  • I won't be able to help with testing as I don't have a surround sound setup - 2.0 FTW :)

    So someone else will have to step up here.

    Once the fixes are in the official flatpak on flathub people can just update their flatpaks and we can enable the audio settings configuration in LE (like for moonlight).

    so long,

    Hias

  • I remain available to test whatever is needed.

    I'm not a coder, I used ChatGPT to get the fix and tested it on Windows VacuumTube. I'll have to look into turning this into my own flatpaq app, but you would test it on windows with your speaker set up, this gives confirmation it's working (I tested on stereo using software)

    download the source in your windows build
    https://github.com/user-attachments/files/34563546/VacuumTube_2.0.2-iamf.1_IAMF_5.1_SOURCE.zip

    unzip in a different folder to a previous the official (if you have that)
    inside the folder, type powershell in search


    it will open in powershell then type these commands

    npm.cmd ci

    and then

    npm.cmd start -- --portable ".\DEV_DATA"

    you'll be able to test if indeed it gives you 5.1 , if it works then post a comment on github if you want, the changes are just updating electron. and when dev gets a chance he'll have it in his next build so HiassofT can get it working on LE

  • it will open in powershell then type these commands

    npm.cmd ci

    and then

    npm.cmd start -- --portable ".\DEV_DATA"

    Hmmm... I might be doing something wrong but I'm not sure what. I have unzipped the source, went to the directory you show in your window (basically the content of the zip file, the containing folder), typed in the first command and got back:

    npm.cmd : The term 'npm.cmd' is not recognized as the name of a cmdlet, function, script file, or operable program.
    Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
    At line:1 char:1
    + npm.cmd ci
    + ~~~~~~~
    + CategoryInfo : ObjectNotFound: (npm.cmd:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

  • follow this, you need to install node js

    Check out this chat
    Here's a chat someone thought you'd want to see.
    chatgpt.com

    I realised that it's not a complete solution, we are not playing dolby digital tracks. I'm looking through if anything I can do. but we have 5.1 that don't need dolby digital which is something

    Edited once, last by hcliec001: Merged a post created by hcliec001 into this post. (November 9, 2026 at 1:51 PM).

  • That's good news.

    But from a practicality point of view i'd personally probably keep VacuumTube at 2 channel output anyway, as the vast majority of videos are only stereo and i just let my AVR up-mix to surround. With multichannel output it will have 6/8 channels active all the time, great for the occasional surround sound video, but only the front 2 with signal and the rest silent during stereo video and my AVR won't up-mix that.

    Yes there are ways to get Pulseaudio to up-mix for us, but its just going to get complicated fast :D

  • That's good news.

    But from a practicality point of view i'd personally probably keep VacuumTube at 2 channel output anyway, as the vast majority of videos are only stereo and i just let my AVR up-mix to surround. With multichannel output it will have 6/8 channels active all the time, great for the occasional surround sound video, but only the front 2 with signal and the rest silent during stereo video and my AVR won't up-mix that.

    Yes there are ways to get Pulseaudio to up-mix for us, but its just going to get complicated fast :D

    I'm trying to see if we can intercept at application level with electron before leanback chooses for us. this way we should be able to choose our own track like smart tube does. I don't understand any of this. just vibing it

  • follow this, you need to install node js
    https://chatgpt.com/share/6af1cb97…20-91abc5374fc3


    I realised that it's not a complete solution, we are not playing dolby digital tracks. I'm looking through if anything I can do. but we have 5.1 that don't need dolby digital which is something

    Ok, I can confirm that this works with Opus multichannel tracks.

    Dolby Digital and Dolby Digital Plus tracks are apparently beyond reach, unless somebody decides to do some serious forking/maintenance of the packages involved. I detailed in a previous post why Gemini claimed this.
    Basically Chromium by default specifically refuses to use ffmpeg to decode Dolby encoded content to multichannel PCM.


    But from a practicality point of view i'd personally probably keep VacuumTube at 2 channel output anyway, as the vast majority of videos are only stereo and i just let my AVR up-mix to surround. With multichannel output it will have 6/8 channels active all the time, great for the occasional surround sound video, but only the front 2 with signal and the rest silent during stereo video and my AVR won't up-mix that.

    Apparently that's due to internal upmixing that's been recently disabled: RE: Chromium, Firefox, RetroArch, SuperTuxKart and Terminal addons for LE13

    If that is the case, unless you select upmixing in your AVR, stereo content should drive just your front left and front right speakers.

    Edited once, last by ashlar: Merged a post created by ashlar into this post. (November 9, 2026 at 3:10 PM).

  • Ok, I can confirm that this works with Opus multichannel tracks.

    Dolby Digital and Dolby Digital Plus tracks are apparently beyond reach, unless somebody decides to do some serious forking/maintenance of the packages involved. I detailed in a previous post why Gemini claimed this.
    Basically Chromium by default specifically refuses to use ffmpeg to decode Dolby encoded content to multichannel PCM.


    Apparently that's due to internal upmixing that's been recently disabled: RE: Chromium, Firefox, RetroArch, SuperTuxKart and Terminal addons for LE13

    If that is the case, unless you select upmixing in your AVR, stereo content should drive just your front left and front right speakers.

    thanks for confirming. I'm working on seeing if we can get dolby digital tracks. will report soon

  • ashlar yes I understand, I was the one that flagged this in the first place Flatpak Multichannel Audio over HDMI

    In a perfect world we would do what Kodi does and change the output channel count to match various content, but in a Flatpak environment with pulse audio and whatever application we are running that unlikely to ever to a possiblity, but maybe I'm wrong I'm no pulseaudio expert.

    So we are probably stuck with fixed multichannel or fixed stereo output, and if you do choose multichannel I'm not sure if the pulseaudio up mixing is clever enough to not up-mix if all channels are output but start up-mixing when there is a 2 channel input, as I said too complicated for my liking when 99% of YouTube content is stereo.

  • JACK won't help here (and it's also mostly been replaced by pipewire) as the flatpaks want a pulseaudio sink - which means either running a pulseaudio server (which is what we are currently doing) or running a pipewire server, which also provides pulseaudio (and jack) interfaces for clients.

    Another option would be to allow AC3/DTS passthrough in addition to stereo PCM, but it seems most programs (Chromium/Electron, Moonlight, Steam Link) don't support this at all.

    so long,

    Hias

  • In a perfect world we would do what Kodi does and change the output channel count to match various content, but in a Flatpak environment with pulse audio and whatever application we are running that unlikely to ever to a possiblity, but maybe I'm wrong I'm no pulseaudio expert.

    So we are probably stuck with fixed multichannel or fixed stereo output, and if you do choose multichannel I'm not sure if the pulseaudio up mixing is clever enough to not up-mix if all channels are output but start up-mixing when there is a 2 channel input, as I said too complicated for my liking when 99% of YouTube content is stereo.

    I don't get it... it seemed to me, by reading the Moonlight discussion you opened, that the "upmixing everything" problem had been solved. Was this not the case?


    thanks for confirming. I'm working on seeing if we can get dolby digital tracks. will report soon

    I'd be very curious because, as far as I understood things, without patching Chromium itself, this shouldn't be possible (unfortunately).

    Edited once, last by ashlar: Merged a post created by ashlar into this post. (November 9, 2026 at 4:56 PM).

  • I don't get it... it seemed to me, by reading the Moonlight discussion you opened, that the "upmixing everything" problem had been solved. Was this not the case?

    Ok one last time, I'll try to explain myself better :)

    In my case 6 channel output without any upmixing is fine for Moonlight as all the games I'm playing supprt 5.1 audio. So the current state is perfect.

    For VacuumTube even if the app is updated to output 5.1 channel audio for some videos and 2 channel audio for others (assuming this is possible) if we then enabled 6 channel output on Pulseaudio for the VacuumTube flatpak (just like you can currently in Moonlight) the HDMI signalling would be fixed to 6 channels. For 5.1 channel content this is fine but for stereo content you would get the left and right channels playing correctly, but silence on centre, rears and LFE. This isn't wrong but for me in my setup I do not want this, my AVR refuses to enable it's own up-mixing when it receives a 6 channel signal.

    If we did enable Pulseaudio upmixing for VacuumTube the stereo videos would output on all channels (potentially still not as well as my AVR can up-mix), but I'm not sure the 5.1 channel videos would work correctly anymore, as it might ignore the surround channels and just up-mix left and right

    I hope that explains my thinking.

  • For 5.1 channel content this is fine but for stereo content you would get the left and right channels playing correctly, but silence on centre, rears and LFE. This isn't wrong but for me in my setup I do not want this, my AVR refuses to enable it's own up-mixing when it receives a 6 channel signal.

    I quote only the relevant part but thank you for the thorough explanation. I get it now, when 6 channels are active, you get front left and front right content, plus four other silent channels for C, SL, SR and SW.

    I personally listen to stereo music in stereo, using only FL and FR, and in any case Auro-3D upmixing can upmix even 5.1 content to my 5.1.4 setup (although I've never tried what the results would be in the case of a 5.1 stream with only Front Left and Front Right carrying content).

    I don't know if a solution is possible for this. But, at the end of the day, as far as unprocessed output is concerned, one gets stereo content with stereo sources and multichannel content with multichannel sources. The fact that stereo sources can't be further upmixed is... an inconvenience, in my opinion. Not much more.


    If we did enable Pulseaudio upmixing for VacuumTube the stereo videos would output on all channels (potentially still not as well as my AVR can up-mix), but I'm not sure the 5.1 channel videos would work correctly anymore, as it might ignore the surround channels and just up-mix left and right

    And actually, even if Pulseaudio upmixing was smart enough to upmix only when less than 6 channels are received, I am not sure that would be an ideal solution, as that would stop people from being able to listen to stereo music in stereo. I'm not a purist, far from it, but being unable to listen to music the way it was conceived by the artists is less than ideal.

    Edited once, last by ashlar: Merged a post created by ashlar into this post. (November 9, 2026 at 6:09 PM).

  • I got as far as this


    Not sure if it will help. solving Dolby digital seems way to involved and I'd need a build environment to do it which I don't have, this is far as I go. if you want me to add the source code for able to see the audio outputs, let me know