Qualcomm Snapdragon 845 sustav na čipu najavljen je još u prosincu i nalazi se na vodećim uređajima kao što su Samsung Galaxy S9, Xiaomi Mi Mix 2S i OnePlus 6. Tvrtka je potvrdila da će izvorni kod kernela biti objavljen za otprilike 6 tjedana.
Qualcommnajnoviji vrhunski sustav na čipu, the Qualcomm Snapdragon 845, bio je najavio na Snapdragon Tech Summitu još u prosincu. The ponude čipseta 4 Kryo 385 (A75 "performanse") i 4 Kryo 385 (A55 "učinkovitost") CPU jezgre, najnoviji Adreno 630 GPU, Spectra 280 ISP, Hexagon 685 DSP, Snapdragon X20 LTE modem i nova jedinica za sigurnu obradu (SPU). Snapdragon 845 SoC je a snaga u mjerilima i već je dostupan u uređajima poput Samsung Galaxy S9/S9+, Xiaomi Mi Mix 2S, i OnePlus 6. Programeri na našim forumima žudjeli su da se dočepaju uređaja s najnovijim i najboljim Qualcommovim uređajem, ali postoji samo jedna stvar koja je neke programeri brinu o budućnosti razvoja na platformi: Nedostatak javno dostupnog izvornog koda za kernel, HAL-ove, okvirne grane i još mnogo toga the Forumi CodeAurora.
Qualcomm i CodeAurora forumi
Ako ste se ikada zapitali zašto razvojni programeri na našim forumima preferiraju rad na uređajima s Qualcomm čipsetovima u odnosu na uređaje s čipsetovima iz HiSilicon, Samsung, MediaTek, i drugi, razlog je prijateljstvo Qualcomma sa zajednicom prilagođenog razvoja. Android na kojem programeri prilagođenog ROM-a grade temelji se na Android Open Source Project (AOSP). Google izdaje a javni dio AOSP-a ali također privatno razvijaju dijelove Androida (zbog čega ako danas napravite ROM od AOSP-a, nećete dobiti ništa od otmjene nove značajke u Android P.) Za prilagođene ROM programere, jedini izbor koji imaju za spajanje najnovijih značajki platforme Androida je čekanje da Google objavi izvorni kod s konačnim izdanjem. Prodavači čipseta, međutim, imaju ugovor s Googleom za rani pristup sljedećoj verziji Androida— oni se račvaju iz privatnih AOSP repozitorija, modificiraju svoj kod čipseta da bude kompatibilan, a zatim distribuiraju ovaj kod OEM-ovima za izradu i distribuciju ROM-ova za njihove uređaje.
Opći postupak ažuriranja za svako izdanje Androida. Izvor: Google.
Kako bi se pridržavali GNU Opće javne licence (GPL) pod kojom je licenciran Linux kernel, skup čipova dobavljači i OEM-ovi moraju objaviti izvorni kod kernela, ali to je sve što moraju učiniti osloboditi. Izvorni kod kernela za Qualcomm Snapdragon 845 Samsung Galaxy S9/S9+, Xiaomi Mi Mix 2S, i OnePlus 6 već su dostupni, na primjer. To je dovoljno za razvojne programere da počnu s prijenosom prilagođenih ROM-ova temeljenih na AOSP-u na ovim uređajima, ali samo pristup izvornom kodu kernela ne znači da će biti jednostavan za prijenos LineageOS 15.1 ovim uređajima (iako se to mijenja zahvaljujući Projekt Treble). Sav specifični kod za novi čipset obično nije dostupan u ovoj jezgri izdanja izvornog koda, što je i očekivano jer bi kod otkrio značajke vlasničkog skupa čipova raditi. Programeri imaju pristup ovom kodu u obliku unaprijed kompajliranih binarnih datoteka (nazivaju se binarni veliki objekt ili BLOB), ali je gotovo je nemoguće kombinirati te BLOB-ove s njihovim radom na AOSP ROM-u jer nema dokumentacije o tome kako bi raditi.
Srećom po programere, tu Qualcommov CodeAurora Forum (CAF) dobro dolazi. Na CAF-u, Qualcomm objavljuje javne dijelove svog specifičnog koda za čipset na način koji ga doista čini lako za programere ROM-a da naprave za platformu bez potrebe da znaju kako se novi čipset odlikuje raditi. Programeri samo trebaju fork the javne dijelove repozitorija nove platforme (kao što je hardware/qcom/display i vendor/qcom-opensource/bluetooth) i kombinirajte ga s prethodno kompajliranim binarnim datotekama i uglavnom će raditi. Qualcomm je objavio svoj specifični kod za čipset na CAF-u za prethodne SoC-ove kao što je Qualcomm Snapdragon 820/821 i Snapdragon 835, i to obično nekoliko dana nakon najave čipseta! Međutim, bilo je 5 mjeseci otkako je najavljen Snapdragon 845, a mi jesmo tek treba vidjeti uobičajeni izvorni kod tvrtke koji pada pod sdm845 granu.
Pretraživanje CAF-a za izvorni kod koji se odnosi na Qualcomm Snapdragon 835 SoC
Odgođeno izdanje izvora sdm845 u CAF-u navelo je neke programere da se zabrinu da će Qualcomm biti napuštaju forum, zapravo postaju poput MediaTeka dijeleći izvore samo sa svojim partnerima, a ne zajednica. Programeri s kojima smo razgovarali zabrinuti su da bi to bilo štetno za prilagođeni razvoj ROM-a na uređajima od tvrtki poput Xiaomija, budući da su CAF izvori često potrebni za izradu stabilnih ROM-ova za Xiaomijev Snapdragon uređaja. Obratili smo se Qualcommu da saznamo što se događa i konačno imamo dobre vijesti za podijeliti: CAF se ne napušta, samo što se pad koda Qualcomm Snapdragon 845 neće dogoditi dok Qualcomm ne objavi svoje nove mobilne platforme. Razlog? Zbog curenja.
Forum CodeAurora i Qualcomm Chip Leaks
Kad Qualcommovi inženjeri rade na novim značajkama platforme za svoje skupove čipova, rijetko je da razvijaju te značajke samo s jednim skupom čipova na umu. Moguće je da neobjavljeni skupovi čipova koriste isti softver koji se nalazi u već najavljenim skupovima čipova kao što je Snapdragon 845. Dok tvrtke često koriste kodne nazive kako bi spriječile curenje, čak ni to ne sprječava potpuno curenje. Na primjer, detalji o neobjavljenom Qualcomm Snapdragon 670 pronađen je u CAF-u autora Rolanda Quandta iz WinFuture. Kasnije smo saznali iz CAF-a da je Qualcomm Snapdragon 670 mijenja brend u Qualcomm Snapdragon 710. Qualcomm nije potvrdio postojanje Snapdragon 670/Snapdragon 710, ali zahvaljujući referencama u CAF-u već znamo dosta o nadolazećem čipsetu.
Stoga je Qualcomm odlučio odgoditi objavljivanje izvornog koda za Snapdragon 845 kako bi spriječio curenje poput ovog. Rečeno nam je da tvrtka neće objaviti izvorni kod za čipset do objave novih mobilnih platformi. Nakon otprilike 6 tjedana od sada, tvrtka će moći objaviti sdm845 izvore na CAF-u. Predstavnik Qualcomma ispričao se zbog kašnjenja u izdavanju izvornog koda, navodeći da tvrtka pregledava njihove konvencije o imenovanju čipseta u kodu kako bi mogli objaviti kod za već najavljene čipsetove, a pritom izbjegavati curenja.