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/CA%2BPGBXuNUkzoceK7kS%2BP72SFfCB%3D41qm-rz2iMWN08h_dkHFHw%40mail.gmail.com.