Compositor issues


#1

I've been using Ubuntu MATE since Unity got removed from the default Ubuntu. I'm mostly happy except that the compositors never worked right.

I've tried all options.

No compositor. This works fine and is responsive, but dragging one window over another immediately makes me feel like I went back in time a decade.

Marco+Compton GPU. This solution is just not smooth. Even with a single window it gives minor stutters. Open something that uses OpenGL and the stuttering while moving windows get quite bad. Open glxgears and I get maybe one frame per 10 seconds if I try to move a window. Tried pretty much everything in the Compton and NVidia panel settings, but it just doesn't won't work properly.

Compiz. Almost everything works. Moving windows is silky smooth. Animations work. Just one thing that fails: resizing. It simply won't update the contents of the window as long as my mouse is moving. Which is obviously really annoying. Since the complexity of the contents appear to be a factor, it looks like it simply won't update the contents if it can't finish the rendering within a single frame. As with the marco/compton problem, nothing I have tried changed this behaviour. Other than changing resizing modes of course, but that is not an acceptable solution.

Is there a solution for this?

I'm willing to accept that Marco/Compton is just problematic, but Compiz used to do everything fine when it was part of Unity. There must be some way to fix this behaviour.

What about switching to a different compositor? Both Compton and Compiz are no longer in active development, so something will have to change in the future anyway. Is the current Gnome3 compositor compatible?

Any advice would be appreciated.


#2

Marco has its own compositor, based on xrender. Is that what you're referring to when you say No Compositor? (marco can also be run without compositor, just in case).

It's certainly not the most innovative, but it should be smooth and stable.


#3

I checked the ones listed MATE Tweak. With "no compositor" it redraws window contents behind the moving window, so that must actually be no compositor.


#4

Yes, but you should have Marco (adaptative) on the list.

If you don't, there is something wrong with your setup.

In my opinion, Marco is the best, I don't miss anything with it.

Why? I don't get it. I am using it daily and seeing no issue, except there is no shadow (which I don't care about).


#5

Adaptive kills G-SYNC, so that's a definite no-go. Otherwise it was ok actually. Didn't want to vsync, but that could be remedied by "Full composition pipeline". The only thing it didn't tolerate was things glxgears.

As for no compositor, I can see it redraw all the areas that come from behind moved windows. Even though it's quick, it just no something I want to see after a decade of having something smooth.


#6

This is strange, I am not seeing it. Aren't you actually describing tearing?

If so, you can actually configure the driver to handle that.

For example, with my Intel card:

/etc/X11/xorg.conf.d/20-intel.conf

Section "Device"
  Identifier  "Intel Graphics"
  Driver      "intel"
  Option      "TearFree" "true"
EndSection

And then, it's just perfect.


#7

Not tearing, that I can fix.

It's not so surprising is it? If there is no compositor, everything behind a window is gone and needs to be redrawn when it moves. One of the major advantages of a compositor that it keeps all separate.


#8

In theory, yes, but I am not an expert. So I am very curious now, I want to get to know more on this stuff.

What I know is that I have not a single artifact or issue on my hardware, which are laptops with Intel graphics.

What hardware do you have?


#9

In theory, yes, but I am not an expert. So I am very curious now, I want to get to know more on this stuff.

Which part of it? I'm personally curious about the whole compositor thing. Ubuntu/Unity made it look solid. Turns out it is everything but that.

What hardware do you have?

i7-9700K/32GB/2080Ti. So not exactly short on power.