MicrosoftEdge / WebView2Feedback

Feedback and discussions about Microsoft Edge WebView2
https://aka.ms/webview2
453 stars 55 forks source link

Proton/WINE compatibility for Linux #3127

Open thatsofia opened 1 year ago

thatsofia commented 1 year ago

Is your feature request related to a problem? Please describe.

Games often include CEF, and now WebView2, for their UIs. On Linux, most games are not compiled for Linux and are emulated using WINE, a compatibility layer.

Describe the solution you'd like and alternatives you've considered

For Microsoft to investigate this. I don't know how they'd do this but they must have the resources to do this.

AB#47284355

jasonstephen15 commented 1 year ago

WebView2 currently doesn't support linux at this moment, but we do have it on our roadmap. Is this your request? @thatsofia

thatsofia commented 1 year ago

Hello Jason,

Last time I checked, I couldn't run certain software that used Edge WebView2 on my Linux machine using WINE. It'd be great for Microsoft to help the WINE project by investigating why or by even implementing a fix in WINE or in Edge WebView2.

Any other possible optimisations, like linking WebView2 installations together due to sandboxing (due to flatpak, for example), are worth considering, but I do believe that Linux mostly deduplicates Chromium installs.

This is different to native Linux support.

Regards, Sofia

jasonstephen15 commented 1 year ago

My understanding from a quick read is that WINE is a compatibly layer that allows Windows applications to run on Linux. Even though that is not necessarily running WebView2 natively on Linux, it falls under the same end scenario of enabling webview2 based apps to run on unix-based OS, and it would most likely be investigated/scheduled in similar timeline as enabling wv2 on linux. I will make a note of this in our backlog. Will leave this issue open to see if other folks are interested on this type of compatibility/interop technology for linux as well.

ronoaldo commented 1 year ago

