[linux-penguin-xbox-steam.webp]

Nuevo Post: Controles de Xbox en Fedora Linux 2

Ahora que Fedora 43 está cerca de ser lanzado, recordé un problema que tuve al actualizar a Fedora 42 = mi control de Xbox (nombre exacto: Xbox Core Wireless Gaming Controller) dejó de funcionar completamente después de la actualización. El sistema podía detectar el dispositivo (udevadm monitor mostraba la conexión) pero Steam no reconocía ninguna entrada del control.



El Problema

Después de una actualización mayor del sistema Fedora, el control de Xbox dejó de funcionar a pesar de ser detectado correctamente por la computadora (y sí, estaba funcionando de maravilla antes, no hice nada de mi parte para romperlo).

Síntomas:

  • El control se empareja exitosamente vía Bluetooth o USB.
  • udevadm monitor ve el dispositivo conectándose y desconectándose.
  • Steam no muestra ninguna entrada del control en absoluto.
  • No hay mensajes de error obvios en los registros del sistema.


Entendiendo el Problema

Los controles de Xbox en Linux requieren el módulo del kernel xpad (proporcionado por el paquete kernel-modules-extra) para funcionar. Este módulo actúa como el driver que traduce la entrada de hardware del control en eventos que las aplicaciones pueden entender.


Durante Actualizaciones Mayores de Distro:

Durante actualizaciones de versión mayor de Fedora, si previamente instalaste soporte para xpad y falta inmediatamente después, la causa más probable es la gestión de paquetes de Fedora:

  • Cada versión del kernel mantiene su propio paquete kernel-modules-extra.
  • Si xpad fue instalado como un paquete opcional en lugar de como dependencia de otro paquete, la resolución de dependencias durante la actualización puede no reinstalarlo automáticamente.
  • El sistema arranca exitosamente porque xpad no es esencial para la funcionalidad principal (solo afecta la disponibilidad del control de Xbox).


La Solución

Verificar el Módulo

  • Primero, verifica si el módulo xpad está actualmente cargado.
  • Si el comando no devuelve nada, el módulo no está cargado y necesita ser instalado.
lsmod | grep xpad

Instalar el Módulo del Kernel Faltante

  • El módulo xpad está incluido en el paquete kernel-modules-extra.
  • Instala este paquete si aún no está instalado.
sudo dnf install kernel-modules-extra

Verificar la Solución

  • Después de que el paquete esté instalado, reconecta tu control de Xbox a tu computadora (vía Bluetooth o USB) y verifica si el módulo se cargó automáticamente:
lsmod | grep xpad

# Salida esperada:
xpad 32768 0
ff_memless 20480 1 xpad

El control de Xbox debería funcionar ahora inmediatamente en Steam y otras aplicaciones. Si no, carga el módulo manualmente e intenta de nuevo.

# Cargar el módulo manualmente
sudo modprobe xpad

# Asegurarse de que el módulo se cargue automáticamente al arrancar
sudo bash -c 'echo "xpad" > /etc/modules-load.d/xpad.conf'