Суть проблемы: не драйвер, а архитектура
Пользователи графики Intel Panther Lake (Xe3 Arc B390) столкнулись с внезапными крашами и зависаниями в таких ресурсоемких играх, как Red Dead Redemption 2 и Elden Ring. Изначально подозрения пали на драйверы Mesa, однако расследование показало, что причина кроется глубже — в реализации новой архитектуры прерываний FRED (Flexible and Return Event Delivery), представленной вместе с процессорами Core Ultra Series 3.
Техническая деталь: баг в обработке INT 0x2d
Разработчик ядра Linux Мэтью Шварц (Matthew Schwartz) выявил, что проблема заключается в некорректном восстановлении состояния ошибки (#GP signal context) для отклоненных инструкций INT. Ошибочный код ошибки и сохраненный указатель инструкций (IP) ломали логику обработки Wine инструкций INT 0x2d, что приводило к ложным нарушениям доступа (access violation) и падению игры через 2-3 минуты после старта.
Решение и статус патча
Исправление включает реконструкцию контекста сигнала и добавление покрытия для 32- и 64-битных систем сигналов и ptrace. Патчи уже загружены в ветку tip/tip.git с пометкой x86/urgent. Это означает, что исправление будет включено в основную ветку ядра Linux и появится в релизе Linux 7.3, который ожидается уже в ближайшие выходные.
Сравнение влияния на экосистему
| Компонент | Статус до фикса | Статус после фикса |
|---|---|---|
| Драйверы Mesa | Подозревались в багах, но работали корректно | Не требуют изменений, стабильны |
| Ядро Linux (FRED) | Корректно обрабатывало INT, но ломало Wine-контекст | Исправлена реконструкция #GP сигнала |
| Игры (Wine/Steam Play) | Крашились/зависали (RDR2, Elden Ring) | Полная совместимость восстановлена |
Почему это важно
Это первый крупный кейс, демонстрирующий, как новые архитектурные расширения CPU (FRED) могут конфликтовать с эмуляцией Windows-приложений. Быстрое исправление в ветке urgent показывает зрелость процесса поддержки Intel в сообществе Linux, позволяя геймерам не ждать месяцев для получения стабильного опыта на новом железе.
Источник: Phoronix ↗
