[Columna] La experiencia de “intentar” jugar DotA2 en Linux

by • 15/05/2015 • Dota 2, FeaturedComentario (0)2995

Desde mucho tiempo (que se anuncio SteamOS y la compatibilidad nativa de muchos juegos de VALVe en linux) a muchos les ha entrado a picar el bichito de probar Linux y jugar sus juegos favoritos, muchos llegan por la promesa de que el rendimiento en Linux es mayor a lo que se entrega en windows, acá les relatare la odisea de hacerlo.

Muchos dirán, descarga SteamOS, ejecútalo y ya, pero en eso no hay aventura, por lo que descargue Fedora Workstation 21.

Si miramos los requerimientos oficiales de Steam OS, sabremos una idea de lo que necesitaremos de manera mínima para ejecutar al menos algún juego:

  • Procesador: Intel o AMD de 64 bits
  • Memoria: 4 GB o más de RAM
  • Disco duro: 500 GB o más de espacio libre
  • Gráficos: Tarjeta gráfica NVIDIA, Tarjeta gráfica AMD (RADEON 8500 o superior), Gráfica Intel
  • Adicional: Compatibilidad con arranque UEFI, Puerto USB para la instalación

Nuestra Plataforma de pruebas se compone de lo siguiente:

  • Procesador: AMD FX-6300 @ 4.2Ghz
  • Memoria: 10GB RAM
  • Disco Duro: 200GB x 2 RAID 0 (Inutilizable en linux) y un Disco SATA II de 180GB (aca instalaremos el SO)
  • Graficos: AMD RADEON R9 270X
  • Adicional: Sobran puertos USB y tiene UEFI la placa.

¿Resultado? Podría usar SteamOS, pero aun así iré por Fedora.

Capitulo 1: Peleando para Instalar el OS.

Lo primero que hay que hacer obviamente es instalar el sistema operativo (en este caso Fedora Workstation 21), ya que el PC posee UEFI, necesitamos una imagen de instalación compatible con ese sistema, por ende, mi primer intento de descargar la ISO x64 desde la web oficial, no funciono, no booteaba por no ser UEFI, la única manera de hacerlo funcionar era deshabilitando el UEFI y activar el Legacy OS, lo cual dejaría a mi instalación de Windows 8.1 inutilizable, mi primer problema ya había aparecido.

Luego de leer por cerca de 1 hora, molestar a varias personas y 3 intentos frustrados, conseguí una aplicación “oficial” de Fedora para crear liveUSB (formato UEFI compatible), así que luego de cerca de 2 horas perdidas, conseguí iniciar el sistema operativo.

El siguiente problema nace en que la tarjeta de vídeo no tiene soporte right-out-the-box con el sistema operativo, por lo cual después de 3 booteos sin resultados, tuve que iniciar el disco Live utilizado un “modo a pruebas de fallos” (específicamente el troubleshoot boot) para lograr iniciar de una vez por todas y tener un escritorio funcional.

Cuando entramos al escritorio por primera vez, inmediatamente nos sale un mensaje indicando si queremos: “Probar el sistema operativo” o “Instalar el sistema operativo”, ya que sé lo que quiero, le di a instalar el sistema operativo inmediatamente, como estoy utilizando un disco duro dedicado solamente a linux, le di a particionado automático y utilizara mi disco SATA II (que a todo esto es el único que reconoce el instalador, ya que no hay soporte para RAID0 con esta controladora), le di a instalar, asigne una password para el administrador y espere a que finalizara el proceso.

El primer inicio es similar a uno de Windows, debes terminar de configurar un par de cosas (un usuario administrador aparte de root, asignar una password y poner otras configuraciones pequeñas, nada de otro mundo), y finalmente te da las gracias por instalar Fedora y que ojala te guste tu experiencia.

Capitulo 2: Instalando cosas, peleando con otras.

Al igual que Windows, necesitas ciertas cosas para utilizar tu PC y hacerlo productivo, en este caso, linux desde su configuración default incluye muchas utilidades (Firefox como navegador predeterminado, LibreOffice como suite de ofimatica, RhythmBox como reproductor de medios, etc), pero aun así faltan algunas cosas en nuestro sistema operativo, por ejemplo, drivers.

Mucha gente tiene problemas cuando entra al mundo de linux, uno de los mas grandes problemas que te encontraras son los drivers, ya que existen dos tipos: OpenSource (de código abierto) y los Privativos, en palabras simples, el driver OpenSource es de código abierto, por lo cual, cualquier persona que posea conocimientos ad-hoc podría revisarlos ,reparar y/o mejorar los mismos, ya que el código para compilarlos/ejecutarlos/como-lo-quieras-llamar es gratis** y esta a disposición de todos (gratis resaltado, porque hay aplicaciones de pago en linux que después de el pago entregan el código fuente a su comprador, por lo cual OpenSource no necesariamente representa que algo es gratis), y por otra parte están los drivers privativos, que generalmente son hechos por el fabricante de piezas de hardware (AMD, NVIDIA, CREATIVE, ETC), de los cuales el código fuente no esta disponible, lo cual imposibilita a la comunidad de linux de poder revisarlos, mejorarlos o reparar errores que estos posean, por lo que el avance, mejora y optimizacion de estos recaen absolutamente en el fabricante (por algo VALVe ha ejercido presión a Nvidia y AMD para que mejoren sus drivers y obtener un rendimiento igual o mayor al de linux),  lo que es hoy a lo que eran los drivers privativos de AMD y NVIDIA hace 5 años atrás, han dados pasos gigantes, increíbles aveces.

Instalar cosas en linux aveces es mucho mas sencillo que en Windows, es cosa de tipear un comando (Yum en CentOS/Fedora/RHEL, apt-get en Debian-Based y Yast en OpenSuse) seguido de la acción a tomar (Install o Remove) y el paquete que quieres instalar, para que se hagan una idea, instalar Firefox dentro de fedora es tan simple como poner el siguiente comando en la consola:

yum install firefox

Si, “así tal cual”, esto es por que dentro del funcionamiento del sistema operativo (o como fue planeado que sea) existen los repositorios, que son en simples palabras un servidor privado o publico, mantenido por “X” entidad o persona, con el fin de proveer software especifico-para-distribuciones-linux o paquetes genéricos, mucho software base se mantiene en los repositorios de los creadores de la distribución linux (Distribucion Linux == SO que usas, por ejemplo Fedora es una distribución linux mantenida por “The Fedora Project”, Ubuntu es una distribución linux mantenida por “Canonical”, SteamOS es una distribución linux mantenida por “VALVe/Steam”).

Ya que nuestra instalación esta fresca, lo primero que hice fue instalar el driver Catalyst (Driver propietario de AMD para sus tarjetas gráficas), cualquier persona que sabe un poco de linux y lo ha utilizado sobre AMD, sabe que es un parto instalar los drivers Catalyst (Muchas veces significa corromper la instalación de linux debido a módulos incompatibles o vaya-a-saber-dios-que).

Mi procedimiento fue el siguiente:

Instalar Catalyst -> YOLO -> Corromper el SO

Reinstale el Sistema operativo completamente (No toma mas de 15 minutos hacerlo), pero ahora investigue un poco, preguntando y leyendo me di cuenta que GNOME3 (El software que provee la interfaz de escritorio, en palabras sencillas), no es compatible con Catalyst por “X” motivo que no discutiremos, tengo en mis manos varias soluciones, cambiarme de desktop o hacer malabares como las boletas de PENTA para lograr que funcione sobre GNOME3/GDM, mi opcion mas facil fue instalar Mate-Desktop, muy cool, ya que luce exactamente igual que GNOME2 y provee soporte para catalyst.

yum groupinstall mate-desktop

Utilice ese comando y cruce los dedos para que nada malo pasara, nada paso, reinicie el PC, y ahora en la pantalla de Log-IN había un engranaje que me permitía cambiar entre Gnome3<->Mate-Desktop, misión cumplida.

Inicie sesión con Mate-Desktop, tiene un aspecto bastante sobrio, similar a un MAC, ahora ejecuto la instalación de Catalyst, instalo el driver con la opción de generar un modulo para mi distribución (Compilar desde su fuente, en palabras amigables), la instalación informa que concluyo con éxito, reinicio el PC para aplicar cambios.

*BEEEEP* Error, Fedora bootea hasta Plymouth (Software que provee una animación muy bonita de inicio) y de ahí se va a negro, otro problema, here we go boy.

Nuevamente preguntando y leyendo por internet aprendí que Gnome es una cosa y un Desktop-Manager es otra cosa, aunque utilice Mate-Desktop, aun existe por detrás un componente de Gnome que sigue siendo incompatible con catalyst, por ende, debo cambiar de Desktop-Manager a uno que si soporte Catalyst, por ejemplo Lightdm (incluido en la instalación de Fedora).

Reinicio el PC, y al momento de bootear el BootLoader da 3 opciones, la primera siempre es nuestro S.O “así tal cual”, la segunda es una versión “Anterior” (en algunos casos carga otro kernel) y la ultima es la versión “rescue” (de rescate no tiene nada porque igual usa GDM y no va a bootear), por lo que tuve que editar la linea de arranque del BootLoader, agregando un “3” al final de la linea Linux[…] para que el sistema operativo inicie el RunLevel3 (Modo consola para los amigos, con soporte de red por si hay que descargar algún paquete), deshabilite el GDM desde systemctl y habilite LightDM, ejecute el servicio LightDM, la pantalla se fue a negro, y apareció nuevamente mi Log-In con Mate-Desktop, por ahora todo marcha sobre ruedas.

Capitulo 3: Actualizando y instalando Steam.

Lo primero que hago al entrar a mi S.O nuevamente, es actualizar, utilizando el comando yum update es lo mismo que abrir Windows Update y actualizar el S.O, de algo me percate y boom, groso error, el sistema actualizaría el Kernel de la version 3.17 a 3.19.x.

¿Que tan terrible puede ser Actualizar el Kernel? en una instalación fresca no hay problemas, pero si instalaste drivers privativos (sobre todo Catalyst) es un PROBLEMON, los módulos (en palabras para nuestros parroquianos, un modulo es un “complemento” que se le pone al kernel para que este haga cosas especificas, como lo son los drivers) se compilan o se instalan dependiendo de la versión de nuestro kernel, por ende, instale catalyst para 3.17, no para 3.19.x, desconocía este problema, por ende termine de actualizar y como siempre, reinicie para que los cambios tomaran efecto, here we go again boys.

Inicia el S.O y el mismo problema anterior, llega hasta Plymouth y pantalla negra, oops, no hay driver de vídeo, por ende no hay señal de vídeo, hice los pasos mencionados en el capitulo anterior, pero esta vez no hay efecto alguno, el problema iba mas allá, nuevamente a preguntar y averiguar en internet.

Leyendo por internet encontré el blog de este tipo, que indica que hay que extraer el instalador catalyst, parchar utilizando la herramienta “Patch” (que por cierto hay que instalar) para que reconozca el kernel 3.19 y finalmente ejecutar la instalación para crear nuestro nuevo y flamante modulo fglrx para nuestro kernel nuevo (fglrx es el nombre del driver AMD en linux)

Nuevamente inicio, pero esta vez consigo ingresar al escritorio, problem solved.

Ahora dispongo todo lo que me queda de paciencia a instalar Steam, para ello hay que activar RepoFORGE Free y non-free (ya que los paquetes de Steam se encuentran dentro de este repositorio), simplemente le doy a yum install steam y espero a que finalice.

Inicio Steam, hago Log-In con mi usuario y password, todo es hermoso, lo logre, ahí tengo mi interfaz, me dispongo a descargar Dota2 y a esperar esa hora que se demora en bajar 7GB.

Capitulo 4: Jugando, o intentando jugar.

Termino de bajar el juego, lo inicio y todo normal, hasta que entro de Espectador a la partida de alguien, nuevo problema, el Fog of War cubre todo el mapa, las unidades no tienen visión (acá hay un ejemplo, personalmente no tome screenshots), que problema mas grande (torna injugable el juego), suerte la mía, me ayudaron (por que seguí preguntando) y a la vez encontré este bug en internet, sucede que SeLINUX bloquea a Dota2 para ejecutar ciertos códigos (no profundizaremos en eso, no va al caso), por lo cual, la solución mas rápida es deshabilitar SeLINUX (Consejo: Esto es demasiado “yolo” en entornos en producción o equipos de trabajo, es una brecha de seguridad gigante, acá lo hice solamente porque este S.O lo quería de pruebas para jugar), deshabilito SeLINUX y BOOM, el juego se ejecuta normalmente, pero con un grave problema.

Creo una partida privada (Habilite el contador de FPS dentro de Steam), y me percato que el juego se ejecuta a 30 FPS Inestables, siendo que en Windows, mismo hardware, me da 120 FPS fijos, el problema es que no había utilizado las librerías OpenGL de fglrx y seguía utilizando las de Mesa (las que vienen por defecto con el SO), me dispongo a cambiarlas, ejecuto nuevamente el juego y el problema persiste, pero ligeramente mas estables los 30FPS, aun así el juego es injugable, ya que si alguien castea algo o aparece otro héroe en la pantalla, los FPS bajan a 10 o incluso menos, y hasta ahora, sigo viendo que es lo que provoca este problema (en foros hay gente que con la misma tarjeta y menor procesador consiguen mas de 80FPS), ya que quiero jugar DotA2 en Linux, por lo que he visto el juego tiene otro visual, algo mas mejorado (Creo que la versión OpenGL tiene mejores gráficos y efectos que DirectX) y quiero al menos, jugar una partida.

Palabras Finales.

Como siempre, deben hacer esto bajo su propio riesgo, los drivers son malos (he leído que hay tarjetas quemadas por los mismos), AMD y sus drivers apestan en Linux, y que por sobre todo, deben tener una paciencia de monje tibetano, por que de lo contrario, no lograran nada aparte de frustraciones, pero cuando uno empieza a solucionar los problemas empieza a nacer una sensación de triunfo, y a la larga te entretienes mas solucionando problemas en linux que jugando el juego que planeabas jugar, aun queda por probar SteamOS, pero sinceramente no espero mucha diferencia, ya que básicamente son lo mismo, excepto de que SteamOS ya viene con steam y algunos drivers pre-instalados.

Espero que este articulo haya sido de su gusto, hayan aprendido algo sobre Linux, como siempre, puede opinar/aportar en los comentarios o en nuestra FanPage de Facebook

Comentarios de Facebook

Related Posts

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *