Kluczowa poprawka zmieniła round up(value, SZ 128K) na round down(value, SZ 128K). AI pomagała w dodawaniu instrumentacji, analizie ścieżek kodu i powtarzalnych testach, ale Torvalds sam dobierał eksperymenty i oceniał ich wyniki.
Research answer

Create a landscape editorial hero image for this Studio Global article: How did Linus Torvalds use an AI assistant to diagnose and fix a two-year-old Intel Xe graphics-driver bug on Battlemage G21 hardware—what w. Article summary: Torvalds used the AI as an interactive debugging aide, not as an autonomous patch author: he directed experiments, had it help generate and interpret instrumentation, and personally validated the result. The final remedy. Topic tags: general, general web, user generated. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fa
Jedna linijka kodu naprawiła poważną awarię sterownika graficznego Intel Xe dla układów Battlemage G21. Droga do tej poprawki była jednak wyjątkowo długa: Linus Torvalds opisał ją jako „sesję debugowania z piekła”. Asystent AI wykonał znaczną część żmudnej pracy podczas 24 iteracji poprawek i 18 uruchomień jądra Linuksa, ale sam wielokrotnie twierdził, że problemu nie da się rozwiązać.
Błąd dotyczył obliczania granicy między zwykłą pamięcią VRAM a zarezerwowanym obszarem płaskiego magazynu CCS — Compute Command Streamer, czyli pamięci używanej przez sprzęt do przechowywania metadanych kompresji.
W uproszczeniu kod wykonywał operację:
round_up(value, SZ_128K)którą zmieniono na:
round_down(value, SZ_128K)Ta różnica ma znaczenie, ponieważ obliczana wartość nie była adresem początku obszaru, lecz limitem wyznaczającym koniec pamięci dostępnej dla alokatora VRAM. Zaokrąglenie limitu w górę sprawiało, że niewielki obszar między rzeczywistą granicą a granicą zaokrągloną wyglądał jak wolna pamięć. W rzeczywistości należał do zarezerwowanych danych CCS. Zaokrąglenie w dół pozostawia alokator po bezpiecznej stronie tej granicy.
Gdy alokator uznawał pamięć CCS za dostępną, zwykłe alokacje mogły wejść w zarezerwowany obszar i nadpisać metadane wykorzystywane przez GPU. Uszkodzeniu ulegały między innymi dane związane z tablicami stron, co prowadziło do artefaktów na ekranie oraz niekończących się restartów menedżera logowania GDM na sprzęcie Battlemage G21.
Nie był to więc wyłącznie błąd arytmetyczny. Problem wynikał z pomylenia znaczenia wartości: kod traktował ją tak, jakby wskazywała adres początkowy wymagający wyrównania, choć w rzeczywistości oznaczała limit, za którym kończyła się użyteczna pamięć. Dlatego końcowa poprawka była tak mała, a jednocześnie tak trudna do znalezienia.
Torvalds i asystent AI dodawali oraz modyfikowali celowaną instrumentację, śledzili obliczenia wykonywane przez sterownik i porównywali pozycję CCS zgłaszaną przez sprzęt z granicą przekazywaną alokatorowi VRAM. Dopiero po 24 wersjach poprawek debugujących i 18 cyklach ponownego uruchamiania oraz testowania stało się jasne, że problemem był niewłaściwy kierunek zaokrąglania.
Kolejne uruchomienia były istotne, ponieważ awaria ujawniała się na poziomie sprzętu i systemu graficznego, a nie tylko jako podejrzanie wyglądający fragment kodu. Każdy eksperyment pomagał odróżnić błędy alokacji pamięci od innych możliwych przyczyn problemów z obrazem.
Torvalds wykorzystywał asystenta jako interaktywnego partnera do debugowania. Narzędzie pomagało proponować instrumentację, prześledzić ścieżki wykonywania kodu i analizować wyniki kolejnych prób. Dzięki temu ograniczono ilość powtarzalnej pracy potrzebnej do sprawdzania hipotez.
AI nie była jednak wiarygodnym autorytetem. Torvalds relacjonował, że kilka razy uznała problem za niemożliwy lub nierozwiązywalny i sugerowała, by zakończyć pracę oraz przygotować raport. To on wybierał następne eksperymenty, odrzucał błędne interpretacje i rozumiał, co dana wartość oznacza w modelu pamięci alokatora.
To właśnie podział obowiązków jest najważniejszym elementem tej historii. AI generowała możliwości i wykonywała czynności techniczne, natomiast ekspert zapewniał kontekst, uporczywość, testy możliwe do obalenia oraz ostateczną ocenę poprawki.
Linus Torvalds sam przygotował i zatwierdził poprawkę sterownika Intel Xe w głównym, rozwijanym jądrze Linuksa. Z dostępnych informacji wynika, że zmiana miała trafić także do utrzymywanych stabilnych gałęzi w ramach standardowego procesu backportowania, czyli przenoszenia poprawki do starszych wydań. Źródła nie pozwalają jednak wiarygodnie wskazać konkretnych wersji ani dat ich publikacji.
Dlatego nie należy jeszcze przypisywać poprawki określonym wydaniom stabilnym wyłącznie na podstawie dostępnych doniesień. Użytkownicy dotkniętego problemem sprzętu powinni sprawdzać komunikaty swojej dystrybucji lub opiekunów jądra, aby potwierdzić, czy dana kompilacja zawiera zmianę.
Ta historia nie jest bezwarunkową pochwałą kodu generowanego przez AI. Pokazuje raczej węższy i lepiej uzasadniony model pracy: ekspert może użyć sztucznej inteligencji do przyspieszenia trudnej pętli debugowania, ale nadal odpowiada za hipotezę, projekt testów, przegląd zmian i końcową poprawkę.
To zupełnie co innego niż wysyłanie opiekunom jądra nieprzetestowanych, niezamówionych poprawek lub raportów o lukach wygenerowanych przez model językowy. Deweloperzy Linuksa mówili o „natarciu” takich zgłoszeń, a opiekunowie podsystemów staging i sieci opisywali rosnącą frustrację z powodu poprawek o niskiej wartości lub niezrozumianych przez ich autorów.
Często powtarzaną informację o wzroście liczby zgłoszeń o 2700 proc. należy traktować ostrożnie. Dostępne materiały nie wyjaśniają w sposób wystarczająco wiarygodny metody pomiaru, przedziału czasowego ani dokładnej kategorii, której dotyczy ta liczba. Lepiej udokumentowany wniosek jest bardziej ogólny: AI obniżyła koszt tworzenia kodu i raportów, ale czas potrzebny na ich sprawdzenie i posegregowanie nadal muszą poświęcać ludzie.
Torvalds podkreślał też, że Linux nie jest z założenia projektem wrogo nastawionym do AI, zwłaszcza gdy narzędzia tego typu pomagają w przeglądzie kodu. Sesja debugowania Intel Xe pokazuje jednak wyraźną granicę: AI może być użyteczna w zdyscyplinowanym procesie inżynieryjnym, lecz nie zastąpi znajomości podsystemu, powtarzalnych testów ani człowieka, który bierze odpowiedzialność za rezultat.
Końcowa poprawka miała jedną linijkę. Prawdziwym osiągnięciem było ustalenie, którą linijkę zmienić — i nieprzerywanie poszukiwań, gdy asystent uznał, że rozwiązania nie da się znaleźć.
Studio Global AI
This page includes a source-backed answer you can continue inside Studio Global.
Kluczowa poprawka zmieniła round up(value, SZ 128K) na round down(value, SZ 128K).
Kluczowa poprawka zmieniła round up(value, SZ 128K) na round down(value, SZ 128K). AI pomagała w dodawaniu instrumentacji, analizie ścieżek kodu i powtarzalnych testach, ale Torvalds sam dobierał eksperymenty i oceniał ich wyniki.
Przypadek pokazuje wartość nadzorowanego przez eksperta debugowania z użyciem AI, a zarazem problem masowo wysyłanych, niskiej jakości poprawek i zgłoszeń generowanych przez modele językowe.