Was a good idea though. Tried launching SYSTM from the exact prefix/installation Zwift owns in Lutris, but sadly still no bluetooth.
Most likely you are right - Zwift is probably handling BT differently.
There is a hint in the Logfiles though
Unhandled Exception:
System.TypeLoadException: Could not load type of field 'WindowsBtle.BluetoothUwp:adapterWatcher' (0) due to: Could not load file or assembly 'Windows.Foundation.UniversalApiContract, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
at WindowsBtle.Program.Main (System.String[] args) [0x00001] in <aae1425b4362487c96aa496985d7ddeb>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type of field 'WindowsBtle.BluetoothUwp:adapterWatcher' (0) due to: Could not load file or assembly 'Windows.Foundation.UniversalApiContract, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
Edit: I should have understood that I can simply download the .NET .exe and install it within the prefix, even though installing Edge with the regular .exe was already a solution step for Zwift.
Unfortunately, .NET 7 didn’t solve the problem. I also tried .NET 8 and installed VC++, but none of it worked. I then tried Bottles, but still no success.
Edit: I discussed a bit with ChatGPT, and it occurred to me that I still have a Crossover license from my Mac days in the fall. The software is also available for Linux. I’ll try that now; maybe there are some fixes built into it that will help me.
Edit: Crossover doesn’t help at all because Wahoo SYSTM can’t be installed as an admin, and Crossover always runs in admin mode.
Edit: Have tried out Trainingeaks Virtual, and it worked OOTB withouth any issues. Seems like SYSTM is the outlier here.
Edit: Wine 10 didn’t help a bit. Wahoo Systm isn’t launching.
Edit: Wine 10 Staging did help, for the first time now I get a specific error, pointing to the issue:
Seems to be a critical error in wine with WindowsBtle.exe

