How to test Compiz on Ubuntu MATE 14.04 and 14.10

Compiz will be fully integrated in Ubuntu MATE 15.04, but not enabled by default.

To that end I have been working on adding MATE support to Compiz over the last few evenings. I will submitting my changes to the Ubuntu Compiz maintainers, but I'd like to get some testing feedback first. I've back ported my changes to 14.04 and 14.10 and built everything you need into a PPA.

If you are feeling brave, let the destruction begin :anguished:

Install Compiz

This first step is only required for Utopic

sudo apt-add-repository ppa:ubuntu-mate-dev/utopic-mate

From here on the instructions are the same for both Ubuntu MATE 14.04 and 14.10.

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install --no-install-recommends compiz compiz-core compiz-mate compiz-plugins compiz-plugins-default compizconfig-settings-manager

You should now have newer version of MATE Tweak and my modified build of Compiz installed. Full disclosure, I have tested on Ubuntu MATE 14.04 and 15.04, but not 14.10. The package for 14.10 are the same as 15.04 so it should work.

Reboot (yes an actual reboot) Now!

This reboot is required so that Compiz can become MATE aware. If you do not reboot "bad stuff" will happen. This reboot step is not going to be required for Ubuntu MATE 15.04 since it will come pre-installed with all the required settings.

Guake or Tilda

PRO TIP! Install guake or tilda and make sure it is running before you try switching window managers with MATE Tweak. If Compiz switching dies horribly you can pull-down guake or tilda using their respective key-binding and then run marco --replace which will get your window manager back.

Switching between Marco and Compiz

After the reboot, log in and open System -> Preferences -> MATE Tweak, choose Windows and then use the Window manager drop down to switch between Marco and Compiz. As soon as you select a window manager it will be replaced and MATE Tweak will close.

You can check which window manager you are using by running the following in a terminal.

wmctrl -m

Glorious success :raised_hands: or did it die in a fireball of death :fire:? Let me know in the comments.

Recovering Marco

If it all goes horribly wrong then you can recover Marco using the following commands from guake or tilda or good old Alt+F2.

gsettings set org.mate.session.required-components windowmanager marco
/usr/bin/marco --replace &

Reset Compiz configuration

If Compiz is misbehaving or the settings are somehow inconsistent then you can reset everything back to a clean configuration using the following commands.

marco --replace &
dconf reset -f /org/compiz/
rm -rf ~/.config/compiz-1
rm -rf ~/.cache/compizconfig-1

Now log out and log in again.

Having done the above the next time to run compiz --replace or switch to Compiz using MATE Tweak a fresh Compiz configuration will be generated.

Known issues

  • Live switching has been (still is?) a bit hit and miss that can result in the Compiz profile not being accurately created in gsettings.
  • Using the AMD/ATI proprietary drivers is report to work and not work in equal measure.

Understanding Compiz integration for Ubuntu MATE

My changes are simple and few.

  1. I have created a Compiz profile specific for MATE, you can find it in /etc/compizconfig/mate.ini.
  2. I've modified /etc/compizconfig/config to include a reference to the mate.ini profile mentioned above. It looks like this:
[general_mate]
backend = gsettings
integration = false
plugin_list_autosort = true
profile = mate
  1. I have modified /etc/X11/Xsession.d/65compiz_profile-on-session to detect MATE and then export COMPIZ_CONFIG_PROFILE="mate". This instructs Compiz to use the mate profile.
  2. I've added a migration script that ensures the unityshell and unitymtgrabhandles plugins are not present in the MATE Compiz profile.

I have ported the gnomecomat Compiz plugin to matecompat but because there is still some instability with Compiz under Ubuntu MATE I want to sort those issues out before introducing new code and releasing it.

You can find my Compiz repository here:

6 Likes

Thanks for making this availableā€¦ Iā€™ll load it up when I get home from work and give it a spin.

Living on the edge! :smiley:

I have my rotating cube and wobby windows back. They are especially nice to show off to those unaware of Linux. Compiz has worked flawlessly so far. Thank you Wimpy.

2 Likes

OK ! At 14.10 ! And now ?

It died a death

Specifically, when I rebooted and changed to Compiz from Mate Tweak, the title-bars and menus dissapeared from windows. I then did a ā€œmarco-replaceā€ from Guake terminal. and then ā€œcompiz-replaceā€. At which point it appeared, initially, to behave itself. However, this was short-lived and the whole desktop environment began locking up, forcing me to do a complete cold-boot. When booted back in, I immediately ensured Mate-Tweak was set back to marco and it all seems to be behaving itself again.

My hardware is:

asus h81m-plus motherboard
ati r7 260 gpu
intel i3 processor

What ATI/AMD drivers? Open or closed?

Itā€™s the ati proprietry driver. i jnstalled it from the ā€œaddittional driversā€ dialog box.

Ubuntu MATE 14.04 or 14.10?

Oh! Thatā€™s it ? Sorry. I expected more . Well , the tearing really reduces ( a lot , not all ); at youtube blinks like when the Flashplugin needs update ( but is updated ) ; the cursor changes to default sometimes ; thatā€™s it . Do I need make any adjust ?ā€“Martin , after post that , I read and it thinked that had a surly tone ; itā€™s not my intention absolutely , but itā€™s the best that I have using Gtranslate .

