my123
Joined 10 years ago
Joined 10 years ago
You'll get this error if you try to use the Carbon menu APIs:
> References to Carbon menus are disallowed with AppKit menu system on macOS 14 and newer. Use instances of NSMenu and NSMenuItem directly instead
https://developer.apple.com/documentation/macos-release-note...
Microsoft says at https://learn.microsoft.com/en-us/windows/win32/winprog64/ru...:
> Note that 64-bit Windows does not support running 16-bit Windows-based applications. The primary reason is that handles have 32 significant bits on 64-bit Windows. Therefore, handles cannot be truncated and passed to 16-bit applications without loss of data. Attempts to launch 16-bit applications fail with the following error: ERROR_BAD_EXE_FORMAT.
winevdm on Windows eschews that level of integration, but perhaps MS should have shipped WoW16 with limitations instead of nothing.
Epic could have benchmarked their beta client against the Steam beta client which would have shown this.
The reason why that won't happen (but more and more warning prompts all the time because of this modern world...) is because macOS is a self-hosted platform.
Apple _needs_ macOS as an unlocked OS at the very least as a development platform to develop their operating systems on. Not having the self-hosting requirements allows to tighten the security model a lot.
Notably, with a Unix terminal, a huge problem for sandboxing is how to determine permissions granularly, whereas a UI flow has significantly better answers to that.
One of the reasons is that Qualcomm uses supplemental ACPI tables (think device tree overlays) shipped inside of the driver packages. Look at the .bin in plenty of the drivers carefully and you'll see that they're supplemental ACPI tables.
Windows doesn't have such a notion and it's implemented via having an ACPI table loader statically linked in to individual drivers.
_On top_ of that, Qualcomm uses PEP to intercept plenty of ACPI functions and implement them in native code instead.
my own words, not my employer's