Image(s):
node-chrome-debug / node-firefox-debug
Docker Version:
3.0.1
Chrome should use the Nvidia GPU.
Chrome doesn't enable GPU process or usage.
Server is Intel Xeon (2x6 cores, 24 threads). 36GB RAM. Ubuntu 16.04 OS (no VMWare). We fitted a Nvidia 1050 ti in the hope we could speed up chrome rendering to match MBP speeds. Strangely, it seems Docker For Mac now doesn't enable GPU acceleration. It did used to... both MBP and our dedicated selenium server now report the graphics driver as VMWare.
Looking for any advice.
Have you tried running the nodes using nvidia-docker? https://github.com/NVIDIA/nvidia-docker
I am curious about any performance improvement that you may get.
Hey guys, I encountered this issue as well and here's what I found out.
Long story short: NO - the current implementation doesn't support graphics acceleration.
@philjones88 all nodes run on top of xvfb ("X virtual frame buffer") therefore graphics acceleration cannot be enabled.
@rjimgal running on nvidia-docker doesn't solve the issue because:
I hope I saved you some googling :)
happy new year
--PG
thanks @pigiuz !
By reading your comment on nvidia-docker it seems it might work on Linux machines with docker native.
@elgalu in order to make it working you need to replace xvfb with a real X server and do all the plumbing.
Last time I checked (december 2016) neither browserstack nor saucelabs offer this service yet so I'm investigating in this matter as well.
I'll publish something in case I succeed, please do the same if you achieve something :)
Nice. Though I'm not actively trying this out I'm very interested in seeing
any conclusions.
A bit related, chrome --headless seems to have been shipped already with
Chrome 57 (dev channel). I'm now also curious how this Headless Chromium
will improve our tests performance, or not.
https://chromium.googlesource.com/chromium/src/+/master/headless/README.md
Hey guys, I'm glad to be coming back here with very good news!!
We finally have hardware acceleration!
we forked selenium node chrome and node firefox,
we added VirtualGL support,
and we're running them on a G2 instance on AWS (with an Nvidia grid GPU).
this enables us to run hardware accelerated webgl content in selenium.
here's the repos
https://github.com/plumbee/nvidia-virtualgl-selenium-node-chrome
https://github.com/plumbee/nvidia-virtualgl-selenium-node-firefox
here's how we set up the host machine on AWS
https://medium.com/@pigiuz/setting-up-a-hw-accelerated-desktop-on-aws-g2-instances-4b58718a4541#.kfwywl5e1
and the setup repo https://github.com/plumbee/nvidia-hw-accelerated-box
here's the explanation of how we enabled docker containers to run hardware accelerated GUI applications
https://medium.com/@pigiuz/hw-accelerated-gui-apps-on-docker-7fd424fe813e#.b0gz0lrxx
feel free to fork\contribute\use all of the above, or contact me for any clarification
enjoy!
I guess that after @pigiuz comment, we can close this issue, right @philjones88 ?
@diemol I had a quick look but it's a fork and I was hoping this would eventually be built into this repo it's self. I wanted to avoid forks and relying on third parties.
@diemol i agree with @philjones88 here, forks are a suboptimal way to solve the problem if you don't want to get your hands dirty.
@diemol let me know if you are ever going to merge the virtualgl solution into yours. I will be more than glad to help.
@philjones88 @pgatplumbee I understand, but I am not sure if supporting this is in the scope of the docker-selenium project.
To my understanding, the idea of this project is to provide a general solution that fits lots of people.
Special cases, like hardware acceleration or video recording, need special conditions (special AWS instances, different configs, more packages and processes running). These cases, seem to be not the common case, and that's why there are fork/parallel solutions for those needs (like @pigiuz for HW acceleration or @elgalu for video recording).
I'm not the one deciding, but that's my opinion. What do you guys thing? @ddavison @elgalu
@diemol good for me, if you will ever change direction give me a call, I will be available.
PS: @pigiuz and @pgatplumbee is always me (personal and company accounts)
I will close this issue since there was no more activity in it, and this feature won't be supported in this repo. For anyone interested in hardware acceleration, please check @pigiuz @pgatplumbee solution.
Most helpful comment
Hey guys, I'm glad to be coming back here with very good news!!
We finally have hardware acceleration!
we forked selenium node chrome and node firefox,
we added VirtualGL support,
and we're running them on a G2 instance on AWS (with an Nvidia grid GPU).
this enables us to run hardware accelerated webgl content in selenium.
here's the repos
https://github.com/plumbee/nvidia-virtualgl-selenium-node-chrome
https://github.com/plumbee/nvidia-virtualgl-selenium-node-firefox
here's how we set up the host machine on AWS
https://medium.com/@pigiuz/setting-up-a-hw-accelerated-desktop-on-aws-g2-instances-4b58718a4541#.kfwywl5e1
and the setup repo https://github.com/plumbee/nvidia-hw-accelerated-box
here's the explanation of how we enabled docker containers to run hardware accelerated GUI applications
https://medium.com/@pigiuz/hw-accelerated-gui-apps-on-docker-7fd424fe813e#.b0gz0lrxx
feel free to fork\contribute\use all of the above, or contact me for any clarification
enjoy!