Qualcomm je schopný uvoľniť zdrojový kód Snapdragon 845 za 6 týždňov

Systém Qualcomm Snapdragon 845 na čipe bol ohlásený už v decembri a nachádza sa na vlajkových zariadeniach, ako sú Samsung Galaxy S9, Xiaomi Mi Mix 2S a OnePlus 6. Spoločnosť potvrdila, že zdrojový kód jadra bude zverejnený približne o 6 týždňov.

QualcommNajnovší špičkový systém na čipe Qualcomm Snapdragon 845, bol oznámil na Snapdragon Tech Summit v decembri. The ponúka čipset 4 CPU jadrá Kryo 385 (A75 „výkon“) a 4 Kryo 385 (A55 „účinnosť“), najnovší GPU Adreno 630, Spectra 280 ISP, Hexagon 685 DSP, modem Snapdragon X20 LTE a nová jednotka Secure Processing Unit (SPU). SoC Snapdragon 845 je a sila v benchmarkoch a je už k dispozícii v zariadeniach, ako je Samsung Galaxy S9/S9+, Xiaomi Mi Mix 2S, a OnePlus 6. Vývojári na našich fórach sa snažili dostať do rúk zariadenie s najnovším a najlepším od Qualcommu, ale je tu len jedna vec, ktorá vývojári sa obávajú o budúcnosť vývoja na platforme: Nedostatok verejne dostupného zdrojového kódu pre jadro, HAL, vetvy frameworku a ďalšie na Fórum CodeAurora.


Qualcomm a fóra CodeAurora

Ak ste sa niekedy čudovali, prečo vývojári na našich fórach uprednostňujú prácu na zariadeniach s čipsetmi Qualcomm pred zariadeniami s čipsetmi od HiSilicon, Samsung, MediaTek, a ďalšie, dôvodom je priateľskosť Qualcommu ku komunite vlastného vývoja. Android, z ktorého vývojári vlastných ROM stavajú, je založený na projekte Android Open Source Project (AOSP). Google vydáva a verejná časť AOSP ale časti Androidu vyvíjajú aj súkromne (čo je dôvod, prečo ak si dnes postavíte ROM z AOSP, nedostanete nič z fantastické nové funkcie v Android P.) Pre vývojárov vlastných ROM je jedinou voľbou, ktorú musia zlúčiť s najnovšími funkciami platformy Android, počkať, kým Google s finálnym vydaním uvoľní zdrojový kód. Predajcovia čipsetov však majú dohodu so spoločnosťou Google, aby ste získali prednostný prístup k ďalšej verzii systému Android—vytvoria sa zo súkromných úložísk AOSP, upravia svoj kód čipovej sady tak, aby bol kompatibilný, a potom tento kód distribuujú výrobcom pôvodného zariadenia, aby vytvorili a distribuovali ROM pre svoje zariadenia.

Všeobecný proces aktualizácie pre každé vydanie systému Android. Zdroj: Google.

Aby sa dodržala všeobecná verejná licencia GNU (GPL), podľa ktorej je linuxové jadro licencované, čipová sada predajcovia a OEM sú povinní uvoľniť zdrojový kód jadra, ale to je všetko, čo musia uvoľniť. Zdrojový kód jadra pre Qualcomm Snapdragon 845 Samsung Galaxy S9/S9+, Xiaomi Mi Mix 2S, a OnePlus 6 sú už dostupné napr. To je dosť na to, aby vývojári mohli začať s portovaním vlastných ROM založených na AOSP na týchto zariadeniach, ale len prístup k zdrojovému kódu jadra neznamená, že bude ľahké portovať LineageOS 15.1 k týmto zariadeniam (hoci sa to mení vďaka Projekt Treble). Všetok špecifický kód čipsetu pre nové funkcie čipsetu je v týchto jadrách zvyčajne nedostupný vydania zdrojového kódu, čo sa očakáva, pretože kód by odhalil, ako funguje proprietárna čipová sada práca. Vývojári majú prístup k tomuto kódu vo forme predkompilovaných binárnych súborov (nazývaných Binary Large Object alebo BLOB), ale je to je takmer nemožné skombinovať tieto BLOB s ich prácou na AOSP ROM, pretože neexistuje žiadna dokumentácia o tom, ako by to práca.

