Qualcomm er i stand til å gi ut Snapdragon 845-kildekoden om 6 uker

Qualcomm Snapdragon 845 system-on-chip ble annonsert tilbake i desember og finnes på flaggskipenheter som Samsung Galaxy S9, Xiaomi Mi Mix 2S og OnePlus 6. Selskapet har bekreftet at kjernekildekoden vil bli utgitt om ca. 6 uker.

Qualcommsin siste avanserte system-på-brikke, den Qualcomm Snapdragon 845, var annonsert på Snapdragon Tech Summit tilbake i desember. De brikkesett tilbyr 4 Kryo 385 (A75 "ytelse") og 4 Kryo 385 (A55 "effektivitet") CPU-kjerner, den nyeste Adreno 630 GPU, Spectra 280 ISP, Hexagon 685 DSP, Snapdragon X20 LTE-modemet og en ny Secure Processing Unit (SPU). Snapdragon 845 SoC er en kraftsenter i benchmarks og den er allerede tilgjengelig på enheter som Samsung Galaxy S9/S9+, Xiaomi Mi Mix 2S, og OnePlus 6. Utviklere på forumene våre har lyst etter å få tak i en enhet med Qualcomms nyeste og beste, men det er bare én ting som har gjort noen utviklere bekymrer seg for fremtiden for utvikling på plattformen: Mangelen på offentlig tilgjengelig kildekode for kjernen, HAL-er, rammeverksgrener og mer på de CodeAurora-fora.


Qualcomm og CodeAurora-forumene

Hvis du noen gang har lurt på hvorfor utviklere på forumene våre foretrekker å jobbe med enheter med Qualcomm-brikkesett fremfor enheter med brikkesett fra HiSilicon, Samsung, MediaTek, og andre, årsaken er Qualcomms vennlighet med tilpasset utviklingsfellesskap. Androiden som tilpassede ROM-utviklere bygger fra er basert på Android Open Source Project (AOSP). Google gir ut en offentlig del av AOSP men de utvikler også deler av Android privat (det er grunnen til at hvis du bygger en ROM fra AOSP i dag, vil du ikke få noen av fancy nye funksjoner i Android P.) For tilpassede ROM-utviklere er det eneste valget de har for å slå sammen Androids nyeste plattformfunksjoner å vente på at Google slipper kildekoden med den endelige utgivelsen. Chipset-leverandører har imidlertid en avtale med Google om å få tidlig tilgang til neste versjon av Android— de deler seg fra de private AOSP-depotene, endrer brikkesettkoden for å være kompatibel, og distribuerer deretter denne koden til OEM-er for å bygge og distribuere ROM-er for enhetene deres.

Generell oppdateringsprosess for hver versjon av Android. Kilde: Google.

For å overholde GNU General Public License (GPL) som Linux-kjernen er lisensiert under, må brikkesettet leverandører og OEM-er er pålagt å gi ut kjernekildekoden, men det er alt de er pålagt utgivelse. Kjernekildekoden for Qualcomm Snapdragon 845 Samsung Galaxy S9/S9+, Xiaomi Mi Mix 2S, og OnePlus 6 er allerede tilgjengelig, for eksempel. Det er nok for utviklere å komme i gang med å portere AOSP-baserte tilpassede ROM-er på disse enhetene, men bare det å ha tilgang til kjernekildekoden betyr ikke at det vil være enkelt å portere LineageOS 15.1 til disse enhetene (selv om det endrer seg takket være Prosjekt diskant). All brikkesettspesifikk kode for nye brikkesettfunksjoner er vanligvis utilgjengelig i disse kjernene kildekodeutgivelser, noe som forventes siden koden vil avsløre hvordan proprietære brikkesett funksjoner arbeid. Utviklere har tilgang til denne koden i form av forhåndskompilerte binærfiler (kalt et binært stort objekt eller BLOB), men det er nesten umulig å kombinere disse BLOB-ene med deres arbeid på en AOSP ROM siden det ikke er noen dokumentasjon på hvordan det ville arbeid.

Heldigvis for utviklere er det der Qualcomms CodeAurora Forums (CAF) kommer godt med. På CAF slipper Qualcomm de offentlige delene av deres brikkesettspesifikke kode på en måte som gjør det virkelig enkelt for ROM-utviklere å bygge for plattformen uten å måtte vite hvordan det nye brikkesettet fungerer arbeid. Utviklere trenger bare å gaffel offentlige deler av de nye plattformdepotene (som hardware/qcom/display og vendor/qcom-opensource/bluetooth) og kombiner det med de forhåndskompilerte binære filene, og det vil i utgangspunktet bare fungere for det meste. Qualcomm har gitt ut sin brikkesettspesifikke kode på CAF for tidligere SoC-er som Qualcomm Snapdragon 820/821 og Snapdragon 835, og vanligvis innen dager etter at brikkesettet ble annonsert! Imidlertid har det vært 5 måneder siden Snapdragon 845 ble annonsert, og det har vi ennå å se selskapets vanlige kildekode faller under sdm845-grenen.

Søker i CAF etter kildekode relatert til Qualcomm Snapdragon 835 SoC

Den forsinkede utgivelsen av sdm845-kilder i CAF har fått noen utviklere til å bekymre seg for at Qualcomm ville bli å forlate forumet, faktisk bli som MediaTek ved å bare dele kilder med partnerne sine og ikke samfunnet. Utviklerne vi snakket med er bekymret for at dette vil være skadelig for tilpasset ROM-utvikling på enheter fra selskaper som Xiaomi, da CAF-kilder ofte er nødvendige for å bygge stabile ROM-er for Xiaomis Snapdragon enheter. Vi tok kontakt med Qualcomm for å finne ut hva som skjer, og vi har endelig noen gode nyheter å dele: CAF blir ikke forlatt, det er bare at Qualcomm Snapdragon 845-kodefallet ikke vil skje før Qualcomm kunngjør sine nye mobilplattformer. Grunnen? På grunn av lekkasjer.


CodeAurora Forum og Qualcomm Chip Leaks

Når Qualcomm-ingeniører jobber med nye plattformfunksjoner for sine brikkesett, er det sjelden at de bare utvikler disse funksjonene med ett brikkesett i tankene. Det er mulig for ikke-utgitte brikkesett å bruke den samme programvaren som finnes i allerede annonserte brikkesett som Snapdragon 845. Selv om selskaper ofte bruker kodenavn for å forhindre lekkasjer, forhindrer ikke det helt at lekkasjer skjer. For eksempel detaljer om det som ikke er utgitt Qualcomm Snapdragon 670 ble funnet i CAF av Roland Quandt fra WinFuture. Vi fant senere ut fra CAF at Qualcomm Snapdragon 670 var blir ommerket til Qualcomm Snapdragon 710. Qualcomm har ikke bekreftet eksistensen av Snapdragon 670/Snapdragon 710, men takket være referanser i CAF vet vi allerede mye om det kommende brikkesettet.

For å forhindre at lekkasjer som dette oppstår, valgte Qualcomm å utsette utgivelsen av kildekoden for Snapdragon 845. Vi blir fortalt at selskapet ikke vil gi ut kildekoden for brikkesettet til etter at de nye mobile plattformene er annonsert. Etter ca 6 uker fra nå, vil selskapet kunne gi ut sdm845-kildene på CAF. En Qualcomm-representant ba om unnskyldning for forsinkelsen i kildekodeutgivelsen, og uttalte at selskapet vurderer deres navnekonvensjoner for brikkesett i kode, slik at de kan gi ut kode for allerede annonserte brikkesett samtidig som de unngår lekkasjer.