Saltar al contenido principal

Documentation Index

Fetch the complete documentation index at: https://docs.devin.ai/llms.txt

Use this file to discover all available pages before exploring further.

Esta página describe los problemas conocidos al usar Devin Desktop con Windows Subsystem for Linux (WSL) y las soluciones recomendadas.

Rendimiento lento o desconexiones (saturación del sistema de archivos 9P)

Al usar Devin Desktop en WSL (mediante Remote - WSL), el editor puede volverse lento, dejar de responder o desconectarse repetidamente del backend de WSL. La causa más habitual es que las extensiones realicen una supervisión de archivos e indexación agresivas sobre el sistema de archivos de WSL, lo que satura el protocolo Plan 9 (9P), el puente del sistema de archivos entre Windows y el entorno Linux de WSL. Esto es más probable en repositorios grandes y cuando varios servidores de lenguaje se ejecutan al mismo tiempo.

Síntomas

  • Devin Desktop funciona notablemente lento o con retraso cuando está conectado a WSL
  • El editor se desconecta con frecuencia del backend de WSL e intenta volver a conectarse
  • Las desconexiones se producen durante el desarrollo activo (p. ej., mientras se usa Cascade) y también cuando el editor está inactivo
  • Devin Desktop falla o deja de responder, por lo que es necesario reiniciar tanto el IDE como WSL (wsl --shutdown)
  • El uso de memoria de WSL aumenta con el tiempo, incluso en sistemas con más de 32 GB de RAM
  • Los registros de diagnóstico de WSL muestran una gran cantidad de eventos P9 Reply_Rlerror (errores de archivo no encontrado)
  • El rendimiento es normal cuando se usa Devin Desktop fuera de WSL (p. ej., al abrir una carpeta local de Windows)
  • Las soluciones alternativas habituales (reiniciar WSL, reinstalar Devin Desktop, aumentar la memoria en .wslconfig) no resuelven el problema por sí solas

Causa raíz

La comunicación entre Windows y el sistema de archivos Linux de WSL utiliza el protocolo Plan 9 (9P), que ofrece un rendimiento limitado en comparación con el acceso nativo al sistema de archivos. Cuando se instalan extensiones en el entorno de WSL, algunas realizan una monitorización de archivos y una indexación agresivas en todo el espacio de trabajo. En repositorios grandes (p. ej., 250,000+ archivos, 5+ GB), esto genera un volumen masivo de operaciones del sistema de archivos a través del puente 9P, lo que puede:
  • Saturar la capacidad del protocolo
  • Generar miles de errores de archivo no encontrado (Reply_Rlerror)
  • Hacer que se pierda la conexión entre Devin Desktop y el backend de WSL
  • Contribuir a un aumento gradual de la presión de memoria dentro de WSL con el tiempo
Esto se agrava cuando también se están ejecutando múltiples servidores de lenguaje (p. ej., Sorbet, Ruby LSP, TypeScript, etc.), ya que añaden una sobrecarga adicional de monitorización de archivos. La actividad combinada del sistema de archivos procedente de las extensiones y los servidores de lenguaje puede saturar el puente 9P incluso en sistemas con 32 GB+ de RAM. Un ejemplo conocido es la extensión Vue (Volar), que se ha observado que provoca una indexación excesiva de archivos en entornos WSL incluso cuando el espacio de trabajo no contiene archivos de Vue. Este problema está documentado en el ecosistema de VS Code: microsoft/vscode-remote-release#11091 Esto es especialmente probable si has heredado un gran conjunto de extensiones de VS Code o de otro editor que no son necesarias para tu proyecto actual.

Soluciones

Muchos problemas de desconexión y rendimiento en WSL se resuelven simplemente actualizando WSL. Las versiones más recientes de WSL incluyen mejoras en la estabilidad del sistema de archivos 9P y en la fiabilidad de la conexión. Abre PowerShell (o el Símbolo del sistema) en tu equipo Windows y ejecuta:
wsl --update
Luego, reinicia WSL:
wsl --shutdown
Abre de nuevo Devin Desktop y vuelve a conectarte a WSL. Puedes comprobar tu versión de WSL con:
wsl --version
WSL 2.7.3.0 y versiones posteriores incluye correcciones que han resuelto problemas persistentes de desconexión para los usuarios, incluso sin necesidad de realizar otros cambios de configuración.

2. Reinstalación limpia del servidor de Devin Desktop en WSL

Elimina el directorio del servidor de Devin Desktop dentro de WSL y deja que Devin Desktop lo reinstale en la próxima conexión:
rm -rf ~/.windsurf-server
Luego, vuelve a conectar Devin Desktop a WSL. El servidor se reinstalará automáticamente.

3. Minimiza las extensiones instaladas (mayor impacto)

Instala solo las extensiones que realmente necesites para el repositorio en el que estás trabajando.
  • Abre el panel Extensions en Devin Desktop mientras estés conectado a WSL
  • Revisa qué extensiones están instaladas en el entorno WSL (no solo localmente)
  • Desactiva o desinstala las extensiones que no necesites, especialmente las que realizan una supervisión intensiva de archivos o indexación
Extensiones problemáticas conocidas en WSL:
  • Vue (Volar) — se ha confirmado que provoca una indexación excesiva de archivos a través del puente 9P, incluso en proyectos que no son de Vue. Desinstalar solo esta extensión ya ha resuelto desconexiones para varios usuarios.
  • Otras extensiones de lenguaje específicas de frameworks (Angular, Svelte, etc.) pueden comportarse de forma similar si están instaladas pero no son necesarias para el espacio de trabajo actual.