Here is the log:
Unhandled exception: 0xe0434352 in wow64 32-bit code (0x7bc17be8).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:002b
EIP:7bc17be8 ESP:0012e1b0 EBP:0012e208 EFLAGS:00000246( - -- I Z- -P- )
EAX:0012e1b0 EBX:00000010 ECX:0012e1c4 EDX:0012e270
ESI:00000000 EDI:00000001
Stack dump:
0x0012e1b0: e0434352 00000001 00000000 7bc17be8
0x0012e1c0: 00000005 80131522 00000000 00000000
0x0012e1d0: 00000000 7a620000 00913498 0012f3f4
0x0012e1e0: 00000001 00be403c 00000001 00417506
0x0012e1f0: 00000002 0093acb0 00010078 0012e1d0
0x0012e200: 00000005 0012e270 0012e2a4 7a7d70f1
Backtrace:
=>0 0x7bc17be8 in kernelbase (+0x47be8) (0x0012e208)
1 0x7a7d70f1 in clr (+0x1b70f1) (0x0012e2a4)
2 0x7a782d82 in clr (+0x162d82) (0x0012e2d8)
3 0x7a96ee8d in clr (+0x34ee8d) (0x0012e36c)
4 0x7a58138c in clrjit (+0x138c) (0x0012e384)
5 0x7a5a47bd in clrjit (+0x247bd) (0x0012eac4)
6 0x7a582e6b in clrjit (+0x2e6b) (0x0012eb4c)
7 0x7a58306a in clrjit (+0x306a) (0x0012eb64)
8 0x7a58364f in clrjit (+0x364f) (0x0012eb80)
9 0x7a584276 in clrjit (+0x4276) (0x0012ebc0)
10 0x7a5843fc in clrjit (+0x43fc) (0x0012ec38)
11 0x7a5845c8 in clrjit (+0x45c8) (0x0012ed38)
12 0x7a58377d in clrjit (+0x377d) (0x0012ed80)
13 0x7a653913 in clr (+0x33913) (0x0012eddc)
14 0x7a6539eb in clr (+0x339eb) (0x0012ee24)
15 0x7a653a48 in clr (+0x33a48) (0x0012ee90)
16 0x7a653cf7 in clr (+0x33cf7) (0x0012f250)
17 0x7a6536fc in clr (+0x336fc) (0x0012f344)
18 0x7a655353 in clr (+0x35353) (0x0012f3bc)
19 0x7a6463ef in clr (+0x263ef) (0x0012f438)
20 0x7a62f49b in clr (+0xf49b) (0x0012f45c)
21 0x042f08f4 (0x0012f4dc)
22 0x042f0864 (0x0012f4e8)
23 0x7a62f016 in clr (+0xf016) (0x0012f4f4)
24 0x7a6322ba in clr (+0x122ba) (0x0012f548)
25 0x7a63850b in clr (+0x1850b) (0x0012f5b8)
26 0x7a7d1d0b in clr (+0x1b1d0b) (0x0012f6dc)
27 0x7a7d23ea in clr (+0x1b23ea) (0x0012f948)
28 0x7a7d2317 in clr (+0x1b2317) (0x0012fe2c)
29 0x7a7d2498 in clr (+0x1b2498) (0x0012fe84)
30 0x7a7d25be in clr (+0x1b25be) (0x0012fec4)
31 0x7a7cdef5 in clr (+0x1adef5) (0x0012ff00)
32 0x7afefa84 in mscoreei (+0xfa84) (0x0012ff38)
33 0x7b827f16 in mscoree (+0x7f16) (0x0012ff48)
34 0x7b824de3 in mscoree (+0x4de3) (0x0012ff68)
35 0x7bf3ce83 in ntdll (+0xce83) (0x0012ff80)
36 0x7bf71ae5 in ntdll (+0x41ae5) (0x0012ffec)
0x7bc17be8 kernelbase+0x47be8: subl $4, %esp
Modules:
Module Address Debug info Name (29 modules)
PE 400000- 41e000 Deferred windowsbtle
PE 2ef0000- 42ec000 Deferred mscorlib.ni
PE 7a430000-7a535000 Deferred diasymreader
PE-Wine 7a550000-7a565000 Deferred wintypes
PE 7a580000-7a609000 --none-- clrjit
PE 7a620000-7adcf000 --none-- clr
PE-Wine 7af20000-7af2c000 Deferred version
PE-Wine 7af40000-7af58000 Deferred shcore
PE-Wine 7af70000-7afc5000 Deferred shlwapi
PE 7afe0000-7b06d000 --none-- mscoreei
PE-Wine 7b210000-7b22e000 Deferred imm32
PE-Wine 7b240000-7b30d000 Deferred oleaut32
PE-Wine 7b320000-7b338000 Deferred coml2
PE-Wine 7b350000-7b3e0000 Deferred rpcrt4
PE-Wine 7b3f0000-7b428000 Deferred win32u
PE-Wine 7b440000-7b618000 Deferred user32
PE-Wine 7b630000-7b6c1000 Deferred gdi32
PE-Wine 7b6e0000-7b72f000 Deferred combase
PE-Wine 7b740000-7b807000 Deferred ole32
PE 7b820000-7b86a000 --none-- mscoree
PE 7b880000-7b92b000 Deferred ucrtbase_clr0400
PE 7b940000-7b954000 Deferred vcruntime140_clr0400
PE 7b970000-7ba51000 Deferred ucrtbase
PE-Wine 7ba70000-7ba8e000 Deferred sechost
PE-Wine 7baa0000-7bb60000 Deferred msvcrt
PE-Wine 7bb70000-7bbb2000 Deferred advapi32
PE-Wine 7bbd0000-7be7a000 Dwarf-5 kernelbase
PE-Wine 7be90000-7beff000 Deferred kernel32
PE-Wine 7bf30000-7bff0000 Dwarf-5 ntdll
Threads:
process tid prio name (all IDs are in hex)
00000038 services.exe
0000003c 0
00000040 0 wine_rpcrt4_server
0000004c 0 wine_rpcrt4_io
00000074 0 wine_rpcrt4_io
00000090 0 wine_rpcrt4_io
000000b4 0 wine_rpcrt4_io
000000b8 0 wine_rpcrt4_io
000000d4 0 wine_rpcrt4_io
000000f8 0 wine_rpcrt4_io
00000124 0 wine_rpcrt4_io
00000134 0
00000140 0 wine_rpcrt4_io
00000044 winedevice.exe
00000048 0
00000054 0
00000058 0 wine_sechost_service
0000005c 0
00000060 0
00000064 0
00000068 0
000000e8 0
000000ec 0
0000029c 0 wine_threadpool_worker
0000006c svchost.exe
00000070 0
00000078 0
0000007c 0 wine_sechost_service
00000080 mscorsvw.exe
00000084 0
00000094 0
00000098 0 wine_sechost_service
0000009c 0
00000088 explorer.exe
0000008c 0
000000a8 0
000000ac 0 wine_explorer_display_settings_restorer
000000b0 0 wine_rpcrt4_server
000000a0 plugplay.exe
000000a4 0
000000c0 0
000000c4 0 wine_sechost_service
000000c8 0 wine_rpcrt4_server
0000011c 0 wine_rpcrt4_io
00000120 0 wine_threadpool_worker
00000310 0 wine_rpcrt4_io
00000314 0 wine_threadpool_worker
000000cc mscorsvw.exe
[C:\windows\Microsoft.NET\Framework\v4.0.30319\mscorsvw.exe]
000000d0 0
000000d8 0
000000dc 0 wine_sechost_service
000000e0 0
000000f0 winedevice.exe
000000f4 0
000000fc 0
00000100 0 wine_sechost_service
00000104 0
00000108 0
0000010c 0
00000110 0
00000114 0
00000128 0
0000012c 0
00000130 0
00000138 rpcss.exe
0000013c 0
00000144 0
00000148 0 wine_sechost_service
0000014c 0 wine_rpcrt4_server
00000150 0 wine_rpcrt4_server
00000154 0 wine_rpcrt4_io
000004b4 0 wine_rpcrt4_io
000004b8 0 wine_threadpool_worker
0000053c 0 wine_rpcrt4_io
00000274 SYSTM.exe
00000278 0 CrBrowserMain
0000027c 0 LoaderLockSampler
00000280 0 BrokerEvent
00000284 0 ThreadPoolServiceThread
00000288 0 ThreadPoolForegroundWorker
0000028c -2 ThreadPoolBackgroundWorker
00000290 0 ThreadPoolForegroundWorker
00000294 0 Chrome_IOThread
00000298 0 MemoryInfra
000002bc 0
000002c0 0
000002c4 0
000002c8 0
000002d0 0
000002d4 0
000002d8 0
000002dc 0
000002e0 0 wine_threadpool_worker
000002e4 0 wine_threadpool_waitqueue
000002e8 0 ThreadPoolSingleThreadCOMSTASharedForeground0
000002ec 0 ThreadPoolForegroundWorker
000002f0 0 ThreadPoolForegroundWorker
000002f4 0 ThreadPoolSingleThreadForegroundBlocking1
000002f8 0 CompositorTileWorker1
00000304 0 wine_sechost_device_notify
00000308 0 VideoCaptureThread
0000030c 0
00000318 0 wine_rpcrt4_server
00000324 0 ThreadPoolSingleThreadCOMSTASharedForegroundBlocking2
0000038c 0 CacheThread_BlockFile
00000398 -2 ThreadPoolBackgroundWorker
000003a0 -2 ThreadPoolSingleThreadCOMSTABackgroundBlocking3
000003a8 -2 ThreadPoolSingleThreadSharedBackgroundBlocking4
00000478 0 ThreadPoolForegroundWorker
00000494 0 wine_wininet_collect_connections
000002fc SYSTM.exe
00000300 1 CrGpuMain
00000330 0 LoaderLockSampler
00000388 0 GpuWatchdog
000003ac 0 wined3d_cs
000003b0 0 ThreadPoolServiceThread
000003b4 0 ThreadPoolForegroundWorker
000003b8 -2 ThreadPoolBackgroundWorker
000003bc 1 Chrome_ChildIOThread
000003c0 0 wine_threadpool_worker
000003c4 0 wine_threadpool_waitqueue
000003c8 0 ThreadPoolForegroundWorker
000003cc 1 VizCompositorThread
000003d0 0 ThreadPoolForegroundWorker
000003d4 0 ThreadPoolForegroundWorker
000003d8 -2 ThreadPoolBackgroundWorker
0000031c SYSTM.exe
00000320 0 CrUtilityMain
00000334 0 LoaderLockSampler
00000338 0 BrokerEvent
0000033c 0 ThreadPoolServiceThread
00000340 0 ThreadPoolForegroundWorker
00000344 -2 ThreadPoolBackgroundWorker
00000348 0 Chrome_ChildIOThread
0000034c 0 ThreadPoolForegroundWorker
00000350 0 wine_threadpool_worker
00000354 0 wine_threadpool_waitqueue
00000358 0 ThreadPoolForegroundWorker
0000035c 0 ThreadPoolForegroundWorker
0000039c -2 ThreadPoolBackgroundWorker
000003a4 0 CacheThread_BlockFile
00000328 SYSTM.exe
0000032c 0 CrashpadMainThread
00000360 0 ExitCodeWatcherThread
00000364 0
00000368 0
0000036c 0
00000370 0 wine_threadpool_worker
00000374 0 wine_threadpool_waitqueue
00000378 0
0000037c 0
00000390 SYSTM.exe
00000394 0 CrRendererMain
000003f0 0 LoaderLockSampler
000003f4 0 BrokerEvent
000003f8 0 ThreadPoolServiceThread
000003fc 0 ThreadPoolForegroundWorker
00000400 -2 ThreadPoolBackgroundWorker
00000404 1 Chrome_ChildIOThread
00000408 0 wine_threadpool_worker
0000040c 0 wine_threadpool_waitqueue
00000410 0 ThreadPoolForegroundWorker
00000414 0 GpuMemoryThread
00000418 1 Compositor
0000041c 0 ThreadPoolSingleThreadSharedForegroundBlocking0
00000420 0 CompositorTileWorker1
00000424 0 CompositorTileWorker2
00000428 0 CompositorTileWorker3
0000042c 0 CompositorTileWorker4
00000430 -2 CompositorTileWorkerBackground
00000434 0
00000440 0 ThreadPoolForegroundWorker
00000450 0 ThreadPoolForegroundWorker
00000454 0 ThreadPoolForegroundWorker
00000458 0 ThreadPoolForegroundWorker
0000045c 0 ThreadPoolForegroundWorker
00000460 0 ThreadPoolForegroundWorker
00000474 0 ThreadPoolForegroundWorker
00000484 0 ThreadPoolForegroundWorker
00000488 0 ThreadPoolForegroundWorker
0000047c SYSTM.exe
00000480 0 CrRendererMain
000004bc 0 LoaderLockSampler
000004c0 0 ThreadPoolServiceThread
000004c4 0 ThreadPoolForegroundWorker
000004c8 -2 ThreadPoolBackgroundWorker
000004cc 1 Chrome_ChildIOThread
000004d0 0 ThreadPoolForegroundWorker
000004d4 0 wine_threadpool_worker
000004d8 0 wine_threadpool_waitqueue
000004dc 0 GpuMemoryThread
000004e0 1 Compositor
000004e4 0 ThreadPoolSingleThreadSharedForegroundBlocking0
000004e8 0 CompositorTileWorker1
000004ec 0 CompositorTileWorker2
000004f0 0 CompositorTileWorker3
000004f4 0 CompositorTileWorker4
000004f8 -2 CompositorTileWorkerBackground
00000510 0 ThreadPoolForegroundWorker
00000514 0 ThreadPoolForegroundWorker
00000520 0 ThreadPoolForegroundWorker
00000524 0 ThreadPoolForegroundWorker
00000528 0 ThreadPoolForegroundWorker
0000052c 0 ThreadPoolForegroundWorker
00000540 0 ThreadPoolForegroundWorker
00000544 0 ThreadPoolForegroundWorker
0000048c explorer.exe
00000490 0
000004a8 0
000004ac 0 wine_explorer_display_settings_restorer
000004b0 0 wine_rpcrt4_server
00000498 (D) C:\users\roland\AppData\Local\SYSTM\app-7.93.1\resources\app.asar.unpacked\node_modules\@WahooFitness\sufferfest-btle\dist\WindowsBtle.exe
[C:\users\roland\AppData\Local\SYSTM\app-7.93.1\resources\app.asar.unpacked\node_modules\@WahooFitness\sufferfest-btle\dist\WindowsBtle.exe]
0000049c 0 <==
000004fc 0
00000500 2
0000050c 0
000004a0 conhost.exe
000004a4 0
00000518 explorer.exe
0000051c 0
00000530 0
00000534 0 wine_explorer_display_settings_restorer
00000538 0 wine_rpcrt4_server
System information:
Wine build: wine-10.0 (Staging)
Platform: x86_64 (guest: i386)
Version: Windows 7
Host system: Linux
Host version: 6.12.10-arch1-1