Našťastie pre vývojárov, práve tu prichádza vhod CodeAurora Forums (CAF) od Qualcommu. Na CAF Qualcomm zverejňuje verejné časti svojho špecifického kódu čipsetu spôsobom, ktorý to robí naozaj pre vývojárov ROM je ľahké vytvoriť pre platformu bez toho, aby museli vedieť, ako nová čipová sada funguje práca. Vývojári jednoducho potrebujú rozvetviť verejné časti repozitárov novej platformy (ako napríklad hardware/qcom/display a vendor/qcom-opensource/bluetooth) a skombinujte to s predkompilovanými binárnymi súbormi a bude to v podstate z väčšej časti fungovať. Qualcomm vydal svoj špecifický kód čipovej sady na CAF pre predchádzajúce SoC, ako napríklad Qualcomm Snapdragon 820/821 a Snapdragon 835a zvyčajne do niekoľkých dní od oznámenia čipovej sady! Avšak, to bolo 5 mesiacov odkedy bol ohlásený Snapdragon 845 a my máme zatiaľ nevidieť, že zvyčajný zdrojový kód spoločnosti spadá pod vetvu sdm845.

Hľadanie zdrojového kódu CAF týkajúceho sa Qualcomm Snapdragon 835 SoC

Oneskorené vydanie zdrojov sdm845 v CAF viedlo niektorých vývojárov k obavám, že Qualcomm bude opustenie fóra, v skutočnosti sa stane ako MediaTek zdieľaním zdrojov iba so svojimi partnermi a nie s komunity. Vývojári, s ktorými sme hovorili, sa obávajú, že by to bolo škodlivé pre vlastný vývoj ROM na zariadeniach od spoločností ako Xiaomi, pretože zdroje CAF sú často potrebné na vytvorenie stabilných ROM pre Xiaomi Snapdragon zariadení. Oslovili sme spoločnosť Qualcomm, aby sme zistili, čo sa deje, a konečne máme dobré správy, o ktoré sa môžeme podeliť: CAF sa neopúšťa, ide len o to, že k poklesu kódu Qualcomm Snapdragon 845 nedôjde, kým Qualcomm neoznámi svoje nové mobilné platformy. Dôvod? Kvôli úniky.


CodeAurora Forum a úniky čipov Qualcomm

Keď inžinieri Qualcommu pracujú na nových funkciách platformy pre svoje čipsety, je pre nich zriedkavé, aby vyvíjali tieto funkcie iba s jednou čipovou sadou. Nevydané čipsety môžu používať rovnaký softvér, aký sa nachádza v už ohlásených čipsetoch, ako je Snapdragon 845. Aj keď spoločnosti často používajú kódové názvy, aby zabránili únikom, ani to úplne nezabráni úniku. Napríklad podrobnosti o nevydaných Qualcomm Snapdragon 670 boli nájdené v CAF od Rolanda Quandta z WinFuture. Neskôr sme z CAF zistili, že Qualcomm Snapdragon 670 bol premenovaný na Qualcomm Snapdragon 710. Qualcomm existenciu Snapdragon 670/Snapdragon 710 nepotvrdil, no vďaka referenciám v CAF už vieme o pripravovanom čipsete veľa.

Aby sa predišlo takýmto únikom, Qualcomm sa rozhodol odložiť vydanie zdrojového kódu pre Snapdragon 845. Bolo nám povedané, že spoločnosť nezverejní zdrojový kód čipovej sady až po ohlásení nových mobilných platforiem. Po asi o 6 týždňov, spoločnosť bude môcť uvoľniť zdroje sdm845 na CAF. Zástupca Qualcommu sa ospravedlnil za oneskorenie vydania zdrojového kódu a uviedol, že spoločnosť ho preveruje ich konvencie pomenovávania čipsetov v kóde, aby mohli uvoľniť kód pre už ohlásené čipsety a pritom sa im stále vyhýbať úniky.