Ravi Sharma z zespołu Ubuntu Foundations Team podsumował prace wykonane w ciągu ostatniego roku w celu zapewnienia pełnego wsparcia dla architektury ARM64 w Ubuntu. Zauważono, że dzięki poprawie narzędzi i infrastruktury, a także wprowadzeniu zmian do głównej gałęzi jądra Linux, udało się w ciągu roku rozwiązać specyficzne problemy dla ARM64, takie jak dystrybucja pakietów przez oddzielne repozytorium, brak wsparcia dla live-patchy w jądrze, ograniczone możliwości dla pasjonatów gier komputerowych oraz niedostępność Secure Boot na laptopach z chipami Qualcomm Snapdragon.
Główne osiągnięcia:
- Pakiety dla architektury ARM64 zostały przeniesione z portów (ports.ubuntu.com) do głównego archiwum Ubuntu (archive.ubuntu.com), co umożliwiło wykorzystanie tej samej infrastruktury dystrybucji, która jest wykorzystywana dla architektury x86_64. Pakiety dla ARM64 są teraz dostarczane przez główny system lustrzany, co zwiększyło szybkość i niezawodność ich pobierania. Migracja wymagała wprowadzenia zmian w pakietach cloud-init, live-build, livecd-rootfs oraz ubuntu-release-upgrader. Zmiany zostały włączone do Ubuntu 26.04 oraz są w trakcie backportowania dla Ubuntu 24.04 LTS.
- Usługa Livepatch, umożliwiająca wprowadzenie poprawek do jądra Linux na działającym systemie bez ponownego uruchamiania, została rozszerzona na systemy oparte na architekturze ARM64. Wcześniej live-patchy były dostępne tylko dla architektury x86_64, ponieważ w jądrze Linux dla architektury ARM64 brakowało wsparcia dla niezawodnych śledzeń stosu (CONFIG_HAVE_RELIABLE_STACKTRACE) w celu identyfikacji aktywności związanej z obsługą przerwań, a w narzędziach objtool i kpatch brakowało pełnych możliwości oceny stanu przed i po zastosowaniu łaty. Wsparcie dla live-patchy dla ARM64 jest dostępne w Ubuntu 26.04 LTS oraz Ubuntu Core 26.
- Stworzono stabilny pakiet snap z klientem Steam, zbudowany dla architektury ARM64. Ponieważ klient Steam dla Linux jest dostępny tylko dla architektury x86, do uruchomienia go na systemach ARM64 wykorzystano warstwę emulacji opartą na pakiecie FEX. W emulacji obsługiwane jest przekazywanie GPU oraz wykorzystanie Wine, Proton, DXVK i vkd3d do uruchamiania gier komputerowych zbudowanych dla architektury x86_64 i dystrybuowanych przez katalog Steam. Działanie pakietu snap zostało przetestowane na laptopach z chipami Qualcomm Snapdragon X Elite, NVIDIA DGX Spark i Radxa Orion O6.
- Dodano wsparcie dla laptopów opartych na chipach Qualcomm Snapdragon X Elite, takich jak Lenovo Thinkpad X13s/T14s oraz Dell XPS 9345. Początkowo wsparcie dla tych urządzeń zostało dodane w podstawowym obrazie iso dla systemów ARM64, jednak nie było możliwe jego wykorzystanie do uruchamiania w trybie Secure Boot z powodu użycia oddzielnych konfiguracji Device Tree, które firmware laptopów nie przekazywało do jądra Linux. Wymagane ustawienia Device Tree były ładowane przez bootloader GRUB z oddzielnego pliku, który nie był objęty cyfrowym podpisem.
Aby rozwiązać problem, jądro i baza danych Device Tree zostały połączone w jednym monolitycznym pliku EFI, podobnym do UKI (Unified Kernel Image), podpisanym cyfrowym podpisem dystrybucji. Aby załadować ten plik, stworzono nową warstwę EFI "stubble", która podczas uruchamiania identyfikuje model urządzenia przez SMBIOS, wybiera odpowiednie dane Device Tree i przekazuje je do jądra, nie naruszając łańcucha zaufania Secure Boot. Prace nad wdrożeniem wsparcia dla laptopów opartych na chipach Snapdragon X2 Elite są w toku.
- Przygotowano prototyp obrazu rozruchowego oparty na Ubuntu 26.04 dla laptopów na ARM64 SoC CIX P1, który, w przeciwieństwie do Snapdragon, pozwala na definicję konfiguracji za pomocą tabel ACPI bez konieczności użycia Device Tree.
- Firma Google zapowiedziała publikację oficjalnych wersji Chrome dla systemów Linux opartych na architekturze ARM64, co umożliwi uruchamianie w ARM64 wersjach Ubuntu przeglądarki Chrome, zawierającej moduł CDM (Content Decryption Module) Widevine, który nie jest dostępny w Chromium. Dostarczenie Widevine umożliwi bez użycia zewnętrznych patchy przeglądanie treści multimedialnych chronionych prawem autorskim (DRM) umieszczonych na takich platformach jak Netflix, Spotify i Disney+. Dodatkowo, wsparcie dla Widevine planuje się zintegrować z pakietami snap z Firefox i Spotify.
- Dodano nowe wersje aplikacji dostępne w formacie snap dla architektury ARM64. Wśród innych, dla ARM64 rozpoczęto publikację pakietów snap z OnlyOffice, FreeCAD i Teams for Linux.
Źródło: opennet.ru
