Thread with 59 posts
jump to expanded postdid you know that there are Android phones with 64-bit CPUs and 64-bit kernels but which will only run 32-bit apps? did you know they are actually very common, still manufactured in 2024 by major brands, and the bane of Android console emulator developers everywhere? it sucks.
the reason for this is memory consumption. on Android, all apps are forked from the zygote, a process that is always running and has a preloaded set of libraries (libc, graphics drivers, presumably also Android Runtime, etc). but to support 64-bit and 32-bit apps you need two.
so… if you have a phone with a 64-bit CPU (every modern Android phone) and a 64-bit kernel (probably also every modern Android phone), but less than 4GB RAM… supporting both 32-bit and 64-bit applications is kind of painful memory-wise, so they just… use a 32-bit only userland
now i can see how they came to that, but it's an extremely Google Moment honestly. Apple didn't want to play this game and gave 32-bit a sudden, swift, merciful death. Google are prolonging the agony for everyone. I can't stress enough how absurd “32-bit-only 64-bit device” is
there is no destiny for these devices other than e-waste and it is fucking painful
the fact that 4GB is considered a small amount of memory is extremely jokerifying also. iPhones have delivered a premium 64-bit experience both with that much memory and with half that. Android is an absolutely wretchedly inefficient platform. skill issue skill issue skill iss—
the absolute worst thing, that pisses me off more than anything else, is that ofc making an Android phone that supports both 64-bit and 32-bit is an option when building the OS image, or even better, just 64-bit. but Google said they'd start mandating the opposite. i'm serious
obviously that mandate was not for phones with lots of RAM. they said they'd mandate only supporting 32-bit specifically on brand-new 64-bit low-memory phones. to reduce the number of configurations they had to worry about.
i do not know if they went ahead with it but SCREAMS
ARM GAVE YOU THE WORLD'S SMALLEST 64-BIT-CAPABLE CORE TWELVE YEARS AGO AND THIS IS WHAT YOU CHOOSE TO DO WITH IT? THIS????? DOES YOUR LUST FOR INFLICTED SUFFERING KNOW NO BOUNDS, GOOGLE? DO YOU NOT LOOK UPON YOUR CREATIONS AND WEEP FOR WHAT YOU HAVE DONE. WHY DO YOU CURSE US
if this does blow up then please do not follow me for technology opinions. you'd be enabling my worst tendencies. i am here to post about kanbaru suruga from the monogatari series and also how pretty the sky is
@hikari mot even doing anything cool like arm64_32?
@saagar yes. in the ruins of our civilisation, they will know us by the Cortex-A53 chips
@saagar sure, that's the typical lead time. anyway that means we've been making cortex-a53 phones for an entire decade now
@saagar at the end of the world, there will be famine, pestilence, and Cortex-A53
@hikari tbh Windows NT 4 delivered a premium 32-bit experience with 64 MB RAM, with noticeably lower interface latency
I will never stop being weirded out by how much RAM modern apps need
@mia @hikari I played with Windows 7 running on a 533MHz Via C3 with 512 MB RAM (of which 8 MB was taken by integrated graphics), and despite running with default VESA graphic driver (meaning no graphic acceleration at all), the system was quite snappy. Opening Start Menu was so much faster than opening Windows 10 or 11 Start Menu on today's computers.
@jernej__s @hikari the last low UI latency Windows was, I think, 2003 Server. 7's Start menu is pretty much comparable to 11 23H2's; the primary difference is that 11 animates the slide-out — and this animation (among many others) is skipped with so-called basic display adaptor drivers. You can also disable them via troubleshooting options, I think.
@jernej__s @hikari and personally I would not run 7 on 512 MB; that is barely enough for the OS itself and I say this as someone who had to use 7 with exactly that amount of RAM on Intel Celeron D machines with iGPUs at work back in 2007-2009. Adding Firefox to the mix made the system swap. If you have 512 MB of RAM you want Server 2003 or maybe XP.
@mia @hikari I was mostly just trying to see if I can get Aero to work on such a low-end machine, not because I'd use this for anything serious (turned out that Nvidia WDDM drivers for GeForce 5200 PCI do not work on C3 and cause a blue screen due to illegal instruction; C3 is a Pentium-class CPU).
I did do something even stupider after I found 2x512 MB SDRAM to put in the machine:
@mia @hikari AFAIK both Win10 and 11 Start Menus are implemented as a separate application that's started every time you open the menu (and 11's is worse, because it seems to use some sort of web framework).
About a month ago Start Menu on client's RDS server (running 2016) broke somehow, and nothing I tried would fix is, and since the server's going away by the end of the year, I didn't want to rebuild it, so I installed StartIsBack as a workaround. The first thing I noticed was how much faster it opens.
Note that I disable most UI animations on my systems, since they might be cute the first few times, but then they just take time without adding any benefit, so the above comparisons were made with settings where Start menu pops up without any animation.
@jernej__s @hikari then I really can't say what is up, because in my 11 23H2 install with web search disabled via group policy the start menu appears immediately (and start menu search is practically instant, faster than on 7)
It did have noticeable latency in 11 20H2, that I admit
@hikari such is the case for android phones
@Kahanis i have much more respect for that choice! 64-bit with 32-bit pointers still lets you take full advantage of the hardware
@saagar huh, does ARMv8 (or later) have non-restartable instructions? Is this like vector stuff or something? I thought it was pretty clean in this regard in that you can always just ERET back after resolving the fault and the program will keep going.
Or, hmm, maybe things like non-FPAC IABORTs are non-restartable since PC is trashed and you can't (confidently) know if it's PAC or just a bogus address? Though if you're trying to recover from a PAC fail you kinda deserve it.
@saagar in theory, doesn't FEAT_Debugv8p2 solve this whole mess? ESR.ISS.WPT reports the matched watchpoint number for a trap and is mandatory. Though, they kinda ruin it with WPTV which can make WPT invalid, but that goes away in 8p9 where WPT cannot be invalid.
https://arm.jonpalmisc.com/2023_09_sysreg/AArch64-esr_el2#fieldset_0-24_0_24-23_18-1
Apple didn't want to play this game and gave 32-bit a sudden, swift, merciful death.I'd rather call it an execution or orbital strike, when half your apps stop working overnight.
Imagine the amount of support tickets that came out of iOS 11, especially once downgrade became impossible.
@hikari@social.noyu.me also, my last phone (redmi 6) had a lineageOS build that did exactly that. 64-bit cpu, (probably) 64-bit kernel, 32-bit programs.
I wouldn't call it e-waste for that. It is though for the severely damaged screen and questionable MMC health though.
@iska believe me i know (see https://hikari.noyu.me/blog/2023-02-06-touchhle-anouncement-thread-tech-games-me-and-passion-projects.html)
there must be some happy medium
@hikari every single Raspberry Pi question on Stack Overflow... "binary says no such file or directory but uname -m says arm64" aaaaaaargh!!