ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.19k stars 173 forks source link

Steam flickers #3944

Closed ghost closed 5 years ago

ghost commented 9 years ago

So recently steam has begun to flicker. Been using it since reveal on Linux and the last weeks it has been flickering a lot when hovering, scrolling. Flicker as in I can see the drawings being performed (no double/tripple/whatever-buffering). Gnome 3.16

etonbears commented 8 years ago

I'll add something to this, in the hope that it might help...

I have this flickering problem much of the time. As far as I can tell ( and assuming the various devs of different bits of the Linux userspace know what they are talking about - not always true ) this is because the Linux GUI display stack as a whole is a mess.

The problem, I'm assured, is that no-one is in control of the final screen presentation, because the desktop and each window are drawn to the screen independently via X calls.

Wayland ( and Mir on Ubuntu ) are supposed to solve this ( eventually ) by giving each window a buffer to draw into, with Wayland/Mir then composing those buffers to a single output and presenting it to the screen.

For me this problem is somewhat random; it comes and goes as various software updates are applied. It also does not only apply to the Steam Client, but also to some games, depending on how they have been written.

On my PC, recent updates to Ubuntu / Steam Client / Games, after a period of about 4 weeks not using them have left the Steam Client flickering, as well as games ported by Feral Interactive that used to work perfectly ( Empire total war, for example ). Conversely, the Civ 5 port by Aspyr has absolutely no flickering problems in full-screen but you can't view or switch to any other process without exiting the game.

When the Steam Client flickers, I can sometimes get a stable window by changing the window size; there has been a suggestion that this somehow syncs the Steam Client X-Window with the rest of the display and the refresh rate. This is not possible with the games in full-screen, of course.

For what it's worth, compiling a simple demonstration SDL2 application rendering text to a texture and then presenting that to a window via SDL2 API calls exhibits exactly the same problem. I don't know if SDL2 is a common component of the flickering applications, but I do know that SDL2 fakes full-screen by creating a borderless/control-free window the same size as the screen, so games that use it are potentially in conflict with other windows.

A further observation is that this happens under window managers that use OpenGL ( almost all of them now ). I do not recall it with very basic window managers that I did vague tests with. It is my belief that SDL2 always uses OpenGL acceleration, even when you don't specifically use it in your own application, so there is definite potential for conflict there.

Finally, in addition to flickering, I have found that if I "minimise" the Steam Client window, the window can randomly appear briefly, overwriting the screen where it was before being minimised; however, it is not an active window, just a visual artifact.

For what it is worth, I am running Ubuntu 15.04, Kernel is 3.19.0-28, GPU is an AMD R9-290, using the fglrx-updates driver. It is possible that it is a GPU driver issue, I suppose, but it doesn't "feel" like it.

I'd certainly be interested to know what the issue causes are if you track them down.

kisak-valve commented 5 years ago

Hello @alexhultman, are you still experiencing this issue on an up to date system?

ghost commented 5 years ago

No it works nicely today. I think this was only an issue for a brief period way back. There still are some issues with the UI at moments but overall it's good now.

kisak-valve commented 5 years ago

Thanks for the feedback, closing.

danielristic commented 3 years ago

I'm having the same issue on the latest GalliumOS on a Chromebook: a lot of flickering regardless of video settings.

kisak-valve commented 3 years ago

Hello @danielristic, please open a new issue report.

danielristic commented 3 years ago

Thanks I just did.