El kernel de Linux corrige un fallo de FRED que congelaba juegos bajo Wine
Los cuelgues de Elden Ring y Red Dead Redemption 2 en Panther Lake no venían del driver de Intel, sino del soporte de FRED en el kernel. El parche ya está en una rama urgente.
Los cuelgues de Elden Ring y Red Dead Redemption 2 que llevaban semanas llegando a los rastreadores de Mesa no son un problema del driver gráfico. El origen está en el kernel de Linux, concretamente en FRED, el mecanismo de entrega de eventos que Intel estrenó con sus procesadores Core Ultra Series 3 (Panther Lake). Ya hay parche y va camino de mainline.
El fallo no estaba en el driver de Intel
Los informes apuntaban al soporte de la gráfica Intel Xe3 Arc B390 en Panther Lake, pero el comportamiento no encajaba: Elden Ring se congelaba a los dos o tres minutos de partida y RDR2 entraba en un bucle de arranque y caída inmediata. Al final resultó ser FRED (Flexible and Return Event Delivery), que Intel introdujo con esa generación de CPUs y que las versiones recientes del kernel ya utilizan.
Matthew Schwartz, desarrollador del kernel, ha trabajado el problema en el código de FRED que reconstruye el estado de fallo para las instrucciones INT rechazadas. Con FRED activo, el contexto de la señal #GP de esas instrucciones se reconstruía con un código de error y una IP guardada incorrectos. Eso rompe el manejo que Wine hace de INT 0x2d, y de ahí la violación de acceso espuria que tumba Elden Ring en Panther Lake. El segundo parche de la serie añade cobertura de contexto de señal de 32 y 64 bits y de reanudación vía ptrace.
Los parches se han encolado en la rama x86/urgent de tip/tip.git. Que hayan entrado por una rama marcada como urgente significa que deberían enviarse a mainline este mismo fin de semana, con destino a Linux 7.3.
Qué implica para quien administra equipos
El fallo no afecta a todo el mundo por igual. Solo se dispara con CPU Panther Lake y con kernels que ya tengan FRED habilitado, así que los equipos con generaciones anteriores de Intel no lo van a ver. Tampoco es exclusivo del juego: cualquier binario de Windows que pase por Wine o por Steam Play y haga uso de INT 0x2d puede encontrarse con la misma violación de acceso espuria. El diagnóstico costó precisamente eso, descartar el driver antes de mirar el kernel.
La serie completa está en la lista de parches de Schwartz, con la explicación del contexto de señal y los cambios en el manejo de eventos software. Queda por ver cuándo llega a mainline y si las distribuciones lo retroportan a sus kernels estables, porque hasta entonces quien tenga Panther Lake y juegue bajo Proton seguirá con el mismo comportamiento. Los rastreadores de Mesa siguen abiertos por si aparece algún caso que no encaje con esta causa.
