| ▲ | serbuvlad 4 hours ago |
| iOS and Android have an incredible amount of engineering to make them RAM and battery efficient that desktop Linux simply doesn't have. And its not a case of simply implementing some feature, since all apps have to written with this stuff in mind: apps can be suspended/killed at any time and should be able to restart gracefully, notifications go through a side channel, etc etc Do these phones have any of this? |
|
| ▲ | greuceanu42069 3 hours ago | parent | next [-] |
| this. years ago i was working with Intel and Samsung to enable Tizen on x86 phones. energy management was the biggest problem they had. RISC won. moreover, 8 years later Apple was moving away from x86_64 to ARM, so one could say ARM won because of better energy management, either through lower usage or other types of energy saving techniques.
Google Pixel (ARM) had similar issues with battery life, or better yet battery drain during idle times.
People underestimate battery saving techniques. As in all software engineering, when the focus is enablement, optimizations take a second stage. |
|
| ▲ | catdog 4 hours ago | parent | prev | next [-] |
| Looking at the amount of RAM phones have nowadays I don't know if this is an issue, desktop Linux runs fine with those amounts. Also Android is not really memory efficient so they needed this workaround. |
| |
| ▲ | serbuvlad 3 hours ago | parent | next [-] | | I currently have 35 apps "open" on my iPhone, most of which are probably React Native or similar. Other times I'm sure I've hit 60-70. Because of iOS's app management feature, most of the apps are actually dead, but if I go back and open any of them, they will open and load on the screen on which I left them. Android does this too. Desktop Linux cannot. Can I open 60-70 or even 35 Electron apps simultaneously on 8GB of RAM on Linux? And no, I do not want to to back to closing apps, that is simply an inferior experience. | | |
| ▲ | lesspassiveobse an hour ago | parent | next [-] | | It's in unix. SIGSTOP and SIGCONT + swap. | | |
| ▲ | serbuvlad an hour ago | parent [-] | | And GPU buffers? And in-flight network requests? And notification handling? And D-Bus presence? And watchdogs? And other held resources like pids and fds? |
| |
| ▲ | adrian_b 3 hours ago | parent | prev [-] | | These are things that would be easy to solve in Linux. What is difficult is e.g. supporting the undocumented photo/video camera and other essential parts of the hardware that lack documentation. | | |
| ▲ | microtonal 2 hours ago | parent [-] | | This gets brought up several times in this discussion. Hardware with drivers, firmware and device trees exist, see e.g. Fairphone. It even works with open source camera apps (e.g. done in /e/OS). The problem is not (only) the hardware, it is that the Linux desktop stack is wholly unoptimized for phones. And the fact that Meego/Maemo/etc. are now almost two decades ago shows that it is not 'would be easy to solve'. Heck, Linux laptops, which have been available since forever still have far worse battery life than Windows or macOS. You need a stack that is designed from first principles for phones. Luckily we have one that is open source (AOSP). |
|
| |
| ▲ | palata 3 hours ago | parent | prev [-] | | You haven't tried to run a Linux on Mobile distro on your phone and compared the battery life to Android, have you? Spoiler: I have :-) | | |
| ▲ | modo_mario 2 hours ago | parent [-] | | Depending on the phone they'd struggle to go in a low power state when the screen is off or can't access other power saving features because the manufacturers keep everything under wraps. |
|
|
|
| ▲ | maufl 4 hours ago | parent | prev | next [-] |
| And it doesn't actually work reliably, at least on Android. My wife and I frequently don't get notifications from specific apps, only once we open them. My impression is that the platform just changes too frequently with regards of what you have to do to work well even when you're killed. Also, especially for push notifications, your now at the mercy of Googles service to delvier them to your app (not sure how the open source variants do it) |
| |
| ▲ | catdog 4 hours ago | parent | next [-] | | There is also the problem, that some OEMs add their own "battery optimizations". If you simply don't run anything its indeed very battery efficient...
Forcing push notifications through some central service has minimal benefits at best. Open source variants are forced to publish annoying persistent notifications and ask the user to flip some "battery optimization" toggle deep inside the settings to not get killed, of course this often enough changes with Android versions. | |
| ▲ | Zak 3 hours ago | parent | prev | next [-] | | UnifiedPush is an open source solution for push notifications that isn't tied to a particular service provider. A handful of apps support it. https://unifiedpush.org/ | |
| ▲ | ptidhomme 4 hours ago | parent | prev [-] | | Same for us on our Grapheneos Pixels. Notification are a bit of a lottery. But we take that as a feature. People can call if there's an emergency. | | |
| ▲ | palata 3 hours ago | parent [-] | | On all apps? I have never had issues with notifications... | | |
| ▲ | ptidhomme 3 hours ago | parent | next [-] | | Some don't work at all, bc they must be GSF-only I guess (installed via Aurora store).
Others like Whatsapp or Signal sort of work but sometimes the app seems to not be running (even though I set up the no battery optimization). And I get multiple unread messages at once when manually starting the app. | |
| ▲ | microtonal 2 hours ago | parent | prev [-] | | Same, they work fine and are immediate. The only exception has been Signal. Must be that I'm using sandboxed Google Play Services? | | |
| ▲ | palata an hour ago | parent [-] | | I use sandboxed Google Play Services, Signal has been fine... I cannot say it's always immediate (I'm not always on my phone :-) ), but I have never been frustrated for "missing" a notification. Like when I check my phone, the Signal messages are there, they don't appear 3 days later. |
|
|
|
|
|
| ▲ | hypfer 4 hours ago | parent | prev | next [-] |
| Yet |
| |
| ▲ | microtonal 4 hours ago | parent [-] | | Linux on phones have been around since the late 00s (e.g. through Nokia's efforts). Why would this suddenly change? Heck, even after decades, the battery life of most laptops running Linux is still much worse than Windows, let alone macOS. I have had several generations of ThinkPads and to this day, battery life is typically ~50-60% of that of Windows, even with all battery optimizations applied. And Windows is terrible compared to Mac or Android/iOS phones. And I say this as a long-time Linux user (used Linux in some form since 1994). It's just a very hard nut to crack if you miss a certain amount of vertical of integration and coordination across the ecosystem. | | |
| ▲ | apatheticonion 4 hours ago | parent | next [-] | | We are _not allowed_ to make it good. Without hardware documentation, you're looking at decades of reverse engineering effort just to get somewhere half as far as an engineer with hardware documentation can get in a weekend. Look at Asahi. Almost a decade in and we can use the GPU at like 30% of its ability on 6 year old hardware. That a project with major interest. No one cares about spending a decade reverse engineering the hardware on a Google Pixel or Samsung Galaxy. If they gave us proper full hardware documentation, we could create high quality alternatives. Again, we can't so you don't see it. Competition is good. We should always advocate for things that enable competition. | | |
| ▲ | ashirviskas 3 hours ago | parent [-] | | > Without hardware documentation, you're looking at decades of reverse engineering effort just to get somewhere half as far as an engineer with hardware documentation can get in a weekend. I'm not sure this is true anymore and it is becoming less true with each new LLM release. > No one cares about spending a decade reverse engineering the hardware on a Google Pixel or Samsung Galaxy. Actually, this might a cool idea - just get a few super cheap smartphones, connect them all to a PC, give LLM access and tell it "make linux gud like android pls" and just give it a weekend. | | |
| ▲ | adrian_b 2 hours ago | parent [-] | | Even if you have the binary driver and you decompile it with the help of a LLM, it does not provide most of the information from the documentation. You may see that the driver writes some hundreds of magic constants in some hardware registers, but you do not know what they mean. You may be able to do exactly what the binary driver, does, but you will not be able to improve it, e.g. to enable features that happen to be not enabled in that driver. So a LLM can speed up the initial part of reverse engineering if you have the files with binary drivers, which may be difficult to extract from certain phones, but a lot of work remains to discover all that the hardware can do. |
|
| |
| ▲ | hypfer 4 hours ago | parent | prev [-] | | > Why would this suddenly change? I see three aspects there. The first is that google is currently rugpulling via various means and _really_ playing those anticompetetiveness-cards. That wasn't the case previously. So there wasn't much motivation to care, because android was "open enough". The second is that the world is getting less geopolitically stable. So the whole ecosystem lockdowns are not just a personal preference thing but might be actually vital. The third is that LLMs are kinda good at these optimization loops if you hand them a framework in which they can sample good data. I also had a fourth thought but it left my mind :( | | |
| ▲ | microtonal 3 hours ago | parent [-] | | Android is still open enough. Worst case, AOSP can be forked and it will still be leagues ahead of non-Android Linux phones. That also applies to the sovereignty point. I see especially GrapheneOS and /e/OS grow because of this in local communities. LLM-driven optimization is a good point. However, Linux desktop communities tend to be quite aggressively anti-LLM. E.g. GrapheneOS has been heavily attacked by these people for only using an LLM for security auditing. But maybe these projects will fork into LLM-accepted forks who will then rapidly out-innovate. |
|
|
|
|
| ▲ | bossyTeacher 4 hours ago | parent | prev | next [-] |
| > iOS and Android have an incredible amount of engineering to make them RAM and battery efficient that desktop Linux simply doesn't have This one of the most understated reasons. |
| |
| ▲ | bayindirh 3 hours ago | parent [-] | | If you look at ARM, SBC and MiniPC market, Linux can be very frugal when it comes to power management and RAM use. Just because a bog standard Ubuntu or Debian is not tuned towards it doesn't mean it can't. | | |
| ▲ | microtonal 3 hours ago | parent [-] | | It’s not only a matter of tuning. Everything in the stack needs to be developed to go idle and not do things in the background by themselves. The Linux desktop and all its apps are made for a model where apps can continually get CPU time. | | |
| ▲ | bayindirh 3 hours ago | parent [-] | | I know, but that's a set of libraries. Nothing which can't be done, because the foundation is there. In most basic terms, you need to be able to freeze apps and be able to tell when they have nothing to do, so they can be scheduled with minimal time slices to run a single, lightweight function to check whether they need to do anything at all. Of course it's more complicated than that, but it's not impossible, since the foundation is already there. |
|
|
|
|
| ▲ | apatheticonion 4 hours ago | parent | prev [-] |
| It's just closed source drivers stored in private Linux forks (or Apple's code dungeon). There's nothing inherently special about their optimisations, but hardware is incredibly complex and without documentation, open source drivers cannot be written that are anywhere close to what engineers with hardware docs can build. Asahi Linux is a great example. It's an unbelievable project but still far from first party Apple drivers. Once the hardware can actually be used, competition in the OS space will follow. They have no incentive to offer documentation and competition is bad - so they won't allow that. Regulators must step in here. |