Compositor issues

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.

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.

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.

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).

1 Like

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.

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.

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.

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?

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.

I have taken some time to run a few trials with Mutter. For the core stuff it was a much better experience. It has not of the problems that the other options have. The only problem is that it isn't integrated well into the desktop. Some issues that I will have to look at:

  • Window themes are not entirely compatible.
  • No ALT+TAB selector (I can only switch back and forth between the last two).
  • Not responding to ALT+button bindings.
  • Some strange issues with some of the animations.

To be honest, I'm not entirely sure why MATE as a DE is not doing this already and making this an option. Since Mutter is still actively developed, it should be more future proof than the others.

Doing what, specifically? Marco is being actively developed as well, and bug reports and feature requests are very much welcomed!

Doing what, specifically? Marco is being actively developed as well, and bug reports and feature requests are very much welcomed!

Marco is, but Compton isn't. And if there are no configuration options to fix the things mention in the OP, then that would be a fairly serious bug report.

Which issues, the stuttering? Marco has its own compositor, what has been your experience with it so far? What would you change about it so that you wouldn't feel the need to use Compton?

The adaptive compositor actually works best out of the presented options. However, it blocks GSYNC (and that probably means Mesa VRR support as well), which makes it unusable for me. I'm not entirely sure why it doesn't work. These days the nvidia driver is fairly good at detecting when it can take over the screen refresh form the compositor, but it in this case it just doesn't.

Edit:
I put the adaptive compositor on for a while to see other things. So far I have noticed:

  • The long standing problem of having a one pixel resize width on the window edges. This one remains fairly annoying.
  • It shadows the scroll cursor of firefox.
  • The volume window that shows up when using the media keys is transparent.
  • Not only does GSYNC fail to work in games, so does VSYNC. With VSYNC it does limit the fps, but I get a constant tear on the screen in fullscreen games.

Agreed. Fixed here: https://github.com/mate-desktop/marco/pull/503

What does this mean? Example/screenshot?

Why is this a problem? This is mostly a theme issue, I think. Sounds like a minor cosmetic issue to me.

Yeah, this seems like the real problem here. Maybe using OpenGL for compositing would solve the issue? It's somewhere on my to-do list, but I've kept it at low priority since I assumed most people that cared about an OpenGL compositor would be using Compiz anyway... maybe I'm wrong :stuck_out_tongue:

Disregard the firefox shadow and volume window things. They appear to be problems due to switching and don't actually occur after a reboot.