Netflix, state of the art?
#11
Thanks @hthiemann ! It works Smile
With lower quality and sizing the Chromium window about... one quarter of the entire screen gets decent performance with Netflix.

Great job!

Device: Pinebook Pro 128GB No:246 / MainOS: Manjaro ARM
Godot and Flutter - creating something can be fun with the right tools!
  Reply
#12
(04-20-2020, 12:41 PM)hthiemann Wrote: Currently hw accelaration is still a missing feature, but I thought I could share my current version with you - maybe someone has an idea how to fix this Smile

Please find my code and a detailled description here: https://github.com/HenningThiemann/docker-chromium-armhf


Essentially, you need to
  • enable XHost Forwarding to allow the docker container to spin up a new XFrame Window (xhost +local:docker)
  • create a new docker volume to persist your chromium settings (docker volume create chromium_home)
  • spin up the container with the following command
    docker run --rm --privileged \ -e DISPLAY=unix$DISPLAY \ -v chromium_home:/home \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -v /dev:/dev -v /run:/run \ -v /etc/machine-id:/etc/machine-id \ --ipc=host \ hthiemann/docker-chromium-armhf

  • Tested with netflix and spotify, both working 
Hi,
Nice work man..  I  think we might need to run docker img with panfrost support to get hw acc.   Maybe @PakoSt  Can try something with hw acc. 

I will test it out myself tomorrow.  
Thanks for sharing your work.
Manjaro ARM Team.
Devices: Pinebook Pro & PinePhone.
  Reply
#13
(04-20-2020, 12:41 PM)hthiemann Wrote: Currently hw accelaration is still a missing feature, but I thought I could share my current version with you - maybe someone has an idea how to fix this Smile

Please find my code and a detailled description here: https://github.com/HenningThiemann/docker-chromium-armhf


Essentially, you need to
  • enable XHost Forwarding to allow the docker container to spin up a new XFrame Window (xhost +local:docker)
  • create a new docker volume to persist your chromium settings (docker volume create chromium_home)
  • spin up the container with the following command
    docker run --rm --privileged \ -e DISPLAY=unix$DISPLAY \ -v chromium_home:/home \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -v /dev:/dev -v /run:/run \ -v /etc/machine-id:/etc/machine-id \ --ipc=host \ hthiemann/docker-chromium-armhf

  • Tested with netflix and spotify, both working 

