Hacker News new | past | comments | ask | show | jobs | submit login

a couple of things that jumped out at me:

> Is Twister OS a 64-bit OS?

> Twister OS is a 32-bit OS.

> Why is Steam not starting for me?

> Sadly Valve will be dropping 32-bit support and due to this poor discision on their part we've had no choice but to discontinue support for Steam on Twister OS.

twister os might want to consider dropping 32bit support themselves, especially given that their minimum requirements are a pi4.




The Steam thing looks like a separate issue from whether Twister OS is 32- or 64-bit. They're running the x86 version of Steam in an emulator, and that emulator probably only supports 32-but software.


This is exactly it. They're using box86 [ https://github.com/ptitSeb/box86 ] which allows you to run x86 but not x86_64 Linux programs on ARM Linux.


box86 runs fine in a 32bit chroot.

But, really, it's strange that box86 rejects aarch64. Most aarch64 chips can easily run 32bit arm code, and so ... why not?


box86 runs x86 binaries in an emulator that translates syscalls and library calls to native syscalls and library calls. The JIT compiler they're using and the syscalls tables are specifically for 32 bit x86, and because they're simply passing calls through the host system must match both endianness and word size, so running a 32 bit x86 executable requires a 32 bit little endian host.

ARMv8 can run in either 32 bit "aarch32" or 64 bit "aarch64" modes, and both require separate runtimes, as does 32/64 bit x86. So you need 32 bit ARM libraries for box86's translation to work.

It could be updated to support 64 bit executables, but that would be an amd64/x86_64 -> aarch64 translation layer. Doing 32 -> 64 bit or vice versa is much, much harder, and requires manual translation of calls for specific libraries and kernels to be done, as nested binary data is passed in some library/syscalls that needs to be converted.


They could also package and ship a 32bit chroot and do no translation.


Do the games run in an emulator, too?


There are millions of perfectly fine 32-bit ARM boards out there that draw a fraction of the power that a similarly spec'd x86 box would.

It would be a good thing, from the perspective of not wasting energy nor creating more e-waste, for 32-bit ARM boards to be supported for people who own them.


but this OS is targeting, at a minimum, a 64bit board, not a 32bit board.


Good point, I missed this.


Why would steam drop 32 bit? Almost every game only has 32 bit binaries.


I work for one of the largest game developers/publishers out there and literally all of our games are built and released for x64. I don't even remember last time we built x86 binaries of any of our games.


I wonder if it has anything to with https://www.electronjs.org/blog/linux-32bit-support


Almost all modern games are release in 64-bit. It does kill the ability to load a bunch of older games easily..


What games from the last 10 years only have 32-bit binaries?


Moonlighter. Fallout: New Vegas. Renowned Explorers. Anno 2070. It's more common but not a sure thing still.


I believe they run under streams proton implementation.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: