Download - Project Treble - static.linaro.org
![Page 1: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/1.jpg)
Project Treble
September 28, 2017
Iliyan Malchev
![Page 2: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/2.jpg)
What and Why
1
What is the problem? Why do we care to solve
it?
Userspace
2
What is the solution?
What is the timeframe?
Kernel
3
Tackling kernel fragmentation
Results
4
Some stats and early results
I Agenda
![Page 3: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/3.jpg)
What's the Problem?
![Page 4: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/4.jpg)
https://developer.android.com/about/dashboards/index.html
I Userspace
![Page 5: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/5.jpg)
I Kernel
3.4
3.1
3.10
3.18
![Page 6: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/6.jpg)
Why Care?
![Page 7: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/7.jpg)
Faster Device Launches on Latest Google SoC OEM users
Easier Device Upgrades Google
Better Quality Google SoC OEM users
BEtter Security (esp. Kernel) Google SoC OEM users
I Who Wants What
![Page 8: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/8.jpg)
The Life of an Android Device Launch
![Page 9: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/9.jpg)
I Start with AOSP
![Page 10: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/10.jpg)
...
I Add Functionality/Customizations
![Page 11: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/11.jpg)
...
I Adapt to SoC and Device
![Page 12: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/12.jpg)
"HALs"
"Ext"AOSP
I Reality
![Page 13: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/13.jpg)
● Short product cycles
● No Single Android OS to update
○ Large AOSP Delta
○ SoC Support not universal
● Certification: Carrier, Regulatory, CTS
● QA
● Support (Call Center), OTA Infrastructure, etc...
"HALs"
ExtAOSP
I Difficult means Expensive
![Page 14: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/14.jpg)
How to Fix it?
![Page 15: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/15.jpg)
Architectural changesAndroid Platform
Operational changesPartner outreach
Compatibility changesPartner outreach
UpstreamingAndroid Platform
I Project Treble
![Page 16: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/16.jpg)
ExtAOSP "HALs"
ExtAOSP
I Solve SoC Support
![Page 17: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/17.jpg)
kernel driverdriverdriver driverdriverlibc
other libraries
activity
Media Server
System Server
Camera Server
Audio Server
Surface Flinger
OMX
...
...camera
HALaudio HAL gralloc
hwcsensor
HAL etc
ART
API java.* android.*
GL
HAL
Binder
I Android Architecture Pre-O
![Page 18: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/18.jpg)
kernel driverdriverdriver driverdriverlibc
other libraries
activity
Media Server
System Server
Camera Server
Audio Server
Surface Flinger
OMX
...
...camera HAL
audio HAL
gralloc hwc
sensor HAL etc
ART
API java.* android.*
GL
HAL
Binder
Binder
I Android Architecture Post-O
![Page 19: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/19.jpg)
I The Vendor Test Suite
CTS
VTS
Android Framework
VINTF Implementation
General System Image
VINTF Implementation
CTS on AOSP
<Before Oreo> <Android Oreo>
HAL Kernel Library
![Page 20: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/20.jpg)
"HALs"
ExtAOSP
I Tackle the AOSP Delta
![Page 21: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/21.jpg)
Q3 ACP ALL HANDS
Multiple implementations of same functionality
Drive convergence between AOSP and Framework Variants
Forum involving major contributors to AOSP
Feature review, approval, (re)engineering
Non-US regulatory requirementsExtensions to Bluetooth, Telephony, Dialer, SysUI, Home Screen
I Upstreaming
![Page 22: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/22.jpg)
"HALs"
ExtAOSPExtAOSP
![Page 23: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/23.jpg)
● Compliance○ Vendor Test Suite (VTS): tests for HALs
■ must pass VTS for approval○ must pass CTS on AOSP
● All OEM Devices launched with O○ Must implement Treble HALs○ Including older SoCs that will be used by OEMs to launch O based
devices
Must pass Vendor Test Suite (VTS; tests for HALs) for approval
All OEM devices launched with O must implement Treble HALs
Must pass CTS on AOSP
Q3 ACP ALL HANDS
This includes older SoCs that will be used by OEMs to launch O-based devices
I Compatibility Requirements
![Page 24: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/24.jpg)
How Fast to Fix it?
![Page 25: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/25.jpg)
● Release uptake is 6 months to a year
○ Mostly just flagships
● Solving the problem forwards
● Customer pull is strong
● Attention Span outside and within
● Addressing fragmentation is a MUST
I The One-Release Fix
![Page 26: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/26.jpg)
The Kernel
![Page 27: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/27.jpg)
Existing LTS is not Enough
Device Kernel
Stable Long Term Support
Android Common
SoC Kernel
Device Release
Device Update
Clone Merge Cherry-Pick
Device Update
Device Update
Device Update
![Page 28: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/28.jpg)
Announcing 6-year LTS
Device Kernel
Stable Long Term Support
Android Common
SoC Kernel
Device Release
Device Update
Clone Merge Cherry-Pick
Device Update
Device Update
Device Update
![Page 29: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/29.jpg)
Stats
![Page 30: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/30.jpg)
health/1.0
thermal/1.0
oemlock/1.0
gnss/1.0
automotive/vehicle/2.0
automotive/vehicle/2.1
automotive/evs/1.0
audio/2.0
audio/effect/2.0
audio/common/2.0
vibrator/1.1
vibrator/1.0
tv/cec/1.0
tv/input/1.0
bluetooth/1.0
usb/1.1
usb/1.0
gatekeeper/1.0
wifi/offload/1.0
wifi/supplicant/1.0
wifi/1.0
radio/1.1
radio/1.0
radio/deprecated/1.0
renderscript/1.0
weaver/1.0
light/2.0
keymaster/3.0
soundtrigger/2.0
ir/1.0
boot/1.0
graphics/allocator/2.0
graphics/bufferqueue/1.0
graphics/mapper/2.0
graphics/common/1.0
graphics/composer/2.1
drm/1.0
nfc/1.0
biometrics/fingerprint/2.1
contexthub/1.0
broadcastradio/1.1
broadcastradio/1.0
power/1.1
power/1.0
vr/1.0
sensors/1.0
configstore/1.1
configstore/1.0
media/omx/1.0
media/1.0
memtrack/1.0
dumpstate/1.0
camera/metadata/3.2
camera/provider/2.4
camera/device/3.2
camera/device/1.0
camera/common/1.0
tetheroffload/control/1.0
tetheroffload/config/1.0
I 60 Subsystem Conversions
![Page 31: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/31.jpg)
Authors
Files
300
3000Commits
20kLOC
~1M
I Code Stats
![Page 32: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/32.jpg)
Qualcomm, Mediatek,
Samsung/LSI,
Huawei/HiSilicon, Motorola,
Sony, LG
Partners
San Diego
Taipei
Seoul
Onsite Teams
7
3 Direct on-site visits
Partner Summits
Android Bootcamp
Executive Sync-ups
Forums
+ 3 Qualcomm SoCs
1 Mediatek SoC
1 HiSilicon SoC
1 Exynos SoC
SONY
Huawei
Samsung
Oreo Launches / Upgrades
3/1
I Partner Outreach
![Page 33: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/33.jpg)
Next Steps
![Page 34: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/34.jpg)
Clone Merge Cherry-Pick
Linux 4.9.y
Android Common 4.9
msm-4.9(Common SoC
Kernel)
MSMXXXX based device 1
MSMXXXX based device 2
MSMXXXX based device 3
Linux 4.9.y xLTSbackports
exynos-4.9(Common SoC
Kernel)
mediatek-4.9(Common SoC
Kernel)
I Kernel Unification
![Page 35: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/35.jpg)
I There's More To Do
● Continued work with SoC Vendors
● Continued work on Kernel Unification
● Expanding test coverage
● Bringing the ecosystem together with Linaro
![Page 36: Project Treble - static.linaro.org](https://reader030.vdocuments.us/reader030/viewer/2022011805/61d393963313341c062854e9/html5/thumbnails/36.jpg)
END