Headless: make --disable-gpu flag unnecessary
Project Member Reported by paulir...@chromium.org, Jun 28 2017
In the various documentation/guides for headless, the --disable-gpu flag is recommended. My understanding is that it's required because "libosmesa.so is not there" I've seen a few related errors printed, e.g. > Failed to launch GPU process. > [ERROR:gl_implementation.cc(246)] Failed to load /opt/google/chrome/libosmesa.so: /opt/google/chrome/libosmesa.so: cannot open shared object file: No such file or directory [ERROR:gpu_child_thread.cc(174)] Exiting GPU process due to errors during initialization --disable-gpu does seem to be successful in addressing these problems right now. ---------------------- I have a few questions: 1. Is this flag currently required on all platforms, or just Linux? 2. Is it *always* required on Linux, or it depends on the host machine? 3. Can we make it unnecessary? Basically, if we're in --headless and no libobmesa is found, then we proceed as if --disable-gpu is set?
Jul 5 2017,
Ah sweet. Can you help me find what crrev this was made unnecessary on Linux and Mac? AFAIK it's needed on stable, just want to update documentation. :)
Jul 6 2017,
Nov 2 2017,
Any updates on this for Windows?
Nov 3 2017,
Nope, sorry, still on my backlog.
Apr 7 2018,
Any updates so far for Windows ?
Do you have the optimal settings we should be running headless chrome on Windows, Linux, Mac etc? I have been copying what I see in Puppeteer and running that on Windows with the remote debugging port and ip binding added in. Then using the devtools socket to control it. But you guys probably know the optimal flags / settings we should be using when launching it. Perhaps even variations to make certain aspects better such as screen shot or as we do mostly to generate PDF's. Thanks! I current run with these settings on Windows: --headless --remote-debugging-port=9222 --remote-debugging-address=0.0.0.0 --disable-background-networking --disable-background-timer-throttling --disable-breakpad --disable-client-side-phishing-detection --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=site-per-process --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --disable-translate --metrics-recording-only --no-first-run --safebrowsing-disable-auto-update --enable-automation --password-store=basic --use-mock-keychain --user-data-dir=.\temp --hide-scrollbars --mute-audio Note that the 0.0.0.0 binding is probably unsafe but needed as of a week ago ; some windows security update is blocking communication to the WS socket when chrome dev tools binds to 127.0.0.1 by default
Since https://bugs.chromium.org/p/chromium/issues/detail?id=729961 is fixed, should we assume that `--disable-gpu` is no longer necessary on Windows as well?
Sign in to add a comment