[Bug 58921] New: WebView2 does not work with Windows version setting 8.1 or newer
http://bugs.winehq.org/show_bug.cgi?id=58921 Bug ID: 58921 Summary: WebView2 does not work with Windows version setting 8.1 or newer Product: Wine Version: 10.18 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs(a)winehq.org Reporter: felixhaedicke(a)web.de Distribution: --- Created attachment 79605 --> http://bugs.winehq.org/attachment.cgi?id=79605 webview.log (log created by WebView2) For testing WebView2, I am using my "SimpleWebView2Browser", see https://github.com/felixhaedicke/SimpleWebView2Browser for source code and binaries. Steps to get it running on a fresh wineprefix: * Install WebView2 runtime using the "Evergreen Standalone Installer" for x64 from Inst https://developer.microsoft.com/en-us/microsoft-edge/webview2 * Set Windows version to Windows 7 or 8. * Use my "SimpleWebView2Browser" binaries from https://github.com/felixhaedicke/SimpleWebView2Browser/releases/tag/v0.1 It is sufficient to set the Windows version for "msedgewebview2.exe" (which is part of the WebView2 runtime): wine reg add "HKEY_CURRENT_USER\Software\Wine\AppDefaults\msedgewebview2.exe" /v Version /t REG_SZ /d win8 It does not work with Windows version set to 8.1, 10 or 11. The problem is probably that WebView2 tries to use the DirectComposition API on Windows 8.1 or newer. Message in the WebView2 debug log: DCompositionCreateDevice failed: Not implemented. (0x80004001) The attached WebView2 debug log was captured using the WebView2 logging functions, which can be enabled using the WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS environment variable. Command line used to start the browser process, and to capture the attached logs: WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS="--enable-logging --v=1 --log-file=c:/webview.log" wine SimpleWebView2Browser.exe 2> wine-output.txt -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58921 --- Comment #1 from Felix Hädicke <felixhaedicke(a)web.de> --- Created attachment 79606 --> http://bugs.winehq.org/attachment.cgi?id=79606 Wine console output The wine console output also shows messages about failed DCompositionCreateDevice calls: 01f0:fixme:dcomp:DCompositionCreateDevice3 00007FFFFEF26DB0, {5f4633fe-1e08-4cb8-8c75-ce24333f5602}, 00007FFFFE8FE428. 0314:fixme:dcomp:DCompositionCreateDevice 0000000000000000, {c37ea93a-e7aa-450d-b16f-9746cb0407f3}, 00007FC440FAE420. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58921 Eric Pouech <eric.pouech(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |eric.pouech(a)gmail.com --- Comment #2 from Eric Pouech <eric.pouech(a)gmail.com> --- There will be lots of missing bits to support native webview2. As chromium decides to use or not features based on Windows OS version, to get things properly working you'll need a bunch of things done: For Win10: - direct composition as you noted, - also sandboxing (including lots of bits in token & acl management) - GPU support - basically most of the FIXMEs from your log are a starting point - ... So I don't expect this to be resolved before a long time given the list of missing features. Side note: The list above comes for testing chromium builds, not native webview2/ I'm not sure EULA for installing native webview2 permits to run it on Wine, so I will not test it myself. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58921 eff3ctsb0t(a)gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |eff3ctsb0t(a)gmail.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58921 Adam Adams <adam@adam-adams.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |adam@adam-adams.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58921 --- Comment #3 from Adam Adams <adam@adam-adams.com> --- This bug also seems to be a massive roadblock in getting the newer versions of Steinberg Cubase (12 and up) from working on Wine, because the splashscreen/Steinberg Hub make heavy use of WebView2. One of the lines I get in debug logs is: 0024:fixme:dcomp:DCompositionCreateDevice 00000000014C6EC0, {c37ea93a-e7aa-450d-b16f-9746cb0407f3}, 00000000002AF6C8. Cubase 12 is more forgiving, because the implementation wasn't as spread as it is in the newer versions. I still need to document all of but, but would any other logs help here? I'm more than happy to provide. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58921 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |stan@stanstaykov.com --- Comment #4 from Zeb Figura <z.figura12@gmail.com> --- *** Bug 59370 has been marked as a duplicate of this bug. *** -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58921 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |robertthesable@gmail.com --- Comment #5 from Zeb Figura <z.figura12@gmail.com> --- *** Bug 59431 has been marked as a duplicate of this bug. *** -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58921 brandow <brandowlucas@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |brandowlucas@gmail.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58921 Ken Sharp <imwellcushtymelike@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source URL| |https://github.com/felixhae | |dicke/SimpleWebView2Browser -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58921 Robert T <robertthesable@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC|robertthesable@gmail.com | -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58921 tenxcode@outlook.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tenxcode@outlook.com --- Comment #6 from tenxcode@outlook.com --- I can reproduce a related blank embedded-surface failure on Apple Silicon macOS, independent of any specific host application. A minimal C# WinForms form containing Microsoft.Web.WebView2 1.0.2957.106 initializes successfully, but the WebView2 child remains white and CapturePreviewAsync() produces a zero-byte PNG. Environment: - Apple M4 (arm64), macOS 26.5.2 (25F84) - Wine Staging 11.14, unmodified prebuilt package - Microsoft Edge WebView2 Runtime 150.0.4078.105 - Disposable 64-bit prefix with the runtime installed; no Windows DLL overrides Steps: 1. Build/run the attached direct WinForms reproducer in the disposable prefix with WINEDEBUG=+d3d11,+dxgi,+dcomp,+d2d,+winediag. 2. Wait for WebView2 initialization and navigation to its solid blue test page. Expected: blue HTML content is visible and CapturePreviewAsync() writes a non-empty PNG. Actual: initialization reports success, the embedded child surface is white, and the PNG is empty. The attached complete terminal trace shows WebView2 GPU-process FL12.1..FL10.0 requests being rejected, then DirectComposition reaching IDCompositionVisual::SetContent(). At that point Wine's D2D path calls ID3D11Device1::CreateDeviceContextState with one requested level (FL10.0); wined3d rejects it and dcomp logs “Failed to create a D2D device context, hr 0x80004005.” GL_INVALID_FRAMEBUFFER_OPERATION is also logged from wined3d/context_gl.c:2246. A separate control launched with --disable-gpu --disable-gpu-compositing --disable-gpu-rasterization still reached the same DComp/D2D FL10 failure, so those browser flags are not a workaround here. Source correlation: Wine 11.14 dlls/d2d1/device.c requests D3D_FEATURE_LEVEL_10_0 for the context state and compiles built-in shaders as vs_4_0/ps_4_0. Thus lowering the requested level alone is not a valid fix. Attachments: - WebView2WinFormsProbe.cs: minimal reproducer source - wine-staging-webview2-trace.log: complete terminal output for the failing run -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58921 --- Comment #7 from tenxcode@outlook.com --- Created attachment 81605 --> http://bugs.winehq.org/attachment.cgi?id=81605 Complete Wine Staging 11.14 terminal trace: WebView2 DirectComposition/D2D FL10 failure on Apple M4 macOS -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58921 --- Comment #8 from tenxcode@outlook.com --- Created attachment 81606 --> http://bugs.winehq.org/attachment.cgi?id=81606 Minimal WinForms + Microsoft.Web.WebView2 reproducer source for the blank DirectComposition surface -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58921 Wehrwolfmann <wehrwolfmann@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wehrwolfmann@gmail.com --- Comment #9 from Wehrwolfmann <wehrwolfmann@gmail.com> --- The DirectComposition part of this still reproduces with wine-11.15 (vanilla, 64-bit, clean prefix, no DLL overrides, no DXVK), with the WebView2 runtime 151.0.4129.78 installed in the prefix. One more affected application, in case it helps triaging: Razer Axon 2.9.1.0, whose entire UI is WebView2. The per-application override from comment #0 (Version=win7 for msedgewebview2.exe only, the rest of the prefix staying on win10) still works on 11.15, so the workaround has not rotted. I have attached to bug 55432 a ~90 line repro that needs neither WebView2 nor any application: it only performs the DirectComposition call Chromium makes at startup once the reported Windows version is >= 8.1. The D3D11 device and its IDXGIDevice are created fine; only DCompositionCreateDevice/2/3 fail, all three with E_NOTIMPL, which matches dlls/dcomp/device.c in current master. Since the DirectComposition part of this bug is the same hole as bug 55432, it may be worth marking this one as depending on 55432 so the dcomp work is tracked in one place. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=58921 --- Comment #10 from Wehrwolfmann <wehrwolfmann@gmail.com> --- Update to my previous note: on wine-staging 11.15 the per-application Version=win7 override for msedgewebview2.exe is no longer needed. Measured on Razer Axon 2.9.1.0 (WebView2 runtime 151.0.4129.78), the same prefix used with both builds, override removed, prefix reporting Windows 10: vanilla 11.15 -- blank window, GPU process restart loop, nine processes each logging fixme:dcomp:DCompositionCreateDevice / ...Device3 staging 11.15 -- UI renders completely, no restart loop which is consistent with the DirectComposition measurements in bug 55432: the staging dcomp patchset is what removes the need for the override. On vanilla the workaround from comment #0 is still required. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (2)
-
WineHQ Bugzilla -
WineHQ Bugzilla