Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

System-Wide Emulation for Windows #1450

Open
joeyoropesa-dev opened this issue Feb 17, 2024 · 0 comments
Open

System-Wide Emulation for Windows #1450

joeyoropesa-dev opened this issue Feb 17, 2024 · 0 comments

Comments

@joeyoropesa-dev
Copy link

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
No, the problem is not the reason for this suggestion : )
Describe the solution you'd like
Send us a pull request always help, or any pseudo code might be useful.
Well, I don't have any PoC of this idea but I believe that skilled devs will see an potential from this and try to make something cool

It would be nice if an dll that is responsible for emulation gets called in Windows for any executable, that would lead to being able to run any executable for any architecture on Windows natively. That dll library also needs to directories for each architecture where the libraries for the target architecture emulation will be found and used for full support of those apps and full functionality.

For example, an Intel/AMD CPU on Windows 64-bit will be able to execute ARM64 apps easly. Windows on ARM (Insider Builds) provides their System32 folder with all arm64 and arm dlls (libraries) and the loader itself. So, an Quiling System-Wide Emulation library for example C:\Windows\System32\libquiling.dll should try to detect is there any folder C:\Windows\System_%ARCH% being created and in this case cloned System32 folder from Windows on ARM version of Windows into this 64-bit OS C:\Windows\System_ARM64 shoud use ARM64 emulation to load required drivers, libraries from that directory for each executable that requires arm64 support to work

It will take more free space since we have basically two versions of System32 folders just their name is different but it will load natively any ARM64/ARM apps on Intel/AMD machine running just an normal version of Windows on x64 CPU and it will be very optimized and perfect for executing those apps - support problems and missing dlls will not be detected since that library is taking care of paths that is giving to each execution that is running under an type of CPU emulation.

If this is too hard, an UEFI boot manager that emulates correct CPU instructions and architecture for detected Windows bootloaders will also help since Intel/AMD machines will be able to boot into unmodified version of Windows On ARM and test it natively without needing for any type of Virtual Machine - just running directly from the host machine using an UEFI boot manager that did CPU emulations for selected bootloader to boot from it using that UEFI boot manager. That UEFI boot manager could also be called Quiling Boot Emulator.

Let's hear also from you some ideas for native emulations like this - it would be so cool to see it implemented and to test first test versions of this cool feature : )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant