Qualcomm jest w stanie wypuścić kod źródłowy Snapdragona 845 w ciągu 6 tygodni

System-on-chip Qualcomm Snapdragon 845 został ogłoszony w grudniu i można go znaleźć na flagowych urządzeniach, takich jak Samsung Galaxy S9, Xiaomi Mi Mix 2S i OnePlus 6. Firma potwierdziła, że ​​kod źródłowy jądra zostanie udostępniony za około 6 tygodni.

Qualcommnajnowszy, wysokiej klasy system na chipie, Qualcomma Snapdragona 845, był ogłoszony na szczycie Snapdragon Tech Summit w grudniu. The oferty chipsetów 4 rdzenie procesora Kryo 385 (A75 „wydajność”) i 4 Kryo 385 (A55 „wydajność”), najnowszy procesor graficzny Adreno 630, Spectra 280 ISP, Hexagon 685 DSP, modem Snapdragon X20 LTE i nowy moduł bezpiecznego przetwarzania (SPU). SoC Snapdragon 845 to potęga w benchmarkach i jest już dostępny w urządzeniach takich jak Samsunga Galaxy S9/S9+, Xiaomi Mi Mix 2S, oraz OnePlusa 6. Programiści na naszych forach nie mogli się doczekać, aby dostać w swoje ręce urządzenie z najnowszym i najlepszym produktem Qualcomm, ale jest tylko jedna rzecz, która sprawiła, że ​​niektórzy programiści martwią się o przyszłość rozwoju platformy: brak publicznie dostępnego kodu źródłowego jądra, warstw HAL, gałęzi frameworka i nie tylko the

Forum CodeAurora.


Qualcomm i fora CodeAurora

Jeśli kiedykolwiek zastanawiałeś się, dlaczego programiści na naszych forach wolą pracować na urządzeniach z chipsetami Qualcomm niż na urządzeniach z chipsetami firm CześćSilicon, SAMSUNG, MediaTeki innych, powodem jest życzliwość Qualcomm dla społeczności programistów niestandardowych. System Android, z którego budują programiści niestandardowych pamięci ROM, jest oparty na projekcie Android Open Source Project (AOSP). Google udostępnia część publiczna AOSP ale prywatnie opracowują także części Androida (dlatego jeśli dzisiaj zbudujesz ROM z AOSP, nie otrzymasz żadnego z fantazyjne nowe funkcje W Android P.) W przypadku twórców niestandardowych pamięci ROM jedyną opcją, jaką mają do połączenia najnowszych funkcji platformy Androida, jest poczekanie, aż Google udostępni kod źródłowy w ostatecznej wersji. Jednakże dostawcy chipsetów mają umowę z Google na uzyskanie wcześniejszego dostępu do kolejnej wersji Androida— korzystają z prywatnych repozytoriów AOSP, modyfikują kod swojego chipsetu tak, aby był kompatybilny, a następnie rozpowszechniają ten kod wśród producentów OEM w celu tworzenia i dystrybucji ROM-ów dla ich urządzeń.

Ogólny proces aktualizacji dla każdej wersji Androida. Źródło: Google.

Aby zachować zgodność z Powszechną Licencją Publiczną GNU (GPL), na mocy której licencjonowane jest jądro Linuksa, chipset dostawcy i producenci OEM są zobowiązani do wydania kodu źródłowego jądra, ale to wszystko, do czego są zobowiązani uwolnienie. Kod źródłowy jądra dla Qualcomm Snapdragon 845 Samsunga Galaxy S9/S9+, Xiaomi Mi Mix 2S, oraz OnePlusa 6 są już dostępne np. To wystarczy, aby programiści mogli rozpocząć przenoszenie niestandardowych pamięci ROM opartych na AOSP na te urządzenia, ale sam dostęp do kodu źródłowego jądra nie oznacza, że ​​będzie to łatwe LineageOS 15.1 do tych urządzeń (choć to się zmienia dzięki Projekt Treble). Cały kod specyficzny dla chipsetu, dotyczący nowych funkcji chipsetu, jest zwykle niedostępny w tym jądrze wydania kodu źródłowego, czego można się spodziewać, ponieważ kod ujawni, w jaki sposób zastrzeżone funkcje chipsetu praca. Programiści mają dostęp do tego kodu w postaci prekompilowanych plików binarnych (zwanych dużym obiektem binarnym lub BLOB), ale jest to prawie niemożliwe jest połączenie tych obiektów BLOB z ich pracą na AOSP ROM, ponieważ nie ma dokumentacji na temat tego, jak by to było praca.

Na szczęście dla programistów z pomocą przychodzą fora CodeAurora (CAF) firmy Qualcomm. W CAF Qualcomm publikuje publiczne części kodu specyficznego dla swojego chipsetu w sposób, który naprawdę to robi łatwe dla programistów ROM do zbudowania dla platformy bez konieczności znajomości funkcji nowego chipsetu praca. Programiści muszą po prostu rozwidlić plik publiczne części repozytoriów nowej platformy (takie jak hardware/qcom/display i sprzedawca/qcom-opensource/bluetooth) i połącz je z prekompilowanymi plikami binarnymi i w większości przypadków będzie to działać. Qualcomm udostępnił kod specyficzny dla chipsetu w CAF dla poprzednich układów SoC, takich jak Qualcomma Snapdragona 820/821 I Snapdragona 835i zwykle w ciągu kilku dni od ogłoszenia chipsetu! Jednak tak się stało 5 miesięcy odkąd ogłoszono Snapdragon 845, a my tak jeszcze nie widzieliśmy, jak zwykły kod źródłowy firmy znajduje się w gałęzi sdm845.

Wyszukiwanie w CAF kodu źródłowego dotyczącego układu SoC Qualcomm Snapdragon 835

Opóźnione wydanie źródeł sdm845 w CAF doprowadziło niektórych programistów do obaw, że Qualcomm będzie porzucając forum, w efekcie upodabniając się do MediaTek, dzieląc się źródłami tylko ze swoimi partnerami, a nie z wspólnota. Programiści, z którymi rozmawialiśmy, obawiają się, że będzie to szkodliwe dla rozwoju niestandardowej pamięci ROM na urządzeniach od firm takich jak Xiaomi, ponieważ źródła CAF są często niezbędne do zbudowania stabilnych pamięci ROM dla Snapdragona Xiaomi urządzenia. Skontaktowaliśmy się z firmą Qualcomm, aby dowiedzieć się, co się dzieje, i w końcu mamy dobrą wiadomość, którą możemy się podzielić: CAF nie jest porzuconypo prostu spadek kodu Qualcomm Snapdragon 845 nie nastąpi, dopóki Qualcomm nie ogłosi swoich nowych platform mobilnych. Powód? Z powodu przecieki.


Forum CodeAurora i wycieki chipów Qualcomm

Kiedy inżynierowie Qualcomm pracują nad nowymi funkcjami platform dla swoich chipsetów, rzadko zdarza się, aby opracowywali te funkcje tylko z myślą o jednym chipsecie. Niewydane chipsety mogą korzystać z tego samego oprogramowania, które można znaleźć w już ogłoszonych chipsetach, takich jak Snapdragon 845. Chociaż firmy często używają nazw kodowych, aby zapobiec wyciekom, nawet to nie zapobiega całkowicie wyciekom. Na przykład szczegóły niewydanego jeszcze materiału W CAF znaleziono Qualcomm Snapdragon 670 autorstwa Rolanda Quandta z WinFuture. Później dowiedzieliśmy się z CAF, że Qualcomm Snapdragon 670 był zostaje przemianowany na Qualcomm Snapdragon 710. Qualcomm nie potwierdził istnienia Snapdragona 670/Snapdragon 710, ale dzięki referencjom w CAF wiemy już sporo na temat nadchodzącego chipsetu.

Dlatego, aby zapobiec takim wyciekom, Qualcomm zdecydował się opóźnić publikację kodu źródłowego Snapdragona 845. Powiedziano nam, że firma nie udostępni kodu źródłowego chipsetu do czasu ogłoszenia nowych platform mobilnych. Po za około 6 tygodni, firma będzie mogła udostępnić źródła sdm845 w CAF. Przedstawiciel Qualcomm przeprosił za opóźnienie w wydaniu kodu źródłowego, stwierdzając, że firma dokonuje przeglądu swoje konwencje nazewnictwa chipsetów w kodzie, dzięki czemu mogą wypuszczać kod dla już ogłoszonych chipsetów, jednocześnie unikając przecieki.