Ubuntu Mate 14.04 64 bit

@stevecook172001 Please try running compiz --replace --indirect-rendering and let me know if that works any better?

That seems to have fixed it Martin.

Yep, Iā€™ve just run it through itā€™s paces, as it were, and all seems to be running well now in Compiz.

What does ā€œindirect-renderingā€ do that is difffernt to the normal options, Martin?

just thought Iā€™d post the stuff that came up in the terminal following the indirect rendering compiz command, in case itā€™s useful to know Martin:

compiz (core) - Warn: Unknown option ā€˜ā€“indirect-renderingā€™
compiz (core) - Info: Loading plugin: core
compiz (core) - Info: Starting plugin: core
compiz (core) - Info: Loading plugin: ccp
compiz (core) - Info: Starting plugin: ccp
compizconfig - Info: Backend : gsettings
compizconfig - Info: Integration : true
compizconfig - Info: Profile : mate
compiz (core) - Info: Loading plugin: composite
compiz (core) - Info: Starting plugin: composite
compiz (core) - Info: Loading plugin: opengl
compiz (core) - Info: Starting plugin: opengl
Compiz (opengl) - Info: GLX_EXT_buffer_age is supported
compiz (core) - Info: Loading plugin: decor
compiz (core) - Info: Starting plugin: decor
compiz (core) - Info: Loading plugin: gnomecompat
compiz (core) - Info: Starting plugin: gnomecompat
compiz (core) - Info: Loading plugin: resize
compiz (core) - Info: Starting plugin: resize
compiz (core) - Info: Loading plugin: vpswitch
compiz (core) - Info: Starting plugin: vpswitch
compiz (core) - Info: Loading plugin: mousepoll
compiz (core) - Info: Starting plugin: mousepoll
compiz (core) - Info: Loading plugin: place
compiz (core) - Info: Starting plugin: place
compiz (core) - Info: Loading plugin: compiztoolbox
compiz (core) - Info: Starting plugin: compiztoolbox
compiz (core) - Info: Loading plugin: session
compiz (core) - Info: Starting plugin: session
I/O warning : failed to load external entity ā€œ/home/stephen/.compiz/session/1021899031ff244581142178449197734200000017880005ā€
compiz (core) - Info: Loading plugin: grid
compiz (core) - Info: Starting plugin: grid
compiz (core) - Info: Loading plugin: imgpng
compiz (core) - Info: Starting plugin: imgpng
compiz (core) - Info: Loading plugin: regex
compiz (core) - Info: Starting plugin: regex
compiz (core) - Info: Loading plugin: wall
compiz (core) - Info: Starting plugin: wall
compiz (core) - Info: Loading plugin: move
compiz (core) - Info: Starting plugin: move
compiz (core) - Info: Loading plugin: wobbly
compiz (core) - Info: Starting plugin: wobbly
compiz (core) - Info: Loading plugin: animation
compiz (core) - Info: Starting plugin: animation
compiz (core) - Info: Loading plugin: expo
compiz (core) - Info: Starting plugin: expo
compiz (core) - Info: Loading plugin: ezoom
compiz (core) - Info: Starting plugin: ezoom
compiz (core) - Info: Loading plugin: workarounds
compiz (core) - Info: Starting plugin: workarounds
compiz (core) - Info: Loading plugin: fade
compiz (core) - Info: Starting plugin: fade
compiz (core) - Info: Loading plugin: scale
compiz (core) - Info: Starting plugin: scale
compiz (decor) - Warn: No default decoration found, placement will not be correct
compiz (decor) - Warn: No default decoration found, placement will not be correct
compiz (decor) - Warn: No default decoration found, placement will not be correct
compiz (decor) - Warn: No default decoration found, placement will not be correct
compiz (decor) - Warn: No default decoration found, placement will not be correct

I know that you donā€™t asked me , but :wink: compiz (core) - Warn: Unknown option ā€˜ā€“indirect-renderingā€™