Awesome work, have you set the required flags? Smile - for starters un-blacklist the GPU?. Then see if you get acceleration (easily checked under chrome://gpu).

For reference, in chrome://flags look for:

Code:
#ignore-gpu-blacklist

#enable-gpu-rasterization
You can find me on IRC, Discord and Twitter


  Reply
#14
Cleaned the docker install earlier. I want to try it with podman as it seems that it doesn't require elevated privileges (not familiar enough with docker but sudo looks to be the normie approach).

We ought to try with the flags for sure. The wiki has the full list used by mrfixit as well.

Device: Pinebook Pro 128GB No:246 / MainOS: Manjaro ARM
Godot and Flutter - creating something can be fun with the right tools!
  Reply
#15
(04-20-2020, 03:57 PM)Luke Wrote:
(04-20-2020, 12:41 PM)hthiemann Wrote: Currently hw accelaration is still a missing feature, but I thought I could share my current version with you - maybe someone has an idea how to fix this Smile

Please find my code and a detailled description here: https://github.com/HenningThiemann/docker-chromium-armhf


Essentially, you need to
  • enable XHost Forwarding to allow the docker container to spin up a new XFrame Window (xhost +local:docker)
  • create a new docker volume to persist your chromium settings (docker volume create chromium_home)
  • spin up the container with the following command
    docker run --rm --privileged \ -e DISPLAY=unix$DISPLAY \ -v chromium_home:/home \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -v /dev:/dev -v /run:/run \ -v /etc/machine-id:/etc/machine-id \ --ipc=host \ hthiemann/docker-chromium-armhf

  • Tested with netflix and spotify, both working 

Awesome work, have you set the required flags? Smile - for starters un-blacklist the GPU?. Then see if you get acceleration (easily checked under chrome://gpu).

For reference, in chrome://flags look for:

Code:
#ignore-gpu-blacklist

#enable-gpu-rasterization


I've copied all flags from the mrfixit debian repo and see they are available in chromium.

I have added the "mesa-utils" and "mesa-utils-extra" packages inside the container, in theory "HW acceleration" should be available now (as displayed inside chromium) - but I doubt it really is as the performance is about on the same level as before.
  Reply
#16
It works!
It's awesome that I can now use Spotify on my Manjaro PBP Smile
Also the dutch television site npo.nl and netflix work, albeit a bit chunky due to the missing hardware acceleration.
Less important though, already very happy with spotify.
Thank you!
  Reply
#17
(04-20-2020, 05:59 PM)PakoSt Wrote: Cleaned the docker install earlier. I want to try it with podman as it seems that it doesn't require elevated privileges (not familiar enough with docker but sudo looks to be the normie approach).

We ought to try with the flags for sure. The wiki has the full list used by mrfixit as well.

Hey, any updates on the podman thing... AFAIK Docker itself is also offering a rootless mode (still in kind of experimental though). Would like to hear your experience with it as I also think a root daemon to run containerized software is no longer state-of-the-art....
  Reply
#18
(04-23-2020, 01:29 AM)appelgriebsch Wrote:
(04-20-2020, 05:59 PM)PakoSt Wrote: Cleaned the docker install earlier. I want to try it with podman as it seems that it doesn't require elevated privileges (not familiar enough with docker but sudo looks to be the normie approach).

We ought to try with the flags for sure. The wiki has the full list used by mrfixit as well.

Hey, any updates on the podman thing... AFAIK Docker itself is also offering a rootless mode (still in kind of experimental though). Would like to hear your experience with it as I also think a root daemon to run containerized software is no longer state-of-the-art....
You should be able to define the docker command as a synonym for podman, e.g. that all docker run Command Calls are using podman instead.

But you might need to change some run params to make it work properly..
  Reply
#19
Thanks @hthiemann , I'm fairly new to podman. It will take me awhile to figure out what is what.

Podbox seemed like a very quick substitute to setup GUI from a container - looks like it defaults to fedora image and the script executes fairly decently big list of commands.

There ought to be plenty of time to delve into podman at the weekend

Device: Pinebook Pro 128GB No:246 / MainOS: Manjaro ARM
Godot and Flutter - creating something can be fun with the right tools!
  Reply
#20
(04-23-2020, 06:10 AM)PakoSt Wrote: Thanks @hthiemann , I'm fairly new to podman. It will take me awhile to figure out what is what.

Podbox seemed like a very quick substitute to setup GUI from a container - looks like it defaults to fedora image and the script executes fairly decently big list of commands.

There ought to be plenty of time to delve into podman at the weekend

Ok, did some tests with podman showing mixed results... I've installed podman and podman-docker via yay (incl. all dependencies). When trying to run a simple container via
Code:
docker run -it alpine

it will download the docker image, but fails to run it. I found a bug ticket on GitHub for libpod (https://github.com/containers/libpod/issues/3890) and followed some of these statements

Code:
sudo su
echo 'kernel.unprivileged_userns_clone=1' > /etc/sysctl.d/userns.conf
echo "myUser:1000000:65536" >> /etc/subuid                                    
echo "myUser:1000000:65536" >> /etc/subgid

after a reboot I was able to run alpine and other server containers in rootless mode quite successfully.

Then I downloaded the repository mentioned above and build the container image locally. When trying to run it as non-root it will fail with errors pointing to volume mapping not working properly (looks like being an issue anyway.... https://github.com/containers/libpod/blo...ootless.md).

So I started the container via sudo, which worked fine. Logged into Netflix and Spotify and was able to play contents from both.

Thanks @hthiemann for setting this up!
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Funny Conky like script to monitor your PBP state as400 1 3,634 08-19-2020, 12:57 PM
Last Post: xmixahlx
  Netflix on default Chromium/Debian MoonDog 8 11,399 01-28-2020, 04:58 AM
Last Post: simeon
  State of hibernate or hybrid-sleep? Arwen 5 8,247 11-21-2019, 07:51 AM
Last Post: tophneal

Forum Jump:


Users browsing this thread: 48 Guest(s)