ArchiTecnologia

Aprendizaje abierto. Conocimiento libre.

ArchiTecnologia
Código abiertoEntrevistaLinux

Samuel Iglesias: entrevista exclusiva para AT

Otra entrevista más que se une a la larga serie. Esta vez con Samuel Iglesias como protagonista. Para los que no lo conozcan, es un programador que trabaja en Igalia, desarrollador de drivers de código abierto OpenGL/Vulkan, drivers MESA, entre otros proyectos, así como miembro de la junta de Xorg Foundation. ¿Quieres conocer más? Pues te invito a seguir leyendo la entrevista completa…

Architecnología: Siempre suelo preguntar al principio: ¿Quién es Samuel Iglesias? (Descríbete)

Samuel Iglesias: Soy un asturiano de 35 años, padre de familia. Soy ingeniero de telecomunicación por la Universidad de Oviedo. Tras acabar la carrera, me incorporé al mundo laboral donde llevo más de 12 años trabajando, la gran mayoría con software libre. Soy un apasionado del software y del hardware libre, de la buena gastronomía y de conocer sitios nuevos.

AT: ¿Cuándo y cómo te comenzó a apasionar la tecnología?

SI: Pues todo empezó de pequeño, cuando mi padre nos trajo a mis hermanos y a mí un ordenador a casa. Recuerdo perfectamente que fue en el año 95 ya que Windows 95 acababa de salir al mercado. Desde entonces llevo trasteando mucho con ordenadores.

AT: ¿Tienes algún referente? ¿Alguna persona que te haya inspirado para lo que ahora haces?

SI: Pues tuve varios referentes que me inspiraron en mi carrera profesional, aunque no son famosos. La persona que más me marcó fue un profesor del instituto, que le encantaba cacharrear con aparatos electrónicos y transmitía esa pasión a sus alumnos. Gracias a él, escogí la carrera de Ingeniería de Telecomunicación precisamente por ser una buena mezcla entre las dos disciplinas que más me gustaban: informática y electrónica.

En cuanto al software libre, mi inspiración siempre fue principalmente la comunidad. Al principio la comunidad asturiana, tanto la que había en la Universidad como la que formaba parte de la asociación AsturLiNUX. Esta comunidad estaba formada por gente muy experta y con muchas ganas de ayudar a novatos como yo a meterse en el mundo del software libre. Ese espíritu es el que me inspira a contribuir al software libre y ayudar a la comunidad en la medida de mis posibilidades.

AT: ¿Cómo fue tu comienzo en el mundo del open-source? ¿Y en Igalia?

SI: Mi aventura con GNU/Linux empezó a finales de 2004. Había comprado una revista de informática donde regalaban un CD con SUSE 9.1 Professional que instalé en un ordenador de casa. En ese momento, me di cuenta que me gustaba y que quería aprender mucho más sobre ello. Así que me uní al grupo de usuarios de GNU/Linux de Asturias, AsturLiNUX.

Gracias a ellos, aprendí lo que es la comunidad y el software libre. En aquel momento ayudé en la organización de las Jornadas del Software Libre que hacía AsturLinux y fui miembro de su junta directiva durante varios años. Con el paso del tiempo, mi hobby fue la llave de los puestos de trabajo que fui desempeñando a lo largo de mi carrera: primero en el desarrollador del sistema de control de tráfico aéreo en Indra, luego desarrollador de drivers de Linux para el sistema de control de los aceleradores del CERN y finalmente desarrollador de drivers gráficos en la consultora de software libre llamada Igalia.

En Igalia entré en el año 2012, justo después haber trabajado en el CERN. Igalia ya era conocida como uno de los principales referentes empresariales de software libre de España, con un modelo organizativo asambleario muy diferente al resto de empresas tecnológicas y donde los empleados son los dueños de la empresa. Ya dentro de Igalia, me fui especializando en el desarrollo de drivers libres para tarjetas gráficas en Mesa, que es donde estoy trabajando actualmente.

No obstante, esa pasión de colaborar con la comunidad más allá del código todavía sigue estando ahí. Pese a que AsturLiNUX ya no existe, soy miembro de la asociación de usuarios de GNU/Linux de Galicia, GPUL; miembro de Free Software Foundation y miembro de Free Software Foundation Europe. También soy miembro de la junta directiva de la X.Org Foundation desde el año 2019, la organización que sirve de paraguas para todos los projectos relacionados con el stack gráfico libre (X11, Wayland, Mesa, DRM…), donde fui parte de la organización de la X.Org Developers Conference 2018 en A Coruña, y actualmente comparto dicha experiencia con los organizadores de nuevas ediciones de la XDC desde entonces.

