Repository navigation
feat(rover): support WSL2 (Compose check, GPU rendering, networking docs) - #57
Merged
Merged
Conversation
…ocs) - rover.sh: fail with a clear message when `docker compose` is missing (instead of "unknown flag: --rm"); use the new pc-wsl service when /dev/dxg exists; doctor shows WSL/WSLg - docker-compose.yaml: pc-wsl renders on the Windows GPU through /dev/dxg and Mesa d3d12 (NVIDIA, AMD, Intel) - README: Compose v2 requirement, Windows (WSL2) section with mirrored networking for the real robot, troubleshooting rows Refs #56 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
AksonovSergei
force-pushed
the
56-wsl-support
branch
from
November 9, 2026 19:29
1a16fcf to
24b311b
Compare
CI keeps checking only the PR title, which becomes the squash commit in main. Refs #56 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #56
What and why
Running the PC side on Windows (WSL2) did not work out of the box:
rover.sh: ifdocker composeis missing (Ubuntu'sdocker.iohas no Compose v2 plugin), it now stops with a clear message and the install command instead ofunknown flag: --rm. When/dev/dxgexists (WSL2), it uses the newpc-wslservice automatically.doctorshows WSL / WSLg.docker-compose.yaml: newpc-wslservice (extendspc). It passes/dev/dxg,/usr/lib/wsl(ro) and/mnt/wslginto the container and setsLD_LIBRARY_PATH=/usr/lib/wsl/libandGALLIUM_DRIVER=d3d12, so Gazebo/RViz render on the Windows GPU through Mesa's d3d12 driver (NVIDIA, AMD, Intel).MESA_D3D12_DEFAULT_ADAPTER_NAMEis passed through when set, for laptops with two GPUs. On plain Linux nothing changes.README: the Compose v2 requirement; a Windows (WSL2) section (WSLg, no Linux GPU driver or nvidia-container-toolkit in WSL, keep the repository in the WSL file system, mirrored networking and the Hyper-V firewall rule for the real robot); troubleshooting rows.
CONTRIBUTING.md: the Conventional Commits format is now recommended for the commit messages in a branch too (not checked by CI: the PR title becomes the squash commit in
main).CI names: workflows and jobs got descriptive names:
PR / title and issue link,Images / build pc,Images / build robot,Images cleanup / clean up(job ids unchanged). These names are the required status checks of themainruleset.Repository settings: CONTRIBUTING.md and
pr-rules.ymldescribe Squash and merge, but the settings allowed only Rebase and merge. A maintainer switches them in Settings → General → Pull Requests: enable Allow squash merging (message: Pull request title and description), disable Allow rebase merging.How it was tested
Windows 11 (build 26300), WSL 3.0.3, Ubuntu 22.04,
docker.io29.1.3 +docker-compose-v2, GeForce GTX 1060:./rover.sh depsworks;glxinfo -Bin the container showsD3D12 (NVIDIA GeForce GTX 1060 6GB),Accelerated: yes; the simulation runs. Mirrored networking is enabled (wslinfo --networking-mode), but the connection to a real robot is not tested yet.Checklist
!in the title🤖 Generated with Claude Code