WSA黑屏但后台运行时,需重启wslg图形服务并重载桌面合成,或禁用硬件加速改用OpenGL渲染,还可重建GPU映射关系及检查安全策略。

Win11 电脑运行安卓应用时黑屏但后台进程仍在运行(如能听到声音、任务管理器中可见WSA进程),说明Windows Subsystem for Android™(WSA)的图形合成层与DWM或GPU驱动未能正确握手,常见于24H2更新后、Intel Arc核显设备或启用Hyper-V虚拟化增强的场景。
重启WSA图形服务并重载桌面合成
这一步直接恢复WSA专属的Android窗口渲染通道,比单纯重启explorer.exe更精准。很多用户误以为重启资源管理器就能解决,其实WSA使用独立的Wslg图形子系统,必须单独干预。
1、黑屏状态下按 Ctrl + Shift + Esc 打开任务管理器 → 切换到“详细信息”选项卡。
2、找到名为 wslg.exe 和 android.exe 的进程 → 全部右键 → “结束任务”。
3、点击左上角“文件”→“运行新任务”,输入 cmd,勾选“以系统管理员权限运行”,回车。
4、在命令提示符中执行:
net stop wslg
net start wslg
(等待返回“服务已成功停止/启动”提示)
5、再手动启动安卓应用,观察是否恢复画面输出。
禁用WSA硬件加速并切换渲染模式
Intel Arc核显和部分AMD RDNA3移动显卡在WSA默认的Direct3D 12路径下易触发渲染挂起;强制回退至OpenGL可绕过该缺陷。
方法一:通过WSA设置界面调整
1、打开“设置”→“隐私和安全性”→“Windows Subsystem for Android”→ 点击右上角“⋯”→“高级设置”。
2、关闭“启用硬件加速”开关。
3、在“图形驱动程序”下拉菜单中选择OpenGL(而非默认的Direct3D)。
4、重启WSA:设置页底部点击“重新启动”。
方法二:手动修改配置文件(适用于设置界面无法打开)
1、以管理员身份打开PowerShell。
2、执行:
notepad "$env:LOCALAPPDATA\Packages\Microsoft.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalState\wsl.conf"
3、在文件末尾新增两行:
gui.hardware_acceleration = false
gui.renderer = opengl
4、保存文件,关闭记事本,重启WSA服务(执行 net stop wslg → net start wslg)。
重建WSA虚拟机与GPU映射关系
当WSA容器内GPU设备节点丢失或权限错乱时,会出现黑屏但adb shell仍可连通的情况。此时需彻底重置WSA底层状态,不涉及卸载重装。
第一步:导出当前安卓数据(可选,防丢失)
1、黑屏状态下,在PowerShell中执行:
adb shell su -c "tar -czf /sdcard/data-backup.tar.gz /data/data"
2、再执行:
adb pull /sdcard/data-backup.tar.gz ./
第二步:清除GPU绑定缓存
1、PowerShell中执行:
wsl --shutdown
2、删除WSA GPU配置缓存:
Remove-Item "$env:LOCALAPPDATA\Packages\Microsoft.WindowsSubsystemForAndroid_8wekyb3d8bbwe\TempState\gpu" -Recurse -Force
第三步:重置WSA图形栈
1、打开“设置”→“应用”→“已安装的应用”,找到Windows Subsystem for Android → 点击“高级选项”。
2、滚动到底部,点击“终止”按钮(不是卸载)。
3、等待状态变为“已终止”后,再次点击“启动”按钮。
4、等待约90秒,WSA将自动重建GPU设备映射并加载新渲染上下文。
验证并锁定安全显示策略
某些企业策略或第三方安全软件会拦截WSA的SurfaceFlinger跨进程渲染调用,导致黑屏。需确认系统未启用冲突策略。
1、按 Win + R,输入 gpedit.msc 回车(家庭版跳过此步,直接执行第2步)。
2、导航至:计算机配置 → 管理模板 → Windows组件 → Windows Subsystem for Android。
3、双击“允许Windows Subsystem for Android运行”,确认其状态为已启用;若为“未配置”或“已禁用”,请设为“已启用”并应用。
4、打开PowerShell,执行:
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WSA" -Name "AllowWSA" -Value 1 -Type DWord -Force
Restart-Service Wslg
5、重启WSA应用,测试是否恢复显示。

















