Skip to content

humberthardy/chromium-opengl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PoC - Chromium with openGL support for webrecorder stack

Ubuntu 16.04 was used for this demonstration.

Requirements

  1. Ubuntu with X11 server
  2. nvidia GPU
  3. docker
  4. nvidia runtime for docker engine
  5. nvidia driver > 390 (tested with nvidia-396)

How to use it

  1. Allow incoming connections to your X11 server (Run xhost + on your host OS)
  2. Build the new oldwebtoday/sphepherd and oldwebtoday/chromium-opengl:65 images by running docker-compose build from the terminal
  3. Restart your webrecorder's stack

This modified version of oldwebtoday/sphepherd starts the browsers with:

  • nvidia runtime (equivalent to docker run --runtime=nvidia)
  • a bind of /tmp/X11-unix:X0 between the host and browsers.
  • privileged mode (equivalent to docker run --privileged)

Instead of using oldwebtoday/base-browser as base image, oldwebtoday/chromium-opengl:65 is build from glvnd-runtime and use TurboVNC (instead of X11-vnc and Xvfb)

How it works

  • X11 socket is shared between host and the docker containers.
  • vglrun from VirtualGl wrap the chromium-browser process. it redirects GPU calls inside the container to the host through the previous socket
  • The flag --disable-gpu-sandbox is passed to Chromium. The normal behaviour of Chromium use some forks, and is bypassing vglrun. This flag avoid this.

About

PoC to explore opengl inside dockerized browser for webrecorder

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors