Got it!  That clears it all up for me.  Thanks!

On Fri, Aug 22, 2025 at 2:06 PM Geoff Lang <geoffl...@google.com> wrote:

> The experiment is currently rolled out to 1% of users.
>
> Geoff
>
> On Fri, Aug 22, 2025 at 4:40 PM Fred Potter <fpot...@gmail.com> wrote:
>
>> Thanks, Geoff.  Those args do help me test the WARP path, and it seems to
>> be working great.  And, glad to hear SwiftShader is always replaced with
>> WARP, and there's no case where a Windows user loses SwiftShader and
>> doesn't get opted into WARP.
>>
>> I'm confused about why I have not organically ended up in the
>> SwiftShaderDeprecation experiment yet.
>>
>> Is this line saying that the experiment is rolled out to 98% in STABLE?
>>
>> https://gist.github.com/fpotter/48395681a0ec900a27e019be9e41b323#file-gistfile1-txt-L192
>>
>> On Windows, I tried disabling the Intel graphics driver to force
>> "Microsoft Basic Renderer Driver".  Then I tried blowing away my
>> \Users\me\AppData\Local\Google directory to force experiment state to
>> reset.  But, I still end up with GL_RENDERER showing SwiftShader.
>>
>> On Friday, August 22, 2025 at 6:52:53 AM UTC-7 Geoff Lang wrote:
>>
>>> I'm not sure exactly how to read this file but it looks right to me:
>>> disable "AllowSoftwareGLFallbackDueToCrashes"
>>> disable "AllowSwiftShaderFallback"
>>> enable "AllowD3D11WarpFallback"
>>>
>>> How are you testing? You can use
>>> "--enable-features=AllowD3D11WarpFallback
>>> --disable-features=AllowSoftwareGLFallbackDueToCrashes,AllowSwiftShaderFallback".
>>> Other command line arguments can interfere too, things like
>>> "--use-angle=swiftshader" would force it back on.
>>>
>>> Geoff
>>>
>>> On Fri, Aug 22, 2025 at 12:33 AM Fred Potter <fpo...@gmail.com> wrote:
>>>
>>>> Hi Folks,
>>>>
>>>> I tried to pull the experiment setup for SwiftShaderDeprecation, and
>>>> wanted to confirm the behavior with you all to make sure I'm parsing it
>>>> right --
>>>> https://gist.github.com/fpotter/48395681a0ec900a27e019be9e41b323
>>>>
>>>> By my read, it looks like when SwiftShader is disabled for a Windows
>>>> user, they'll always be opted into the WARP fallback at the same time.  Is
>>>> that right?
>>>>
>>>> I've been trying to test myself on v139 on Windows (in Stable, Beta,
>>>> and Canary), but so far I've been unlucky and continue to get SwiftShader
>>>> according to chrome://gpu.
>>>>
>>>> Thanks!
>>>> Fred
>>>>
>>>>
>>>>
>>>>
>>>> On Thursday, August 14, 2025 at 7:22:59 AM UTC-7 Geoff Lang wrote:
>>>>
>>>>> No plans, unfortunately. Chromium isn't set up to easily share
>>>>> resources between different GL drivers right now.
>>>>>
>>>>> On Tue, Jul 29, 2025 at 2:00 PM PhistucK <phis...@gmail.com> wrote:
>>>>>
>>>>>> I am just curious... Are there any plans to add WebGL 2 software
>>>>>> rendering support/fallback? My machine can use fewer and fewer 
>>>>>> WebGL-based
>>>>>> websites because they use WebGL 2...
>>>>>>
>>>>>>
>>>>>> ☆*PhistucK*
>>>>>>
>>>>>>
>>>>>> On Wed, Jul 9, 2025 at 4:35 PM 'David Adrian' via blink-dev <
>>>>>> blin...@chromium.org> wrote:
>>>>>>
>>>>>>> An update: We added an enterprise policy
>>>>>>> <https://chromeenterprise.google/policies/#EnableUnsafeSwiftShader>
>>>>>>> that allows users to re-enable Swiftshader. This should help with the
>>>>>>> managed VM / remote desktop use-case.
>>>>>>>
>>>>>>> In Chrome 139, we will start experimenting (via Finch/partial
>>>>>>> deployments) with:
>>>>>>>
>>>>>>>    - Removing Swiftshader support on MacOS and Linux
>>>>>>>    - Replacing Swiftshader with WARP on Windows
>>>>>>>    - Removing the OOM fallback to Swiftshader/WARP, so that it is
>>>>>>>    not attacker-triggerable on arbitrary devices
>>>>>>>
>>>>>>>
>>>>>>> On Thursday, April 24, 2025 at 9:55:58 AM UTC-4 David Adrian wrote:
>>>>>>>
>>>>>>>> As it stands now, we are hopeful we can swap out to WARP on Windows
>>>>>>>> without any drop in coverage for software rendering (i.e. 
>>>>>>>> simultaneously
>>>>>>>> with removing SwiftShader). Experimental support and testing for this 
>>>>>>>> will
>>>>>>>> begin in Chrome 137.
>>>>>>>>
>>>>>>>> On Thursday, April 10, 2025 at 12:47:33 PM UTC-4 Julie Powell wrote:
>>>>>>>>
>>>>>>>>> WebGL emulation is critical for many US entities that are running
>>>>>>>>> thin client machines which don’t have access to a GPU. So far, the
>>>>>>>>> organizations we’ve spoken to are on Windows so simultaneously 
>>>>>>>>> putting an
>>>>>>>>> automatic fallback to WARP in place once the fallback to SwiftShader 
>>>>>>>>> is
>>>>>>>>> removed – avoiding a period of time when a command line override 
>>>>>>>>> would be
>>>>>>>>> required – will allow them to continue operating. We have verified 
>>>>>>>>> that the
>>>>>>>>> following organizations are dependent on this capability (note that 
>>>>>>>>> there
>>>>>>>>> are many more outside of this list, both in the private and public 
>>>>>>>>> sector):
>>>>>>>>> Department of the Interior Bureau of Land Management, Office of 
>>>>>>>>> Wildland
>>>>>>>>> Fire, National Park Service, U.S. Geologic Survey, U.S. Fish and 
>>>>>>>>> Wildlife
>>>>>>>>> Service, Bureau of Indian Affairs, Air Force DCGS, Army Tactical Edge 
>>>>>>>>> Node,
>>>>>>>>> DCGS-Army, DCGS-USMC, USMC, USAF, USDA, NGA, DIA, Census, DHS, CISA,
>>>>>>>>> FirstNet/NTIA (Commerce), NCIS, DTRA, STRATCOM, EUCOM, Idaho National
>>>>>>>>> Guard, some universities, K-12 schools, National Geographic, and more.
>>>>>>>>>
>>>>>>>>> I am working with colleagues and international distributors to
>>>>>>>>> gauge the usage of VMs running Linux which are doing web mapping and 
>>>>>>>>> don’t
>>>>>>>>> have access to GPU resources. I will come back with an update when I 
>>>>>>>>> have
>>>>>>>>> one.
>>>>>>>>>
>>>>>>>>> On Monday, March 24, 2025 at 12:56:08 PM UTC-7 Matt George wrote:
>>>>>>>>>
>>>>>>>>>> Hi Rick, AFAIK it's only Windows, but currently reaching out to
>>>>>>>>>> see if it's different for our distributors in Europe.
>>>>>>>>>>
>>>>>>>>>> Matt
>>>>>>>>>> On Monday, March 24, 2025 at 10:38:19 AM UTC-7 Rick Byers wrote:
>>>>>>>>>>
>>>>>>>>>>> Thanks for chiming in Matt. Is the scenario you described
>>>>>>>>>>> Windows-only (in which case we should be good with WARP), or also 
>>>>>>>>>>> Linux?
>>>>>>>>>>>
>>>>>>>>>>> Rick
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Mar 24, 2025 at 1:22 PM Matt George <matt...@gmail.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Very happy to hear about exploring the use of WARP on windows.
>>>>>>>>>>>>
>>>>>>>>>>>> Just wanted to chime in that from the Esri perspective, we also
>>>>>>>>>>>> have a large number of users accessing our maps SDK from VMs 
>>>>>>>>>>>> without a GPU.
>>>>>>>>>>>> This is done for security reasons, & not uncommon for public sector
>>>>>>>>>>>> clients. We have a special codepath where when we detect software 
>>>>>>>>>>>> emulation
>>>>>>>>>>>> is being used, we only render every X frames & then use css 
>>>>>>>>>>>> transforms
>>>>>>>>>>>> in-between. This is fairly usable, though of course it's a much 
>>>>>>>>>>>> worse
>>>>>>>>>>>> experience than having a GPU.
>>>>>>>>>>>>
>>>>>>>>>>> On Tuesday, March 11, 2025 at 1:11:42 AM UTC-7 Ashley Gullen
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks for the update David - that sounds like a much less
>>>>>>>>>>>>> disruptive approach than removing it completely.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Mon, 10 Mar 2025 at 19:26, David Adrian <dad...@google.com>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> To cover the testing use case, we have provided a CLI flag to
>>>>>>>>>>>>>> enable SwiftShader. This has been in the release notes since 
>>>>>>>>>>>>>> November. If
>>>>>>>>>>>>>> this is insufficient, we could add an enterprise policy.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> However, rather than attempt a straight removal, we are going
>>>>>>>>>>>>>> to take a multi-pronged approach to attempt to simultaneously 
>>>>>>>>>>>>>> reduce the
>>>>>>>>>>>>>> situations where SwiftShader is available, while maintaining
>>>>>>>>>>>>>> compatibility with devices that require it due to the GPU 
>>>>>>>>>>>>>> blocklist.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>    - SwiftShader is already unused on many Mac clients,
>>>>>>>>>>>>>>    since it does not support ARM. We will run an experiment 
>>>>>>>>>>>>>> where we fully
>>>>>>>>>>>>>>    remove it on Mac, where usage is much smaller. We expect this 
>>>>>>>>>>>>>> will be ~fine.
>>>>>>>>>>>>>>    - Similarly, we will try the same on Linux, although this
>>>>>>>>>>>>>>    may not go as well, as there are not a large number of ARM 
>>>>>>>>>>>>>> Linux clients.
>>>>>>>>>>>>>>    - We will experiment with removing the automatic fallback
>>>>>>>>>>>>>>    to SwiftShader after 3 OOMs, limiting it to just the devices 
>>>>>>>>>>>>>> without a GPU
>>>>>>>>>>>>>>    or on the GPU blocklist. This should reduce the attack 
>>>>>>>>>>>>>> surface across the
>>>>>>>>>>>>>>    board, as attackers would be unable to arbitrarily cause 
>>>>>>>>>>>>>> SwiftShader to be
>>>>>>>>>>>>>>    used. In conjunction with this, we'll see if we can leverage 
>>>>>>>>>>>>>> Warp on
>>>>>>>>>>>>>>    Windows.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> If we can get to a state where SwiftShader is off by default
>>>>>>>>>>>>>> on Mac and Linux, and replaced with Warp on Windows aside from 
>>>>>>>>>>>>>> the CLI
>>>>>>>>>>>>>> flag, and the fallback is not triggerable by an attacker on 
>>>>>>>>>>>>>> systems with a
>>>>>>>>>>>>>> "normal" GPU, we'll be in much better shape from a security 
>>>>>>>>>>>>>> standpoint.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> We will update this thread with the progress and results of
>>>>>>>>>>>>>> these experiments as they roll out.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Mon, Mar 3, 2025 at 2:27 PM Rick Byers <
>>>>>>>>>>>>>> rby...@chromium.org> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> +1 that providing temporary enterprise policy exceptions is 
>>>>>>>>>>>>>>> standard
>>>>>>>>>>>>>>> practice
>>>>>>>>>>>>>>> <https://www.chromium.org/developers/enterprise-changes/>
>>>>>>>>>>>>>>> for breaking changes that we predict may have enterprise impact.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Rick
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Mon, Mar 3, 2025 at 2:24 PM Erik Anderson <
>>>>>>>>>>>>>>> erik.a...@microsoft.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi Geoff,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> My suggestion re: a policy was not to have one that is
>>>>>>>>>>>>>>>> supported indefinitely.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Many high-risk deprecations have had a policy lasting for,
>>>>>>>>>>>>>>>> I believe, as little as 3 major version releases. Having such 
>>>>>>>>>>>>>>>> a thing helps
>>>>>>>>>>>>>>>> mitigate the concern that the risk analysis was way off (which 
>>>>>>>>>>>>>>>> could then
>>>>>>>>>>>>>>>> mean needing to do a stable respin if your risk analysis was 
>>>>>>>>>>>>>>>> off). If a
>>>>>>>>>>>>>>>> policy is available, impacted enterprises can quickly 
>>>>>>>>>>>>>>>> self-remediate,
>>>>>>>>>>>>>>>> report what broke once you flip over the default, and have a 
>>>>>>>>>>>>>>>> little bit
>>>>>>>>>>>>>>>> more of a window to plan mitigations tied to the removal of 
>>>>>>>>>>>>>>>> the policy
>>>>>>>>>>>>>>>> (since they’d now be aware of what broke and why).
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Erik
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> *From:* Ken Russell <k...@chromium.org>
>>>>>>>>>>>>>>>> *Sent:* Monday, March 3, 2025 10:39 AM
>>>>>>>>>>>>>>>> *To:* Ashley Gullen <ash...@scirra.com>
>>>>>>>>>>>>>>>> *Cc:* Geoff Lang <geof...@google.com>; Erik Anderson <
>>>>>>>>>>>>>>>> erik.a...@microsoft.com>; Rick Byers <rby...@chromium.org>;
>>>>>>>>>>>>>>>> David Adrian <dad...@google.com>; blink-dev <
>>>>>>>>>>>>>>>> blin...@chromium.org>; geof...@chromium.org <
>>>>>>>>>>>>>>>> geof...@chromium.org>
>>>>>>>>>>>>>>>> *Subject:* Re: [EXTERNAL] Re: [blink-dev] Intent to
>>>>>>>>>>>>>>>> Remove: SwiftShader Fallback
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> It's feasible, but a significant amount of engineering work
>>>>>>>>>>>>>>>> that our (Chrome Graphics) team would not be able to 
>>>>>>>>>>>>>>>> prioritize versus
>>>>>>>>>>>>>>>> other current work that would impact a larger user base.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> -Ken
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Fri, Feb 28, 2025 at 9:45 AM 'Ashley Gullen' via
>>>>>>>>>>>>>>>> blink-dev <blin...@chromium.org> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Is it feasible to have SwiftShader (or WARP) run in its own
>>>>>>>>>>>>>>>> process with a stronger sandbox?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Fri, 28 Feb 2025 at 15:25, Geoff Lang <
>>>>>>>>>>>>>>>> geof...@google.com> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hey Erik, Ashley, Rick,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I want to be clear that I think having high WebGL
>>>>>>>>>>>>>>>> availability is a good thing. I don't think that users with 
>>>>>>>>>>>>>>>> software WebGL
>>>>>>>>>>>>>>>> have a great experience but it's likely better than no 
>>>>>>>>>>>>>>>> availability, at
>>>>>>>>>>>>>>>> least for drawing static things. What pushes this over the 
>>>>>>>>>>>>>>>> line and
>>>>>>>>>>>>>>>> warrants this discussion is that JITing code in the GPU 
>>>>>>>>>>>>>>>> process is a huge
>>>>>>>>>>>>>>>> vulnerability and is a rapidly increasing attack target.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> We're investigating WARP as an alternative on Windows. You
>>>>>>>>>>>>>>>> are right that a large portion of the SwiftShader fallback is 
>>>>>>>>>>>>>>>> on machines
>>>>>>>>>>>>>>>> with no GPUs (headless or VMs). There are just many unknowns 
>>>>>>>>>>>>>>>> about the
>>>>>>>>>>>>>>>> quality and security of WARP, it will take a while to be 
>>>>>>>>>>>>>>>> confident in such
>>>>>>>>>>>>>>>> a change and it still does not resolve the issue of JITing 
>>>>>>>>>>>>>>>> code in the
>>>>>>>>>>>>>>>> weakly sandboxed GPU process.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Regarding corporate policy, I'd much rather have these
>>>>>>>>>>>>>>>> users fall back in the same way as everyone else and work 
>>>>>>>>>>>>>>>> towards lowering
>>>>>>>>>>>>>>>> the number of users in this position.  It would mean 
>>>>>>>>>>>>>>>> supporting and testing
>>>>>>>>>>>>>>>> a feature only used by enterprise users when we have no 
>>>>>>>>>>>>>>>> visibility into
>>>>>>>>>>>>>>>> crashes, bugs or vulnerabilities that they face.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> We're also disabling software fallback due to a crashes in
>>>>>>>>>>>>>>>> the GPU driver (as opposed to blocklisted GPU). Right now any 
>>>>>>>>>>>>>>>> user can
>>>>>>>>>>>>>>>> fairly easily trigger a GPU crash and fall back to software 
>>>>>>>>>>>>>>>> WebGL which
>>>>>>>>>>>>>>>> opens up vulnerabilities to all users instead of the 2.7%.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Geoff
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Thu, Feb 27, 2025 at 3:28 PM Erik Anderson <
>>>>>>>>>>>>>>>> erik.a...@microsoft.com> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> The initial message states that SwiftShader primarily
>>>>>>>>>>>>>>>> covers older Windows devices. Beyond those, there are a 
>>>>>>>>>>>>>>>> non-trivial set of
>>>>>>>>>>>>>>>> enterprise users that use thin clients to connect to a remote 
>>>>>>>>>>>>>>>> Windows
>>>>>>>>>>>>>>>> device which is often running in a VM without access to a 
>>>>>>>>>>>>>>>> physical GPU.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> For example, this applies to the Microsoft Dev Box offering
>>>>>>>>>>>>>>>> (https://azure.microsoft.com/en-us/products/dev-box/).
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Unfortunately, enterprise clients often turn off telemetry.
>>>>>>>>>>>>>>>> So, I would assume any UMA-derived metrics to be undercounting 
>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>> population.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> It’s likely there are certain line-of-business and/or
>>>>>>>>>>>>>>>> consumer-oriented sites that have a hard dependency on WebGL 
>>>>>>>>>>>>>>>> to be fully
>>>>>>>>>>>>>>>> functional.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Have you considered, on Windows, targeting WARP (
>>>>>>>>>>>>>>>> https://learn.microsoft.com/en-us/windows/win32/direct3darticles/directx-warp)
>>>>>>>>>>>>>>>> instead? I don’t know if there are other viable alternatives 
>>>>>>>>>>>>>>>> on other OSes,
>>>>>>>>>>>>>>>> but if the primary impacted clients are Windows perhaps that 
>>>>>>>>>>>>>>>> would be a
>>>>>>>>>>>>>>>> sufficient mitigation.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> To help enterprise customers reason about how much this is
>>>>>>>>>>>>>>>> going to impact them, it would be helpful to have an 
>>>>>>>>>>>>>>>> enterprise policy to
>>>>>>>>>>>>>>>> control this. This is a common pattern for potentially 
>>>>>>>>>>>>>>>> high-impact changes.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> In its initial phase, the policy would enable motivated
>>>>>>>>>>>>>>>> enterprises to forcibly disable SwiftShader as a scream test. 
>>>>>>>>>>>>>>>> And after you
>>>>>>>>>>>>>>>> switch over the default, it could enable enterprises caught 
>>>>>>>>>>>>>>>> unaware to have
>>>>>>>>>>>>>>>> some additional window of time to plan mitigations (by 
>>>>>>>>>>>>>>>> re-enabling it via
>>>>>>>>>>>>>>>> policy) before you proceed with fully deprecating support and 
>>>>>>>>>>>>>>>> remove the
>>>>>>>>>>>>>>>> policy.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Can you comment on if you plan to add such a policy or, if
>>>>>>>>>>>>>>>> not, why not?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> *From:* 'Ashley Gullen' via blink-dev <blin...@chromium.org>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> *Sent:* Thursday, February 27, 2025 4:14 AM
>>>>>>>>>>>>>>>> *To:* Rick Byers <rby...@chromium.org>
>>>>>>>>>>>>>>>> *Cc:* David Adrian <dad...@google.com>; blink-dev <
>>>>>>>>>>>>>>>> blin...@chromium.org>; geof...@chromium.org <
>>>>>>>>>>>>>>>> geof...@chromium.org>
>>>>>>>>>>>>>>>> *Subject:* [EXTERNAL] Re: [blink-dev] Intent to Remove:
>>>>>>>>>>>>>>>> SwiftShader Fallback
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks for the response Rick, I agree with much of what
>>>>>>>>>>>>>>>> you've said and I think your views and suggested workarounds 
>>>>>>>>>>>>>>>> are all
>>>>>>>>>>>>>>>> generally reasonable.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I just realised I previously responded to this thread but
>>>>>>>>>>>>>>>> only replied to David - for transparency I've copied my 
>>>>>>>>>>>>>>>> previous response
>>>>>>>>>>>>>>>> below.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I can confirm all content made with Construct since about
>>>>>>>>>>>>>>>> 2018 requires WebGL to work and will show an error message if 
>>>>>>>>>>>>>>>> WebGL is
>>>>>>>>>>>>>>>> unavailable. I've included a screenshot of the message 
>>>>>>>>>>>>>>>> Construct content
>>>>>>>>>>>>>>>> published to the web will display when WebGL is not supported, 
>>>>>>>>>>>>>>>> saying
>>>>>>>>>>>>>>>> "Software update needed", since that has usually been the best 
>>>>>>>>>>>>>>>> advice in
>>>>>>>>>>>>>>>> that situation in the past. As my previous message says we 
>>>>>>>>>>>>>>>> long ago removed
>>>>>>>>>>>>>>>> any other fallback and are now likely too dependent on WebGL 
>>>>>>>>>>>>>>>> to feasibly
>>>>>>>>>>>>>>>> reimplement a canvas2d fallback.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Some other thoughts about workarounds/mitigations:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>    - A swiftshader WASM module would at least give us a
>>>>>>>>>>>>>>>>    workaround, but if that was something like a ~10 MB+ module 
>>>>>>>>>>>>>>>> it would be a
>>>>>>>>>>>>>>>>    very high download overhead which we'd be obligated to 
>>>>>>>>>>>>>>>> include in every
>>>>>>>>>>>>>>>>    Construct export for compatibility
>>>>>>>>>>>>>>>>    - Swiftshader could be removed from insecure origins
>>>>>>>>>>>>>>>>    with little impact to us, and using a permission policy for 
>>>>>>>>>>>>>>>> cross-site
>>>>>>>>>>>>>>>>    iframes should be straightforward to work with
>>>>>>>>>>>>>>>>    - If it helps reduce the attack surface, we could live
>>>>>>>>>>>>>>>>    with SwiftShader support for WebGL 1 only (no WebGL 2) with 
>>>>>>>>>>>>>>>> minimum
>>>>>>>>>>>>>>>>    capabilities (no extensions).
>>>>>>>>>>>>>>>>    - A permission prompt to the user is not ideal but
>>>>>>>>>>>>>>>>    better than nothing, and I imagine it would be tricky to 
>>>>>>>>>>>>>>>> explain to a
>>>>>>>>>>>>>>>>    normal web user though the prompt message (and makes 
>>>>>>>>>>>>>>>> obtaining a WebGL
>>>>>>>>>>>>>>>>    context async...)
>>>>>>>>>>>>>>>>    - Regarding getting WebGL to work on more devices, as I
>>>>>>>>>>>>>>>>    mentioned in my previous message, reviewing the GPU 
>>>>>>>>>>>>>>>> blocklist to re-enable
>>>>>>>>>>>>>>>>    WebGL for older devices if drivers have been updated or 
>>>>>>>>>>>>>>>> workarounds for
>>>>>>>>>>>>>>>>    issues can be found would help reduce the number of devices 
>>>>>>>>>>>>>>>> subject to
>>>>>>>>>>>>>>>>    SwiftShader. Being able to enable at least WebGL 1 will 
>>>>>>>>>>>>>>>> still help with
>>>>>>>>>>>>>>>>    Construct content.
>>>>>>>>>>>>>>>>    - If a software fallback can be securely implemented
>>>>>>>>>>>>>>>>    for WebGPU, Construct has a WebGPU renderer too now so that 
>>>>>>>>>>>>>>>> would give us a
>>>>>>>>>>>>>>>>    workaround (and potentially for any other WebGL content - 
>>>>>>>>>>>>>>>> AFAIK many widely
>>>>>>>>>>>>>>>>    used libraries like three.js now either support WebGPU or 
>>>>>>>>>>>>>>>> are working on it)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks for the consideration all.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Copy of my previous message:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> -----
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> OK, thanks for the information. I just want to point out
>>>>>>>>>>>>>>>> that even stopping WebGL content for only 2.7% of users is 
>>>>>>>>>>>>>>>> still
>>>>>>>>>>>>>>>> potentially very disruptive. Consider a web game on Poki that 
>>>>>>>>>>>>>>>> requires
>>>>>>>>>>>>>>>> WebGL and gets a million players. With this change, now 27,000 
>>>>>>>>>>>>>>>> users will
>>>>>>>>>>>>>>>> see a "WebGL not supported" error message. That's then 
>>>>>>>>>>>>>>>> potentially a huge
>>>>>>>>>>>>>>>> number of new support requests to deal with.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> > Can you share the number for Construct about what
>>>>>>>>>>>>>>>> percentage of your users are using the SwiftShader fallback? 
>>>>>>>>>>>>>>>> Again, our
>>>>>>>>>>>>>>>> numbers indicate that these are primarily older Windows 
>>>>>>>>>>>>>>>> workstations.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> For the Construct editor itself, it is around 3%, so that
>>>>>>>>>>>>>>>> seems in line. But the key point here is that Construct is 
>>>>>>>>>>>>>>>> middleware: it
>>>>>>>>>>>>>>>> is a tool our users develop web games in and then publish 
>>>>>>>>>>>>>>>> independently of
>>>>>>>>>>>>>>>> us. It is much more important that WebGL works for players of 
>>>>>>>>>>>>>>>> those games
>>>>>>>>>>>>>>>> than it does for Construct itself.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Lots of people use older Windows workstations. We've had
>>>>>>>>>>>>>>>> issues before where for example a graphics driver bug 
>>>>>>>>>>>>>>>> affecting WebGL 1
>>>>>>>>>>>>>>>> caused a great deal of trouble in a South American market, 
>>>>>>>>>>>>>>>> even though I
>>>>>>>>>>>>>>>> suspect it only affected a small percentage of devices - see
>>>>>>>>>>>>>>>> https://issues.chromium.org/issues/40941645 which was
>>>>>>>>>>>>>>>> never resolved. There are probably places in the world where 
>>>>>>>>>>>>>>>> there are
>>>>>>>>>>>>>>>> large numbers of people using older Windows workstations. I 
>>>>>>>>>>>>>>>> fear that
>>>>>>>>>>>>>>>> pulling WebGL support from those devices may result in much 
>>>>>>>>>>>>>>>> higher numbers
>>>>>>>>>>>>>>>> of unsupported users, and many more support requests, in the 
>>>>>>>>>>>>>>>> specific
>>>>>>>>>>>>>>>> markets where such devices are common.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Is there anything that can be done to mitigate this change?
>>>>>>>>>>>>>>>> Given SwiftShader allowed WebGL to be considered ubiquitous 
>>>>>>>>>>>>>>>> for many years,
>>>>>>>>>>>>>>>> engines like Construct long ago removed any fallback for 
>>>>>>>>>>>>>>>> systems that do
>>>>>>>>>>>>>>>> not support WebGL; we moved forward assuming we could rely on 
>>>>>>>>>>>>>>>> WebGL, and so
>>>>>>>>>>>>>>>> now it's probably infeasible to bring back any fallback as we 
>>>>>>>>>>>>>>>> have too many
>>>>>>>>>>>>>>>> key features that fundamentally require WebGL. Could 
>>>>>>>>>>>>>>>> SwiftShader be adapted
>>>>>>>>>>>>>>>> to not use JIT? Could some other fallback be found? Could the 
>>>>>>>>>>>>>>>> GPU blocklist
>>>>>>>>>>>>>>>> be revised to enable WebGL on as many older devices as 
>>>>>>>>>>>>>>>> possible?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I think the number of affected users should be <1% to
>>>>>>>>>>>>>>>> minimise the impact from such a change. At web scale 2.7% is 
>>>>>>>>>>>>>>>> still a lot.
>>>>>>>>>>>>>>>> Perhaps with revising the GPU blocklist and adding more 
>>>>>>>>>>>>>>>> workarounds this is
>>>>>>>>>>>>>>>> feasible. I fear if this goes ahead without any mitigation, it 
>>>>>>>>>>>>>>>> will cause a
>>>>>>>>>>>>>>>> great deal of trouble and is exactly the kind of thing 
>>>>>>>>>>>>>>>> sceptics of the web
>>>>>>>>>>>>>>>> will bring up to say that web technology sucks, browsers can't 
>>>>>>>>>>>>>>>> be trusted,
>>>>>>>>>>>>>>>> and people should just develop desktop games instead.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Tue, 25 Feb 2025 at 22:31, Rick Byers <
>>>>>>>>>>>>>>>> rby...@chromium.org> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Sorry for the delay from API owners, as discussed on chat
>>>>>>>>>>>>>>>> the chromestatus entry wasn't set up properly to request API 
>>>>>>>>>>>>>>>> owner review
>>>>>>>>>>>>>>>> (now fixed).
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> This is a tricky one indeed (thanks for your input
>>>>>>>>>>>>>>>> Ashley!). It looks like
>>>>>>>>>>>>>>>> <https://chromestatus.com/metrics/feature/timeline/popularity/4026>
>>>>>>>>>>>>>>>> WebGL is used on about 20% of page loads, so 2.7% of that is 
>>>>>>>>>>>>>>>> ~0.5% of page
>>>>>>>>>>>>>>>> loads which is very high risk according to our rules of
>>>>>>>>>>>>>>>> thumb
>>>>>>>>>>>>>>>> <https://docs.google.com/document/d/1RC-pBBvsazYfCNNUSkPqAVpSpNJ96U8trhNkfV0v9fk/edit?tab=t.0#heading=h.mqfkui78vo5z>
>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Of course that's an upper-bound, how many will have a
>>>>>>>>>>>>>>>> fallback? One option would be to collect some UKM data for 
>>>>>>>>>>>>>>>> SwiftShader
>>>>>>>>>>>>>>>> usage and review a random ~50 sites to observe the user 
>>>>>>>>>>>>>>>> experience in
>>>>>>>>>>>>>>>> practice. That could give us a better sense of what the real 
>>>>>>>>>>>>>>>> user impact
>>>>>>>>>>>>>>>> would likely be. Or Maybe Ashley can give us some examples of 
>>>>>>>>>>>>>>>> some web
>>>>>>>>>>>>>>>> games just to confirm they indeed go from being playable to
>>>>>>>>>>>>>>>> unplayable without swiftshader on some specific devices? 
>>>>>>>>>>>>>>>> David, do you have
>>>>>>>>>>>>>>>> a device yourself you can test with that doesn't support GPU 
>>>>>>>>>>>>>>>> WebGL?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Regardless, unless sites have been really good about almost
>>>>>>>>>>>>>>>> always falling back somehow, I suspect we'll find that there's 
>>>>>>>>>>>>>>>> enough
>>>>>>>>>>>>>>>> end-user impact to make this a high-risk change (but I could 
>>>>>>>>>>>>>>>> be convinced
>>>>>>>>>>>>>>>> otherwise such as via a thorough UKM analysis). In which case 
>>>>>>>>>>>>>>>> then we could
>>>>>>>>>>>>>>>> start working through our playbook for a phased plan for risky 
>>>>>>>>>>>>>>>> breaking
>>>>>>>>>>>>>>>> changes. Not unlike what we did for flash removal
>>>>>>>>>>>>>>>> <https://www.chromium.org/flash-roadmap/>, or WebSQL
>>>>>>>>>>>>>>>> <https://developer.chrome.com/blog/deprecating-web-sql> (both
>>>>>>>>>>>>>>>> big security benefit but big web compat risk). For example:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>    - Explore whether we can build swiftshader into a wasm
>>>>>>>>>>>>>>>>    module that sites can use as a (probably even slower) 
>>>>>>>>>>>>>>>> fallback themselves.
>>>>>>>>>>>>>>>>    This turned out to be the key to making WebSQL deprecation 
>>>>>>>>>>>>>>>> tractable. In
>>>>>>>>>>>>>>>>    general our policy
>>>>>>>>>>>>>>>>    
>>>>>>>>>>>>>>>> <https://docs.google.com/document/d/1RC-pBBvsazYfCNNUSkPqAVpSpNJ96U8trhNkfV0v9fk/edit?tab=t.0#heading=h.x5bhg5grhfeo>
>>>>>>>>>>>>>>>>    is that we don't take functionality away that developers 
>>>>>>>>>>>>>>>> can't replace with
>>>>>>>>>>>>>>>>    some other substitute except in pretty extreme 
>>>>>>>>>>>>>>>> circumstances.
>>>>>>>>>>>>>>>>    - Prompt the user on whether or not to enable it
>>>>>>>>>>>>>>>>    per-origin (like a permission)
>>>>>>>>>>>>>>>>    - Put 3p usage behind a permission policy so the
>>>>>>>>>>>>>>>>    top-level site has to opt-in to allow 3p iframes to use 
>>>>>>>>>>>>>>>> swiftshader
>>>>>>>>>>>>>>>>    - Rely on some heuristics, (perhaps crowd-sourced
>>>>>>>>>>>>>>>>    signals) to try to find a sweet spot in the safety vs. 
>>>>>>>>>>>>>>>> functionality
>>>>>>>>>>>>>>>>    tradeoff space. We did this for flash initially with things 
>>>>>>>>>>>>>>>> like blocking
>>>>>>>>>>>>>>>>    it for very small canvases.
>>>>>>>>>>>>>>>>    - Anything we can do to make WebGL work on a larger set
>>>>>>>>>>>>>>>>    of devices?
>>>>>>>>>>>>>>>>    - Probably lots of other ideas that aren't occurring to
>>>>>>>>>>>>>>>>    me right now, more examples in bit.ly/blink.compat.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On the other side of the equation, API owners can be
>>>>>>>>>>>>>>>> convinced to accept more compat risk the more significant the 
>>>>>>>>>>>>>>>> security
>>>>>>>>>>>>>>>> benefits are. Are there more details you can share? Such as:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>    - Are we confident that an attacker can only trigger
>>>>>>>>>>>>>>>>    swiftshader on somewhere around 3% of users (vs. some knob 
>>>>>>>>>>>>>>>> which can force
>>>>>>>>>>>>>>>>    it to be used on a larger fraction)? To what extent do we 
>>>>>>>>>>>>>>>> have reason to
>>>>>>>>>>>>>>>>    believe that the vulnerable population size is large enough 
>>>>>>>>>>>>>>>> to be a
>>>>>>>>>>>>>>>>    plausible target for attackers? Is there anything we can do 
>>>>>>>>>>>>>>>> to make the
>>>>>>>>>>>>>>>>    vulnerable user base more reliably contained?
>>>>>>>>>>>>>>>>    - How does swiftshader compare to other areas in terms
>>>>>>>>>>>>>>>>    of the number of vulnerabilities we've found in practice? 
>>>>>>>>>>>>>>>> Are there any
>>>>>>>>>>>>>>>>    reports of ITW exploits of it? It looks like
>>>>>>>>>>>>>>>>    
>>>>>>>>>>>>>>>> <https://chrome-commit-tracker.arthursonzogni.com/cve/reward_per_components?start=2019-12-27&end=2025-02-25>
>>>>>>>>>>>>>>>>    since 2020 SwiftShader has been about 8% of Chrome's VRP 
>>>>>>>>>>>>>>>> spend - that seems
>>>>>>>>>>>>>>>>    quite significant to me, but probably not in the top 5 
>>>>>>>>>>>>>>>> areas of concern.
>>>>>>>>>>>>>>>>    This was obviously key to the immense cost and pain of 
>>>>>>>>>>>>>>>> Flash removal - we
>>>>>>>>>>>>>>>>    kept having severe security incidents in practice.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> So assuming Ashley and I are right that this isn't likely
>>>>>>>>>>>>>>>> to be easy, that means it's likely quite a lot of work to 
>>>>>>>>>>>>>>>> attempt to
>>>>>>>>>>>>>>>> phase-out SwiftShader in a responsible fashion. But with luck 
>>>>>>>>>>>>>>>> maybe we can
>>>>>>>>>>>>>>>> find a first step that is a good cost-benefit tradeoff (like 
>>>>>>>>>>>>>>>> putting 3P
>>>>>>>>>>>>>>>> usage behind a permission prompt)? Or maybe it's just a better 
>>>>>>>>>>>>>>>> cost-benefit
>>>>>>>>>>>>>>>> tradeoff to invest in other areas which pose a threat to a 
>>>>>>>>>>>>>>>> greater number
>>>>>>>>>>>>>>>> users (hardening ANGLE perhaps)? But of course I will defer to 
>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>> judgement of security and GPU experts like yourself on that 
>>>>>>>>>>>>>>>> question, I'm
>>>>>>>>>>>>>>>> happy to consult and support if you want to invest in a plan 
>>>>>>>>>>>>>>>> that API
>>>>>>>>>>>>>>>> owners can approve.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Rick
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Wed, Feb 19, 2025 at 2:48 PM 'David Adrian' via
>>>>>>>>>>>>>>>> blink-dev <blin...@chromium.org> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> > I wrote about this previously but I'm still concerned
>>>>>>>>>>>>>>>> this is a major breaking change for existing published WebGL 
>>>>>>>>>>>>>>>> content on the
>>>>>>>>>>>>>>>> web. If the figure of 2.7% comes from my previous citing of 
>>>>>>>>>>>>>>>> Web3DSurvey
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> It does, not it comes from Chrome's metrics system.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> > Does Google have their own internal data about the usage
>>>>>>>>>>>>>>>> of SwiftShader?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> It is the 2.7% number.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> > Suppose this change rolls out and we get reports that say
>>>>>>>>>>>>>>>> our WebGL content no longer works for 10% of users in a South 
>>>>>>>>>>>>>>>> American
>>>>>>>>>>>>>>>> market. Then what? There is nothing feasible we can do about 
>>>>>>>>>>>>>>>> it. These
>>>>>>>>>>>>>>>> customers were previously getting by with SwiftShader, but now 
>>>>>>>>>>>>>>>> they get an
>>>>>>>>>>>>>>>> error message. So I fear this risks disaster for web games in 
>>>>>>>>>>>>>>>> some markets.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> > I mentioned I don't think it should be used as evidence
>>>>>>>>>>>>>>>> to make such a big change as this. Maybe in some places it 
>>>>>>>>>>>>>>>> will affect 25%
>>>>>>>>>>>>>>>> or 50% of users - who knows? How can we be sure?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Can you share the number for Construct about what
>>>>>>>>>>>>>>>> percentage of your users are using the SwiftShader fallback? 
>>>>>>>>>>>>>>>> Again, our
>>>>>>>>>>>>>>>> numbers indicate that these are primarily older Windows 
>>>>>>>>>>>>>>>> workstations.
>>>>>>>>>>>>>>>> Notably, SwiftShader is not used at all on mobile.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> > V8 does JIT with untrusted JavaScript code and that is
>>>>>>>>>>>>>>>> generally considered reasonably secure, is there any 
>>>>>>>>>>>>>>>> particular technical
>>>>>>>>>>>>>>>> reason SwiftShader is not considered as secure?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Yes. The GPU process is shared between all sites, whereas
>>>>>>>>>>>>>>>> the V8 JIT is per-site. This means compromising the GPU 
>>>>>>>>>>>>>>>> process can be
>>>>>>>>>>>>>>>> enough to bypass site isolation protections with a single bug.
>>>>>>>>>>>>>>>> Additionally, V8 bugs can be reliably patched in the browser, 
>>>>>>>>>>>>>>>> whereas
>>>>>>>>>>>>>>>> SwiftShader "bugs" can be user-mode graphics driver bugs that 
>>>>>>>>>>>>>>>> are simply
>>>>>>>>>>>>>>>> more exposed via SwiftShader than they would be otherwise. In 
>>>>>>>>>>>>>>>> this case,
>>>>>>>>>>>>>>>> the browser can't patch the bug because it's in the driver.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Thursday, February 13, 2025 at 12:12:07 PM UTC-5
>>>>>>>>>>>>>>>> ash...@scirra.com wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I wrote about this previously but I'm still concerned this
>>>>>>>>>>>>>>>> is a major breaking change for existing published WebGL 
>>>>>>>>>>>>>>>> content on the web.
>>>>>>>>>>>>>>>> If the figure of 2.7% comes from my previous citing of 
>>>>>>>>>>>>>>>> Web3DSurvey (
>>>>>>>>>>>>>>>> https://web3dsurvey.com/) then this should be seen as very
>>>>>>>>>>>>>>>> much an underestimate, because that site uses a relatively 
>>>>>>>>>>>>>>>> small sample
>>>>>>>>>>>>>>>> size that is more likely to be focused on high-end devices 
>>>>>>>>>>>>>>>> (samples are
>>>>>>>>>>>>>>>> taken from developer-focused sites like the three.js website, 
>>>>>>>>>>>>>>>> WebGPU
>>>>>>>>>>>>>>>> fundamentals etc). I would not be surprised if the real 
>>>>>>>>>>>>>>>> worldwide average
>>>>>>>>>>>>>>>> was more like 4-5%. Then if that's a worldwide average, there 
>>>>>>>>>>>>>>>> will probably
>>>>>>>>>>>>>>>> be some specific countries or markets where the figure could 
>>>>>>>>>>>>>>>> be more like
>>>>>>>>>>>>>>>> 10%.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Suppose this change rolls out and we get reports that say
>>>>>>>>>>>>>>>> our WebGL content no longer works for 10% of users in a South 
>>>>>>>>>>>>>>>> American
>>>>>>>>>>>>>>>> market. Then what? There is nothing feasible we can do about 
>>>>>>>>>>>>>>>> it. These
>>>>>>>>>>>>>>>> customers were previously getting by with SwiftShader, but now 
>>>>>>>>>>>>>>>> they get an
>>>>>>>>>>>>>>>> error message. So I fear this risks disaster for web games in 
>>>>>>>>>>>>>>>> some markets.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Does Google have their own internal data about the usage of
>>>>>>>>>>>>>>>> SwiftShader? Can more data about this be shared? I respect the 
>>>>>>>>>>>>>>>> work done by
>>>>>>>>>>>>>>>> Web3DSurvey but unfortunately for the reasons I mentioned I 
>>>>>>>>>>>>>>>> don't think it
>>>>>>>>>>>>>>>> should be used as evidence to make such a big change as this. 
>>>>>>>>>>>>>>>> Maybe in some
>>>>>>>>>>>>>>>> places it will affect 25% or 50% of users - who knows? How can 
>>>>>>>>>>>>>>>> we be sure?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Can there not be some other fallback implemented? V8 does
>>>>>>>>>>>>>>>> JIT with untrusted JavaScript code and that is generally 
>>>>>>>>>>>>>>>> considered
>>>>>>>>>>>>>>>> reasonably secure, is there any particular technical reason 
>>>>>>>>>>>>>>>> SwiftShader is
>>>>>>>>>>>>>>>> not considered as secure?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I'd also point out that any website that has a poor
>>>>>>>>>>>>>>>> experience with SwiftShader can already opt-out using the
>>>>>>>>>>>>>>>> failIfMajorPerformanceCaveat context flag. If there is some 
>>>>>>>>>>>>>>>> other mode that
>>>>>>>>>>>>>>>> can be used instead, or just showing an error message is 
>>>>>>>>>>>>>>>> acceptable, then
>>>>>>>>>>>>>>>> websites can already implement that. In our case with 
>>>>>>>>>>>>>>>> Construct we
>>>>>>>>>>>>>>>> specifically attempt to obtain hardware-accelerated WebGPU, 
>>>>>>>>>>>>>>>> WebGL 2, or
>>>>>>>>>>>>>>>> WebGL 1; only failing that do we resort to using SwiftShader 
>>>>>>>>>>>>>>>> on the basis
>>>>>>>>>>>>>>>> that showing the content with potentially poor performance is 
>>>>>>>>>>>>>>>> better than
>>>>>>>>>>>>>>>> not showing it at all.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Thu, 13 Feb 2025 at 15:46, 'David Adrian' via blink-dev <
>>>>>>>>>>>>>>>> blin...@chromium.org> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Contact emails
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> dad...@google.com, geof...@chromium.org
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Summary
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Allowing automatic fallback to WebGL backed by SwiftShader
>>>>>>>>>>>>>>>> is deprecated and will be removed. This has been noted in 
>>>>>>>>>>>>>>>> DevTools since
>>>>>>>>>>>>>>>> Chrome 130.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> WebGL context creation will fail instead of falling back to
>>>>>>>>>>>>>>>> SwiftShader. This is for two primary reasons:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 1. SwiftShader is a high security risk due to JIT-ed code
>>>>>>>>>>>>>>>> running in Chromium's GPU process.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 2. Users have a poor experience when falling back from a
>>>>>>>>>>>>>>>> high-performance GPU-backed WebGL to a CPU-backed 
>>>>>>>>>>>>>>>> implementation. Users
>>>>>>>>>>>>>>>> have no control over this behavior and it is difficult to 
>>>>>>>>>>>>>>>> describe in bug
>>>>>>>>>>>>>>>> reports.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> SwiftShader is a useful tool for web developers to test
>>>>>>>>>>>>>>>> their sites on systems that are headless or do not have a 
>>>>>>>>>>>>>>>> supported GPU.
>>>>>>>>>>>>>>>> This use case will still be supported by opting in but is not 
>>>>>>>>>>>>>>>> intended for
>>>>>>>>>>>>>>>> running untrusted content.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> To opt-in to lower security guarantees and allow
>>>>>>>>>>>>>>>> SwiftShader for WebGL, run the chrome executable with the
>>>>>>>>>>>>>>>> --enable-unsafe-swiftshader command-line switch.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> During the deprecation period, a warning will appear in the
>>>>>>>>>>>>>>>> javascript console when a WebGL context is created and backed 
>>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>>> SwiftShader. Passing --enable-unsafe-swiftshader will remove 
>>>>>>>>>>>>>>>> this warning
>>>>>>>>>>>>>>>> message. This deprecation period began in Chrome 130.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Chromium and other browsers do not guarantee WebGL
>>>>>>>>>>>>>>>> availability. Please test and handle WebGL context creation 
>>>>>>>>>>>>>>>> failure and
>>>>>>>>>>>>>>>> fall back to other web APIs such as Canvas2D or an appropriate 
>>>>>>>>>>>>>>>> message to
>>>>>>>>>>>>>>>> the user.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> SwiftShader is an internal implementation detail of
>>>>>>>>>>>>>>>> Chromium, not a public web standard, therefore buy-in from 
>>>>>>>>>>>>>>>> other browsers
>>>>>>>>>>>>>>>> is not required. The devices covered by SwiftShader (primarily 
>>>>>>>>>>>>>>>> older
>>>>>>>>>>>>>>>> Windows devices) are likely already incompatible with WebGL in 
>>>>>>>>>>>>>>>> other
>>>>>>>>>>>>>>>> browsers.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> SwiftShader is not used on mobile; this only applies to
>>>>>>>>>>>>>>>> Desktop platforms.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Blink component
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Blink>WebGL
>>>>>>>>>>>>>>>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EWebGL%22>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Motivation
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> https://chromium.googlesource.com/chromium/src/+/main/docs/gpu/swiftshader.md#automatic-swiftshader-webgl-fallback-is-deprecated
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Risks
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> SwiftShader is used by devices without hardware
>>>>>>>>>>>>>>>> acceleration for WebGL. This is approximately 2.7% of WebGL 
>>>>>>>>>>>>>>>> contexts.
>>>>>>>>>>>>>>>> However, WebGL is considered fallible and in many cases, these 
>>>>>>>>>>>>>>>> draws are
>>>>>>>>>>>>>>>> not performant and provide an effectively unusable experience 
>>>>>>>>>>>>>>>> for users.
>>>>>>>>>>>>>>>> Many applications, such as Google Maps, prefer to fail out 
>>>>>>>>>>>>>>>> rather than use
>>>>>>>>>>>>>>>> SwiftShader.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Debuggability
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> None
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Flag name on about://flags
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --enable-unsafe-swiftshader command-line switch.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Finch feature name
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> AllowSwiftShaderFallback
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Tracking bug
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> https://issues.chromium.org/40277080
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Launch bug
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> https://launch.corp.google.com/launch/4351104
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Estimated milestones
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Shipping on Desktop 137
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Link to entry on the Chrome Platform Status
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> https://chromestatus.com/feature/5166674414927872?gate=5188866041184256
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> This intent message was generated by Chrome Platform Status
>>>>>>>>>>>>>>>> <https://chromestatus.com/>.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>>>>>>> Google Groups "blink-dev" group.
>>>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails
>>>>>>>>>>>>>>>> from it, send an email to blink-dev+...@chromium.org.
>>>>>>>>>>>>>>>> To view this discussion visit
>>>>>>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGkh42KV4DrSSyEgJaF4DnFOXAye-wRLrfD-LKGNkWhyWzshLA%40mail.gmail.com
>>>>>>>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGkh42KV4DrSSyEgJaF4DnFOXAye-wRLrfD-LKGNkWhyWzshLA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>>>>>>> Google Groups "blink-dev" group.
>>>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails
>>>>>>>>>>>>>>>> from it, send an email to blink-dev+...@chromium.org.
>>>>>>>>>>>>>>>> To view this discussion visit
>>>>>>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c5131675-dff4-4aa0-8e84-4cdc373e3035n%40chromium.org
>>>>>>>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c5131675-dff4-4aa0-8e84-4cdc373e3035n%40chromium.org?utm_medium=email&utm_source=footer>
>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>>>>>>> Google Groups "blink-dev" group.
>>>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails
>>>>>>>>>>>>>>>> from it, send an email to blink-dev+...@chromium.org.
>>>>>>>>>>>>>>>> To view this discussion visit
>>>>>>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAABs73jWBkuxvj%3DDDXmEQNwLfCa_uV5OZZ5nZJRj9ZMgP9yk7Q%40mail.gmail.com
>>>>>>>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAABs73jWBkuxvj%3DDDXmEQNwLfCa_uV5OZZ5nZJRj9ZMgP9yk7Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>>>>>>> Google Groups "blink-dev" group.
>>>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails
>>>>>>>>>>>>>>>> from it, send an email to blink-dev+...@chromium.org.
>>>>>>>>>>>>>>>> To view this discussion visit
>>>>>>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAABs73hYs9O-2hdmfn37fQb-U-8m_-08i3Qg9dkUhKNQQvNLSg%40mail.gmail.com
>>>>>>>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAABs73hYs9O-2hdmfn37fQb-U-8m_-08i3Qg9dkUhKNQQvNLSg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "blink-dev" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to blink-dev+...@chromium.org.
>>>>>>> To view this discussion visit
>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2cfb0848-03a1-4cd6-9c09-7ad8026a9f3dn%40chromium.org
>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2cfb0848-03a1-4cd6-9c09-7ad8026a9f3dn%40chromium.org?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFL%3DhZKC0ksdazadm377dC3yDOyOo0fKUyJH76uoUUX4B94RSg%40mail.gmail.com.

Reply via email to