Linux 5.19 dostępny. Torvalds przesiadł się na Apple
Tydzień później niż pierwotnie oczekiwano, ukazała się nowa wersja jądra Linux. Wydanie 5.19, jak już przyzwyczaił nas do tego cykl rozwoju kernela, obfituje w nowe sterowniki i funkcje, ale jest też ciekawe za sprawą dwóch innych czynników: maszyny, za pośrednictwem której Torvalds udostępnił nowy kernel oraz tego, co 5.19 oznacza dla wersjonowania.
Linux 5.19 – ostatni z gałęzi 5.x
W pierwszej kolejności poświęćmy nieco uwagi ów ciekawostkom. Otóż Linux 5.19 to trzecie wydanie, które opublikowane zostało z użyciem komputera Apple. Co można potraktować jako znak czasu, jest to oczywiście Mac z procesorem M1, a zatem układem o architekturze ARM. Oddajmy głos samemu Linusowi Torvaldsowi:
Na stopie prywatnej najciekawszą częścią jest to, że dokonałem publikacji (i piszę to) na laptopie arm64. Jest to coś, na co czekałem dłuuugi czas, a teraz stało się to faktem, dzięki zespołowi Asahi. Dysponujemy ARM-owym sprzętem, na którym Linux działa już od dawna, ale dotąd nie nadawał się on do wykorzystania jako platforma deweloperska. Aż do teraz.
W dalszej części Torvalds przypomina, że to dopiero trzeci raz, kiedy do publikacji jądra wykorzystywany jest komputer Apple. Za pierwszym razem była to maszyna jeszcze na platformie PowerPC – wykorzystany został układ PPC970. Dziesięć lat później Linusowi zdarzyło się publikować z użyciem MacBooka Air ze względu na jego unikatowe ówcześnie gabaryty. Dziś jest to bliżej nieznana konfiguracja Apple z układem ARM.
Ponadto Linus poinformował, że Linux 5.19 będzie najpewniej ostatnim wydaniem z gałęzi 5.x i kolejna wersja Linuksa będzie oznaczona najpewniej jako 6.0. Jest to już przyjęta tradycja, niemniej poprzednim razem, w przypadku gałęzi 4.x numeracja zatrzymała się dopiero na wersji 4.20. Argumentował, że zdecydował się na to, gdyż… do liczenia wersji zabrakło mu palców u rąk i stóp.
Skoro więc gałąź 5.x ma się skończyć już na wersji 5.19, to znaczy, że Linus od marca 2019 roku dysponuje jednym palcem mniej? A może przy takiej okazji jak premiera Linuksa 4.20 nie mógł się powstrzymać przed mrugnięciem do społeczności? ;)
Linux 5.19 – co nowego?
Przejdźmy do nowości w kernelu, zaczynając od zmian w obsłudze procesorów. Idąc za przykładem Linusa, w pierwszej kolejności skupmy się na sterownikach do procesorów ARM, jest bowiem na czym. Linux 5.19 to bowiem pierwsze wydanie, które obsługuje SME pozwalające na nowe, zaawansowane operacje na macierzach, np, ich multiplikację i w rezultacie skalowanie.
Kolejne nowości w Linuksie 5.19 związane z architekturą ARM wynikają z zakończenia trwających od dwunastu lat (jeszcze od wersji 3.17) prac nad obsługą platform ARMv4T/v5. W efekcie dodana została obsługa takich SoC, jak m.in. Broadcom BCM47622, Mediatek Mt8195, dwóch modeli Renesas z linii RZ. Ponadto ukończenie prac zaowocowało także obsługą kontrolerów NVM w układach Apple M1.
Nie samym ARM-em jednak człowiek żyje – sprawdźmy, jakie nowości przygotowano w ramach obsługi układów x86. Tutaj na uwagę zasługuję zapewnienie obsługi Intel In-Field Scan, czyli mechanizmu wykorzystywanego przede wszystkim w dużych centrach danych do przeprowadzania wielkoskalowych testów CPU przed ich uruchomieniem w centrum danych.
Ponadto dodano wstępną (i na razie rzekomo nieużywalną) obsługę instrukcji LoongArch wykorzystywanych przez MIPS-owe chinskie układy Loongson. O ile w Europie mogą się one nam wydawać cokolwiek egzotyczne, tak układy Loongson mogą stanowić ciekawą propozycję procesora ogólnego zastosowania na rynku konsumenckim i alternatywę tak dla x86, jak i dla ARM.
Wyprodukowany wyłącznie chińskimi sumptem układ Loongson 3A3000. Źródło: CC BY-SA 4.0.
na licencji
Sporo nowości pojawiło się także w kwestii obsługi grafiki, przy czym Linux 5.19 się w tej kwestii mocno wyróżnia, co najlepiej podsumowuje, że do jądra dopisano ponad pół miliona nowych linijek kodu. Poskutkowało to między innymi dodaniem obsługi Intel Raptor Lake P, usprawnieniami w obsłudze kodeków na układach MediaTeka oraz przede wszystkim postępami prac nad obsługą grafiki AMD RDNA3.
To oczywiście zaledwie największe nowości – poprawiono obsługę wielu peryferiów (między innymi gładziki w laptopach Lenovo czy tabletach Wacom), ulepszono obsługę mechanizmów bezpieczeństwa (Clang RandStruct w zakresie generowania pseudolosowości) czy dokonano znacznych usprawnień w obsłudze pamięci. Z pełną listą nowości można zapoznać się w changelogu.