AT: Desde Igalia se está liderando el desarrollo de los controladores Vulkan para la Raspberry Pi 4 en colaboración con Raspberry Pi Foundation. ¿Cuándo y cómo comenzó este apasionante proyecto?

SI: Este proyecto empezó en el año 2019, cuando la Raspberry Pi Foundation se puso en contacto con nosotros para mantener el driver de OpenGL y para colaborar en el desarrollo desde cero del driver de Vulkan para la Raspberry Pi 4.

Actualmente el driver está madurando muy rápidamente y está muy cerca de obtener la conformidad de Vulkan 1.0. Una vez conseguido esto, quedaría mucho trabajo por hacer todavía: implementar más extensiones y características, intentar obtener la conformidad de versiones de Vulkan más recientes, así como optimizar el driver para mejorar su rendimiento.

*Nota: en el momento de hacer esta entrevista no era así, pero ahora ya sí es Vulkan 1.0 conformant.

AT: Trabajas también en el desarrollo de controladores gráficos de código abierto de OpenGL, Vulkan y también MESA (drivers para Intel GPUs)… ¿Cuál es el proyecto que más te ha ilusionado o del que te sientes especialmente orgulloso?

SI: Estoy muy orgulloso de mi trabajo en los drivers de Vulkan y OpenGL para tarjetas gráficas de Intel. Es muy gratificante desarrollar extensiones que permiten a otros desarrollares realizar nuevas aplicaciones o, en el caso de usuarios, ejecutar el último videojuego que ha salido al mercado.

Recuerdo con cariño una de mis primeras tareas en el driver de Intel. Se trataba de la implementación de geometry shaders para Sandy Bridge en 2014, que para entonces ya era un HW antiguo. Ello permitió soportar OpenGL 3.3, cuando el driver de Windows había quedado estancado con soporte para OpenGL 3.1. Eso muestra que el software libre permite añadir mantener adecuadamente el soporte a hardware antiguo, incluso añadiendo características que el propietario no tiene.

AT: ¿Cómo ves el presente y futuro del gaming en GNU/Linux? Y ¿Algo que mejoraría que no te gusta actualmente?

SI: Hay estadísticas que muestran que el porcentaje de jugadores en GNU/Linux anda por debajo del 1% de manera constante desde hace años. Es verdad que se ha trabajado muchísimo en estos últimos años para hacer de GNU/Linux una plataforma atractiva para los gamers y los estudios de videojuegos, pero todavía queda mucho por hacer.

Creo que el presente y futuro del gaming está muy ligado a la inversión que hagan las empresas de HW y de los estudios de videojuego, los principales interesados en que GNU/Linux triunfe en el sector gaming. Intel ha estado haciendo un trabajo excepcional en Mesa durante muchos años, AMD lleva contribuyendo en Mesa desde hace tiempo, y otras empresas como Google u organizaciones como la Raspberry Pi Foundation invierten en drivers libres para tarjetas gráficas embebidas.

Mencionar también la implicación de Valve en mejorar la experiencia de gaming en GNU/Linux. Tienen desarrolladores trabajando en prácticamente en todo el stack gráfico libre: desde el kernel y drivers en Mesa, llegando hasta X11 y Wayland. También buscan soluciones a problemas relacionados con el gaming como la latencia, para mejorar la experiencia final del usuario.

Me gustaría ver más empresas de este ámbito colaborando con la comunidad y que vean que trabajando upstream juntos ayudaría muchísimo a que GNU/Linux gane cuota de usuarios en general, y en el ámbito del gaming en particular.

AT: Si no me equivoco también eres o has sido mantenedor del Industry pack del kernel Linux. ¿Puedes explicar a los lectores qué es exactamente, su función, y sobre el ANSI/VITA? Es una pieza clave, pero quizás desconocida para muchos…

SI: Industry pack es el nombre comercial del estándar ANSI/VITA 4.0-1995. Define un bus de datos y una serie de interfaces estándares para poder conectar tarjetas mezzanine (módulos) a una tarjeta carrier, y ésta última a la placa base del ordenador, ya sea a través de un bus PCI, cPCI o VME. Viendo el tamaño del chasis de los ordenadores, cómo es el conector entre las distintas tarjetas carrier y los módulos, uno se da cuenta que está diseñado para asegurarse que funciona en entornos con mucha suciedad, polvo o vibraciones, así como que sea fácilmente reemplazable en caso de fallo. De ahí que sea muy usado en algunos sectores de la industria, donde las aplicaciones son relativamente sencillas pero se busca fiabilidad ante todo.

AT: Todo lo que desarrollas está a un nivel bastante bajo. En estos casos viene bien tener conocimientos elevados del hardware y la arquitectura de computadoras. ¿Cómo se has formado en este sentido? ¿Algún/os libros que te hayan ayudado especialmente en este sentido que recomendarías?

