This approach is unfortunately not just a design preference but more or less required on modern Android. Since newer Android versions started enforcing seccomp restrictions on processes running inside the JVM (activity) context, a number of syscalls used by Wine are no longer available there, and the situation keeps getting stricter with each release. Running Wine in a separate fork/exec process avoids these restrictions and matches what downstream projects have already converged on. I understand that familiarity with Android is important here, but I would also really appreciate feedback on the changes themselves. The series is limited to wineandroid, but it still touches a lot of code there, and as I’m still new to the project, I’m not always confident about what is acceptable or what the preferred patterns are in Wine. Even high-level or structural feedback would be very helpful. As for building and testing, I can share build scripts if that helps. At the moment the setup is somewhat device-dependent: it works for me in an Android 8.1 VM and on a Samsung S24 FE (Android 16), but on a Samsung Tab A9 (also Android 16) it starts without rendering, and I’m still investigating that. To make further progress it would really help to get the current state merged so I don’t have to keep juggling a large patch stack locally. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10569#note_136327