¡Hola a todos los entusiastas de Linux y amantes del hardware! Hoy vamos a sumergirnos en un verdadero desafío retro: cómo hacer que dos tarjetas gráficas de fabricantes rivales, una AMD R9 290 y una NVIDIA 250GTS, trabajen en armonía bajo el capó de Kubuntu 13.10. Sí, lo sé, ¡Kubuntu 13.10 es una versión con solera! Pero precisamente por eso, este viaje no es solo una solución técnica, sino también un nostálgico recordatorio de los tiempos en que las configuraciones multi-GPU en Linux eran una odisea.
Si te encuentras con esta peculiar configuración hoy en día, es probable que tengas una razón muy específica y quizás un poco sentimental. O quizás simplemente te encanta la adrenalina de los retos técnicos. Sea cual sea tu motivación, prepárate para un recorrido detallado por un terreno que, para ser honestos, era bastante escarpado.
El Gigantesco Obstáculo: Por Qué Esto Era Tan Complicado en 2013-2014
En el corazón de este enigma yace la naturaleza misma de los sistemas operativos y los controladores gráficos de aquella época. Cada fabricante, AMD (entonces ATI) y NVIDIA, diseñaba sus controladores gráficos (conocidos como drivers) para interactuar profundamente con el kernel de Linux y el servidor gráfico X.org. Cada paquete de controladores, especialmente los propietarios, intentaba ser el „único” dueño del escenario, instalando sus propias bibliotecas OpenGL/GLX, sus módulos del kernel y sus utilidades de configuración.
Imagina dos empresas que lanzan al mercado un software diseñado para controlar el mismo componente vital de tu PC, esperando ser la única aplicación instalada. Cuando intentas instalarlas ambas, el resultado es casi siempre un conflicto masivo. En Kubuntu 13.10, la situación era aún más delicada:
- Controladores Propietarios AMD (fglrx): Conocidos por ser potentes, pero también por ser bastante intrusivos en el sistema. Solían sobrescribir partes fundamentales de Mesa (la implementación de OpenGL de código abierto) y exigían una versión específica del kernel.
- Controladores Propietarios NVIDIA: También muy optimizados, pero con su propia forma de integrar bibliotecas y módulos del kernel, a menudo chocando con lo que AMD intentaba hacer.
- X.org: El servidor gráfico era menos flexible que las versiones actuales. Configurar dos tarjetas diferentes con sus respectivos controladores requería una edición manual del archivo
xorg.conf
, lo cual era una tarea intimidante para muchos. - Módulos del Kernel: Tanto
fglrx
como el controlador propietario de NVIDIA instalaban módulos del kernel específicos, y a menudo intentaban bloquear o reemplazar módulos de código abierto comoradeon
ynouveau
, lo que generaba un caos cuando ambos querían la exclusividad.
En resumen, la idea de que dos paquetes de controladores propietarios coexistieran pacíficamente era casi una quimera. La meta principal era lograr que *al menos una* de las tarjetas funcionara perfectamente, y la otra, si era posible, mostrara una imagen básica o se utilizara para tareas de computación (aunque esto último era aún más difícil).
La Estrategia: Elegir un Camino para el Éxito (o el Intento)
Dado el escenario, la coexistencia pacífica de ambos controladores propietarios era, y sigue siendo, una tarea casi imposible en esta versión de Kubuntu. La clave estaba en la gestión de los controladores, y aquí te presentamos las opciones viables y la más recomendable:
Opción 1: Los Controladores de Código Abierto (Nouveau + Radeon) 🕊️
Esta era la ruta más sencilla y, paradójicamente, la más estable para una coexistencia básica. Los controladores Nouveau (para NVIDIA) y Radeon (para AMD) son parte del kernel de Linux y están diseñados para trabajar juntos sin conflictos mayores. Kubuntu 13.10 los incluía por defecto.
- Ventajas: Máxima compatibilidad, instalación automática, cero conflictos a nivel de kernel o bibliotecas fundamentales.
- Desventajas: Rendimiento muy inferior, especialmente para la potente R9 290. No hay soporte para características avanzadas como CUDA o las últimas optimizaciones de gráficos.
- Cómo lograrlo: Asegúrate de que no haya ningún controlador propietario instalado. Puedes purgar cualquier rastro con
sudo apt-get purge nvidia* fglrx*
y luego reiniciar. El sistema debería cargar automáticamentenouveau
yradeon
. Verifica conlsmod | grep -E "nouveau|radeon"
. Para configurar múltiples monitores,xrandr
era tu mejor amigo.
Opción 2: Un Híbrido Pragmático (NVIDIA Propietario + Radeon de Código Abierto) ✅
Esta era la solución más práctica y con mejor rendimiento en la mayoría de los casos para Kubuntu 13.10. La idea era aprovechar la potencia del controlador propietario de NVIDIA para la 250GTS (si era la tarjeta principal de visualización o para alguna aplicación específica que lo requiriera) y dejar que la R9 290 funcionara con el controlador de código abierto Radeon.
Aquí los pasos clave:
- Preparación Inicial:
- ¡Copia de seguridad! 💾 Esto es crucial. Ante cualquier problema, poder restaurar tu sistema te ahorrará horas de frustración.
- Purga los Controladores Existentes: Es vital empezar de cero. Abre una terminal y ejecuta:
sudo apt-get purge nvidia* fglrx* sudo apt-get autoremove sudo update-initramfs -u sudo reboot
Esto limpia cualquier rastro de controladores propietarios anteriores, permitiendo que
nouveau
yradeon
se carguen temporalmente. - Identifica tus Tarjetas: Necesitarás los BusIDs de cada tarjeta. Abre una terminal y escribe:
lspci -nnk | grep -i vga -A3
Busca líneas como
01:00.0 VGA compatible controller [xxxx:xxxx]
. Anota los IDs de bus (por ejemplo,01:00.0
y02:00.0
) para cada tarjeta.
- Instala el Controlador Propietario de NVIDIA:
- Para la NVIDIA 250GTS en Kubuntu 13.10, lo más probable es que necesites el paquete
nvidia-current
(que solía apuntar a la versión más reciente compatible para ese sistema, o quizásnvidia-304
).sudo apt-get update sudo apt-get install nvidia-current nvidia-settings
El instalador de NVIDIA a menudo intenta desactivar
nouveau
, lo cual es correcto. Sin embargo, asegúrate de que no intente hacer nada con el controladorradeon
. Después de la instalación, reinicia. - Al reiniciar, la tarjeta NVIDIA debería estar utilizando su controlador propietario. La R9 290 debería estar utilizando
radeon
.
- Para la NVIDIA 250GTS en Kubuntu 13.10, lo más probable es que necesites el paquete
- Configuración Manual de X.org:
Aquí es donde entra el „arte” de la configuración. Necesitarás crear o modificar el archivo
/etc/X11/xorg.conf
. Si no existe, puedes generarlo inicialmente consudo nvidia-xconfig
, pero luego tendrás que editarlo. Un ejemplo de configuración para dos monitores (uno en cada tarjeta) o para asegurar que ambas sean reconocidas podría ser:Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" 0 0 Screen 1 "Screen1" RightOf "Screen0" # O la posición que desees InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" EndSection Section "Files" ModulePath "/usr/lib/xorg/modules" FontPath "/usr/share/fonts/X11/misc" FontPath "/usr/share/fonts/X11/cyrillic" FontPath "/usr/share/fonts/X11/100dpi/:unscaled" FontPath "/usr/share/fonts/X11/75dpi/:unscaled" FontPath "/usr/share/fonts/X11/Type1" FontPath "/usr/share/fonts/X11/100dpi" FontPath "/usr/share/fonts/X11/75dpi" FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" EndSection Section "Module" Load "glx" Load "extmod" Load "dri" Load "dri2" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/psaux" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "kbd" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Unknown" ModelName "Unknown" Option "DPMS" EndSection Section "Monitor" Identifier "Monitor1" VendorName "Unknown" ModelName "Unknown" Option "DPMS" EndSection Section "Device" Identifier "NVIDIA_Card" Driver "nvidia" VendorName "NVIDIA Corporation" BusID "PCI:1:0:0" # Reemplaza con el BusID real de tu NVIDIA EndSection Section "Device" Identifier "AMD_Card" Driver "radeon" VendorName "Advanced Micro Devices, Inc." BusID "PCI:2:0:0" # Reemplaza con el BusID real de tu AMD EndSection Section "Screen" Identifier "Screen0" Device "NVIDIA_Card" Monitor "Monitor0" DefaultDepth 24 Option "AllowEmptyInitialConfiguration" "True" # Puede ayudar SubSection "Display" Depth 24 EndSubSection EndSection Section "Screen" Identifier "Screen1" Device "AMD_Card" Monitor "Monitor1" DefaultDepth 24 Option "AllowEmptyInitialConfiguration" "True" SubSection "Display" Depth 24 EndSubSection EndSection
Notas importantes para el
xorg.conf
:- Asegúrate de que los
BusID
coincidan con los que obtuviste delspci
(pueden serPCI:1:0:0
o similares, o en formato01:00.0
– prueba ambos si uno no funciona). - La opción
"AllowEmptyInitialConfiguration" "True"
a veces ayuda al X server a arrancar incluso si una pantalla no se detecta inicialmente. - Si solo quieres que una tarjeta muestre la interfaz gráfica y la otra sea para cómputo o un segundo monitor auxiliar, puedes ajustar la sección
ServerLayout
.
Después de modificar
xorg.conf
, reinicia el sistema X.org (o el ordenador completo). Si la pantalla se queda en negro, accede a una terminal de recuperación (Ctrl+Alt+F1) y revisa los logs de X.org en/var/log/Xorg.0.log
. - Asegúrate de que los
Opción 3: ¡El Santo Grial (Casi Imposible)! (NVIDIA Propietario + AMD FGLRX Propietario) 💀
Si alguna vez has intentado esto en Kubuntu 13.10, sabrás que era una receta para el desastre. La probabilidad de éxito en conseguir que ambos controladores propietarios coexistieran de forma funcional era mínima, casi nula, sin dedicar una cantidad desmesurada de tiempo y conocimiento profundo del kernel y X.org.
„En la era de Kubuntu 13.10, intentar instalar simultáneamente los controladores propietarios de AMD (fglrx) y NVIDIA era como invitar a dos elefantes a compartir una tienda de porcelana: el resultado más común era una pantalla en negro y la necesidad de una reinstalación del sistema.”
El problema radicaba en que ambos conjuntos de controladores manipulaban las mismas partes críticas del sistema (bibliotecas GLX, módulos del kernel, etc.) de formas incompatibles. La instalación de uno casi siempre rompía la funcionalidad del otro. Por lo tanto, esta opción no se recomienda bajo ninguna circunstancia para Kubuntu 13.10.
Resolviendo Problemas y Consideraciones Finales 🛠️
Si te enfrentas a una pantalla en negro o problemas gráficos después de los cambios:
- Accede a una Terminal de Texto: Presiona Ctrl+Alt+F1 (o F2-F6) para ir a una terminal de texto.
- Revisa los Logs de X.org: El archivo
/var/log/Xorg.0.log
es tu mejor amigo. Busca líneas que comiencen con(EE)
(Error) o(WW)
(Advertencia). Te darán pistas valiosas sobre lo que está fallando. - Desinstala y Prueba: Si no puedes arrancar, puedes intentar desinstalar el último controlador que instalaste. Por ejemplo, si sospechas de NVIDIA:
sudo apt-get purge nvidia*
y reinicia. - Blacklisting de Módulos: A veces, el kernel intenta cargar un módulo de código abierto (como
nouveau
oradeon
) cuando ya hay un propietario. Puedes bloquearlos creando un archivo como/etc/modprobe.d/blacklist-graphics.conf
con contenido como:blacklist nouveau blacklist radeon blacklist amdgpu
Y luego ejecutar
sudo update-initramfs -u
y reiniciar. Esto es más útil si solo vas a usar un controlador propietario, pero en el escenario híbrido, no querrías bloquearradeon
.
Este viaje por la configuración multi-GPU en Kubuntu 13.10 es un claro ejemplo de cómo ha evolucionado el ecosistema Linux. Lo que antes era un campo minado de conflictos y configuraciones manuales complejas, hoy en día es significativamente más manejable gracias a proyectos como PRIME, la mejora continua de los controladores de código abierto (especialmente amdgpu
) y la maduración de X.org y Wayland.
Mi opinión personal, basada en la experiencia de aquellos años, es que la estrategia híbrida (NVIDIA propietario + Radeon de código abierto) era la única senda realista para obtener un rendimiento aceptable en la tarjeta NVIDIA mientras se mantenía una estabilidad mínima en el sistema. La R9 290, aunque potente, estaba condenada a un rendimiento subóptimo con radeon
en Kubuntu 13.10 si se buscaba la coexistencia.
Si hoy te aventuras en esta configuración, es una prueba de paciencia y pericia. Pero al final, el logro de ver ambas tarjetas trabajando, incluso de forma limitada, es una victoria que todo „sysadmin” casero puede celebrar. ¡Mucha suerte y que tus pantallas permanezcan iluminadas! ✨