SI: Como libros, tengo varias recomendaciones. Para el desarrollo de drivers en el kernel:

  • * “Linux Device Drivers”, de Jonathan Corbet, Alessandro Rubini y Greg Kroah-Hartman.
  • Linux kernel development”, de Robert Love.
  • Computer Architecture”, de Jonh L. Hennessy, David A. Patterson.

En temas gráficos recomiendo los siguientes:

  • Real-time rendering” de Tomas Akenine-Möller and cia.
  • The OpenGL Programming Guide”, de John Kessenich, Graham Sellers y Dave Shreiner.
  • Vulkan Programming Guide”, de Graham Sellers.

Seguro que hay muchos más libros interesantes, pero creo que estos son una buena selección para ir metiéndose en este mundo. Luego, a partir de ahí, cada uno puede ir leyendo lo que más le interese y/o necesite más… así como ir aprendiendo mediante la práctica.

AT: Has trabajado también en el gigante Indra, pero también me ha llamado la atención que has participado en un proyecto de “la catedral de la ciencia”, el CERN. ¡Palabras mayores! ¿Cómo fue? ¿Cuál fue tu trabajo concretamente?

SI: Me uní al departamento que llevaba el sistema de control de los aceleradores de partículas. Mi tarea era el desarrollo de nuevos drivers de Linux para el hardware que usaban en dicho sistema de control, además de hacer labores de mantenimiento y soporte de dichos drivers a otros departamentos del CERN.

Lo que más destacaría de la experiencia de trabajar en el CERN es el entoro multicultural y especializado: hay gente de prácticamente todas las partes del mundo que hacen cosas increíbles. Siempre puedes aprender algo nuevo tanto a nivel personal como a nivel profesional. Realmente es un sitio único que recomiendo visitar alguna vez en la vida y, si tienes la posibilidad, trabajar allí.

AT: Miembro también de X.org… Wayland pretendía ser un sustituto de X, y así lo ha sido en algunas importantes distros que lo han adoptado por defecto. Pero en el caso de Ubuntu han dado un paso atrás. Es extraño que otras distros similares, y con el mismo entorno de escritorio, lo hayan adoptado sin problemas y en el caso de la distro de Canonical tenga esos problemas… ¿Cuál es tu opinión al respecto?

SI: Hay que tener en cuenta que Wayland pretende reemplazar a un protocolo que lleva más de 30 años corriendo en los escritorios de sistemas operativos tipo Unix. No es algo que se pueda hacer en un corto plazo de tiempo: hay muchas características y extensiones que hay que implementar antes de que se haga el cambio, así como asegurarse de tener el soporte de los drivers gráficos. Por ejemplo, los drivers proprietarios de NVIDIA todavía tienen a día de hoy algún problema con Wayland en algunos escritorios.

Ubuntu, sobre todo en su vertiente LTS, es una distribución que busca ser estable. Es normal que sea más conservadora en temas críticos como el stack gráfico. No obstante, viendo la evolución de Wayland, no tengo dudas que Ubuntu acabará usándolo por defecto dentro de unos pocos años.

*Nota: en el momento de hacer esta entrevista, tampoco se había dado la noticia sobre el anuncio de Wayland por defecto para Ubuntu 21.04.

AT: Y ya que estamos con temas relacionados con las interfaces… Canonical también parecía que quería ser pionera en cuanto a la convergencia, como también otros competidores. Hubo una época en la que parecía que no se hablaba de otra cosa, que la convergencia era la nueva panacea. Y ahora nada…¿Qué crees que ha ocurrido? Y en este mismo caso, ¿qué piensas de MAUI Project?

SI: Creo que la apuesta de Canonical con la convergencia tuvo un problema con las expectativas y la realidad. Se creía que la convergencia iba a ofrecer un escritorio tradicional con todas las aplicaciones y con un nivel de usabilidad alto. Todo ello en un teléfono móvil medio, simplemente conectándolo a una pantalla. Se ha visto que realizar esto es mucho más complejo de que lo que parece, y que el nivel de exigencia del hardware es alto también.

Desde entonces, Canonical ha preferido centrarse en áreas más atractivas económicamente como el IoT y el cloud. Quizás otras empresas como Purism o Pine64 puedan retomar el tema de convergencia en sistemas operativos móviles basados en GNU/Linux, y ofrecer una solución a los usuarios.

El proyecto MAUI me parece una idea muy interesante que se apoya en tecnologías KDE para ofrecer la convergencia en escritorio. No lo he visto en funcionamiento todavía, pero lo que he leído en blogs promete mucho. Sinceramente espero que la convergencia venga de un proyecto basado en tecnologías libres.

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja una respuesta

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

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar