disable-gpu no longer works with M59

252 views
Skip to first unread message

Marshall Greenblatt

unread,
Apr 21, 2017, 10:12:38 PM4/21/17
to graphics-dev, Sadrul Chowdhury
Hi All,

I'm testing a Chromium-derived product at master revision 5be07ac8 (#464640) which is also the M59 branch point. I notice that the `--disable-gpu` command-line flag no longer stops the GPU process from launching (tested on Windows 10 and Ubuntu Linux 14.04). Is this a known issue and/or an intentional change? Is there an alternate flag that I should be using to disable GPU process launch (and thereby trigger software rendering)?

Thanks,
Marshall

Victor Miura

unread,
Apr 21, 2017, 10:23:57 PM4/21/17
to Marshall Greenblatt, graphics-dev, Sadrul Chowdhury

SwiftShader is now packaged in Chrome and is used for WebGL.  If you go to chrome://gpu , what features are enabled?

Marshall Greenblatt

unread,
Apr 21, 2017, 10:41:19 PM4/21/17
to Victor Miura, graphics-dev, Sadrul Chowdhury
Attached are chrome_gpu_default.pdf (no command-line flags) and chrome_gpu_disabled.pdf (--disable-gpu command-line flag) from Windows 10 64-bit. From the output it seems that most GPU features are disabled in the --disable-gpu case. However, the GPU process is still being launched in both cases.

Here is the GPU process command-line from the default case:

"C:\code\chromium_git\chromium\src\out\Debug_GN_x86\cefclient.exe" --type=gpu-process --lang=en-US --log-file="C:\code\chromium_git\chromium\src\out\Debug_GN_x86\debug.log" --supports-dual-gpus=false --gpu-driver-bug-workarounds=7,10,19,20,23,26,41,74 --disable-gl-extensions="GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent" --gpu-vendor-id=0x1002 --gpu-device-id=0x6821 --gpu-driver-vendor="Advanced Micro Devices, Inc." --gpu-driver-version=15.301.2101.0 --gpu-driver-date=2-9-2016 --lang=en-US --log-file="C:\code\chromium_git\chromium\src\out\Debug_GN_x86\debug.log" --service-request-channel-token=E4674A34ED2B8DDE643FD4DE99F9D1D6 --mojo-platform-channel-handle=1520 --ignored=" --type=renderer " /prefetch:2

And the --disable-gpu case:

"C:\code\chromium_git\chromium\src\out\Debug_GN_x86\cefclient.exe" --type=gpu-process --lang=en-US --log-file="C:\code\chromium_git\chromium\src\out\Debug_GN_x86\debug.log" --use-gl=swiftshader-webgl --supports-dual-gpus=false --gpu-driver-bug-workarounds=7,10,19,20,23,26,41,74 --disable-gl-extensions="GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent" --disable-webrtc-hw-encoding --gpu-vendor-id=0x1002 --gpu-device-id=0x6821 --gpu-driver-vendor="Google Inc." --gpu-driver-version=3.3.0.2 --gpu-driver-date=2017/04/07 --lang=en-US --log-file="C:\code\chromium_git\chromium\src\out\Debug_GN_x86\debug.log" --service-request-channel-token=A9F77CF04F72D91CDE04ACFE230BEF23 --mojo-platform-channel-handle=2892 --ignored=" --type=renderer " /prefetch:2

So, it seems likely to be the swiftshader usage that you reference.
chrome_gpu_default.pdf
chrome_gpu_disabled.pdf

Nicolas Capens

unread,
Apr 21, 2017, 11:09:13 PM4/21/17
to Marshall Greenblatt, Victor Miura, graphics-dev, Sadrul Chowdhury
This is now the expected behavior for --disable-gpu on Windows and desktop Linux. Note the GL_RENDERER string in about://gpu showing that it's using SwiftShader.

--disable-gpu is still the way to ensure the GPU won't be used. SwiftShader provides WebGL support on the CPU. But it does use the "GPU" process for it.

Marshall Greenblatt

unread,
Apr 21, 2017, 11:21:16 PM4/21/17
to Nicolas Capens, Victor Miura, graphics-dev, Sadrul Chowdhury, ccam...@chromium.org
OK, thanks for the confirmation. The main problem for me is that I can no longer work around https://bugs.chromium.org/p/chromium/issues/detail?id=699278 with --disable-gpu. Perhaps the amount of work performed in the GPU process can be further reduced for the swiftshader use case (or perhaps I just need to wait for that bug to be resolved :)).
Reply all
Reply to author
Forward
0 new messages