Hi! @jasonstephen15 - I would add that Wine (and Valve's Proton) is working very well on devices like the Steam Deck, enabling several games to work on Linux desktops as well. Some games even worked better at launch on Linux because of the Vulkan optimizations at a lower layer that Valve did.

Enabling the Wine/Proton compat would also enable apps like Roblox Studio to properly work on Linux via Wine.

I would say that enabling both native Linux and Wine/Proton support would be amazing, but as far as priority goes, perhaps starting with Wine support can span a wide range of devices and apps.

Thank you for the support!

AshleyScirra commented 1 year ago

For what it's worth... we have a Windows app that is capable of downloading and installing WebView2 if it's missing, and we use it for running games. I ran it with a test game on the Steam Deck and it is actually able to download and run the installer, but it seems to get stuck installing - it doesn't seem to progress past the screen shown below. I guess Wine/Proton need to fix this though (although it would be cool if Microsoft contributed patches to fix it).

steam-deck-webview2

cagnulein commented 1 year ago

interested on this too!

msmalik681 commented 1 year ago

it would be nice if it worked with linux/wine

Condemnedfate commented 1 year ago

I'm also interested in microsoft making a fix for this

victorhuangwq commented 1 year ago

I do think that this is a valid feature request. So I have added it to be tracked in our backlog, do note that this does not mean any form of prioritization on our end.

morten71 commented 11 months ago

I also have several applications that rely on WebView2, that I would very much like to be able to run through wine on linux.

cocanut commented 11 months ago

I would appreciate this very much. When installing WebView2 (I tried both x86 AND x32) i get the following error:

0x004bc0b0 setup+0xbc0b0: int $3 Modules: Module Address Debug info Name (25 modules) PE 00400000-007b9000 Export setup PE 65680000-65900000 Deferred msvcrt PE 69840000-69938000 Deferred advapi32 PE 6aac0000-6ada1000 Deferred ucrtbase PE 6bbc0000-6bc59000 Deferred sechost PE 6e200000-6e245000 Deferred bcrypt PE 6e800000-6e823000 Deferred ncrypt PE 7b000000-7b51b000 Deferred kernelbase PE 7b600000-7b756000 Dwarf-4 kernel32 PE 7bc00000-7beba000 Dwarf-4 ntdll ELF 7d000000-7d005000 Deferred <wine-loader> ELF 7f44b000-7f600000 Deferred libunistring.so.2 ELF 7f600000-7f846000 Deferred libgnutls.so.30 ELF 7f85f000-7f8ed000 Deferred libgmp.so.10 ELF 7f8ed000-7f937000 Deferred libhogweed.so.6 ELF 7f937000-7f986000 Deferred libnettle.so.8 ELF 7fe0d000-7fe17000 Deferred libffi.so.8 ELF 7fe17000-7fe2d000 Deferred libtasn1.so.6 ELF 7fe2d000-7fe60000 Deferred libidn2.so.0 ELF 7fe60000-7ffb6000 Deferred libp11-kit.so.0 ELF 7ffd4000-7ffe0000 Deferred bcrypt.so ELF f7c00000-f7e28000 Deferred libc.so.6 ELF f7e60000-f7e65000 Dwarf libwine.so.1 ELF f7e65000-f7f13000 Deferred ntdll.so ELF f7f1b000-f7f50000 Deferred ld-linux.so.2 Threads: process tid prio name (all IDs are in hex) 00000020 start.exe 00000024 0 00000038 services.exe 0000003c 0 00000040 0 wine_rpcrt4_server 0000004c 0 wine_rpcrt4_io 00000078 0 wine_rpcrt4_io 00000084 0 wine_rpcrt4_io 000000b4 0 wine_rpcrt4_io 000000cc 0 wine_rpcrt4_io 000000e4 0 wine_rpcrt4_io 00000100 0 wine_rpcrt4_io 00000044 winedevice.exe 00000048 0 00000054 0 00000058 0 wine_sechost_service 0000005c 0 00000060 0 00000064 0 000000f4 0 00000068 winedevice.exe 0000006c 0 0000007c 0 00000080 0 wine_sechost_service 00000088 0 0000008c 0 00000090 0 00000094 0 00000098 0 00000070 explorer.exe 00000074 0 0000009c 0 000000a0 0 wine_rpcrt4_server 000000ac plugplay.exe 000000b0 0 000000b8 0 000000bc 0 wine_sechost_service 000000c0 0 wine_rpcrt4_server 000000c4 svchost.exe 000000c8 0 000000d0 0 000000d4 0 wine_sechost_service 000000d8 0 00000120 0 wine_rpcrt4_server 00000124 0 wine_rpcrt4_server 000006fc 0 wine_rpcrt4_io 000007c0 0 wine_rpcrt4_io 000000dc svchost.exe 000000e0 0 000000ec 0 000000f0 0 wine_sechost_service 000000f8 rpcss.exe 000000fc 0 00000104 0 00000108 0 wine_sechost_service 0000010c 0 wine_rpcrt4_server 00000110 0 wine_rpcrt4_server 00000128 0 wine_rpcrt4_io 0000078c 0 wine_rpcrt4_io 0000012c conhost.exe 00000130 0 00000134 control.exe 00000138 0 00000684 rundll32.exe 00000688 0 0000068c 0 wine_rpcrt4_server 00000690 MicrosoftEdgeWebView2RuntimeInstallerX86.exe 00000694 0 00000698 0 0000069c MicrosoftEdgeUpdate.exe 000006a0 0 00000778 MicrosoftEdgeUpdate.exe 0000077c 0 000007dc 0 wine_threadpool_worker 000007a8 MicrosoftEdgeUpdate.exe 000007ac 0 000007c4 0 wine_threadpool_worker 000007c8 0 wine_threadpool_waitqueue 000007cc 0 wine_threadpool_timer_queue 000007d0 0 000007e4 MicrosoftEdgeWebview_X86_120.0.2210.61.exe 000007e8 0 000007ec (D) C:\Program Files (x86)\Microsoft\EdgeUpdate\Install\{1D59C07E-FEAC-4034-B79B-4BD90B0E3A9A}\EDGEMITMP_63D22.tmp\setup.exe 000007f0 0 <== 00000804 0 000007fc conhost.exe 00000800 0 System information: Wine build: wine-8.0 (Debian 8.0~repack-4) Platform: i386 (WOW64) Version: Windows 7 Host system: Linux Host version: 6.1.0-15-amd64

mauricioduarte01 commented 11 months ago

I am experiencing this issue as well. I am unable to validate a few essential apps due the webview requirement and this is missing on wine/proton. As mentioned by @AshleyScirra , the installation is stuck in that window

supermann63 commented 10 months ago

I am need it too! More and more users will change from windows to linux and compatiblity for diferent software is now essential! About this, please help!

social-booster-ba commented 9 months ago

I am facing the same issue. I have a windows app that uses web speech api and is not compatible with linux. Tried to use wine but gets stuck on the webview2 installation. To be clear then, there is no solution for this yet? Is there any work around? Thanks all

supermann63 commented 9 months ago

The only workaround is, to install Windows 11 in a virtual box. Why wine has with many apps a problem. This issue is open longer as 1 year without workaround. So, I need it example for a programming system, that only works under windows, but equal not under wine. I will not back to windows! But for this small special things, I must. So, in this virtual box, you use only for this one app. The installation is a little bit tricky, when you install windows 11. Possible Windows 10 is much easier, but disable complete the update process. When you need help, yo find a video under youtube "install windows 11 under linux mint". Itś in german language, I thing so with subtitles in english too.

LynnV7777777 commented 8 months ago

also running into a webview2 related issue where the installer just times out after an hour and never installs, no found workaround

1OldSWguy commented 8 months ago

You need Wine >=9.2 for it to install. I tried it on 9.3 and it does install, but does not function with my application.

mokurin000 commented 7 months ago

You need Wine >=9.2 for it to install. I tried it on 9.3 and it does install, but does not function with my application.

Could you please attach your logs when trying to run your app?

1OldSWguy commented 7 months ago

WebView2-Win7cfg-109.0.1518.140-debug.log WebView2-Win11cfg-123.0.2420.97-debug.log

These logs are from an Arch Xfce VM installation running Wine 9.5. The application is TaxAct23.exe. The first (Win7cfg) log file is from a functioning version of WebView2 (build 109.0.1518.140) for a Win7 Wine configuration (the TaxAct application functions, a little laggy, but everything works). When changing the Wine configuration to any Windows version higher than Windows 7 and using build 109, the application no longer runs. The second (Win11cfg) log file is from a non-functioning configuration, WebView2 (build 123.0.2420.97) and Windows 11 Wine configuration. The application window menus render, but the main GUI area remains black. It appears as though the program flow is stuck in a continuous loop. The Wine prefix is installed as a 64 bit wine configuration for all configuration logs and tests.