m1k1o / neko

A self hosted virtual browser that runs in docker and uses WebRTC.
https://neko.m1k1o.net/
Apache License 2.0
5.96k stars 449 forks source link

Missing widevine component on arm based neko #278

Open dnjstlr555 opened 1 year ago

dnjstlr555 commented 1 year ago

Hi, I installed neko chromium version from 'ghcr.io/m1k1o/neko/arm-chromium:latest' and successfully installed the neko on my raspberry pi 4 b raspbian. However I encountered problem that I couldn't play and enter spotify web player and also disney plus. I suspected that it could be problem related with drm things, after few searches i found that there were no widevine component installed at chrome://components. Recent posts says that before widevine was not supported at arm64, but i found posts https://github.com/castlabs/electron-releases/issues/150 https://github.com/raspberrypi/Raspberry-Pi-OS-64bit/issues/248 that says recently it updated to support arm64 also. I executed bash on neko's docker and downloaded arm64 version of widevine http://archive.raspberrypi.org/debian/pool/main/w/widevine/ from here and installed by apt install ./libwidevinecdm0... and restarted docker. but nothing changed. Since I don't have any additional knowledge about using docker I'm writing this issue hoping to resolve this problem. Thanks!

dnjstlr555 commented 1 year ago

let me know if i questioned something silly. I started to use docker for the first time to use neko and I don't know how it works around exactly. Also whenever I need to change minor things like binding ports or screen resolution I repeat process that stop the docker and remove docker, remove image and edit docker-compose.yaml and use 'sudo docker-compose up -d' command to achieve changes. I think it's extremely inefficient, Is there another way to achieve this?

m1k1o commented 1 year ago

Its actually known issue, that DRM stopped at some point, with specific version of chromium: https://github.com/m1k1o/neko/blob/9bdf9c88511d8adbadc59a557a5cf967eb2039ae/.docker/chromium/Dockerfile.arm#L7

But maybe there is already solution to that: https://pimylifeup.com/raspberry-pi-widevine/

Though it is not available in official debian packages.

For firefox, it should be working as firefox downlaods DRM support automatically.

dnjstlr555 commented 1 year ago

I just checked and widevine didn't come with firefox. and the solution did nothing, as I tried to install both inside and outside of neko's container. inside of container even though it was after command 'apt full-upgrade'.

m1k1o commented 1 year ago

Looks like DRM support for arm is not quite there. We can wait until it arrives, or if its there and someone wants to create PR adding this, it is welcome.

dnjstlr555 commented 1 year ago

@m1k1o I hope they contain the library soon. Thanks for all the contributions, neko allowed me to do many things while i'm in certain situations that browsing internet is restricted.

let me know if i questioned something silly. I started to use docker for the first time to use neko and I don't know how it works around exactly. Also whenever I need to change minor things like binding ports or screen resolution I repeat process that stop the docker and remove docker, remove image and edit docker-compose.yaml and use 'sudo docker-compose up -d' command to achieve changes. I think it's extremely inefficient, Is there another way to achieve this?

I was exploring what i need to change but unfortunately i couldn't find. Can you help me?

m1k1o commented 1 year ago

Some settings like ports, env variables, mounts cannot be modified when container is running. But you can change resolution when you log in as admin, there is small screen icon on the right. You can change screen resolution.