-
Notifications
You must be signed in to change notification settings - Fork 60
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
VirtualMachine: add workaround cvars for not disabling platform qualification on arm64 or FreeBSD, and more #1328
Conversation
…fication on arm64 or FreeBSD, and more - Add workaround cvars for not disabling platform qualification on arm64 or FreeBSD. - Run nacl_loader on FreeBSD Linuxulator the same way it runs on Linux (using the bootstrap helper). - Add generic cvars to disable platforme qualification and bootstrap helper.
f369af3
to
afc5cb9
Compare
I had the impression that the platform qualification failure on ARM was when you use the 32-bit nacl runtime on a 64-bit ARM processor. So it should only be needed if you are building 64-bit arm. Is that wrong? |
Unfortunately this is not that reliable. I just tested with a freshly installed RasPiOS bullseye, using the exact same SD card on a Raspberry Pi 4 then on a Raspberry Pi 3. The SD card booted an arm64 kernel on the Raspberry Pi 4 (probably because it has 8G of RAM) while running an armhf userland, and I had to disable qualification:
The exact same SD card booted an armhf kernel on the Raspberry Pi 3 right after that, and yes qualification was working:
|
afc5cb9
to
487a379
Compare
I added code to detect arm64 kernel. |
d6387b7
to
9cdca9b
Compare
9cdca9b
to
778155f
Compare
I added more code, especially I added two generic cvars For example, NetBSD provides a similar Linux emulation than FreeBSD, and then the platform qualification is likely to fail, maybe the whole Linux game (engine + nacl) runs without building a native NetBSD engine and without implementing a specific NetBSD workaround just by setting Another example would be people building a native engine for another platform (like ppc64el), but configuring their system binaries from other platforms (like amd64) to run over The cvar about the helper bootstrap is more about making possible to test if it is required and when. For example I noticed that it is required on armhf and arm64 on Debian Bullseye, while it is not required on amd64 on Ubuntu Noble… |
910dfaf
to
40c22d8
Compare
Great! |
40c22d8
to
e2dedcc
Compare
e2dedcc
to
5f86b0a
Compare
Add workaround cvars that can be set to
off
to not disable platform qualification on armhf or FreeBSD.It makes possible to check if the platform qualification works on a specific arm CPU, or to test if Linuxulator has improved enough to support what's required to run platform qualification though the Linux compatibility layer.
Also add a commit to run
nacl_loader
on FreeBSD Linuxulator the same way it runs on Linux (using the helper).I don't know why the helper is needed on Linux:
nacl_helper_bootstrap
on Linux? #1327but we better do the same as Linux on Linuxulator for consistency.