Shell blur

Registered by Cassidy James Blaede

Blur behind transparent shell elements has become commonplace on modern operating systems, such as Ubuntu's Unity Dash, Windows' window manager, and OS X's Launchpad. We should aim to provide similar visual polish with Pantheon Shell.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Medium
Drafter:
None
Direction:
Approved
Assignee:
None
Definition:
Superseded
Series goal:
None
Implementation:
Needs Infrastructure
Milestone target:
None
Started by
Sergey "Shnatsel" Davidoff
Completed by
Danielle Foré

Related branches

Sprints

Whiteboard

Traditionally this has been problematic on Linux due to the shortcomings of compositing managers such as Compiz. However, using the latest version of Compiz in Oneiric, I am able to successfully implement this with the Blur Windows plugin, using the Mipmap Blur Filter. Setting the "Alpha blur windows" setting to "class=Slingshot | class=Plank | class=Wingpanel" and the "Mipmap LOD" to "3.3000" produces some beautiful results with little to no noticable effect, even on an underpowered machine with an integrated graphics card, like my Cr-48. Video coming right up. ~cassidyjames

Video of it in action on my underpowered Cr-48: http://dl.dropbox.com/u/5279564/pantheon-blur.ogv ~cassidyjames

The problem about mipmap blur in Compiz 0.8.x is that it generates mipmaps for every single window instead of only those which match the filter. This made my machine LAG HORRIBLY. I hope they defeated it in 0.9.x
I managed to get decent performance using Gaussian blur filter, but not decent looks, and the stability is also questioned (it crashes on my Q33 if I set radius to 5 or more). ~shnatsel

YES! I can confirm that mipmap blur works just fine in Oneiric!
Now we just need to decide what to blur. Like tooltips, dock, panel, etc. ~shnatsel

Okay, bad news. I turned blur off after using it all day yesterday, and Compiz is a lot snappier. It seems that blur doesn't slow down normal tasks, but it does noticeably slow Compiz rendering, at least on my computer. I'm thinking we need to leave it out until it works better or we come up with a better solution. ~cassidyjames

Blur did slow down effects like 3D windows on deformed cube on my laptop, but it did not make a huge difference. What exactly do you mean by "compiz rendering"? ~shnatsel

Hmm, I've installed 3.0 kernel and the blur works fine with Compiz 0.8.x, which means that that was not an improvement of Compiz, but an improvement of video drivers. We probably should make it auto-activated depending on the driver in use; I have no idea how will it perform on e.g. Nouveau. ~shnatsel

Alternatively, we can perform a performance benchmark on first startup and choose the desktop effects accordingly. Looks like we'll need it for stuff like zramswap anyway. ~shnatsel

An important note to keep in mind: mipmap blur requires generating mipmaps for all windows, not only the matched ones. So, even if the matched windows are never shown, the performance is still decreased. ~shnatsel

I am currently using these settings with Nouveau driver on a 2 year old 512mb video card on Oneiric and things are working well. ~codygarver

let's implement this in our compiz defaults and then we can test up until release --DanRabbit

Postponing because of migration to Gala --shnatsel

In my case, I think it will be a good feature to add control about desktop effect. IMO, many OS (including OSX, Windows) missed one important point : accessibility.
Modal windows, System messages have to be easy to read and focused. I 've done one test with Gimp :

https://docs.google.com/file/d/0BzWehbAPbRFPVkVtSWlEX2o0dEk/edit?usp=sharing

With that screen, that message will be seen by the user, because everything else is masked (I agree that it must be very important, like logoff windows, system messages).
~Nikos

I know this thread is old but blur is still very important for a modern OS. Gala is based on mutter and mutter already has a quasi-complete extension that has blur implemented.

https://mail.gnome.org/archives/commits-list/2013-March/msg19478.html

Here's another one that's on the extension store:

https://extensions.gnome.org/extension/891/windows-blur-effects/
We could reverse-engineer this thing to work with gala and translucency.

Shell blur can be an opt-in sort of setting. People who don't mind a slight decrease in performance can choose to enable it.
~Dorukhan

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.