microsoft / wslg

Enabling the Windows Subsystem for Linux to include support for Wayland and X server related scenarios
MIT License
9.9k stars 296 forks source link

Bluethooth Mouse and Keyboard freeze when running GUI app with GPU Acceleration enabled #1186

Open cgagnon-crakmn opened 5 months ago

cgagnon-crakmn commented 5 months ago

Hardware

Dell Laptop Precision 5550 BIOS: 1.25.0

Windows Version

Microsoft Windows [Version 10.0.19045.3930]

Windows GPU drivers

Primary GPU (display)

Secondary GPU (render)

WSL Version

2.1.1.0

Are you using WSL 1 or WSL 2?

Kernel Version

5.15.146.1-25.15.146.1-2

Distro Version

Ubuntu 20.04

Other Software

Docker CE 25.0.1, build 29cf629, VSCode 1.85.1, Jetbrains toolbox 2.1.3.18901, Jetbrains IntelliJ 2023.3.2

Repro Steps

Expected Behavior

No freeze

Actual Behavior

Freezes at constant frequency around 15 secs

Diagnostic Logs

WslLogs-2024-01-24_15-57-08.zip

cgagnon-crakmn commented 5 months ago

I updated the issue. I just dicovered that the GPU acceleration was causing the issue. Disabling it resolved it.

cgagnon-crakmn commented 4 months ago

I just found out about https://github.com/microsoft/wslg/wiki/GPU-selection-in-WSLg

My Linux distro is Ubuntu 22.04 Before running my tests I ran apt-get update && apt-get upgrade

ran glxinfo default gpu

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Microsoft Corporation (0xffffffff)
    Device: D3D12 (NVIDIA Quadro T1000) (0xffffffff)
    Version: 21.2.6
    Accelerated: yes
    Video memory: 20209MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 3.3
    Max compat profile version: 3.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL vendor string: Microsoft Corporation
OpenGL renderer string: D3D12 (NVIDIA Quadro T1000)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 21.2.6
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.1 Mesa 21.2.6
OpenGL shading language version string: 1.40
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.0 Mesa 21.2.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

Ran GUI apps, but got the bluetooth keyboard + mouse freeze

I tried out

export MESA_D3D12_DEFAULT_ADAPTER_NAME=intel

now glxinfo show me this

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Microsoft Corporation (0xffffffff)
    Device: D3D12 (Intel(R) UHD Graphics) (0xffffffff)
    Version: 21.2.6
    Accelerated: yes
    Video memory: 16384MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 3.3
    Max compat profile version: 3.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL vendor string: Microsoft Corporation
OpenGL renderer string: D3D12 (Intel(R) UHD Graphics)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 21.2.6
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.1 Mesa 21.2.6
OpenGL shading language version string: 1.40
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.0 Mesa 21.2.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

Ran GUI apps. No more freeze!!!

cgagnon-crakmn commented 4 months ago

@OneBlue you transferred the issue, but there is no bug label and I can't add it. Can you?