Why still a 32 bit version?


Both gcc2 and gcc7 support planned for 64 bit.


Well gcc 2.95 + GCC N, Clang/LLVM also … it will probably keep incrementing until R1.


Good to know, compatibility wise.

AS cb88 says, maybe Clang/LLVM bring something good to the table. I am not experienced on them to think about that yet.


Well even Mozilla actually compiles Firefox with Clang by default now… its a mature toolchain.


That’s probably related to its rustifying process with Servo and the approach to Clang/LLVM of rust.

I guess i will try them in Haiku to have some fun.


Actually the main reason they switched is LTO and renabling PGO on Linux reliably (there have always been issues with PGO on GCC). But yes probably helps with Rust also.



Go as technical as you want, but when your browser sucks your RAM dry, you’ll want as much free RAM as possible. So unless the users stick to maximum 2-3 tabs in the browser, they will benefit from using 32-bit software on a 2GB RAM PC. The PC becomes much slower from using swap, so the tight virtual address space is not their biggest problem.


When you run out of RAM, merely things are a little slower than they might be as you use swap, or de-allocate other things to make room.

But any time you can’t get virtual addresses that’s it, game over. A lot of software will just crash, the rest may limp along, crippled as critical features don’t work.

Take a 1000x1000 colour image, even though it may be compressed to a few hundred kilobytes on the network, when displaying it you’re going to make it into an RGBA buffer. That’s 4 million contiguous bytes of address space. No problem at all in 64-bit, but in 32-bit that’s about a thousand contiguous previously unused pages you need to find. Can’t find such a broad swathe of empty space? You fail.

It’s theoretically possible to allocate up to 50% of the space reliably, hence (with 2GB process size) my cut-off of 1GB. Beyond 50% you’re basically on blind luck, it might work, it might not, even with the best possible allocator unless it’s somehow prescient it just can’t be sure to avoid fragmentation above 50%.


Um, do you understand how “running 32-bit apps on 64-bit OS” works? That’s what all the “ifdef_32/typedef _32” is for, to support syscalls from 32-bit apps to the kernel. It is actually more work to support that than it is to keep the 32-bit kernel running, as is evidenced by that patch.

Also, Linux, FreeBSD, et al. still support 32-bit (though most Linux distributions have dropped it, I guess, but they retain lib32 support.)



True, but then why would you torture a low-RAM PC with stuff it can’t handle? You have a limited PC, you find out its limitations and use it accordingly. Even on a light Linux distro when you use Chrome with facebook, YouTube and some mail service (3 tabs), the RAM usage will grow quite fast and it’s not the limitation of the virtual address space of the 32-bit architecture that “bites” the user first, but the low quantity of RAM. And using 64-bit software only makes it easier to use up all the available RAM in such ordinary cases.

The average usage of PCs won’t get people in trouble simply for having the “wrong” software architecture running, but having 1-2GB RAM is a problem that can be alleviated a little bit by using 32-bit software.


Given that 32-bit Chrome for Linux hasn’t existed for years this seems like possibly an experiment you haven’t actually tried but only imagined in your head.

Right now my Firefox is using over 3.6GB of address space for the main browser application and 2+GB for each separate sandboxed process. This wouldn’t be possible with a 32-bit OS. But the RAM consumed by Firefox is just 800-900MB and doubtless a lot of that is cache which could be discarded on a RAM starved PC.


Frankly something is probably wrong with your profile… do you even have an adblocker?

Firefox doesn’t use that much ram unless you have very badly behaved sites open. Even with tons of tabs open. I currently have 12 tabs and 1250MB total memory usage from all firefox processes on lower end machines it would be less due to fewer cores and thus fewer processes.

And that’s not just simple HTML pages, its 2 email accounts, a couple random sites google ebay etc… this is typical usage. Even if I had 50 tabs open it could run in about the same memory because I don’t have 50 tabs active on the screen…


“Even my iPhone has a 64 bit CPU. LoL.”

Great! If we drop 32 bit haiku my laptop will be just as able to run haiku as your iphone is.


I meant Chromium - still available as 32-bit. But feel free to imagine how I imagine things, and don’t check for yourself but imagine how 32-bit apps crash due to address space limitations.


Using 400MB less RAM than you doesn’t seem like something wrong with my profile.

I’d suggest that, once again, the problem is simply not understanding the difference between address space and RAM. Everything addressed must fit in that address space, contiguously.

Try this simple example with your 2GB standard 32-bit user address space. Allocate four chunks of 400MB. That fits nicely right? Now, pick two at random, free those, and then allocate 800MB. Sometimes you can’t do it. However you twist and turn, it’s sometimes impossible.


Point taken… I was confused by your useless mention of the allocated address space.


32bit due the adresses cosumes less resources obvously… the problem are only adresses more resources…

maybe in fact its nonsese develop 64bit for desktops systems… desktops systems are only for trivial task… its supposs that browse the network must be trivial, but stupid things and fashion trick today makes the web browsers a complete OS inside the OS… pufff


64-bit is very important for big games, video editing software, graphics editors, 3D design/modeling and others RAM-demanding tasks. But it’s also important in simple programs for the proper date representation, which is limited in 32-bit apps, leading to the Year 2038 problem.

For the common 32-bit user, the date won’t become an issue until they need to store events or personal appointments for dates beyond year 2038, but that’s 20 years from now. In 10 years there will be literally no excuse for anyone to have PCs with little RAM, so 64-bit will finally be the norm. The only people requiring 32-bit software will be hardware collectors and some professionals.

Even today I still have a 386 PC but with 5MB RAM I don’t even think about installing any operating system on it. FreeDOS is enough for it. :stuck_out_tongue: As for my more recent PCs, my dual-core 32-bit Atom-based netbook with 1GB RAM will be pointless to use 10 years from now, considering even the cheapest possible mobile device in 2028 will outperform it by a factor of 5-10 at least.

But today is different. 32-bit-only PCs can still be very useful for small tasks and as long as they work there’s no reason to buy anything else for those small tasks. Some people seem to be way too “precious” to understand this.


Contiguously huh…that’s blatantly wrong.


I have an 2007 laptop (Samsung X11, Intel core2) and thought it is 32bit only… so I used this laptop for Haiku 32Bit only.

I thought Haiku 32Bit is useful and needed for older Computers and Laptops to slow for Windows, Linux, Mac and the like…

After reading most of the comments here I just tried my Haiku 64Bit USB-Stick I am using with my Desktop Computer on my Laptop… and it worked! So I was very surprised by that fact! Also because Windows and Linux refused to work on it… maybe there are more Laptop user out there who should try an Haiku 64Bit USB stick!?
The only difference so far is the lack of audio (HD) which is working in 32Bit here. So said it is a good way to find out why I have audio on 32 but not on the 64Bit Haiku… I need some advice how I can help with a proper Bug report here!

btw I thougt 32Bit is more stable…