17 puntos por GN⁺ 2025-05-20 | 6 comentarios | Compartir por WhatsApp
  • Microsoft anunció que todo WSL pasa a ser de código abierto, lo que también responde al primer issue del repositorio Microsoft/WSL: “¿Será de código abierto?”
  • En Microsoft/WSL en GitHub se puede descargar el código fuente, compilarlo directamente o agregar funciones y corregir errores
  • El código publicado incluye la herramienta de línea de comandos, servicios, demonios para Linux e incluso el servidor de compartición de archivos basado en Plan9
  • WSL está compuesto por el ejecutable de Windows y varios componentes que funcionan dentro de la máquina virtual (VM) de Linux
    • Herramientas CLI: wsl.exe, wslconfig.exe, wslg.exe
    • Servicio de WSL: wslservice.exe, encargado del arranque de la VM, ejecución de distribuciones y compartición de archivos
    • Demonios de Linux: init, gns, localhost, entre otros, que realizan funciones de red y reenvío de puertos
    • Servidor Plan9: cumple la función de compartir archivos entre Windows y Linux
  • Componentes que ya se habían publicado como código abierto
    • WSLg: componentes relacionados con el entorno gráfico con soporte para Wayland y servidor X
    • WSL2-Linux-Kernel: código fuente del kernel de Linux
  • Componentes que todavía no se han abierto
    • Lxcore.sys: controlador principal de WSL1
    • P9rdr.sys, p9np.dll: sistema de redirección de archivos que da soporte a la ruta \\wsl.localhost en Windows

Contexto del cambio a código abierto e historia de WSL

  • WSL se anunció por primera vez en BUILD 2016 y se incluyó en Windows 10 Anniversary Update
  • WSL1 tenía una arquitectura basada en lxcore.sys, que procesaba syscalls de Linux dentro del kernel de Windows
  • WSL2 se anunció por primera vez en 2019 y mejoró la compatibilidad y las funciones al usar un kernel de Linux real
  • Después siguió creciendo con funciones como soporte para GPU, ejecución de apps GUI (wslg) y soporte para systemd
  • Desde 2021 se ofrece como un paquete independiente de Windows a través de Microsoft Store
    • La primera versión fue 0.47.1 (preview), y luego en 2022 la 1.0.0 amplió el soporte hasta Windows 10
  • Desde Windows 11 24H2, el WSL integrado anterior pasa al nuevo WSL basado en paquetes
    • wsl.exe se mantiene para facilitar la transición de los usuarios

Versión más reciente y funciones

  • La versión más reciente es WSL 2.5.7, que se ha ido mejorando durante 4 años a través de publicaciones de lanzamiento en GitHub que suman unas 9 páginas
  • Entre las mejoras principales están red en espejo, túnel DNS, Session 0 y soporte para proxy/firewall

Aportes de la comunidad

  • Durante años, la comunidad ha contribuido a mejorar WSL con reportes de errores, propuestas de funciones y análisis no oficiales
  • Incluso antes de la publicación del código fuente ya había contribuciones reales muy activas, y ahora también serán posibles las contribuciones directas al código
  • Microsoft agradece el apoyo de esta comunidad y espera una sinergia aún mayor en la evolución de WSL en adelante

Cómo contribuir

  • Si tienes curiosidad por la estructura del código o la implementación de funciones, o hay algo que quieras mejorar
    • puedes participar en el repositorio microsoft/WSL
    • es posible contribuir de varias formas, como compilar directamente, enviar PRs o reportar issues

6 comentarios

 
ing03201 2025-05-27

Desde la perspectiva de alguien que usa Endeavour +lustre / Windows 11 + WSL + WSA,
la segunda opción es más cómoda.
Pero en rendimiento, la primera es mejor.

 
iolothebard 2025-05-21

Parece que esta vez también despidieron a mucha gente del equipo de WSL…

 
forgotdonkey456 2025-05-21

Últimamente, el rumbo de MS de volver algo open source con el pretexto de que “lo impulsa la comunidad” cuando no hay personal jajaja..

 
zihado 2025-05-21

Es un descarte, la verdad.

 
ksb9770 2025-05-20

