I’m working on WebKit on Windows these days. Sometimes I see someone asking about WebKit on Windows. I would summarize the current situation.
Although iTunes for Windows is using both 32bit and 64bit version of AppleWin port, only 32bit version of WebKitSupportLibrary.zip and WebKitAuxiliaryLibrary.zip is publicly available at the moment. So, you can compile only 32bit version.
The latest built binary can be downloaded from Buildbot. iTunes needs to be installed on your PC.
WinCairo port is the only one redistributable upstream Windows port. It supports both WebKit1 and WebKit2, but it plans to remove WebKit1. WinCairo WebKit2 doesn’t support Accelerated Compositing at the moment.
The latest built binary can be downloaded from Buildbot.
QtWebKit a downstream port which supports WebKit1 and WebKit2.
In WebKit1, WebKit thread and UI thread are separated. It seems that Accelerated Compositing doesn’t work on Windows.
WebKitGTK is a well maintained upstream port, but doesn’t support Windows. So, Cygwin and Cygwin/X are needed to run. Cygwin has epiphany and midori packages, but very old.
WPE WebKit is a well maintained upstream port, but doesn’t support Windows.
FTW port is a new upstream Windows port which uses Direct2D and DirectWrite.
I found a StackOverflow question of WinCairo performance. Here are the benchmark results on my PC.
|AppleWin r249040 (32bit) AC||8.39|
|AppleWin r249040 (32bit) non-AC||8.68|
|WinCairo r249042 (64bit) WK2 non-AC||136.66|
|WinCairo r249042 (64bit) WK1 AC||68.99|
|QtWebKit (64bit) WK1 non-AC||115.18|
|Firefox 68.0.2 (64bit)||272.57|
|Firefox 68.0.2 (64bit) no-GPU||105.12|
- Windows 10 version 1903 with 150% device scale factor display
- AppleWin: https://s3-us-west-2.amazonaws.com/archives.webkit.org/win-x86_64-release/249040.zip (This is a 32bit version with regardless to the URL)
- WinCairo: https://s3-us-west-2.amazonaws.com/archives.webkit.org/wincairo-x86_64-release/249042.zip
- QtWebKit: otter-browser-win64-1.0.81-weekly272-setup.exe with manually adjusting zooming level
Here are screenshots.