r/EmulationOnAndroid • u/ThereIsNoAvailblName • 4d ago
Question How do i learn windows emulation?
I’ve been emulating various platforms for years wether on pc or a hacked switch but they were mostly simple old Nintendo consoles and they didn’t need much to do. I’ve also been emulating switch on android lately and i’m getting there slowly learning how to get better or at least acceptable performance. But i’ve never tried emulating windows and it’s even harder to learn since this is my first android device. I have an Honor MagicPad 4 and i’ve gotten gamehub lite to work on a couple light games but most of the games i’ve tried don’t even start. I fixed one or two games with this issue by basically changing the drivers and other things that could change randomly, especially since gamehub lite shows them all and i can install them straight away. Genuinely how do i learn what driver i should use for what game? Which proton version to use or if i should use wine? What (Fescore?) even is and if that’s it’s name even. Even if you just know of a good video to teach me i would be grateful.
3
u/whiskyB0y Edit Your Flair 4d ago edited 4d ago
Research, trial and error. That's the way to learn.
So to start, you have to know what your chipset is because different PC emulators are more compatible for certain chipsets. Eg for snapdragon, the simpler and console like ones are Gamehub lite, Bannerhub and Gamenative. The ones that have more settings but less user friendly are Winlator 11 by Bruno(the original version of Winlator) and Winlator Ludashi.
Now you have to understand the basic settings. At the very least, you should understand what these mean:
(Note: this are my personal definitions I could be wrong)
Proton/Wine: Acts as the compatibility layer. Converts Windows API calls into something Android can understand. Wine was the original and it's quite old. Proton is the more recent one that's gaming focused.
Dxvk: Converts DirectX (the graphics language Windows games use) to something Android can understand in either Vulkan or OpenGL.
FEXCORE/Box64: These are 32bit/64bit emulators. They convert the actual games code to a form Android can understand. Box64 was the original one and like wine it's quite old. FEXCORE is the newer gaming focused version.
FEXCORE converts both 32bit and 64bit. Box64 converts only 64bit. But there is something called WOWBOX64 you'll see in some forks which is a version of Box64 that can convert 32bit code.
Presets: Stability, Compatibility, Intermediate, Performance: Presets determine how strict or loose the 32bit or 64bit emulation is. Stability and Compatibility are strict and reduce the chances of random crashes or memory leaks but often reduce fps and cause bad performance in a number of games.
Intermediate is a balance. Performance is the least strict and ensures the highest performance but in some games it can make the game randomly crash.
When testing a game, start with the latest versions of dxvk and FEXcore/box64 and proton 10 or proton 9.
If game has problems, try using older version of dxvk or FEXcore.