Skip to content

Enable 32-bit x86 guest applications - #149

Open
jakogut wants to merge 1 commit into
libkrun:mainfrom
jakogut:ia32-emu
Open

jakogut wants to merge 1 commit into
libkrun:mainfrom
jakogut:ia32-emu

Conversation

@jakogut

@jakogut jakogut commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Enable IA32 emulation in the generic x86_64 firmware so 32-bit guest applications can run alongside 64-bit processes.

IA32_EMULATION allows 32-bit programs to run, but does not provide legacy time32 syscalls when COMPAT_32BIT_TIME is disabled. The i386 futex syscall uses sys_futex_time32 even for operations that do not pass a timeout.

Steam's 32-bit client aborts on Linux 6.12.91 because its first FUTEX_WAKE_PRIVATE call returns ENOSYS. Enable COMPAT_32BIT_TIME to provide the legacy syscall ABI expected by this client and other 32-bit applications built against it.

Enable IA32 emulation in the generic x86_64 firmware so 32-bit guest
applications can run alongside 64-bit processes.

IA32_EMULATION allows 32-bit programs to run, but does not provide
legacy time32 syscalls when COMPAT_32BIT_TIME is disabled. The i386
futex syscall uses sys_futex_time32 even for operations that do not
pass a timeout.

Steam's 32-bit client aborts on Linux 6.12.91 because its first
FUTEX_WAKE_PRIVATE call returns ENOSYS. Enable COMPAT_32BIT_TIME to
provide the legacy syscall ABI expected by this client and other
32-bit applications built against it.

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
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

Successfully merging this pull request may close these issues.

1 participant