Skip to content
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

On Wayland with multiple displays, the overview background on the primary display is gray sometimes #94

Open
lunaneff opened this issue Jun 20, 2021 · 72 comments · May be fixed by #271
Open
Assignees
Labels
bug Something isn't working

Comments

@lunaneff
Copy link

Quick screen recording showing this: https://nextcloud.laurinneff.ch/s/rdr8nDMZWeQBqE9 (uploaded on another site because GH doesn't support .webm)

On Xorg, it always works as it should. Non-primary displays also work every time. It only happens on the primary display, when multiple displays are connected, and if it's running on Wayland

(I haven't tried it with three displays, maybe the behavior is different then)

@ozboss
Copy link

ozboss commented Jun 21, 2021

Can confirm.

  • Gnome 40.2
  • Wayland
  • Two monitors
  • Primary display stays grey

@aunetx
Copy link
Owner

aunetx commented Jun 28, 2021

Thanks for the issue, it's really weird to have different behaviour with wayland and with xorg (like for #95)...
Does it happen independently if you use the keyboard shortcut, the trackpad gestures and the activities button to enter overview?

@aunetx aunetx self-assigned this Jun 28, 2021
@aunetx aunetx added the bug Something isn't working label Jun 28, 2021
@lunaneff
Copy link
Author

lunaneff commented Jun 29, 2021

It doesn't matter how I open the overview, it's always random (tried trackpad and touchscreen gestures, super key, alt+f1, activities button, hot corner)

@aunetx
Copy link
Owner

aunetx commented Jun 29, 2021

Okay thanks! Will soon test on wayland

@jbingram
Copy link

Hi, I detect the same behavior on my laptop, when I'm choosing my other screen as my primary monitor. I'm using wayland too.
no random behavior detected with super key, trackpad or alt+f1.
Thx for your help

@Fallenod
Copy link

Confirm too. Wayland, Gnome 40, two monitors.

@HritwikSinghal
Copy link

HritwikSinghal commented Sep 24, 2021

can confirm that this bug exists on Manjaro Gnome 40.4 on wayland. If I have a secondary monitor connected with my laptop, there is no blur on my primary monitor. I have also attached the screenrecord. tell me if you need logs.
And this is a freshly installed system. (just installed yesterday)

ffmpeg-output.mp4

@GlenMerlin
Copy link

I have the same issue here but interestingly I can consistently launch it blurred if I click on the application menu button in dash to dock on the second monitor

clicking it on the primary monitor blurs about 1/4th to 1/6th of the time but clicking on the secondary monitor blurs 100% of the time

@nokyan
Copy link

nokyan commented Nov 2, 2021

Can confirm, it's pretty random as far as I know. Fedora 35, GNOME 41, NVIDIA, 2 monitors, Wayland.

@jvlianodorneles
Copy link

Confirmed. But here the display is always gray in the primary monitor.

Fedora 35, GNOME 41, AMD/ATI Radeon HD 7450, 2 monitors, Wayland.

@aunetx
Copy link
Owner

aunetx commented Nov 9, 2021

Could you give me, in looking glass (alt+f2, type lg), the result of the following when it is not working (I mean you are in the overview, and it is grey in one monitor):

// type
Main.layoutManager.overviewGroup.get_child_at_index(0).hide()
// and then (not simultaneoulsy)
Main.layoutManager.overviewGroup.get_child_at_index(0).show()

// and if it does not work, replacing 0 by 1:
Main.layoutManager.overviewGroup.get_child_at_index(1).hide()
Main.layoutManager.overviewGroup.get_child_at_index(1).show()

If this fixes the wallpaper blur, this means there is a (possible) hack to fix this issue, and I could try to implement it as an option. Else, idk...

@lunaneff
Copy link
Author

lunaneff commented Nov 9, 2021

I'm still on GNOME 40.1 (my current distro hasn't updated yet) and Main.layoutManager.overviewGroup.get_children_at_index doesn't exist, but Main.layoutManager.overviewGroup.get_child_at_index does. I assumed it was renamed, so I tried it with that function, and with index 1 that fixed it

@aunetx
Copy link
Owner

aunetx commented Nov 9, 2021

Yeah sorry, did not test it... Thanks a lot! I will add a fix then soon

@jvlianodorneles
Copy link

jvlianodorneles commented Nov 10, 2021

Could you give me, in looking glass (alt+f2, type lg), the result of the following when it is not working (I mean you are in the overview, and it is grey in one monitor):

// type
Main.layoutManager.overviewGroup.get_child_at_index(0).hide()
// and then (not simultaneoulsy)
Main.layoutManager.overviewGroup.get_child_at_index(0).show()

