Getting ON1 Photo RAW MAX working on Pop!_OS took an afternoon and one annoying gotcha. Capture One took twice as long and ended in a window that is mostly black, which is a strangely honest summary of where its Linux support stands. The app installs and launches. It builds a real window with native chrome and the Capture One logo. Then the entire content region, the part where you sign in and activate, renders as an empty black box, because that region is Chromium and Chromium does not run under Wine.
The setup matched the ON1 install exactly: same machine, same Bottles plus GE-Proton stack, in a separate isolated bottle so a failed experiment couldn’t pollute the working install. The difference is entirely in the application architecture.
Why Capture One is hostile to Wine
ON1 is a native Qt/C++ app, so once Vulkan translation works it mostly behaves. Capture One 16.8.1 is built on a modern Microsoft stack, and every layer of it is a place where Wine can break.
| Layer | What it is | Why Wine struggles |
|---|---|---|
| .NET Desktop Runtime 10.0.7 | The application framework | ICU and globalization bugs under current Wine |
| ASP.NET Core Runtime 10.0.7 | A local backend service | Runs, but expects a working .NET host |
| WPF | The window and native UI | Renders via DXVK D3D9, this part works |
WebView2 (P1.WebView.exe) | The Chromium-based frontend | Does not install or render under Wine |
ImgCoreProcess.exe | The raw processing engine | Needs the rest of the app to be alive first |
The WPF shell is the part that cooperates. Everything that touches Chromium or .NET globalization is where the install turns into a sequence of walls.
The walls, in order
Each fix was real, and each one only exposed the next. I cleared four walls to reach a fifth that doesn’t move.
Wall 1: the installer crashes before any UI
The Capture One installer (CaptureOne.Win.16.8.1.3586.exe, 1.6 GB) is a 32-bit Inno Setup stub. Under GE-Proton’s Wine 10 it crashes immediately with c0000005 EXCEPTION_ACCESS_VIOLATION at 0x7BE4BF06, before drawing anything. Setting the Windows version to win7 didn’t help. Switching to the Flatpak’s bundled Wine 11 (sys-wine-11.0) got past it.
Tip: The Bottles
shell -i wine ...wrapper masks crashes asShellExecuteEx ... File not found, which tells you nothing. To see the real backtrace, exportWINEPREFIXand call the wine binary directly withWINEDEBUG=+seh.
Wall 2: WebView2 refuses to install
With Wine 11, the installer runs, then tries to install its prerequisites: VC++ redist, .NET Desktop Runtime 10.0.7, ASP.NET Core Runtime 10.0.7, and the WebView2 Runtime. WebView2 fails with -2147219198 and aborts the whole app install. WebView2 is Chromium, and it doesn’t install under Wine.
The workaround is to lie to the installer about WebView2 being present. Spoof its registry presence keys so the installer skips that prerequisite:
HKLM\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}
HKLM\SOFTWARE\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}
pv = 120.0.2210.91
name = Microsoft Edge WebView2 Runtime
Set those under both the WOW6432Node and native hives, re-run the installer, and it skips WebView2. Capture One then installs cleanly, about 2.1 GB, to C:\Program Files\Capture One\Capture One. You can skip the Bonjour and tethering drivers. Unlike ON1, this installer uses its default path with no Z: drive trap.
Wall 3: ICU and .NET globalization
First launch hits a chain of .NET globalization errors, all rooted in Wine 11’s ICU handling. Raw wine fails with Cannot get symbol u_charsToUChars from libicuuc (Error 127). Through Bottles you hit the Wine 11 icu.dll forwarding bug, which tries to reach icuuc68.u_charsToUChars_68 from a library that isn’t shipped.
The obvious-looking fix is the wrong one. Setting DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 backfires: it kills culture resolution and throws Cannot find non-neutral culture related to en-us (0xe0434352) in a WPF dialog. The combination that worked tells .NET to use Wine’s own NLS instead of ICU, while still resolving en-US:
export WINEDLLOVERRIDES="icu=d"
export DOTNET_SYSTEM_GLOBALIZATION_USEICU=0
Note: Launch through
bottles-cli run, not raw/app/bin/wine. Raw wine doesn’t set up the full runtime environment (LD_LIBRARY_PATHand friends), which is what produces the Error 127 symbol failure. Raw wine is still the better tool for reading a real crash backtrace, just not for launching the app.
Wall 4 (the one that doesn’t move): the black sign-in screen
With the right environment variables, Capture One launches into a stable windowed WPF UI, rendered through DXVK D3D9. Native chrome, logo on the left, the window is real. The rest of it is black.
That black region is the WebView2 content area: the sign-in and account-activation screen, plus the Learn and Discover hub. WebView2 was only spoofed in the registry, never actually installed, because it can’t be. There is no login screen to click, so there is no activation, so there is no usable Capture One. Four walls cleared to reach a brick one.
The verdict
Capture One 16.8.1 does not run under Wine or Bottles in any way you’d call usable. The right answer is a virtual machine, and that comes with its own asterisk on this hardware.
The version of the VM that runs Capture One well needs GPU passthrough, and passthrough needs a second, dedicated GPU to hand to the guest. This laptop has a single Intel iGPU that the host is already using, so passthrough is off the table. What’s left is a plain QEMU/KVM Windows VM with virtio and SPICE, no GPU acceleration.
That’s fine for catalog work, licensing, and light edits; it’s slow for raw processing. Tethering would go through USB redirection, and you’d need a Windows 10 or 11 ISO. Capture One’s developers have said they have no plans for native Linux, so this situation is stable.
If the goal is to actually edit on Linux rather than to make a specific Windows app run, the native options are the better bet. ON1 covers the full RAW workflow today. Darktable is the open-source alternative, with the Filmic and Sigmoid modules for color grading and a steeper learning curve than either.
Some questions I didn’t get to close: whether a real WebView2 or Chromium install has any path under current Wine, whether an offline license file could sidestep the sign-in screen entirely, and whether intel-opencl would give Capture One GPU acceleration if it ever got past activation. All three are open. None of them change the verdict today.