Linux 7.3 przynosi zmiany w kilku konkretnych obszarach grafiki: porządkuje wysyłanie zadań V3D, modyfikuje ścieżki AMDGPU, poprawia obsługę HDR w wybranych rodzinach układów AMD i rozwija kontrolę nad pamięcią GPU w cgroups. Igalia raportuje mniejsze użycie CPU przy wysyłaniu zadań AMDGPU, ale nie podaje pomiarów FPS. W jej zestawieniu wkładu w wydanie z 26 października 2026 r. znalazły się 69 napisanych i 59 sprawdzonych łatek.

Wcześniejszy tekst NeoTeo o nowościach sieciowych w Linuksie 7.3 opisywał inną część tego wydania. Tutaj chodzi o sterowniki graficzne i zarządzanie pamięcią GPU.

Spis treści

Jakie zmiany graficzne wnosi Linux 7.3?

ObszarZmianaZakres i skutek
V3DUporządkowana tablica zadań oraz serializacja kolejek przy podłączonym monitorze wydajnościSolidniejsza obsługa wysyłania zadań i bardziej wiarygodne liczniki
AMDGPUUproszczenie obsługi kontekstów i list obiektów oraz zmiany w wysyłaniu zadańIgalia raportuje mniejsze użycie CPU w ścieżce wysyłania zadań
Ekrany AMDOsobne segmentowanie tablic LUT i zmiany w przetwarzaniu koloruPoprawka pasmowania gradientów HDR dotyczy rodzin DCN 3.0+ i DCN3.2+
cgroup dmemPlik dmem.peak i odzyskiwanie pamięci po obniżeniu dmem.maxLimity obejmują pamięć GPU obsługiwaną przez zgodne sterowniki
sched-extUsunięcie zduplikowanych węzłów spinlocka areny BPF i uśpienie jednego z hooków cgroupScheduler BPF może wywoływać operacje, takie jak alokacja pamięci

Igalia opisała też dwie zmiany w sched-ext, rozszerzalnym mechanizmie planowania zadań jądra. Hook ops.cgroup_set_bandwidth() stał się operacją sleepable, czyli może czekać na zakończenie pracy, co pozwala schedulerowi BPF wywołać między innymi alokację pamięci.

V3D i AMDGPU zmieniają obsługę zadań

Sterownik V3D dla układów Raspberry Pi otrzymał wspólną abstrakcję wysyłania zadań, która zapisuje ich kolejność w tablicy. Według Igalii uprościło to kod i pomogło usunąć drobne problemy, wzmacniając niezawodność tej ścieżki. Zmieniło się też blokowanie monitora wydajności: po jego podłączeniu zadania z różnych kolejek są odpowiednio serializowane, dzięki czemu liczniki są bardziej wiarygodne podczas debugowania i profilowania.

W AMDGPU zmieniono sposób obsługi kontekstów i list obiektów. Starszy mechanizm IDR zastąpił XArray, a powiązane ścieżki kodu uproszczono. Igalia przypisuje mniejsze zużycie CPU w wysyłaniu zadań kilku optymalizacjom: usunięciu nieużywanej blokady listy obiektów, buforowaniu niezmiennych sprawdzeń IP i ograniczeniu ponownego uzbrajania bezczynnych wątków roboczych.

Poprawka HDR dotyczy wybranych rodzin AMD

Igalia przypisała poprawkę pasmowania gradientów w obrazie HDR sterownikom ekranów AMD z rodzin DCN 3.0+ i DCN3.2+. Zastosowała osobne podziały tablic LUT, czyli tablic odwzorowań, dla krzywych EOTF przeliczających zakodowany sygnał na wartości liniowe, gdy blok kolorów nie obsługuje krzywych sprzętowych. Zmiany objęły także użycie LUT przy korekcji degamma dla właściwości sterownika AMD w formatach z podpróbkowaniem.

W tym samym obszarze poprawiono obsługę właściwości trybów mieszania. Ich brak powodował powtarzające się ostrzeżenia w logach sterowników AMD; nowsze jądra wymagają jawnego ogłaszania obsługiwanych trybów.

Jak dmem.max ogranicza użycie VRAM?

Cgroup, czyli grupa kontrolna, pozwala przypisywać limity grupom procesów. Kontroler dmem służy do zarządzania pamięcią urządzenia, w tym pamięcią VRAM. W Linuksie 7.3 dodano w nim między innymi tylko do odczytu plik dmem.peak, pokazujący szczytowe użycie pamięci w regionie. Pojedynczy zapis ustawień może aktualizować jeden region.

Obniżenie dmem.max poniżej aktualnego użycia uruchamia odzyskiwanie obiektów z VRAM do GTT, czyli obszaru pamięci systemowej dostępnego dla GPU. Zwykły zapis czeka, aż użycie spadnie poniżej nowego limitu; O_NONBLOCK pozwala pominąć oczekiwanie. Jeśli odzyskanie nie wystarczy, niższy limit nadal obowiązuje i ogranicza kolejne alokacje ponad maksimum. Przy alokacji przekraczającej limit sterownik może próbować użyć pamięci systemowej albo wywołać eksmisję, zależnie od parametrów alokacji.

Ustawienia dmem.min i dmem.low wpływają na eksmisję obiektów. dmem.min zapewnia twardą ochronę: obiekty grupy nie są brane pod uwagę, gdy jej użycie spadłoby poniżej tego progu. dmem.low działa miękko, więc system najpierw próbuje odzyskiwać pamięć z innych grup.

Obsługa dmem w sterownikach NVIDIA dotyczy nouveau

Integracja cgroup dmem pojawiała się kolejno w sterownikach Intel Xe i AMDGPU, a w Linuksie 7.3 także w nouveau, otwartym sterowniku kart NVIDIA. Ta zmiana dotyczy nouveau; nie opisuje integracji z własnościowym sterownikiem NVIDIA.

Co Igalia zapowiedziała dla V3D 3.3 i 4.1?

Igalia wskazała Linux 7.3 jako ostatnie wydanie obsługujące generacje V3D 3.3 i 4.1. Zapowiedziała, że w kolejnym wydaniu jądra ich obsługa zostanie oznaczona jako przestarzała. Igalia powiązała tę decyzję z usunięciem obsługi tych generacji z Mesa w 2024 roku.