compiz (core) - Info: Loading plugin: core
compiz (core) - Info: Starting plugin: core
compiz (core) - Info: Loading plugin: ccp
compiz (core) - Info: Starting plugin: ccp
compizconfig - Info: Backend : gsettings
compizconfig - Info: Integration : true
compizconfig - Info: Profile : mate
compiz (core) - Info: Loading plugin: crashhandler
compiz (core) - Info: Starting plugin: crashhandler
compiz (core) - Info: Loading plugin: composite
compiz (core) - Info: Starting plugin: composite
compiz (core) - Info: Loading plugin: opengl
compiz (core) - Info: Starting plugin: opengl
Compiz (opengl) - Info: GLX_EXT_buffer_age is supported
compiz (core) - Info: Loading plugin: compiztoolbox
compiz (core) - Info: Starting plugin: compiztoolbox
compiz (core) - Info: Loading plugin: imgjpeg
compiz (core) - Info: Starting plugin: imgjpeg
compiz (core) - Info: Loading plugin: copytex
compiz (core) - Info: Starting plugin: copytex
compiz (core) - Info: Loading plugin: decor
compiz (core) - Info: Starting plugin: decor
compiz (core) - Info: Loading plugin: commands
compiz (core) - Info: Starting plugin: commands
compiz (core) - Info: Loading plugin: imgpng
compiz (core) - Info: Starting plugin: imgpng
compiz (core) - Info: Loading plugin: snap
compiz (core) - Info: Starting plugin: snap
compiz (core) - Info: Loading plugin: put
compiz (core) - Info: Starting plugin: put
compiz (core) - Info: Loading plugin: cube
compiz (core) - Info: Starting plugin: cube
compiz (core) - Info: Loading plugin: move
compiz (core) - Info: Starting plugin: move
compiz (core) - Info: Loading plugin: place
compiz (core) - Info: Starting plugin: place
compiz (core) - Info: Loading plugin: scale
compiz (core) - Info: Starting plugin: scale
compiz (core) - Info: Loading plugin: gnomecompat
compiz (core) - Info: Starting plugin: gnomecompat
compiz (core) - Info: Loading plugin: mousepoll
compiz (core) - Info: Starting plugin: mousepoll
compiz (core) - Info: Loading plugin: regex
compiz (core) - Info: Starting plugin: regex
compiz (core) - Info: Loading plugin: text
compiz (core) - Info: Starting plugin: text
compiz (core) - Info: Loading plugin: resize
compiz (core) - Info: Starting plugin: resize
compiz (core) - Info: Loading plugin: rotate
compiz (core) - Info: Starting plugin: rotate
compiz (core) - Info: Loading plugin: grid
compiz (core) - Info: Starting plugin: grid
compiz (core) - Info: Loading plugin: showdesktop
compiz (core) - Info: Starting plugin: showdesktop
compiz (core) - Info: Loading plugin: shift
compiz (core) - Info: Starting plugin: shift
compiz (core) - Info: Loading plugin: cubeaddon
compiz (core) - Info: Starting plugin: cubeaddon
compiz (core) - Info: Loading plugin: animation
compiz (core) - Info: Starting plugin: animation
compiz (core) - Info: Loading plugin: thumbnail
compiz (core) - Info: Starting plugin: thumbnail
compiz (core) - Info: Loading plugin: expo
compiz (core) - Info: Starting plugin: expo
compiz (core) - Info: Loading plugin: ezoom
compiz (core) - Info: Starting plugin: ezoom

Just to let you know Martin, when I re-set to Marco, the desktop threw a fit again and I lost the capacity to navigate with the mouse as well as losing all window titles etc. Cold boot required again. At which point all working again under Marco.

All in all, this version of Compiz, at least on this particular machine, is a quite a bit worse than the standard version of Compiz I installed from the ordinary repos when I first installed Ubuntu Mate on this machine a week or two back. That version was a bit flaky, but not as bad as this. Like I said, though, it may just be a function of this particular machineā€™s hardware configuration and this version of Compiz might be okay on everyone elseā€™s.

Will be sticking with Marco for the time being.

My Asus VivoBook X200CA-DB02 with UEFI didnā€™t work as well as the System 76 Ultra Pro. I managed to break the X display. I was able to get it working a couple of times by using the startx command, but now I just have a reduced size display that will not respond even after a hard boot. I tried the suggestions posted on this forum, but to no avail; I guess it will be back to running Arch.

Just a few notes:

Intel Video on 14.04

I installed per directions and rebooted.

When I used MATE Tweak to swap to Compiz, I lost window decorations. While attempting to make sure decorations were enabled in CSM, I got an error about Compiz crashing. I hadn't actually touched anything yet, as best as I could tell.

I found the Window Decorators module in CSM finally, where it was hiding in plain sight. I noticed it was already checked, so I toggled it off and on with no change, likely because Compiz was still crashed :smiley:

Anyway, at that point I rebooted again and ... so far... peaches :slight_smile:

No tearing.
No issues with suspend.
Seems solid as a rock... no additional crashes after the first.

I'm running pretty much the default settings. I enabled a second virtual desktop, set Expo to top left corner, set Scale to top right corner and I have "Show Desktop" enabled with task bar button only. I did all my testing with a video playing on virtual desktop (err... viewport in Compiz?) Number 2. Not a hitch, stutter or glitch.

Man, I love this... the only two things I had issues with were Intel screen tearing and missing the "hot corner" ability that KDE and Gnome have. I long ago resigned myself to just having to live with those issues on lighter desktops... and now we have a working Compiz back. Saweet!

I'll keep running it like this for the foreseeable future. I'll report back here if something blows up :smiley:

Edit: Thanks again @Wimpy for making this available for 14.04!

Why didnā€™t work for me ?

No idea :frowning:

Some difference in hardware, OS version etcā€¦

Sounds like you have multiple issues with it, from your earlier post. As far as flash video on Youtube though, I would go to https://www.youtube.com/html5 and select HTML5 Player. Not just on Ubuntu MATE, but on any distro these days, assuming it has gstreamer support setup right for Firefox.

Flash needs to die a horrible death.

1 Like