I have a concrete example of this. The game "The Conquest of Go" uses the the program KataGo for playing and analysis of games. There is an OpenCL version included, but it does not work. I investigated this with a wrapper script to intercept the KataGo starts (and I also used AI, yes). Here is the report that the AI drafted. If came to the conclusion that this is an proton issue.
The AI included some log output captured by the wrapper shell script. I can provide the wrapper, if required.
Under Proton Hotfix on Linux, a Windows application that uses OpenCL via Wine's builtin OpenCL.dll reaches clGetPlatformIDs, then exits cleanly without enumerating any OpenCL platform or producing tuner output.
The same application and same prefix work under local host Wine, where NVIDIA OpenCL is enumerated successfully and KataGo autotuning starts.
The failure appears specific to the Proton plus pressure-vessel path rather than the application itself.
[#7537](/issue/ValveSoftware/Proton/7537): OpenCL missing, Games depending on it fail.[#282](/issue/ValveSoftware/Proton/282): pressure-vessel fails with could not find libnvidia-fatbinaryloader.soThe application should detect the NVIDIA OpenCL platform and begin autotuning, as it does under local Wine.
Under Proton Hotfix, the application:
OpenCL.dllclGetPlatformIDsTuner starting...0libnvidia-opencl.so.580.159.03/usr/bin/wine, version wine-10.0 (Ubuntu 10.0~repack-12ubuntu1)Using local host Wine with the same game prefix, the shipped KataGo OpenCL binary is able to enumerate the NVIDIA platform and start autotuning.
This strongly suggests the issue is in Proton plus pressure-vessel OpenCL handling rather than in the application.
From StreamingAssets/KataGo/OpenCL/wrapper-logs/latest-wrapper.log:
WINE_BIN=/home/steam-library/steamapps/common/Proton Hotfix/files/bin/wine
EFFECTIVE_WINEDLLOVERRIDES=opencl=b;steam.exe=b;dotnetfx35.exe=b;dotnetfx35setup.exe=b;beclient.dll=b,n;beclient_x64.dll=b,n;winebth.sys=d;d3d11=n;d3d10core=n;d3d9=n;dxgi=n;d3d12=n;d3d12core=n;nvapi64=n;nvofapi64=n;nvapi=n;nvcuda=b
EFFECTIVE_WINEDEBUG=+timestamp,+pid,+tid,+seh,+unwind,+threadname,+debugstr,+loaddll,+mscoree,+opencl
EFFECTIVE_OCL_ICD_VENDORS=/home/steam-library/steamapps/common/The Conquest of Go/The Conquest of Go_Data/StreamingAssets/KataGo/OpenCL/opencl-vendors
EFFECTIVE_LD_LIBRARY_PATH=/home/steam-library/steamapps/common/The Conquest of Go/The Conquest of Go_Data/StreamingAssets/KataGo/OpenCL/opencl-libs:/run/host/usr/lib/i386-linux-gnu:/run/host/usr/lib/x86_64-linux-gnu:...
EXIT_CODE=0
From StreamingAssets/KataGo/OpenCL/wrapper-logs/latest-env.log:
WINEDLLOVERRIDES=opencl=b;steam.exe=b;dotnetfx35.exe=b;dotnetfx35setup.exe=b;beclient.dll=b,n;beclient_x64.dll=b,n;winebth.sys=d;d3d11=n;d3d10core=n;d3d9=n;dxgi=n;d3d12=n;d3d12core=n;nvapi64=n;nvofapi64=n;nvapi=n;nvcuda=b
WINEDEBUG=+timestamp,+pid,+tid,+seh,+unwind,+threadname,+debugstr,+loaddll,+mscoree,+opencl
OCL_ICD_VENDORS=/home/steam-library/steamapps/common/The Conquest of Go/The Conquest of Go_Data/StreamingAssets/KataGo/OpenCL/opencl-vendors
OPENCL_VENDOR_PATH=/home/steam-library/steamapps/common/The Conquest of Go/The Conquest of Go_Data/StreamingAssets/KataGo/OpenCL/opencl-vendors
LD_LIBRARY_PATH=/home/steam-library/steamapps/common/The Conquest of Go/The Conquest of Go_Data/StreamingAssets/KataGo/OpenCL/opencl-libs:/run/host/usr/lib/i386-linux-gnu:/run/host/usr/lib/x86_64-linux-gnu:...
From StreamingAssets/KataGo/OpenCL/wrapper-logs/latest-stderr.log:
Loaded L"S:\\common\\The Conquest of Go\\The Conquest of Go_Data\\StreamingAssets\\KataGo\\OpenCL\\OpenCL.dll" ... : builtin
2026-05-25 13:58:59+0200: Loading model...
2026-05-25 13:59:01+0200: Querying system devices...
trace:opencl:clGetPlatformIDs (...)
2026-05-25 13:59:01+0200: Tuner starting...
After this, the process exits cleanly without any detected OpenCL platform or tuning output.
From StreamingAssets/KataGo/OpenCL/wrapper-logs/run-2026-05-25T13_56_53_02_00-opencl-runtime.log:
OCL_ICD_VENDORS=/home/steam-library/steamapps/common/The Conquest of Go/The Conquest of Go_Data/StreamingAssets/KataGo/OpenCL/opencl-vendors
LD_LIBRARY_PATH=/run/host/usr/lib/i386-linux-gnu:/run/host/usr/lib/x86_64-linux-gnu:...
/run/host/usr/lib/i386-linux-gnu/libnvidia-opencl.so.580.159.03
/run/host/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.580.159.03
DIR /run/host/etc/OpenCL/vendors
/run/host/etc/OpenCL/vendors/nvidia.icd
The wrapper was also tested with local symlinks for libnvidia-opencl.so.1 and libOpenCL.so.1, but behavior under Proton did not change.
0, which looks more like a failed enumeration path than a hard crash.Please investigate why Wine builtin OpenCL under Proton Hotfix plus pressure-vessel fails to enumerate the host NVIDIA OpenCL platform in this setup even though the same binary and prefix work under local host Wine.
If this belongs in steam-runtime rather than Proton, please advise which specific component is responsible.
This may be related to Proton issue [#7537](/issue/ValveSoftware/Proton/7537), which also reports that OpenCL-dependent applications work in vanilla Wine but fail under Proton.
proton hotfixx1 2026-05WINEDEBUG=+timestamp,+pid,+tid,+seh,+unwind,+threadname,+debugstr,+loaddll,+mscoree,+openclx1 2026-05WINEDLLOVERRIDES=opencl=b;steam.exe=b;dotnetfx35.exe=b;dotnetfx35setup.exe=b;beclient.dll=b,n;beclient_x64.dll=b,n;winebth.sys=d;d3d11=n;d3d10core=n;d3d9=n;dxgi=n;d3d12=n;d3d12core=n;nvapi64=n;nvofapix1 2026-05WINE_BIN=/home/steam-library/steamapps/common/Protonx1 2026-05beclient.dllx1 2026-05beclient_x64.dllx1 2026-05opencl.dllx1 2026-05
Any version of Proton (Tested: 5, 6, 7, 8, 9, Experimental) fail to launch any games that have dependencies that require OpenCL.
Running a game that require OpenCL in vanilla wine (with steam inside the prefix & DXVK) works.
When running a game that requires OpenCL through Proton they crash, or fail to launch due to missing OpenCL dll