no blurring is present

Bug #344896 reported by Nicolò Chieffo
2
Affects Status Importance Assigned to Milestone
notify-osd (Ubuntu)
Fix Released
Medium
Mirco Müller

Bug Description

Binary package hint: notify-osd

I have an intel card, and I get no blurring under the bubble.
The spec says that there should be a gaussian blur

Revision history for this message
Mirco Müller (macslow) wrote :

The spec is not verbose enough on that topic. The blur behind/under the bubble is handled by a compiz-plugin call "blur" (who knew ;). With the current state of drivers for intel GPUs, this feature cannot be enabled by default, due to serious performance hits it causes on rendering of the desktop. You can experiment with its settings, to find a suitable middle ground for you. If you install compizconfig-settings-manager you can try and see how good the MipMap-method of the blur-plugin-settings works for your machine. But until the xorg-video-intel driver does not properly implement all the needed OpenGL-features, needed to efficiently execute the blur-plugin, it will stay disabled by default.

Changed in notify-osd (Ubuntu):
assignee: nobody → macslow
status: New → Invalid
Revision history for this message
Nicolò Chieffo (yelo3) wrote : Re: [Bug 344896] Re: no blurring is present

Why did you say that the spec was not verbose enough?
"The bubble should blur whatever is behind it with a Gaussian blur of
0.125 em. "
and then
"Whenever the pointer moves into a bubble, whatever is behind the
bubble should instantly become no longer blurred, and the bubble
itself should instead receive a 2-pixel Gaussian blur and reduce to
40% opacity."

and why didn't you implement the blur inside notify-osd? maybe it's
not possible as someone was saying before?

Revision history for this message
Nicolò Chieffo (yelo3) wrote :

Reopening since I need an answer from Mirco Müller.
https://wiki.ubuntu.com/NotifyOSD#Interaction to find the reference to the blur in the specification.

Changed in notify-osd (Ubuntu):
status: Invalid → Incomplete
Revision history for this message
Mirco Müller (macslow) wrote :

"behind the bubble"-blur:
The "behind the bubble"-blur can only be efficiently implemented by making use of the compiz-plugin "blur", because for this effect to work correctly a lot of knowledge about all the windows and their stacking is needed. The only process to rightfully own that knowledge is the window-manager. Enter compiz :) For compiz there's the "blur"-plugin, which offers exactely the required capability. The way the "blur"-plugin is implemented, it only works efficently on a GPU/driver-combination (read: without bogging down the GPU) that has support for fragment-shaders (with a resonable amount of texture-lookups per shader-program) and framebuffer-objects. Although the "blur"-plugin offers settings to achieve similar blurring results using tricks with texture-mipmap-levels, the performance and achieved visual quality of the blur, using that alternative approach, leaves much to be desired.

"in-bubble"-blur:
The blurring of the bubble-contents itself is a different story. This has to happen in-process (inside notify-osd). Since notify-osd uses mainly cairo (and no bit of GL) for all its rendering, it can only rely on the CPU for drawing. Since (gaussian) blurring is a very compute-intense operation, one has to be very careful and clever to implement this only on the CPU. For example you don't want to have the CPU-based blur cause any "grinding halts" in UI-interaction and feedback. That would be disasterous for the user-experience and perceived system-quality. Since this "in-bubble"-blur was a visual feature introduced in the spec after the implementation of notify-osd started and there were no inital hints of something like that coming, it has not been implemented yet. I do have an implementation-plan for this (along with other performance-improvements for rendering) in my head. But this needs a considerable amount of refactoring and code-work, that prohibits it being done in the beta-phase. Thus this will be a feature coming in the 9.10 cycle.

This hopefully answers your questions.

Revision history for this message
Nicolò Chieffo (yelo3) wrote :

Thanks for your answers Mirco! Can you tell me if there's any way to
track the status of fragment shaders in the intel driver?

Revision history for this message
Mirco Müller (macslow) wrote :

Oh, fragment-shaders themselves work just fine with the intel-driver. I've used them on i915 and similar hardware successfully in the past. The major shortcoming are the number of independent texture-lookups (restricts the radius of the blur-kernel) and framebuffer-object support (important for efficient 2-pass convolution fiters, which are separable... like the gaussian blur). If you want to track these GL-features in the intel-driver on you intel-GPU of choice, get into the habbit to live on the bleeding edge of Mesa/DRI and the xf86-video-intel driver from xorg. That is very time-consuming... especially if you don't have that kickstarted yet.

Revision history for this message
Nicolò Chieffo (yelo3) wrote :

Thanks again, see you in other bugs.

Mirco Müller (macslow)
Changed in notify-osd (Ubuntu):
status: Incomplete → Confirmed
Mirco Müller (macslow)
Changed in notify-osd (Ubuntu):
importance: Undecided → Medium
Changed in notify-osd (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Mirco Müller (macslow) wrote :

in-bubble/content blur is implemented and "fix released". Futhermore starting with Karmic (Ubuntu 9.10) OpenSource xorg-drivers for intel picked up the ability to correctly execute compiz' blur-plugin, thus one can get behind-the-bubble blur too on such systems (e.g. intel X3100 aka i965) if enabled in compizconfig-settings-manager. To get nice looking results make sure to use the "Gaussian" mode in the blur-plugins settings page.

Changed in notify-osd (Ubuntu):
milestone: none → ubuntu-9.10
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.