Skip to content

DOC: explain WSL GUI backend setup - #32386

Open
SIBTAIN-ASAD wants to merge 3 commits into
matplotlib:mainfrom
SIBTAIN-ASAD:docs-wsl-backend-guide
Open

SIBTAIN-ASAD wants to merge 3 commits into
matplotlib:mainfrom
SIBTAIN-ASAD:docs-wsl-backend-guide

Conversation

@SIBTAIN-ASAD

Copy link
Copy Markdown

Closes #32381

Matplotlib can use the GUI environment provided by WSLg when a supported toolkit is installed, but the backend guide did not explain the setup or how to diagnose a missing display.

This adds a focused WSL section to the backend troubleshooting guide covering:

  • WSLg and the display variables it provides
  • checking for a supported GUI toolkit and the selected backend
  • using the non-interactive Agg backend in headless WSL environments

Verification:

  • git diff --check
  • Full Sphinx documentation build not run locally because the documentation dependencies are not installed in this environment.

@github-actions

Copy link
Copy Markdown

Thank you for opening your first PR into Matplotlib!

If you have not heard from us in a week or so, please leave a new comment below and that should bring it to our attention. Most of our reviewers are volunteers and sometimes things fall through the cracks. We also ask that you please finish addressing any review comments on this PR and wait for it to be merged (or closed) before opening a new one, as it can be a valuable learning experience to go through the review process.

You can also join us on discourse chat for real-time discussion.

For details on testing, writing docs, and our review process, please see the developer guide.
Please let us know if (and how) you use AI, it will help us give you better feedback on your PR.

We strive to be a welcoming and open project. Please follow our Code of Conduct.

@github-actions github-actions Bot added first-contribution Documentation: user guide files in galleries/users_explain or doc/users labels Sep 23, 2026
@SIBTAIN-ASAD

Copy link
Copy Markdown
Author

For transparency: I used AI assistance to review the repository guidance and help structure the documentation wording. I reviewed the final diff, kept the scope limited to the WSL backend guide, and ran git diff --check before submitting.

@scottshambaugh

scottshambaugh commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

This needs some work. It does not tell users how to see if WSLg is available, how to set those env variables, or how to persist this setup. I think this is not an appropriate section of docs to use AI to write (even more so than usual) - it needs someone working through it from scratch from the user's perspective to ensure all steps are covered.

I'm going to mark this as an autoclose candidate unless it's updated to show that a human wrote it and worked through the written process.

@scottshambaugh scottshambaugh added the status: autoclose candidate PRs that are not yet ready for review and may be automatically closed in two weeks label Sep 23, 2026
@github-actions

Copy link
Copy Markdown

⏰ This pull request might be automatically closed in two weeks from now.

Thank you for your contribution to Matplotlib and for the effort you have put into this PR. This pull request does not yet meet the quality and clarity standards needed for an effective review. Project maintainers have limited time for code reviews, and our goal is to prioritize well-prepared contributions to keep Matplotlib maintainable.

Matplotlib maintainers cannot provide one-to-one guidance on this PR. However, if you ask focused, well-researched questions, a community member may be willing to help. 💬

To increase the chance of a productive review:

As the author, you are responsible for driving this PR, which entails doing necessary background research as well as presenting its context and your thought process. If you are a new contributor, or do not know how to fulfill these requirements, we recommend that you familiarize yourself with Matplotlib's development conventions or engage with the community via our Discourse or one of our meetings before submitting code.

If you substantially improve this PR within two weeks, leave a comment and a team member may remove the status: autoclose candidate label and the PR stays open. Cosmetic changes or incomplete fixes will not be sufficient. Maintainers will assess improvements on their own schedule. Please do not ping (@) maintainers.

@rcomer

rcomer commented Sep 23, 2026

Copy link
Copy Markdown
Member

I will add that the addition does not belong where it is. It breaks up an existing section and makes it look like the notebook, etc. troubleshooting steps are specific to WSL.

@tacaswell

Copy link
Copy Markdown
Member

I would put it around L203.

@SIBTAIN-ASAD

Copy link
Copy Markdown
Author

Thanks for the guidance. I moved the WSL section next to the backend-selection guidance (around the requested location) so it no longer interrupts the troubleshooting flow. The section now links back to the backend selection and builtin-backend guidance, and the change is pushed in 61e03f3.

Using Matplotlib with WSL
^^^^^^^^^^^^^^^^^^^^^^^^^

WSL2 distributions can display Linux GUI applications through WSLg. When

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems this whole section can be reduced to sentences "WSLg should just work. If it does not just work, check it is running and that the expect ENVS (...) are defined"? and converted to a note?

@SIBTAIN-ASAD

Copy link
Copy Markdown
Author

That makes sense. I reduced the WSL guidance to a short note covering WSLg, the DISPLAY/WAYLAND_DISPLAY check, and the headless Agg fallback. The update is pushed in 399236a.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Documentation: user guide files in galleries/users_explain or doc/users first-contribution status: autoclose candidate PRs that are not yet ready for review and may be automatically closed in two weeks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ENH]: WSL support

4 participants