-
Notifications
You must be signed in to change notification settings - Fork 578
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
Can't make Guake run under Wayland #1934
Comments
Looks like #1821 is the only thing that should have anything to do with x11 between 3.7 and 3.8, and it ensures that setting GDK_BACKEND happens so that Guake runs under X11 in all cases. It resolves another issue under wayland, #1820, are you finding guake to exhibit any negative behaviors when it's forced to run under X11? |
Yes, I found many negative behaviours when it's forced to run under X11:
I think the best way to solve thia problem is to let Guake run under Wayland. I set GDK_BACKEND environment variable to wayland then launch Guake, but Guake still runs under X11. What should I do? |
I think Wayland is the future of Linux desktops. We should make Guake run under Wayland by default. |
Wayland being very not backwards compatible and not being the majority installation means Guake is not going to default wayland, but we can drop/relax the x11 force and find alternate fixes to wayland problems. Hopefully upstream wayland fixes, but that's an indeterminate wait with how long some things have been unfixed in wayland. The keyboard shortcut thing may be a different issue, the keyboard shortcut backend got revamped to make keyboard shortcuts with the tab key work so that CTRL+TAB and CTRL+SHIFT+TAB can work. Hopefully wayland doesn't have an issue with programs using Gtk keyboard events, otherwise we'll have to restore the old keybinding code as a fallback for wayland. For isolation of changes, you can delete the line in main.py on line 45 that says |
@Davidy22 Thanks for your kind and detailed reply! I will try deleting the line 45 then installing from source before the code changes. |
Following the guide for installing from source, I installed it but when I run Guake I got:
It seems the installation is not correct. But I follow the guide, cloned the repo, installed the dependencies, run |
We're going to need confirmation from people who can build from source on wayland that all issues resolved by including the line don't return when removing it. We're not going to delete a line of code that resolved issues because of untested hypothesis that running under wayland is better when running under wayland broke things previously. The line was originally added in commit 51aa791 and appears to have resolved four different issues. We need someone with wayland who can build with the change to confirm it works before we do the change. When installing from source, make sure to remove existing installations, as they may interfere with the one from source. |
@Davidy22 I am read the first line of your statement and can't figure out what this means. |
We need the confirmation so that we can check that we aren't regressing the issues fixed by adding that line. Thanks for the assistance, I can probably try to get wayland onto my machine so I can finally test these wayland issues for myself instead of doing this telephone game for debugging |
As an FYI, on my Gnome 41 system, issue #1817 resurfaces when using the Wayland backend. |
@fancypantalons I also meet #1817 if guake runs under Wayland. But if you want Guake to run under x11, you could set |
Alright, there's a lot of talk happening so I'm just going to open a PR at #1963 removing the line so we can duke it out in there. I think everyone who's using wayland wants the line gone so the branch'll be a way for people to actually run it to see if it's preferred, and once the PR gets merged we'll have to figure out a different way to deal with the regressions induced by using wayland. To note, the initial pull request that introduced this line didn't actually seem to do anything because it was probably in the wrong place, there was a future pull request merged between 3.7 and 3.8, which moved the line to somewhere where it actually had an effect, which generated the wave of wayland feedback from 3.8. |
Thanks! |
Can @VitalyAnkh also re-install with 3.7.0 and upload BTW, I'm curious, so Gnome didn't suffer from bad placing like this? *1 how firefox deal with this: https://wiki.archlinux.org/title/firefox#Wayland |
@mlouielu I installed @Davidy22's PR branch and it works great. The
And the problems you met under weston can be solved with a more powerful desktop environment:
Anyway, it's great to let users choose wayland or x11. Just don't hardcode the environment variable |
BTW, following https://guake.readthedocs.io/en/latest/user/installing.html#install-from-source I tried installing Guake from source but I got errors when running
I figured out that I must install guake through system's package manager. Then I installed Guake with a modified PKGBUILD (I'm using Arch Linux). Is this a common problem that the way installing from source doesn't work? |
This should checked by which interpreter you install, and which interpreter used in |
When installing from source, you need to remove other existing installations, and sometimes python does a weird thing where it prefers files in the directory you're in and that sometimes messes up running so you have to run the guake command from another directory. I kind of want to just remove the force entirely, just have Guake use wayland when the system is wayland and work towards just fixing the wayland issues. Pre 3.8, the force was broken and wayland users were apparently doing fine, and then the floodgates of issues opened when we actually "fixed" it and started properly forcing x11 on wayland. Even in the issue where you noted that removing the force causes a regression, the issue under wayland is poor resizing behavior, which is relatively minor compared to issues under normal use reported now, and the reporter in the issue you linked even states that they themself would prefer to have it just use wayland despite the regression. |
First of all, please let me re-iterate one thing: Wayland did not let user touch absolute coordinate. this didn't change in 2021 as far as I know *1. Secondly, as Guake can work as a "drop-down" terminal in Wayland backend, is a coincident. If you shrink the width of Guake (perf -> main window -> Geometry -> Width), then it will not work as drop down terminal (Gnome 41, mutter): And, as expected, Horizontal Alignment (left, center, right) won't work, too. Also mutter center-window will make Guake pop out from the center of the workspace. This Guake is from archlinux archive built at 12-Nov-2020 17:17 *2, as this didn't include ed8e561, On the other hand, only user suffer from unexpected result will fill the bug report, I can imagine if we remove ed8e561, it will cause more user come to report issues. To summarize, I would describe Guake as a x11-based application, it should be default running under x11 GDK backend, user may want to run under wayland backend, that's fine, we should let user have the ability to set this up. That is why I proposed to add *1 From mutter maintainer: https://gitlab.gnome.org/GNOME/mutter/-/issues/2003#note_1307150
*2 https://archive.archlinux.org/packages/g/guake/guake-3.7.0-2-any.pkg.tar.zst |
Hum, I see buried in one of the threads some notes on start menu positioning. The wayland devs are pretty rigid here it seems, but it must be possible to do some kind of positioning or it just wouldn't be possible to spawn the start menu next to the start button in Wayland. Also noticed in a thread that a mutter dev thinks we should use I keep bouncing around because I can't give firsthand testimonial on wayland, but I'll follow the retain x11 force, make wayland optional route. About the flag, why format it as Also, we could probably do something about hiding the items in preferences that are disabled by wayland, or maybe there is a way to do them still and we just need to do some work. |
In my opinion, using the environment variable is a cleaner way. If it is an option which should be passed when launching Guake, users who want Wayland need to edit |
Oh, that'd certainly save us a bit of time, would be very welcome |
Thanks @VitalyAnkh for helping this out! |
Describe the bug
After updating Guake to 3.8.0, I found it running under x11 rather than wayland. My desktop is Gnome 41 on Wayland, and before 3.8.0 Guake runs under Wayland as I expect. And I didn't set
GDK_BACKEND
environment variable to not break electron apps.Expected behavior
Guake runs under Wayland
Actual behavior
Guake doesn't run under Wayland
To Reproduce
Use Gnome 41 on Wayland, install guake 3.8.0, and launch it.
Please run
$ guake --support
, and paste the results here. Don't put backticks (`
) around it! The output already contains Markdown formatting. And make sure you run the command OUTSIDE the Guake.$ guake --support
Guake Version: 3.8.0
Vte Version: 0.66.0
Vte Runtime Version: 0.66.0
GTK+ Version: 3.24.30
GDK Backend: <GdkX11.X11Display
Desktop Session: gnome
Display: :0
RGBA visual: True
Composited: True
The text was updated successfully, but these errors were encountered: