-
Notifications
You must be signed in to change notification settings - Fork 515
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
XWayland is required even though wxPython programs runs under wayland #2557
Comments
Confirmed. wxPython calls XOpenDisplay unconditionally here: |
You can probably hack around this problem by monkey-patching IsDisplayAvailable:
I wonder if the check still makes sense, but it does seem at least somewhat useful. If I remove it on a system with no display (e.g., over an SSH connection), wxPython startup will just hang there. |
Thanks for that - works just fine without Xwayland now. The problem for me is that my Xwayland is rather buggy and brings down the sway session occasionally - so this should be a life changer. |
Up to you if you want to close this. I'm OK with the patch but I still think it's a bit janky that otherwise you must have Xwayland. |
No, this is definitely an issue that we need to address. I'm just not sure how exactly. |
I'm curious why this precheck function exists at all. Don't you get some sensible error when you try to actually initialize the toolkit? |
nanonyme - I don't normally. However with Xwayland unavailable I get this: Unable to access the X Display, is $DISPLAY set properly? .... and it exits with status 1. But perhaps I misunderstood your question. If there's something you'd like me to run on sway/wayland with or without Xwayland, do let me know. |
The question was directed to maintainer as it was architectural question about this toolkit. |
Good question that I don't know the answer to. It seems this display check has existed at least 18 years, so it has been there a while. Would need to ask @RobinD42. |
Please let's do that. It seems in current state toolkit is hardcoded to only support X11 on Linux, not Wayland. 18 years ago Wayland didn't even exist. By far simplest way forward would be to remove aforementioned check and let things break later but seems need more info to make that decision. |
Just out of curiosity... Where does this stand? |
I do plan to work on it eventually:
In the meantime perhaps you can use the workaround listed above. |
FYI, I submitted a PR to make IsDisplayAvailable work on Wayland (and any other toolkits supported by GTK). Please let me know if this works well enough. If not, we can look into removing the check altogether. |
Operating system: Void Linux
wxPython version & source: wxPython-4.2.1_4 from voidlinux repo
Python version & source: python3-3.12.3_1
Description of the problem:
On linux, wxPython programs can run under wayland for example in the sway WM.
However, if XWayland is not available and enabled they will not run:
Any wxPython program will do eg:
The text was updated successfully, but these errors were encountered: