Chrome Addon missing Video Acceleration Information

  • Hi,

    I wondered why there is still an difference playing videos on libreelec chrome vs playing videos windows chrome. So I started to trace it down a little bit and the main difference I've found is this:

    libreelec:

    Video Acceleration Information

    windows:

    Video Acceleration Information

    Decode h264 baseline 64x64 to 4096x4096 pixels

    Decode h264 main 64x64 to 4096x4096 pixels

    Decode h264 high 64x64 to 4096x4096 pixels

    Decode vp9 profile0 64x64 to 8192x8192 pixels

    Decode vp9 profile2 64x64 to 8192x8192 pixels

    Encode h264 baseline 0x0 to 1920x1088 pixels, and/or 30.000 fps

    Encode h264 main 0x0 to 1920x1088 pixels, and/or 30.000 fps

    Encode h264 high 0x0 to 1920x1088 pixels, and/or 30.000 fps


    Its completely empty for libreelec, do you know why? Is it related to the Intel Driver?

    Both are machines are NUCs, 1x NUC7CJYH2 (windows) 1x NUC5PPYH (libreelec)

    Attached are the full log files.

  • vainfo from the libreelec box:

    TV2:~ # vainfo

    libva info: VA-API version 1.5.0

    libva info: va_getDriverName() returns 0

    libva info: Trying to open /usr/lib/dri/i965_drv_video.so

    libva info: Found init function __vaDriverInit_1_5

    libva info: va_openDriver() returns 0

    vainfo: VA-API version: 1.5 (libva 2.5.0)

    vainfo: Driver version: Intel i965 driver for Intel(R) CherryView - 2.3.0

    vainfo: Supported profile and entrypoints

    VAProfileMPEG2Simple : VAEntrypointVLD

    VAProfileMPEG2Simple : VAEntrypointEncSlice

    VAProfileMPEG2Main : VAEntrypointVLD

    VAProfileMPEG2Main : VAEntrypointEncSlice

    VAProfileH264ConstrainedBaseline: VAEntrypointVLD

    VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice

    VAProfileH264Main : VAEntrypointVLD

    VAProfileH264Main : VAEntrypointEncSlice

    VAProfileH264High : VAEntrypointVLD

    VAProfileH264High : VAEntrypointEncSlice

    VAProfileH264MultiviewHigh : VAEntrypointVLD

    VAProfileH264MultiviewHigh : VAEntrypointEncSlice

    VAProfileH264StereoHigh : VAEntrypointVLD

    VAProfileH264StereoHigh : VAEntrypointEncSlice

    VAProfileVC1Simple : VAEntrypointVLD

    VAProfileVC1Main : VAEntrypointVLD

    VAProfileVC1Advanced : VAEntrypointVLD

    VAProfileNone : VAEntrypointVideoProc

    VAProfileJPEGBaseline : VAEntrypointVLD

    VAProfileJPEGBaseline : VAEntrypointEncPicture

    VAProfileVP8Version0_3 : VAEntrypointVLD

    VAProfileVP8Version0_3 : VAEntrypointEncSlice

    VAProfileHEVCMain : VAEntrypointVLD

  • There is a precompiled chromium with vaapi etc and drm support, that could be used just like the current chrome ones (just change urls at script).
    No time yet to properly test it just quickly hacked something together.

    We are not going the self compiled browser version at LE anymore because it was a nightmare because it frequently broke with no easy fixes. Current implementation just works.

    You can take it from here ppa Chromium Dev branch : Saikrishna Arcot (GH saiarcot895/chromium-ubuntu-build).

  • We are not going the self compiled browser version at LE anymore because it was a nightmare because it frequently broke with no easy fixes.

    yep, google devs really did a great job with this chrome binary. I'm using it this since it first got released and never had any trouble with it. its magic.

    a pitty they do not even plan to add vaapi to it.

  • We are not going the self compiled browser version at LE anymore because it was a nightmare because it frequently broke with no easy fixes.

    Have you studied the possibility of taking a chrome encapsulated in docker, instead of installing a chrome in LibreELEC?

    Edited 5 times, last by elonesna (December 15, 2020 at 1:09 PM).

  • Okay I got it working (with vaapi!) (but only once) by just changing the URL in the chrome-downloader script. By once, I mean it started once, then I started to modify the script files and now I get:

    ./chromium-browser: /usr/lib/libc.so.6: version `GLIBC_2.32' not found (required by ./chromium-browser)

    ./chromium-browser: /usr/lib/libpthread.so.0: version `GLIBC_2.30' not found (required by ./chromium-browser)

    I have to trace this down a little bit, why it started once but not again, on the same machine.

    This is the browser.chromium folder now: GitHub - blitterz/browser.chromium: Chromium Browser for Libreelec

    Unfortunately I have uploaded the Zip before the Code, not sure how to delete it now

  • Solved "/usr/lib/libc.so.6: version `GLIBC_2.32' not found" by using chromium-browser_88.0.4324.11-0ubuntu1~ppa1~18.04.1_amd64.deb instead of the 20.10 Version!

    Github has been updated.

  • Geforce Now is playable on the TV with that package! I wonder how I can bring kodi to recognize this package in the frontend, because I have to execute ./chrome-start from the console?!

  • @mglea that did it. It was just deactivated. only left to do is changing the icon of the chromium fork.

    thank you so much for your help! glad I can go back to libreelec again. I had this similar setup with kodi and geforce now app running on a w10 before, but kodi on windows is a huge mess, for example when you come back from energy saving mode the window freezes and things like that. It never has been so good like it is on libreelec now.

  • I have a look if we can do it somehow to add it to the repository. Chrome just works with drm and stuff. At chromium you have to install it at your own that is likely not doable for 99% of the users. We can't host the file either so I have to script around the problem ;) But should be doable till LE10.

  • I have installed the Chrome addon and initially it worked fine on LE x86_64, now it no longer works, I have uninstalled it and replaced it with the headless jlesage/firefox docker (*) which works great via VNC on port 5900 (I have moved the VNC server LibreELEC addon to port 9900).

    The command I have used to install it is:

    The command I use in /storage/.config/autostart.sh to start the firefox service is:

    Code
    docker start firefox

    Note (*) .- The use of my LE x86_64 is double, on the one hand it is a Kodi client for family TV and multimedia use (an on-screen web browser looks very small and is not usable), and on the other hand they are running multiple headless servers for remote use (tvheadend, firefox for remote smartphone-tablet-pc use, pi-hole as firewall and private DNS, samba for read-only users, ftp for read-write users, sftp-ssh-vnc for remote management , syncthing for backup of smarphones, double-commander as an alternative to mc, xupnp2 to distribute TV to Smart-TVs, kodi upnp server to distribute multimedia to Smart-TVs, and zerotier-one to allow remote access to devices outside the home network.

    Edited once, last by elonesna (December 20, 2020 at 2:42 PM).

  • I have a look if we can do it somehow to add it to the repository. Chrome just works with drm and stuff. At chromium you have to install it at your own that is likely not doable for 99% of the users. We can't host the file either so I have to script around the problem ;) But should be doable till LE10.

    I did only minimal changes to your script, its the same procedure as the chrome before, downloading deb and extract data. I just changed curl to wget.

    browser.chromium/bin at main · blitterz/browser.chromium · GitHub

    everything is exactly the same, like same parameters and stuff like this, just with full vaapi.