Dostępna jest już kolejna wersja jądra Linux, oznaczona numerem 5.8. Według wcześniejszych zapewnień Linus Torvaldsa miało to być jedno z największych wydań linuksowego kernela w historii, a mimo to nie brakuje komentarzy, że zmiany nie są ta aż tak duże, zaś blogi i portale powierzchownie relacjonujące rozwój prac mówią wręcz o rozczarowaniu. Czy słusznie?
Linux 5.8 – największe wydanie jądra w historii
Absolutnie nie. Wcześniejsze zapowiedzi Torvaldsa bynajmniej nie są przesadzoną, PR-ową zagrywką (do czego rozwojowi być może najważniejszego programu we współczesnym IT potrzebny miałby być PR?), lecz faktycznym podsumowaniem skali działań. Dość powiedzieć, że w toku prac nad Linuksem 5.8 zmodyfikowano 20% (ok. 14 tys.) wszystkich plików składających się na repozytorium jądra oraz dopisano 800 tys. nowych linijek kodu, który składa się aktualnie ogółem z 22 mln linijek.
Sam Torvalds podkreśla, że jest to taka sama wielkość, co w przypadku wersji 4.9, wówczas jednak kod był „sztucznie” wydłużony ze względu na dodanie wsparcia dla opracowywanych przez Google modułowych smartfonów Ara, które nigdy nie trafiły do sprzedaży. W przypadku wydanego właśnie jądra Linux 5.8 „wielkość” uzyskano faktycznymi zmianami i usprawnieniami, co czyni je największym dotychczasowym wydaniem kernela.
Wspomniane rozczarowanie części komentatorów bierze się być może z tego, że Linux 5.8 skupia się bardziej na mnóstwie drobnych zmian, niż na kilku spektakularnych. Kto jednak choćby pobieżnie śledził rozwój jądra przez ostatnie lata, ten wie, że nacisk w rozwoju Linuksa kładziony jest przede wszystkim na zapewnianiu coraz lepszej kompatybilności z coraz większą liczbą podzespołów. Trudno oczekiwać, żeby program, który zapewnia działanie trudnej do oszacowania liczby urządzeń najprzeróżniejszych klas miał się gruntownie zmieniać z wydania na wydanie.
Linux 5.8 – co nowego?
Przejdźmy do konkretów. Wśród nowości na pierwszy plan wybijają się liczne zmiany w obsłudze złącza Thunderbolt. W rezultacie jest ono już obsługiwane także na urządzeniach wyposażonych w procesory o architekturze ARM. Ponadto standard jest już obsługiwany na maszynach z procesorami Intel Tiger Lake. Ponadto zaktualizowano także sterowniki dla USB-C oraz dodano sterownik Broadcom STB USB.
Znacząco rozszerzyła się lista obsługiwanych układów graficznych. W Linuksie 5.8 zaimplementowano otwarty sterownik dla układów Adreno 405, 640 i 650, dodano obsługę mechanizmu Trusted Memory Zones (szyfrowanie vRAM chroniące przed odczytaniem przez CPU) dla grafiki AMD Vega oraz udoskonalono kompatybilność z grafikami zintegrowanymi z procesorami Intela 12. Generacji, zapewniając m.in. obsługę mechanizmu System Agent Geyserville dynamicznie zarządzającego napięciem i częstotliwością taktowania w zależności od obciążenia.
W kwestii procesorów mają się z czego cieszyć posiadacze układów AMD. W jądrze pojawił się już AMD Energy Driver, dzięki czemu w CPU Zen lub Zen 2 obsługiwane są już czujniki umożliwiające monitorowanie zużycia energii. Dodano kolejne łatki dla podatności klasy Spectre, dodano obsługę licznych ARM-owych SoC-ów, a także zapewniono wstępną obsługę procesorów POWER10 opracowanych przez IBM i OpenPOWER Foundation na potrzeby przetwarzania dużych zbiorów danych. Dodano także nowe funkcje związane z bezpieczeństwem układów ARM.
Licznych nowości jest oczywiście znacznie więcej. Dość wspomnieć o poprawkach w sterowniku dla systemu plików exFAT i ext4 czy optymalizacji SELinuksa. Jako ciekawostkę można wskazać, że Linux 5.8 to pierwsze wydanie jądra, które wprowadza „inkluzywną” terminologię, dzięki czemu z kodu (oczywiście tam, gdzie to było możliwe) pozbyto się takich wyrażeń, jak „slave”, „master” czy „blacklist”.