WSL1 es la mejor máquina para un entorno de desarrollo cruzado. La E/S también es rápida y los comandos basados en Linux se pueden ejecutar de inmediato. WSL2 es más lento para la compilación cruzada que WSL1.

 
GN⁺ 2025-05-20
Opiniones en Hacker News
  • Siento como si pagara un impuesto de karma cada vez que dejo un comentario elogiando WSL en Hacker News. Me da la impresión de que WSL es incluso más potente que Linux, porque permite ejecutar con mucha facilidad varias versiones de Linux al mismo tiempo en una sola computadora. Creo que su gran atractivo es que cosas como el soporte para dispositivos tipo Docker, almacenamiento local, mapeo de red y demás funcionan de inmediato en una desktop o laptop sin scripts especiales ni configuración adicional. Por ejemplo, si un proyecto necesita Ubuntu22 y otro Ubuntu24, es una maravilla no tener que vivir pendiente de las actualizaciones del sistema operativo

    • Decir que es "más potente que Linux" es una exageración; en realidad WSL es una máquina virtual. Su principal fortaleza es que automatiza muchas funciones de conveniencia. Pero sostengo que un entorno realmente más cómodo es uno donde ni siquiera hace falta una VM. Herramientas como Distrobox y toolbx ofrecen algo parecido, y en NixOS también se puede probar fácilmente un entorno Linux normal. Además, ahí tienes aceleración por hardware, las apps gráficas funcionan directamente, no existe el problema del puente 9p lento y tampoco aparecen temas como la burbuja de memoria de la VM. WSL sí fue revolucionario para los usuarios de Windows, pero para los usuarios de Linux no hace falta una VM así

    • En Linux también se puede lograr algo similar con Distrobox, pero reconozco que poder usar Windows + WSL juntos es claramente atractivo. Si Microsoft lanzara una edición Dev con menos software innecesario, anuncios, Copilot y telemetría excesiva, y además ofreciera hardware tipo MacBook, creo que sí podría volver a atraer a suficientes desarrolladores que se están yendo de Apple. En lo personal, alternando entre Mac y Linux, hay aspectos de usabilidad donde prefiero la combinación Windows + WSL. PowerToys, WSL, PowerShell y la automatización del setup de la PC mediante PowerShell + Winget DSC son realmente excelentes, pero la falta de amabilidad de Windows con el usuario y sus tiempos de actualización exageradamente largos son algo que simplemente no soporto. Sería mejor si adoptara una base inmutable con actualizaciones basadas en imágenes, como macOS. También menciono como desventaja del lado de Windows la falta de un rendimiento tipo laptop M4 Pro

    • Creo que afirmar que "WSL es más potente que Linux" sí es una clase de comentario que merece perder karma. WSL está bien y lo uso todos los días, pero la realidad es que ejecutar Linux sobre hardware compatible da una experiencia mejor. Así como una VM no puede ser tan buena como lo nativo, el software de Windows también funciona mejor en Windows. Comparado con eso, en WSL he visto E/S lenta, latencia y errores gráficos, crashes ocasionales, gestión ineficiente de memoria y anomalías de red, entre varios problemas. Si tienes una computadora muy potente y usas sobre todo CLI, WSL puede ser cómodo, pero al final depende de lo que cada quien necesite

    • WSL en realidad sí es Linux. Sobre todo desde WSL2, donde ya entra por completo en una estructura de VM, mientras que WSL1 funcionaba sobre el kernel de Windows y eso me parecía genial. Dicho eso, me molesta mucho que el sistema de archivos NTFS sea lento y que haya que lidiar con Windows en sí. Para mí el número de karma es solo un número, así que no me preocupa

    • Para mí WSL ha sido bastante inestable, y cada vez que la computadora sale del modo suspensión es obligatorio reiniciar por problemas de red entre la VM y el host. Si trabajas dentro del directorio de usuario de Windows, los comandos de git tardan varios segundos por la lentitud del driver del sistema de archivos, así que al final terminas administrando dos directorios home, lo cual es una molestia. Incluso en el proceso de setup hubo muchos problemas oscuros que resolver: DNS, VPN, errores de prioridad de red, desfases de sincronización horaria, etc. Al final terminé reiniciando Windows todo el tiempo. Yo no necesito usar varios sistemas operativos, y en mi empresa la mayoría de las herramientas corren dentro de una VM Linux, que es la única forma razonable. El sistema operativo visible solo crea problemas y la interacción entre dos sistemas operativos exige tareas innecesariamente complejas

  • Cuando WSL salió por primera vez, me puse muy feliz. Se sentía como si por fin se hiciera realidad el sueño de unificar juegos y desarrollo en una sola PC con Windows. Pero con el tiempo fueron apareciendo muchos problemitas, como fallas al instalar paquetes y roces entre los límites de los sistemas operativos, y el proceso se volvió cada vez más áspero. Con Proton de Valve y las mejoras recientes en el gaming sobre Linux, terminé cambiándome por completo a Ubuntu y NixOS. Ahora tengo una ligera incomodidad en la parte de juegos, pero el entorno de desarrollo me resulta mucho más agradable. Salvo por algunos juegos AAA que no funcionan, creo que la experiencia es mejor que Windows + WSL

    • Yo tuve una experiencia parecida, y ahora incluso me parece más fácil instalar Linux. Con las funciones de spyware de Windows, siento que cada vez hay menos razones para usarlo

    • Aunque veo una excepción si usas una tarjeta gráfica Nvidia

    • Pregunta cuáles fueron los juegos que dieron problemas

    • Creo que casi todos hemos pasado por algo así. Si Windows no tuviera el gaming (GPU), hoy no tendría tanta relevancia, y también recuerdo el caos de proyectos pasados donde uno iba cambiando el entorno de compilación entre msvc, cygwin, msys2 y otros. Ahora con WSL es más fácil compilar ciertas cosas, pero hasta el proceso de cambiar una sola variable de entorno me agota, y no quiero volver a repetir este enfoque nunca más

  • Yo más bien recomiendo usar Windows como máquina virtual dentro de Linux. Si alguna vez te dan ganas de usar Linux desde Windows, mejor cámbiate de una vez a Linux y no mires atrás. No he vuelto a Windows en 15 años. Considerando la realidad actual de Windows, hasta en VM me cuesta querer usarlo

    • Para trabajos relacionados con GPU, como juegos o Adobe suite, si quieres ejecutar Windows en una VM necesitas pasarle una GPU aparte a la VM, y quien no tenga eso tiene que conformarse con un entorno sin aceleración, así que el enfoque de VM no es tan fácil. Si corres Photoshop con el driver QEMU QXL, el rendimiento es pésimo, y VirGL ni siquiera soporta invitados Windows. VMWare y VirtualBox son un poco mejores, pero aun así no llegan a lo nativo

    • Creo que en la mayoría de los hilos sobre Windows se nota una división clara entre quienes necesitan Windows por apps de productividad y quienes no. En mi caso, como uso apps de productividad relacionadas con GPU, una VM no sirve y al final tengo que usar Windows de forma nativa. Si solo usas apps ligeras, una máquina virtual puede bastar, pero para trabajo serio como CAD o gaming no me parece adecuado

    • Pasé años usando solo Linux, luego volví a Windows y después otra vez a Mac. Problemas de compatibilidad con wine, alternativas de software incompletas —por ejemplo, GIMP no reemplaza Photoshop— y la fealdad del escritorio cuando mezclas apps Qt y GTK hacen ver que Linux tampoco es una solución universal

    • Como contraargumento, desde la experiencia digo que dispositivos VR como Valve Index simplemente no funcionan bien en ese entorno, es decir, usando una VM de Windows sobre Linux. Fui usuario hardcore de Linux desde chico, pero hay excepciones especiales como esta, así que no es fácil generalizar

    • Como dato relacionado, comparte el enlace oficial donde Windows distribuye imágenes de VM de evaluación, y avisa que cuando expiran la desktop se pone negra y la PC se apaga cada hora, entre otras restricciones. También comenta que las imágenes de evaluación más recientes no se han actualizado en más de 6 meses, aunque al registrarte sí te dan un ISO

  • El nombre Windows subsystem for Linux siempre me confunde. A simple vista parece una versión oficial de Wine o algo por el estilo, pero en realidad sí es un subsistema de Windows para Linux. Suena como si Microsoft estuviera dándole funciones a Linux, y eso me molesta

    • Explica que Microsoft no podía empezar el nombre del proyecto con "Linux", así que terminaron usando WSL

    • Dice que el nombre viene de un proyecto pasado llamado Windows Subsystem for Unix. Siempre ha sido un nombre que funciona distinto a lo que uno esperaría

    • Propone ingeniosamente como mejora una frase ambigua tipo subsistema de Windows para Linux

    • Coincide en que es un subsistema para ejecutar Linux en Windows, pero que el nombre sí resulta confuso

  • En los últimos años he desarrollado ocasionalmente con WSL. Cuando funciona bien, es de lo mejor, pero cuando algo se rompe se vuelve una pesadilla. He tenido problemas constantes con red, VPN, XServer, escalado de Windows, gráficos con aceleración por hardware y más. De verdad siento que he pasado más tiempo resolviendo problemas que desarrollando, y nunca sentí que eso mejorara. WSL es rápido y potente, pero para uso diario es un entorno demasiado pesado para mí. En cambio, uso MSYS2 como opción principal; será más lento, pero al menos su gran ventaja es que es estable

    • Yo sigo usando la beta de WSL, y ni siquiera puedo actualizar porque temo que se rompa el entorno que ahora sí me funciona
  • La semana pasada hubo despidos masivos en Microsoft incluso después de resultados récord; me pregunto si esto será un efecto secundario de eso

    • En una empresa tan grande, un recorte del 3% realmente no tiene efecto, a menos que eliminen por completo toda la compañía o algún proyecto. De hecho, en las grandes empresas suele haber exceso de personal, así que eso no es nada

    • Decisiones, preparación y ejecución de algo como open source en una empresa así jamás pueden ocurrir en solo una o dos semanas; es un proyecto enorme

    • Expresa preocupación porque, viendo el Build de esta vez y las noticias relacionadas, el ambiente general actual hace difícil tomarlo solo de forma positiva

    • Coincide en que, según lo anunciado, esto es resultado de una preparación de largo plazo y no tiene relación con los despidos recientes

  • Aclara que lxcore.sys, el driver del lado del kernel que hace funcionar WSL 1, no está incluido en esta apertura de código. Y le sorprende que WSL 1 siga siendo compatible; supone que debe estar en modo de mantenimiento

    • La parte que de verdad me interesa es lxcore.sys. Yo todavía uso solo WSL1 e incluso he hecho hacks curiosos cruzando el ABI o tunelizando Windows hacia un espacio de usuario Linux. Ojalá el código abierto permita manipular eso más fácilmente

    • Según entiendo, tanto WSL1 como WSL2 siguen teniendo soporte completo. No es solo una diferencia de numeración

  • Hay que revisar la licencia y los detalles. Puede ser algo positivo, pero también sospecho que MS podría estar buscando una excusa para pedir ayuda gratis después de despedir desarrolladores

    • Informa que la licencia es MIT
  • No soy usuario de Windows, pero considero que WSL es excelente. Sin embargo, la razón principal por la que muchos usuarios de Windows critican Linux es que "no se ve como Windows", mientras que desde el punto de vista de un usuario de Linux eso es precisamente algo bueno. Ojalá los usuarios de Windows no intenten convertir Linux en Windows solo porque quieren un Windows gratis y sin anuncios. Si WSL sirve para mantener a los usuarios de Windows dentro de Windows, hasta lo prefiero

    • No soy usuario de Windows, pero sí detesto WSL en sí. Me parece una estrategia de Microsoft para no perder una generación de desarrolladores frente a Linux, metiendo Linux directamente dentro del sistema operativo. Lamento que eso haga que los desarrolladores se pierdan la experiencia de recompilar el kernel por sí mismos
  • Ojalá por fin arreglen pronto los bugs que aparecen al trabajar con el sistema de archivos de Windows desde dentro de WSL

    • Creo que Microsoft también lo desea