Qualcomm je schopen vydat zdrojový kód Snapdragon 845 za 6 týdnů

Systém Qualcomm Snapdragon 845 na čipu byl oznámen již v prosinci a nachází se na vlajkových zařízeních, jako jsou Samsung Galaxy S9, Xiaomi Mi Mix 2S a OnePlus 6. Společnost potvrdila, že zdrojový kód jádra bude uvolněn přibližně za 6 týdnů.

Qualcommnejnovější špičkový systém na čipu, the Qualcomm Snapdragon 845, byl oznámil na Snapdragon Tech Summit v prosinci. The nabídky čipové sady 4 CPU jádra Kryo 385 (A75 „výkon“) a 4 Kryo 385 (A55 „výkonnost“), nejnovější 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 velmoc v benchmarcích a je již k dispozici v zařízeních, jako je Samsung Galaxy S9/S9+, Xiaomi Mi Mix 2Sa OnePlus 6. Vývojáři na našich fórech toužili dostat do rukou zařízení s nejnovějším a nejlepším řešením od Qualcommu, ale je tu jen jedna věc, která vývojáři se obávají o budoucnost vývoje na platformě: Nedostatek veřejně dostupného zdrojového kódu pro jádro, HAL, větve frameworku a další a Fórum CodeAurora.


Qualcomm a fóra CodeAurora

Pokud jste někdy přemýšleli, proč vývojáři na našich fórech upřednostňují práci na zařízeních s čipovými sadami Qualcomm před zařízeními s čipovými sadami od HiSilicon, Samsung, MediaTek, a další, důvodem je vstřícnost Qualcommu ke komunitě vlastního vývoje. Android, ze kterého vývojáři vlastní paměti ROM staví, je založen na projektu Android Open Source Project (AOSP). Google vydává a veřejná část AOSP ale také vyvíjejí části Androidu v soukromí (což je důvod, proč když si dnes postavíte ROM z AOSP, nezískáte nic z toho skvělé nové funkce v Android P.) Pro vývojáře vlastní ROM je jedinou možností, jak sloučit nejnovější funkce platformy Android, počkat, až Google uvolní zdrojový kód s konečnou verzí. Prodejci čipsetů však mají dohodu se společností Google o získání předběžného přístupu k další verzi Androidu—vydělí ze soukromých repozitářů AOSP, upraví svůj kód čipové sady tak, aby byl kompatibilní, a poté tento kód distribuují výrobcům OEM, aby vytvořili a distribuovali ROM pro svá zařízení.

Obecný proces aktualizace pro každé vydání Androidu. Zdroj: Google.

Aby se řídila GNU General Public License (GPL), pod kterou je linuxové jádro licencováno, čipová sada prodejci a výrobci OEM jsou povinni uvolnit zdrojový kód jádra, ale to je vše, co musí uvolnění. Zdrojový kód jádra pro Qualcomm Snapdragon 845 Samsung Galaxy S9/S9+, Xiaomi Mi Mix 2Sa OnePlus 6 jsou již k dispozici např. To stačí na to, aby vývojáři mohli začít s portováním vlastních ROM založených na AOSP na těchto zařízeních, ale pouhý přístup ke zdrojovému kódu jádra neznamená, že bude snadné portovat LineageOS 15.1 k těmto zařízením (i když se to mění díky Projekt Treble). Veškerý specifický kód čipové sady pro nové funkce čipové sady je v těchto jádrech obvykle nedostupný vydání zdrojového kódu, což se očekává, protože kód by odhalil, jak funguje proprietární čipová sada práce. Vývojáři mají přístup k tomuto kódu ve formě předkompilovaných binárních souborů (nazývaných Binary Large Object nebo BLOB), ale je to téměř nemožné kombinovat tyto BLOBy s jejich prací na AOSP ROM, protože neexistuje žádná dokumentace o tom, jak by to práce.

Naštěstí pro vývojáře se právě zde hodí CodeAurora Forums (CAF) od Qualcommu. Na CAF Qualcomm uvolňuje veřejné části svého specifického kódu čipové sady způsobem, který je skutečně činí pro vývojáře ROM je snadné sestavit pro platformu, aniž by museli vědět, jak nová čipová sada funguje práce. Vývojáři prostě potřebují fork veřejné části repozitářů nové platformy (jako je hardware/qcom/display a vendor/qcom-opensource/bluetooth) a zkombinujte to s předkompilovanými binárními soubory a bude to v podstatě z větší části fungovat. Qualcomm vydal svůj specifický kód čipové sady na CAF pro předchozí SoC, jako je např Qualcomm Snapdragon 820/821 a Snapdragon 835a obvykle do dnů od oznámení čipové sady! Nicméně, to bylo 5 měsíců od chvíle, kdy byl oznámen Snapdragon 845, a my máme dosud není vidět, že obvyklý zdrojový kód společnosti spadá pod větev sdm845.

Hledání CAF pro zdrojový kód týkající se Qualcomm Snapdragon 835 SoC

Zpožděné vydání zdrojů sdm845 v CAF vedlo některé vývojáře k obavám, že Qualcomm bude opuštění fóra, ve skutečnosti se stane jako MediaTek pouze sdílením zdrojů se svými partnery, nikoli s společenství. Vývojáři, se kterými jsme hovořili, se obávají, že by to bylo škodlivé pro vlastní vývoj ROM na zařízeních od společností jako Xiaomi, protože zdroje CAF jsou často nezbytné pro vytvoření stabilních ROM pro Xiaomi Snapdragon zařízení. Oslovili jsme Qualcomm, abychom zjistili, co se děje, a konečně máme dobré zprávy, o které se můžeme podělit: CAF není opuštěný, jde jen o to, že k vypuštění kódu Qualcomm Snapdragon 845 nedojde, dokud Qualcomm neoznámí své nové mobilní platformy. Důvod? Kvůli úniky.


CodeAurora Forum a úniky čipů Qualcomm

Když inženýři Qualcommu pracují na nových funkcích platformy pro své čipové sady, je pro ně vzácné, aby vyvíjeli tyto funkce pouze s jednou čipovou sadou. Je možné, že nevydané čipové sady budou používat stejný software jako v již oznámených čipových sadách, jako je Snapdragon 845. I když společnosti často používají kódová jména, aby zabránily únikům, ani to zcela nezabrání tomu, aby k únikům došlo. Například podrobnosti o nevydaném Qualcomm Snapdragon 670 byly nalezeny v CAF od Rolanda Quandta z WinFuture. Později jsme z CAF zjistili, že Qualcomm Snapdragon 670 byl přejmenován na Qualcomm Snapdragon 710. Qualcomm nepotvrdil existenci Snapdragonu 670/Snapdragon 710, ale díky referencím v CAF už víme hodně o chystaném čipsetu.

Aby se zabránilo podobným únikům, Qualcomm se rozhodl odložit vydání zdrojového kódu pro Snapdragon 845. Bylo nám řečeno, že společnost nezveřejní zdrojový kód čipové sady až poté, co budou oznámeny nové mobilní platformy. Po asi za 6 týdnů, společnost bude moci uvolnit zdroje sdm845 na CAF. Zástupce Qualcommu se omluvil za zpoždění ve vydání zdrojového kódu a uvedl, že společnost přezkoumává jejich konvence pojmenovávání čipových sad v kódu, takže mohou uvolnit kód pro již oznámené čipové sady a přitom se jim vyhýbat úniky.