Qualcomm Snapdragon 845 süsteemne kiip kuulutati välja detsembris ja seda leidub sellistes lipulaevades nagu Samsung Galaxy S9, Xiaomi Mi Mix 2S ja OnePlus 6. Ettevõte on kinnitanud, et tuuma lähtekood avaldatakse umbes 6 nädala pärast.
Qualcommuusim tipptasemel süsteem kiibil Qualcomm Snapdragon 845, oli teatas detsembris toimunud Snapdragon Tech Summit'il. The kiibistiku pakkumised 4 Kryo 385 (A75 "jõudlus") ja 4 Kryo 385 (A55 "efektiivsus") CPU tuuma, uusim Adreno 630 GPU, Spectra 280 ISP, Hexagon 685 DSP, Snapdragon X20 LTE modem ja uus turvaline protsessor (SPU). Snapdragon 845 SoC on a jõujaam võrdlusalustes ja see on juba saadaval sellistes seadmetes nagu Samsung Galaxy S9/S9+, Xiaomi Mi Mix 2S, ja OnePlus 6. Meie foorumite arendajad on soovinud saada kätte Qualcommi uusima ja parima seadmega seade, kuid ainult üks asi on muutnud arendajad muretsevad platvormi arenduse tuleviku pärast: kerneli, HAL-ide, raamistiku harude ja muu jaoks avalikult kättesaadava lähtekoodi puudumine a CodeAurora foorumid.
Qualcomm ja CodeAurora foorumid
Kui olete kunagi mõelnud, miks meie foorumite arendajad eelistavad töötada Qualcommi kiibistikuga seadmetega võrreldes seadmetega, mille kiibistik on HiSilicon, Samsung, MediaTekja teised, põhjuseks on Qualcommi sõbralikkus kohandatud arenduskogukonnaga. Android, millest kohandatud ROM-i arendajad loovad, põhineb Androidi avatud lähtekoodiga projektil (AOSP). Google avaldab a AOSP avalik osa kuid nad arendavad ka Androidi osi privaatselt (seetõttu, kui ehitate täna AOSP-st ROM-i, ei saa te väljamõeldud uued funktsioonid sisse Android P.) Kohandatud ROM-i arendajate jaoks on ainus võimalus Androidi uusimate platvormi funktsioonide ühendamiseks oodata, kuni Google koos lõpliku väljalaskega lähtekoodi välja annab. Kiibikomplektide müüjatel on aga leping Google'iga varajase juurdepääsu saamiseks Androidi järgmisele versioonile— nad eraldavad privaatsetest AOSP-hoidlatest, muudavad oma kiibistiku koodi ühilduvaks ja levitavad seda koodi originaalseadmete tootjatele, et luua ja levitada oma seadmetele ROM-e.
Üldine värskendusprotsess iga Androidi versiooni jaoks. Allikas: Google.
GNU üldise avaliku litsentsi (GPL), mille alusel Linuxi tuum on litsentsitud, järgimiseks tuleb kiibistik tarnijad ja originaalseadmete tootjad peavad kerneli lähtekoodi välja andma, kuid see on ka kõik, mida nad peavad tegema vabastada. Qualcomm Snapdragon 845 tuuma lähtekood Samsung Galaxy S9/S9+, Xiaomi Mi Mix 2S, ja OnePlus 6 on näiteks juba saadaval. Sellest piisab, et arendajad saaksid alustada AOSP-põhiste kohandatud ROM-ide portimist nendes seadmetes, kuid ainult juurdepääs kerneli lähtekoodile ei tähenda, et seda oleks lihtne portida. LineageOS 15.1 nendele seadmetele (kuigi see muutub tänu Projekt Treble). Kogu kiibispetsiifiline kood uute kiibistiku funktsioonide jaoks pole nendes kernelis tavaliselt saadaval lähtekoodi väljalaskeid, mida oodatakse, kuna kood paljastab, kuidas patenteeritud kiibistiku funktsioone on tööd. Arendajatel on juurdepääs sellele koodile eelkompileeritud binaarfailide kujul (nimetatakse Binary Large Object või BLOB), kuid see on peaaegu võimatu ühendada neid BLOB-e nende tööga AOSP ROM-il, kuna puuduvad dokumendid selle kohta, kuidas see tööd.
Arendajate õnneks on just siin abiks Qualcommi CodeAurora foorumid (CAF). CAF-is avaldab Qualcomm oma kiibistikupõhise koodi avalikud osad viisil, mis muudab selle tõeliseks ROM-i arendajatel on platvormi jaoks lihtne ehitada, ilma et nad peaksid teadma, kuidas uus kiibistik toimib tööd. Arendajad peavad lihtsalt kasutama uue platvormi hoidlate avalikud osad (nagu riistvara/qcom/display ja tarnija/qcom-opensource/bluetooth) ja kombineerige see eelkompileeritud binaarfailidega ja see põhimõtteliselt lihtsalt töötab. Qualcomm on CAF-is välja andnud oma kiibistikupõhise koodi eelmiste SoC-de jaoks, näiteks Qualcomm Snapdragon 820/821 ja Snapdragon 835, ja tavaliselt mõne päeva jooksul pärast kiibistiku väljakuulutamist! Siiski on olnud 5 kuud alates Snapdragon 845 väljakuulutamisest ja oleme seda teinud veel näha, et ettevõtte tavaline lähtekood langeb sdm845 haru alla.
Qualcomm Snapdragon 835 SoC-ga seotud lähtekoodi otsimine CAF-ist
Sdm845 allikate viivitatud avaldamine CAF-is on pannud mõned arendajad muretsema, et Qualcomm foorumist loobudes muutudes tegelikult MediaTeki sarnaseks, jagades allikaid ainult oma partneritega, mitte aga kogukond. Arendajad, kellega rääkisime, on mures, et see kahjustaks kohandatud ROM-i arendamist seadmetes sellistelt ettevõtetelt nagu Xiaomi, kuna Xiaomi Snapdragoni jaoks stabiilsete ROM-ide loomiseks on sageli vaja CAF-i allikaid seadmeid. Pöördusime Qualcommi poole, et teada saada, mis toimub, ja lõpuks on meil jagada häid uudiseid: CAF-i ei hüljata, lihtsalt Qualcomm Snapdragon 845 koodi kaotamine ei toimu enne, kui Qualcomm teatab oma uutest mobiiliplatvormidest. Põhjus? Sest lekib.
CodeAurora foorum ja Qualcommi kiibilekked
Kui Qualcommi insenerid töötavad oma kiibikomplektide jaoks uute platvormifunktsioonide kallal, on haruldane, et nad arendavad neid funktsioone ainult ühte kiibikomplekti silmas pidades. Avaldamata kiibistikud võivad kasutada sama tarkvara, mida leidub juba väljakuulutatud kiibikomplektides, nagu Snapdragon 845. Kuigi ettevõtted kasutavad lekete vältimiseks sageli koodnimesid, ei takista isegi see täielikult lekete esinemist. Näiteks avaldamata üksikasjad CAF-ist leiti Qualcomm Snapdragon 670 autor Roland Quandt WinFuture. Hiljem saime CAF-ist teada, et Qualcomm Snapdragon 670 oli nimetatakse ümber Qualcomm Snapdragon 710-ks. Qualcomm ei ole kinnitanud Snapdragon 670/Snapdragon 710 olemasolu, kuid tänu CAF-i viidetele teame eelseisva kiibistiku kohta juba palju.
Seetõttu otsustas Qualcomm selliste lekete vältimiseks Snapdragon 845 lähtekoodi avaldamist edasi lükata. Meile öeldakse, et ettevõte ei avalda kiibistiku lähtekoodi kuni uute mobiiliplatvormide väljakuulutamiseni. Pärast umbes 6 nädala pärast, saab ettevõte sdm845 allikad CAF-is välja anda. Qualcommi esindaja vabandas lähtekoodi avaldamise viivituse pärast, öeldes, et ettevõte vaatab üle nende kiibistiku nimetamise kokkulepped koodis, et nad saaksid vabastada juba väljakuulutatud kiibikomplektide koodi, vältides samal ajal lekib.