News for hackers. Stuff that matters.
Re:Developer Preview of Android O by dep_b on Tuesday March 21, 2017 @04:30PM (#13925941)
Another opportunity wasted to create a unified Android driver model that would allow easy upgrades.
Re:Developer Preview of Android O by sigmar on Tuesday March 21, 2017 @07:57PM (#13927421)
The Android driver model is not what holds back updates. Time and monetary cost of OEM customizations, subsequent carrier bloat, and testing (all performed in series) are what hold back upgrades.
Re:Developer Preview of Android O by npelly on Tuesday March 21, 2017 @10:57PM (#13928167)
Agree. Driver abstraction layers are not a cure-all. First, OEMs want to customize the O/S above the driver level. Second, a strict DAL with a canonical O/S on top slows hardware innovation. All devices end up functionally the same because they have to fit the same DAL, and they can't customize the O/S to take advantage of new HW.

Take Android Wear. It took the DAL approach. As a result, O/S upgrades are immediately available to all devices (awesome!). But there is very little differentiation - all Wear devices use the same small set of SoC's and peripherals, and are functionally the same. Google decides on HW innovations.

(This was true of Wear 1.0, not sure if changed with Wear 2.0)

Re:Developer Preview of Android O by EddieRingle on Wednesday March 22, 2017 @12:06AM (#13928385)
I was curious so I took a look: It seems they're implementing a new system; there are shared libraries in /vendor/lib/hw on my Pixel running O that aren't there on my Pixel XL running 7.1.

  sailfish:/ $ ls /vendor/lib/hw                                                                                                                   
  [email protected]        [email protected]  [email protected]  
  [email protected]               [email protected]    [email protected]        
  [email protected]                [email protected]          flp.default.so                         
  [email protected]     [email protected]              gatekeeper.msm8996.so                  
  [email protected]         [email protected]           keystore.msm8996.so                    
  [email protected]          [email protected]                sensors.vl530l0.tof.so                 
  [email protected]                 [email protected]              sound_trigger.primary.msm8996.so       
  [email protected]          [email protected]            vulkan.msm8996.so                      
  [email protected]                [email protected]       
  [email protected]  [email protected]
You can see some development in the AOSP repos (follow https://r.android.com) that supports this. For example, libhwbinder (https://android.googlesource.com/platform/system/libhwbinder...) looks to be an interface for talking with a /dev/hwbinder device, and the kernel seems to have been updated recently to support multiple Binder device instances. HAL interfaces are defined in HIDL, which looks to be implemented here: https://android.googlesource.com/platform/system/libhidl/+/m... (along with a separate hidl tool in another repo).