Линус Торвальдс исправил двухлетнюю ошибку GPU Intel Xe с помощью ИИ-ассистированной отладки
Ключевые выводы
- •Ошибка возникла в коммите возрастом около двух лет (37173392741c), где round_up() применялся вместо round_down() при вычислении смещения CCS для распределения VRAM, из-за чего метаданные сжатия выделялись как доступная видеопамять.
- •Расследование Торвальдса потребовало 24 отладочных патчей и 18 загрузок ядра, прежде чем он вычислил ошибочный вызов функции, который исправляет фикс (коммит 818bebeb63dd).
- •Хотя ИИ-инструмент помогал добавлять отладочный код и анализировать вывод, в какой-то момент он предположил, что проблема неразрешима — оценку, которую Торвальдс отверг, прежде чем самостоятельно найти решение.
- •Ошибка сильнее всего затронула пользователей оборудования Intel Battlemage G21 (кристалл, лежащий в основе карт серии Arc B), проявляясь как искажение изображения и вынужденные перезапуски диспетчеров дисплея.
- •Фикс запланирован к включению в Linux версии 7.3 и, как ожидается, будет бэкпортирован в стабильные релизы ядра, что решит проблемы с дисплеем для пользователей старых версий ядра.

Линус Торвальдс, создатель и главный мейнтейнер ядра Linux, 21 августа 2026 года влил однострочный фикс в графический драйвер Intel Xe. Сам патч был на удивление прост; путь отладки, который пришлось пройти ради него, — наоборот.
По словам Торвальдса, работа потребовала 24 отладочных патчей и 18 загрузок ядра, причём инструмент на основе ИИ сыграл существенную роль в ускорении процесса. Он помогал добавлять отладочный код и анализировать вывод — а в какой-то момент заключил, что проблема, по сути, неразрешима. Торвальдс не согласился с этой оценкой, продолжил работу и в итоге нашёл ответ.
Один вызов функции, за которым скрывались месяцы проблем
Первопричиной оказался один некорректный вызов функции в более раннем коммите, идентифицированном как 37173392741c и сделанном примерно два года назад. В этом коммите round_up() применялся там, где следовало использовать round_down(), при вычислении смещения CCS для распределения VRAM. CCS (Compression Control Surface) — метаданные, которые GPU Intel используют для отслеживания состояния сжатия буферов в видеопамяти; как и другие зарезервированные области, она зависит от корректно вычисленного смещения, чтобы занимаемое ею пространство не выделялось под что-либо ещё.
В результате ядро ошибочно выделяло метаданные сжатия как доступную видеопамять. Следствием стали повреждённые таблицы страниц, что проявлялось в искажении изображения и вынужденных перезапусках диспетчеров дисплея.
Сильнее всего пострадали пользователи оборудования Intel Battlemage G21 при определённых нагрузках. Battlemage — архитектура дискретных GPU Intel второго поколения, а G21 — кристалл, лежащий в основе карт серии Arc B. Как оказалось, Торвальдс сам использовал систему на Battlemage G21, что позволяло легко воспроизводить ошибку после того, как определённые изменения в пользовательском пространстве создавали необходимые условия.
Фикс, идентифицированный как коммит 818bebeb63dd, меняет один вызов функции.
ИИ как партнёр по отладке, а не спаситель
Торвальдс даже позволил ИИ помочь составить сообщение коммита — небольшой, но символически значимый жест со стороны человека, который исторически ревниво оберегал стандарты коммуникации в ядре.
В середине отладочной сессии ИИ предположил, что проблему решить нельзя, фактически советуя Торвальдсу сдаться. Он проигнорировал этот совет, продолжил методичный цикл патчей, перезагрузок и анализа и в конечном счёте вычислил неисправную функцию округления.
Этот эпизод контрастирует с прежним недовольством Торвальдса использованием ИИ в процессе разработки ядра. Он открыто критиковал поток генерируемых ИИ патчей и сообщений, поступающих в список рассылки ядра, характеризуя значительную их часть как низкокачественный спам. Использование ИИ в качестве личного ассистента для отладки — принципиально иной сценарий: граница между инструментом под контролем разработчика и незапрашиваемыми автоматически сгенерированными вкладами, которую широкое сообщество ядра продолжает обсуждать.
Редкий случай личного вмешательства в код GPU
Разработкой графических драйверов Linux обычно занимаются специализированные команды Intel, AMD и других производителей оборудования, а также независимые контрибьюторы, специализирующиеся на подсистеме DRM (Direct Rendering Manager). Уже само по себе то, что Торвальдс лично занялся отладкой и исправлением проблемы в драйвере Xe, — достаточно редкое событие, чтобы привлечь внимание. К тому же драйвер Xe по меркам ядра молод: Intel включил его в основную ветку в 2024 году с целью со временем заменить i915 — давно существующий драйвер, обслуживающий графическое оборудование Intel около двух десятилетий, поэтому некоторые его пути кода значительно менее «обкатаны», чем их проверенные временем аналоги из i915.
Патч планируется включить в Linux версии 7.3, ожидается, что он будет бэкпортирован в стабильные релизы ядра. Поскольку базовая ошибка существовала примерно два года, бэкпорт должен решить проблему для пользователей старых версий ядра, сталкивавшихся с периодическими неполадками дисплея на затронутом оборудовании Intel. Тем, кто отслеживает исправление, стоит следить за анонсами релизов стабильного ядра — именно там появится бэкпорт 818bebeb63dd.
Широкое внимание сообществ open source
Эта разработка привлекла значительное внимание в сообществах Linux и открытого ПО: обсуждения развернулись на Phoronix, Reddit и Hacker News.