The main difference is that Box86 does not support 64-bit binaries. There is Box64, but it can’t run 32-bit. FEX does not have that limitation, which is handy if you want to run Windows games (which are mostly 32-bit) on Apple Silicon (64-bit).
There’s also a performance difference. A benchmark from last year showed box86 outperforming FEX considerably in CPU-only workloads (50% faster), but the difference in OpenGL performance wasn’t much. There have been several improvements to FEX since, then so I’d expect it would’ve closed the gap by now.
The main difference is that Box86 does not support 64-bit binaries. There is Box64, but it can’t run 32-bit. FEX does not have that limitation, which is handy if you want to run Windows games (which are mostly 32-bit) on Apple Silicon (64-bit).
There’s also a performance difference. A benchmark from last year showed box86 outperforming FEX considerably in CPU-only workloads (50% faster), but the difference in OpenGL performance wasn’t much. There have been several improvements to FEX since, then so I’d expect it would’ve closed the gap by now.