// and if it does not work, replacing 0 by 1:
Main.layoutManager.overviewGroup.get_child_at_index(1).hide()
Main.layoutManager.overviewGroup.get_child_at_index(1).show()

If this fixes the wallpaper blur, this means there is a (possible) hack to fix this issue, and I could try to implement it as an option. Else, idk...

Thanks! The
Main.layoutManager.overviewGroup.get_child_at_index(1).show()
command "solved" the issue. Sorry for the delay in replying.

@davelima
Copy link

davelima commented Nov 10, 2021

Not sure if it helps, but:

With overview open, when i change wallpaper (i'm using hydrapaper -r), sometimes the blur works again, so it does not depend (at least not only) on closing/opening overview again

System: Fedora 35, Gnome 41, Wayland, NVIDIA, 2 monitors

@TheHooly
Copy link

TheHooly commented Nov 19, 2021

Issue does not occur on my PC with two displays when the secondary display is left to the primary display.

It also doesn't occur with three displays, regardless of orientation (not tested extensively yet).

Fedora Silverblue 35,
Gnome 41,
Wayland,
AMD,
3 monitors

Primary monitor is 4k60 over DP. Middle
Secondary monitor (new) is 1440p144 over DP. Right
Tertiary monitor is 1080p60 over HDMI. Left

@Lefl1
Copy link

Lefl1 commented Jan 9, 2022

After switching the monitor arrangement around and back again this is for some reason no longer reproducible when pressing the Meta key. It now only works when using the hot corner to show activities. And then it does not occur consistently (every 1-4 tries).

@HritwikSinghal
Copy link

Hi, just wanted to add that for me this bug only appears when the 2nd monitor is not in its native resolution. my 2nd monitor has 1600x900 native reso, but when i run it at 1920x1080 only then this bug appears. If i switch it back to 1600x900, this bug is not there.

@GuillaumeAmat
Copy link

FWIW, I also have the issue but not on the primary screen.

I have 3 screens, 2 have the right behavior (the laptop screen and an external one) and 1 (another external screen) is still on the gray/stock behavior.

The one with the issue is interestingly:

  • The third, last and/or non-first-2-screens one in GNOME's notation (e.g.: Number 3 on the GNOME settings screenshot below)
  • The top-left one, in the arrangement

It may be completely random, but there's maybe a lead to follow 🤷

Capture d’écran de 2022-01-30 15-39-48

@retrixe
Copy link

retrixe commented Mar 15, 2022

Any update on when a fix or workaround can be pushed for this bug? This is a great extension (great work by the way 👍) but this is pretty annoying when using a multi-monitor setup lol, the aforementioned workaround (with lg and Main.layoutManager.overviewGroup.get_child_at_index(0).hide() then show()) works for me to fix it on my primary monitor, but yeah, would be great if the workaround is implemented in the extension itself.

@aunetx
Copy link
Owner

aunetx commented Mar 15, 2022

@retrixe sorry, I can't do much by myself... The workaround is completely anecdotal, as it does nothing by itself than reload some part of the blur, and this should not be required in the first place -- the bug occurs from within gnome shell, not from the extension.

Moreover, I have too much work at school currently to work on debugging something like that... But maybe (maybe?) this would have been fixed in gnome 42?

@lunaneff
Copy link
Author

lunaneff commented Mar 15, 2022

But maybe (maybe?) this would have been fixed in gnome 42?

This isn't proof of anything as the issue happens randomly, but I'm running 42 now and just tried opening/closing the overview a few times and couldn't reproduce it. I'll pay more attention and report back if I ever see it again.

@retrixe
Copy link

retrixe commented Mar 16, 2022

It still occurs on GNOME 42.rc, can reproduce it still.

@BirdInFire
Copy link

BirdInFire commented Apr 17, 2022

Me it's even worse (fedora 36 gnome 42, wayland only) on the second monitor it's always grey Blur do not work at all on it (one time it showed but since it never showed again).

Edit in my case i think it can be related to the difference in screen settings, the bug happen 100% of the time when the main screen is the 60Hz + who is the main (so the 75 or 144) but when the 60hz is the main one the bug ... disappear (but if i return on the other one (more than 60HZ) the bug restart.

@BirdInFire
Copy link

And with some more testing if i "force" all my screen to be at 60Hz, in this case i can select the screen i want it does not bug.
Clearly a frequency problem i think

@CharlieQLe
Copy link

This still occurs on GNOME 42.1 (Fedora 36 Beta). Interestingly enough, it only happens on my primary monitor (2560x1440p 144hz), not my 1080p 60hz second monitor. Despite the primaryMonitor index being 0, my primary display is marked as display 2 in the display settings. I wonder if the shell is handling the monitors that are not display 1 incorrectly.

The Looking Glass commands work for me, but since I didn't want to keep typing them in, I forked the project and toggled the visibility of the BackgroundActors when the overview finishes its animation- it did not work during the animation, despite being triggered properly. It's not perfect, since the overview background is still gray during the animation, but it's probably fine for anyone using faster animation speeds.

Another way around this problem could be to use a pre-blurred image and a custom shell theme. It would rely on the wallpaper being static despite the new light-dark mode, and could look wrong if the image isn't blurred enough, but it could work as a temporary solution.

At one point, I also set the Shell Blur Effect mode to blur the background (not the actor contents), in which case it did properly set the background but as expected, did not blur the contents. Something is definitely wrong with the blur implementation in the shell, though I have no clue if its related to the shell's handling of any displays beyond display 1.

@BirdInFire
Copy link

This still occurs on GNOME 42.1 (Fedora 36 Beta). Interestingly enough, it only happens on my primary monitor (2560x1440p 144hz), not my 1080p 60hz second monitor. Despite the primaryMonitor index being 0, my primary display is marked as display 2 in the display settings. I wonder if the shell is handling the monitors that are not display 1 incorrectly.

The Looking Glass commands work for me, but since I didn't want to keep typing them in, I forked the project and toggled the visibility of the BackgroundActors when the overview finishes its animation- it did not work during the animation, despite being triggered properly. It's not perfect, since the overview background is still gray during the animation, but it's probably fine for anyone using faster animation speeds.

Another way around this problem could be to use a pre-blurred image and a custom shell theme. It would rely on the wallpaper being static despite the new light-dark mode, and could look wrong if the image isn't blurred enough, but it could work as a temporary solution.

At one point, I also set the Shell Blur Effect mode to blur the background (not the actor contents), in which case it did properly set the background but as expected, did not blur the contents. Something is definitely wrong with the blur implementation in the shell, though I have no clue if its related to the shell's handling of any displays beyond display 1.

it seem for me there is an underlying blur bug on the shell when multiple screen with different resolution speed. maybe the dev can report this bug to the gnome project themselves (if he can conclude that the bug come from gnome) ?

@crstmkt
Copy link

crstmkt commented Jun 21, 2022

I can also confirm, that @davelima solution fixes a big part of the problem. I'm getting that grey background for the fraction of a second (as @romankrru described) also but everytime i open up the application launcher, but thats okay for the moment

@davelima
Copy link

davelima commented Jul 4, 2022

Thank you for testing! Sadly, I could not improve this solution any further.

I have tested with two other displays with different refresh rates and definitely got different results with 60hz on primary, 75hz and 120hz on secondary (blur effect worked most of the time). So if you have this options, maybe this helps.

I think that a more definitive solution could only come from GNOME itself.

@CorvetteCole
Copy link
Collaborator

CorvetteCole commented Jul 7, 2022

Can anyone reproduce this with Mutter 42.3? It no longer occurs on my dual-display wayland setup running Mutter 42.3

@CorvetteCole
Copy link
Collaborator

It seems much less frequent, but still does occur on 42.3. I'll have to take a look at what changed in Mutter

@davelima
Copy link

davelima commented Jul 8, 2022

@CorvetteCole I'm running Mutter 42.3 and getting the exact same behavior here. Feels like we are getting closer to a solution!

@trulko
Copy link

trulko commented Aug 26, 2022

Hello, I was about to open an issue about this but then found this one. I am also experiencing the bug on Wayland (Ubuntu 22.04) where the overview background is black on the primary display, when using multiple displays. However, the issue appears for me only when the primary display is set to the left of the secondary display. If the primary display is set to the right of the secondary display, everything works properly. Hopefully this is helpful in diagnosing the issue. Thank you for working on this great extension!

@Maciejka1
Copy link

Hey! I managed to solve this by setting Hack level to Default and using Dual Monitors fix branch!

@jumpers775
Copy link

the solution by @davelima has the opposite effect on my triple monitor setup, where my third display will flash blurred for a moment, then revert to gray. This is on mutter 42.4.

@davelima
Copy link

@jumpers775 unfortunately i could not test with a 3-monitor setup, but this solution was a workaround after all.

I'm now using the extension without that workaround and could not reproduce this problem anymore. Can anyone confirm it is solved?

GNOME 42, Mutter 42.5 all working fine here.

@jumpers775
Copy link

@davelima Using the extension as is on mutter 43.0 my main monitor and my right one work perfectly. My left one still has this issue.

@paerbac
Copy link

paerbac commented Oct 26, 2022

This issue is still occuring for me on my dual monitor (144&60hz) setup using gnome 43.

@kodemeister
Copy link

The issue still happens in mutter 43.1. I have to continue using workaround from @davelima 's fork.

@3xploit01
Copy link

I'm experiencing the same issue on my secondary monitor after updating to Fedora 37 (Gnome 43).

I'm not sure but i can't remember to have noticed this prior to the update, but its not present while using Xorg as others have mentioned.

@Juanescacha
Copy link

same issue, wayland two monitors, the overview is not blurred

@hurutta
Copy link

hurutta commented Dec 12, 2022

Experiencing the same issue.

@AshtakaOOf
Copy link

Experiencing this issue any ETA?

@vvitez
Copy link

vvitez commented Jan 16, 2023

Same thing here on a laptop, switching back to xorg solved the issue: on the laptop screen, everything works correctly, but if I connect my bigger screen (as extension to the laptop's screen, doesn't matter whether it's the primary or secondary display), it reverts to being gnome grey.
Hope this gave a bit of info, Thanks a lot for the cool gnome extension :)
edit: I had the same case as @trulko. If I set my big screen as "to the right" of my laptop screen, it suddenly works. Not an option for me but interesting to see. My big screen has a higher frequency than the laptop screen as well.

@orowith2os
Copy link

The issue was fixed for me if I changed the monitor locations by just a tiny bit (literally one pixel), now it functions consistently.

@p1u3o
Copy link

p1u3o commented Aug 11, 2023

Using the monitor placement trick works, but it only works when the secondary monitor is positioned higher than the primary.

This does configuration does not work
image

This one does
image

However, this is an upstream GNOME Shell bug (as it occurs on the lock screen), so perhaps could be useful reporting there.

@mosK1T0
Copy link

mosK1T0 commented Nov 19, 2023

I'm on Fedora 39 / Gnome 45 and the issue still persists.
Switching to X11 still fixes the bug (and moving the second monitor over the primary in settings works too)

@aunetx
Copy link
Owner

aunetx commented Apr 19, 2024

Hello all, I've tried to test this a little bit (with still only one monitor, but a lot of sweat and some debug flags for gnome-shell...). I've came up with something that could do the trick: #575, which is compatible with GNOME 46.

This is really a kind of hack, that is not stable yet (I could not test it a lot, and I've only tested it for the panel blur anyway), but I need to know if that works a little bit...

If this is not very effective, you can try to increase the timeout in the pull request (currently at 100, but I guess depending on you screen / gpu / cpu / idk this could be increased or lowered). Please tell me if this works so that I can spend more time on this particular fix.

@p1u3o
Copy link

p1u3o commented Apr 19, 2024

Hello all, I've tried to test this a little bit (with still only one monitor, but a lot of sweat and some debug flags for gnome-shell...). I've came up with something that could do the trick: #575, which is compatible with GNOME 46.

This is really a kind of hack, that is not stable yet (I could not test it a lot, and I've only tested it for the panel blur anyway), but I need to know if that works a little bit...

If this is not very effective, you can try to increase the timeout in the pull request (currently at 100, but I guess depending on you screen / gpu / cpu / idk this could be increased or lowered). Please tell me if this works so that I can spend more time on this particular fix.

The blur issue is an upstream GNOME bug and affects the lock screens too, there's a better explanation and more reliable workaround (change monitors.xml and place monitor 2 1px above monitor 1 on the y axis).

I guess a GNOME extension would probably have better luck just changing the monitor config.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3206#note_1813839

change ~/.config/monitors.xml

second monitor
... 
    <logicalmonitor>
       <x>2560</x>
       <y>1</y> - change y from 0 to 1
       <scale>1</scale>
...

@aunetx
Copy link
Owner

aunetx commented Apr 19, 2024

@p1u3o I know it's upstream, however I can't permit this extension to modify the monitor configuration of the user without interaction, so at least I try to provide a little workaround... But of course this should really be fixed in GNOME Shell, but that has been some years now already

@Earthquake125
Copy link

Earthquake125 commented Apr 24, 2024

weirdly enough, version 61 made blur in the overview stop working completely. same with multi monitors branch.

of course this should really be fixed in GNOME Shell, but that has been some years now already

has anyone filed a bug or PR?

@retrixe
Copy link

retrixe commented Apr 24, 2024

has anyone filed a bug or PR?

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6426
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3206

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.