4 ms·
I picked up a used Nexus 6 (in excellent condition) recently, and it is an incredible device. I'm also on the bleeding edge OS-wise, as I get Android Beta/Previ
by winter_blue 10y ago
I picked up a used Nexus 6 (in excellent condition) recently, and it is an incredible device. I'm also on the bleeding edge OS-wise, as I get Android Beta/Preview releases.
My primary device is an iPhone 6 Plus, and I have to say, Nexus 6 and Android N is really impressive from both a hardware and software perspective.
That being, I wish Google decoupled device drivers from the Android image.
If they adopted the Windows on PC device driver model, it would be so great for users, especially those with older and less supported phones.
- criddell 10y agoDo you think they could decouple and still get decent battery life?
- winter_blue 10y agoThe battery-conserving mechanisms of Android are not particularly hardware-specific on most devices. Ideally, Android (or their patched version of the Linux kernel) would expose an API for each different kind of device. An general API for cameras, an API for audio, etc. The manufacturers would then write device drivers that implement / fulfill the functionality of these open/generic APIs. (This is how things are done on PCs.) Some phones have two CPUs or SoCs, one being energy-efficient and the other highly-performant, and the system switches between them based on the workload. But an update of the OS could simply add & expose an additional new API for dual-SoC systems. Decoupling device drivers and OS releases would be a huge win for everyone. We'd get the security update swith newer OSes, and even driver updates would be simpler. PC peripheral manufacturers often release updates to their device drivers, and for a Linux and Windows users its relatively straightforward to update a device driver. E.g., I just updated my Nvidia graphics driver on Linux to the latest version two days ago. I have several kernel modules installed, and apt-get handled everything seamlessly, and built a new kernel image in a jiffy. How often do you see device drivers updated on Android? Especially if there's a bug, how long before it's fixed? All of the drivers on Android are baked into this giant system image, and the system image contains so many disparate components, that shouldn't all be locked together. The Android system image release process is so broken. The Google -> Manufacturer -> Carrier approval & release is slow and dysfunctional. The best way to go would be to adopt standard Linux distro practices, use a good package manager (like NixOS) that'll manage and assemble all the disparate system components, instead of shipping one giant frozen-in-time system image.
- vetinari 10y ago> The manufacturers would then write device drivers that implement / fulfill the functionality of these open/generic APIs. (This is how things are done on PCs.) This is not a full picture how things work on PCs. There are also dependencies - i.e. you cannot power down the bus, while the device on the other end is not powered down. Things get more interesting, when you have SoC that implements multiple functions and there are interdependecies, where you would not expect them. The entire problem with Skylake mobile chips is, that nobody knows how to properly change the power states and Intel isn't telling anyone. Even linux distros are on their way to manage the system in image-like way. See project atomic, or this video: https://youtu.be/XNLPkMDf9LI https://youtu.be/XNLPkMDf9LI
- simonh 10y ago>If they adopted the Windows on PC device driver model, it would be so great for users... I seriously doubt it. I just changed my broadband provider at home. Our Macs, mobile devices and WDTV connected to the new wifi router immediately, but it took 2 hours to get the Windows laptop to connect to the internet. It found the wifi network fine, but no internet. This has happened before. Googling found dozens of hits for this issue, all with different solutions that worked for different people and each time it's happened to me on the same laptop different solutions have worked, such as: Delete the device in device manager and then scan for new hardware; ipconfig /renew; fiddling with Advanced driver settings. This time I fixed it by reverting from the Microsoft driver to the vendor provided driver. The last thing we need on our phones is hardware, drivers and OS developed by different companies that don't talk to each other and don't do proper whole-system integration testing on all builds and upgrades.