No des por sentado que las extensiones que funcionan bien en una configuración local (sin WSL) se comportarán igual en WSL. El puente del sistema de archivos 9P es el cuello de botella: las extensiones que son inofensivas localmente pueden volverse desestabilizadoras cuando cada operación sobre archivos debe cruzar el límite del protocolo. Reducir la actividad del sistema de archivos generada por las extensiones reduce directamente la carga sobre el puente 9P.

4. Optimiza los límites de recursos de WSL

Crea o edita el archivo %USERPROFILE%\.wslconfig en tu equipo con Windows (p. ej., C:\Users\<YourUser>\.wslconfig) con límites de recursos adecuados para tu sistema:
[wsl2]
memory=16GB
swap=4GB
processors=4
autoMemoryReclaim=gradual
Nota: La configuración autoMemoryReclaim se eliminó en WSL 2.7.3.0 y versiones posteriores. Si usas WSL 2.7.3.0 o una versión posterior, omite esta línea. Puedes comprobar la versión de WSL con wsl --version.
Ajusta los valores según los recursos disponibles en tu sistema. Después de guardar el archivo, reinicia WSL:
wsl --shutdown
Luego, vuelve a abrir Devin Desktop y vuelve a conectarte a WSL.

Diagnóstico

Consulta los registros de diagnóstico de WSL para detectar errores de 9P

Para confirmar que la causa es la saturación de 9P, recopila los registros de diagnóstico de WSL:
wsl --debug-shell
O recopila un paquete de diagnóstico completo:
Invoke-WebRequest -UseBasicParsing "https://aka.ms/wsldiag" -OutFile wsldiag.ps1
.\wsldiag.ps1
Busca un gran volumen de eventos Reply_Rlerror en los logs del sistema de archivos 9P. Normalmente, miles de eventos (o más) indican que las extensiones o los procesos dentro de WSL están generando demasiadas solicitudes al sistema de archivos y que el puente 9P no da abasto.

Cuándo usar cada solución

  • Actualiza WSL primero: muchos problemas se resuelven simplemente ejecutando wsl --update. WSL 2.7.3.0+ incluye mejoras importantes de estabilidad. (La solución más sencilla).
  • Minimiza las extensiones si tienes muchas extensiones instaladas en WSL que no usas activamente o si migraste extensiones desde otro editor. (El cambio de mayor impacto).
  • Reinstala el servidor desde cero si el estado del servidor de Devin Desktop puede estar dañado o desactualizado (p. ej., después de una actualización fallida o de un cierre inesperado).
  • Optimiza .wslconfig si WSL está consumiendo demasiados recursos del host o si aún no has configurado límites de recursos. (Mejora general de la estabilidad de WSL).
Para obtener los mejores resultados, empieza actualizando WSL y luego aplica las demás soluciones según sea necesario. La combinación de una versión actualizada de WSL, un servidor limpio, un mínimo de extensiones y límites de recursos ajustados aborda tanto la causa raíz (la saturación de 9P por la actividad de las extensiones) como los factores que contribuyen al problema (el agotamiento de recursos).

No se puede conectar a WSL con VPN o software Zero Trust

Devin Desktop no puede conectarse a WSL y muestra el error Couldn't install vscode server on remote server, install script returned non-zero exit status cuando una VPN o un software Zero Trust (Twingate, Tailscale, Zscaler, Cloudflare WARP, GlobalProtect, etc.) bloquea el tráfico de red saliente desde WSL.

Síntomas

  • Devin Desktop muestra Error resolving authority / install script returned non-zero exit status al conectarse a WSL
  • WSL en sí funciona (wsl -d Ubuntu -- echo hello se ejecuta correctamente), pero curl excede el tiempo de espera dentro de WSL
  • El problema empezó después de instalar o actualizar software VPN o zero trust

Causa raíz

WSL 2 enruta el tráfico a través de una red virtual basada en NAT de forma predeterminada. El software de VPN y de Zero Trust a menudo no reenvía el tráfico desde esta red virtual, por lo que la descarga del servidor de Devin Desktop falla sin mostrar ningún error.

Solución

1. Habilita la red en espejo

Edita el archivo de configuración de WSL para habilitar la red en espejo (normalmente C:\Users\<YourUser>\.wslconfig). Agrega lo siguiente:
[wsl2]
networkingMode=mirrored
dnsTunneling=true
autoProxy=true
Luego, reinicia WSL y limpia cualquier estado residual de una instalación anterior:
wsl --shutdown
wsl -d Ubuntu -- bash -c "rm -f ~/.windsurf-server/.installation_lock"
Vuelve a abrir Devin Desktop y vuelve a conectarte a WSL. El servidor se instalará automáticamente.
Nota: Requiere WSL 2.0.0 o posterior. Ejecuta wsl --version para comprobarlo y wsl --update para actualizarlo si es necesario.

2. Alternativa: desconecta temporalmente la VPN

Si no puedes cambiar .wslconfig, desconecta tu VPN/ZTNA, deja que Devin Desktop instale el servidor y, después, vuelve a conectarte. Las futuras actualizaciones de Devin Desktop volverán a requerir acceso a la red desde WSL.