Unity with transparent desktop cube visible over full-screen applications

Bug #1025535 reported by quequotion on 2012-07-17
54
This bug affects 11 people
Affects Status Importance Assigned to Milestone
Compiz
Low
Unassigned
Unity
Confirmed
Low
Unassigned
unity (Ubuntu)
Undecided
Unassigned

Bug Description

I have come to suspect that this problem s in compiz, not unity.

Bug 734908 might have been a different issue, or a the same issue brought on by different circumstances.

With any version of unity, the panel is always visible over any and all full-screen applications when the cube is enabled and transparent.

It is possible that other (quirky) configurations may bring out this issue.

Clicks pass through the panel to the full-screen application, showing that at least input is layered correctly.

quequotion (quequotion) wrote :
Daniel van Vugt (vanvugt) wrote :

Dependencies.txt shows you're using a lot of (unsupported) PPAs. Not to mention the fact that Unity 6.0 on Ubuntu 12.04 is unsupported :) Could you please try removing all the PPAs that are mentioned in your Depenedencies.txt ?

Also, is your panel usually transparent?

Changed in unity:
status: New → Incomplete
summary: - Unity panel visible over full-screen applications
+ Unity 6.0 on precise: Unity panel visible over full-screen applications
quequotion (quequotion) wrote :

It is likely my particular compiz configuration is untested, or not very well tested.

I use the desktop cube, which is essential to my workflow, with a few custom options.

I have also set 0% opacity for unity's panel, which makes this bug somewhat less obtrusive.

None of the options I've selected should be causing this behavior, but one never knows.

I suggest starting by removing this PPA and its packages: [origin: LP-PPA-xorg-edgers]

Daniel van Vugt (vanvugt) wrote :

Please also try downgrading to a supported version of the nvidia driver:
https://launchpad.net/ubuntu/precise/+package/nvidia-current-updates

quequotion (quequotion) wrote :

The PPAs to be worried about are probably xorg-edgers and unity-team staging.

I will see if their packages can be removed without seriously compromising the system..

What do you think about changing those ppa packages for their quantal versions?

I think the last time I had a "supported" installation, it was Intrepid Ibex.

Daniel van Vugt (vanvugt) wrote :

Please try without them. Most Ubuntu community members would mark your bug as invalid at the first sight of PPAs or backported packages. ;)

quequotion (quequotion) wrote :

I wanted to see if any specific package might be affecting unity, so I did this in stages, from the packages I though most likely to be relevant to the packages I thougt most likely to be irrelevant.

1. downgrade: bamfdaemon, libbamf3-0, libbamf0:
compiz --replace: no effect

2. downgrade: libcairogobject2, libcaro2, libcairo-script-interpreter2:
compiz --replace: no effect

3. downgrade: libdrm2:
compiz --replace: no effect (probably needs to reboot)

4. downgrade: libgl1-mesa-glx, libglapi-mesa, libglu1-mesa, libgles2-mesa
compiz --replace: no effect (may need to restart x, or irrelevant)

5. reboot: no effect

6. downgrade: gcc-4.7-base, libdrm-intel1, libdrm-nouveau1a, libdrm-radeon1, libgcc1, libstdc++6, lib32gcc1, lib32gomp1, lib32quadmath0, lib32stdc++6:
compiz --replace: no effect (may need to restart x, to reboot, or irrelevant)

7. reboot: no effect

So I've downgraded all the PPA packages from Dependencies.txt, and their dependants, but nothing has changed.

quequotion (quequotion) wrote :
Download full text (3.9 KiB)

I tooks the next stepand downgraded or removed all packages from the ppas: xorg-edgers, x-swat-updates, unity-team-staging, and ubuntu-toolchain-r-test.

No effect...

Here's a new summary and a new Dependencies.txt

ProblemType: Bug
.proc.driver.nvidia.gpus.0: Error: [Errno 21] Is a directory: '/proc/driver/nvidia/gpus/0'
.proc.driver.nvidia.params:
 EnableVia4x: 0
 EnableALiAGP: 0
 NvAGP: 3
 ReqAGPRate: 15
 EnableAGPSBA: 0
 EnableAGPFW: 0
 Mobile: 4294967295
 ResmanDebugLevel: 4294967295
 RmLogonRC: 1
 ModifyDeviceFiles: 1
 DeviceFileUID: 0
 DeviceFileGID: 0
 DeviceFileMode: 438
 RemapLimit: 0
 UpdateMemoryTypes: 4294967295
 InitializeSystemMemoryAllocations: 1
 UseVBios: 1
 RMEdgeIntrCheck: 1
 UsePageAttributeTable: 4294967295
 EnableMSI: 0
 MapRegistersEarly: 0
 RegisterForACPIEvents: 1
 RegistryDwords: ""
 RmMsg: ""
.proc.driver.nvidia.registry: Binary: ""
.proc.driver.nvidia.version:
 NVRM version: NVIDIA UNIX x86_64 Kernel Module 295.40 Thu Apr 5 21:37:00 PDT 2012
 GCC version: gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
.tmp.unity.support.test.0:
ApportVersion: 2.0.1-0ubuntu11
Architecture: amd64
CompizPlugins: [core,composite,opengl,imgjpeg,decor,compiztoolbox,commands,imgpng,move,neg,widget,place,vpswitch,mousepoll,gnomecompat,regex,resize,obs,grid,text,animation,workarounds,wobbly,shift,fade,animationaddon,cube,scale,rotate,cubeaddon,unitymtgrabhandles,expo,scaleaddon,ezoom,unityshell]
CompositorRunning: compiz
CrashDB: unity
Date: Tue Jul 17 22:35:28 2012
DistUpgraded: Fresh install
DistroCodename: precise
DistroRelease: Ubuntu 12.04
DistroVariant: ubuntu
DkmsStatus:
 nvidia-current, 295.40, 3.2.0-27-generic, x86_64: installed
 vhba, 20120422, 3.2.0-27-generic, x86_64: installed
EcryptfsInUse: Yes
GraphicsCard:
   Subsystem: ASRock Incorporation Device [1849:0122]
 NVIDIA Corporation GT216 [GeForce GT 220] [10de:0a20] (rev a2) (prog-if 00 [VGA controller])
   Subsystem: LeadTek Research Inc. Device [107d:2715]
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Beta amd64 (20120407)
JockeyStatus: xorg:nvidia_current_updates - NVIDIA accelerated graphics driver (post-release updates) (Proprietary, Disabled, Not in use)
MachineType: To Be Filled By O.E.M. To Be Filled By O.E.M.
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-27-generic root=UUID=3f22dbab-9a50-4c6b-8593-91862b0e9356 ro quiet splash vt.handoff=7
SourcePackage: unity
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 12/06/2011
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: P1.20
dmi.board.name: Z68 Extreme4 Gen3
dmi.board.vendor: ASRock
dmi.chassis.asset.tag: To Be Filled By O.E.M.
dmi.chassis.type: 3
dmi.chassis.vendor: To Be Filled By O.E.M.
dmi.chassis.version: To Be Filled By O.E.M.
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrP1.20:bd12/06/2011:svnToBeFilledByO.E.M.:pnToBeFilledByO.E.M.:pvrToBeFilledByO.E.M.:rvnASRock:rnZ68Extreme4Gen3:rvr:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
dmi.product.name: To Be Filled By O.E.M.
dmi.product.version: To Be Filled By O.E.M.
dmi.sys.vendor: To Be Filled By O.E.M.
version.compi...

Read more...

Changed in unity:
status: Incomplete → New
Daniel van Vugt (vanvugt) wrote :

Drivers have nothing to do with deciding what gets drawn. This is entirely a unity problem.

no longer affects: nvidia-graphics-drivers (Ubuntu)
quequotion (quequotion) wrote :

Not sure if that's good or bad news, but perhaps it's easier to get a fix into unity than nvidia's binary.

Were you able to reproduce this?

Daniel van Vugt (vanvugt) wrote :

No, I can't reproduce the bug. Hence can't even mark it as confirmed yet :(

quequotion (quequotion) wrote :

I'll add a few more screenshots just to further illustrate the issue.

This is a video playing fullscreen in totem, as you can see the panel is still visible at the top of the screen.

Everybody asks "What's that stuff at the top?" if they are watching TV or movies in my apartment.

quequotion (quequotion) wrote :

Here's the unity panel over bsnes in fullscreen while playing a game.

To reiterate, with the exception of bug 1024459, I have never seen a different behavior from unity + cube.

Since the very inception of unity, at which time I used an entirely different computer, the unity-panel has always been visible on top of my desktop cube no matter what the situation.

quequotion (quequotion) wrote :

There's a backported version of unity 6.0 available in a ppa now:

https://launchpad.net/~c10ud/+archive/ppa

I haven't tried this yet for two reasons:
1. The PPA was locked out until recently.
2. "unstable and dirty builds from hell" isn't very enticing.

Do you know anything about it?

Daniel van Vugt (vanvugt) wrote :

No I didn't know about it. However the important performance and rendering fixes from Unity 6.0 are going to be backported to Unity 5.16 for precise. The work should start soon.

quequotion (quequotion) wrote :

Perhaps this screenshot provides a better demonstration of the issue.

The unity panel is /always/ visible, under any circumstances, full-screen windows included.

Unity has always been this way.

I apologise for the large file size, but this one makes more sense in full-screen.

This is the desktop cube, with sphere deformation, mid-rotate.

If you look across the top of the image, you can see the unity panel.

Notice that the unity panel is not bound to the cube, but floats freely at the top of the screen.

quequotion (quequotion) wrote :

Here's another interesting screenshot, which adds a bit of a privacy concern to this bug.

Unity's panel is visible over gnome-screensaver as well, even when the screen has been locked manually.

This reveals the active window title, so a passer-by might see what someone is doing on the computer.

To get this I ran "sleep 5; gnome-screenshot" in terminal and manually locked the screen (ctrl+alt+L)

quequotion (quequotion) wrote :

I noticed Unity appearing over the screensaver was reported in bug 886605, and should have been fixed along with bug 734908 in unity 6.0.0-0ubuntu1.

quequotion (quequotion) wrote :

There is a another solution to this issue, even if my problem is not reproducible.

Unfortunately, it means a feature request.

If the panel could autohide, just like the launcher, this issue would become irrelevant.

Bilal Akhtar (bilalakhtar) wrote :

This seems like a Unity 6.0 conflict with 12.04 libraries. Unity 6.0 is built for Quantal, and all Precise PPAs for it are experimental.

For the record, running Unity trunk as well as Unity 6.0 quantal archive packages here, and I don't have this problem with full-screen applications.

quequotion (quequotion) wrote :

>>Bilal

Except that I have the same problem with ALL versions of unity in 12.04.

At the moment I am using 5.14.0 and previously I've used 5.12 in 12.04.

In fact, I have had the same problem with all versions of unity in all versions of ubuntu released with it.

Until a little over a ago, I just thought it was part of unity's design. It would make sense for a tablet pc to have unity always displayed across the top, just like it makes sense for a cellphone always to show the clock, wireless reception, etc. Since unity is primarily a tablet design, I assumed it was a tablet feature.

It started to get to me that it's REALLY in the way in some applications, like firefox, because unity covers the search and url boxes. It's also rather distracting while watching tv or a movie because unity is always there, across the top, displaying stuff i don't want to see at the moment. It also eats valuable screen space while playing games, which is particularly nasty for (old) low-resolution games that full-screen to 800x600, 640x480, etc.

So I read some blog posts on the internet about full-screen problems in GTK3, then I started a thread in the forums: http://ubuntuforums.org/showthread.php?p=12174460 which initially was just a mess of miscommunication; and I participated in a few bugs here at launchpad.

Over a year later I am still trying to figure out what's wrong and why I can't put any kind of full-screen window over the unity panel when using the compiz cube.

quequotion (quequotion) wrote :

*Until a little over a year ago,

Bilal Akhtar (bilalakhtar) wrote :

There's something wrong with your setup, because the Unity panel never appeared when running full-screened applications. Could you try opening firefox/chromium on fullscreen in a guest user environment? Thanks!

Omer Akram (om26er) wrote :

Your setup is borked IMO. Apart from bilal's suggestion if the issue remains still, I suggest you try Ubuntu 12.04 from the live cd as well or if you think it might have anything to do with a unity update you should download Ubuntu ISO from here http://cdimage.ubuntu.com/precise/daily-live/20120814/ it has all the updates for 12.04 pre-installed to date. So it will give you a better view about the situation.

WARNING: Installing from the above link is not yet recommended you should only use those ISO for testing purpose

Changed in unity:
status: New → Incomplete
quequotion (quequotion) wrote :

I shouldn't have to reinstall from scratch.

I've already purged and reinstalled unity & compiz several times and been through several versions.

>>Bilal, are you sure we're talking about the same thing?

One major problem with this issue has been communication.

My specific problem is the unity panel (the horizontal part containing the application menu, the indicator icons, the clock, the system menu, and the user menu) being visible when an application is in full-screen while using the desktop cube.

Not the launcher (the vertical part containing lens and application icons), which I've set to autohide.
Not while using the desktop wall, or any other desktop environment (Unity 2d is fine, openbox is fine, etc)

I have tried using unity in different accounts, but always get the same result.

>>Omer, I'm inclined to agree with you, since I seem to be all alone, and I will give another shot at the live CD.

At the moment, my install is Ubuntu 12.04 with all updates from: main, security, updates, proposed, and ppa:ubuntu-x-swat/x-updates.

Before anyone asks, x-swat/x-updates has absolutely no effect on this bug. I'm sure. I checked.

quequotion (quequotion) wrote :

Status changed from incomplete to new because

1. "Incomplete" is a shortcut to bug-death
2. I've done lots of tests; though more can always be done

Changed in unity:
status: Incomplete → New
quequotion (quequotion) wrote :

The bug is likely not in Unity, and even less likely has anything to do with version 6.x installed in any version of Ubuntu.

I tried a new method:
In CCSM: Preferences -> (button), Profile & Backend (tab), Reset to defaults (button)
I then re-enabled each setting I usually use one-by-one.
It is not the first time I've done so, but it is the first time I used CCSM to reset the configuration; previously I had used apt-get remove --purge <unity, compiz and related packages>

I discovered the issue comes up when the desktop cube is transparent.

In CCSM: Desktop Cube (plugin), Transparent Cube (tab), Opacity When Not Rotating (setting, integer 0~100)

At any number less than 100, the unity panel will become permantly displayed over everything.

If you dig through this and related reports, you'll notice I had come across some strangeness here before, but there were too many other bugs going on to know what I was seeing.

Changed in unity:
status: New → Invalid
quequotion (quequotion) on 2012-08-18
summary: - Unity 6.0 on precise: Unity panel visible over full-screen applications
+ Unity with transparent desktop cube visible over full-screen
+ applications
description: updated
quequotion (quequotion) on 2012-08-18
description: updated
Omer Akram (om26er) on 2012-08-19
no longer affects: unity
Changed in unity:
status: New → Invalid
quequotion (quequotion) wrote :

Just a status report:

I've upgraded back to Unity 6.0 and Compiz from Precise.
My resons for doing so are important, but irrelevant to this bug.
Suffice to say: I can not hold my breath for the SRU that will fix Precise.

This bug is still 100% reproducible.

I am convinced this is a Compiz bug, not a Unity bug.

I believe the problem lies in how compiz renders unity compared to other plugins.

Steps to reproduce:

1. Install compiz and unity (version is not important!).
2. Enable desktop cube.
3. Set "Opacity When Not Rotating" to "0.0000".
4. Observe that Unity is visible at the top of the screen at all times in all applications, even screensavers, with absolutely no exceptions.

>>Omer
Didn't I already do that? Did I miss something?

quequotion (quequotion) wrote :

*I've upgraded back to Unity 6.0 and Compiz from QUANTAL

Changed in compiz:
importance: Undecided → Low
quequotion (quequotion) wrote :

From my thread in the Ubuntu forums, it seems I'm not alone with cube opacity affecting Unity panel visibility.

Two users confirm the same issue with the same workaround:
http://ubuntuforums.org/showpost.php?p=12188631&postcount=95
http://ubuntuforums.org/showpost.php?p=12212825&postcount=96

These people are using the standard Precise versions of Unity and Compiz.

Firekage (firekage) wrote :

I must confirm it. I have it also. My post is on the Ubuntu forum - link posted above.

CJ Julius (cj-julius) wrote :

I am having the same issue. Unity is over everything, even when watching video fullscreen. I have another install of 12.04 on another machine that does not have this issue. The only difference is that Compiz desktop cube is not running on it. I have tried the solutions proposed in the QQ thread above and have had no luck in resolving the issue.

damyan-n56vz (damyan-n56vz) wrote :

The same issue here.
If Desktop-Cube not transparent - panel hides on fullscreen.

quequotion (quequotion) on 2012-09-18
Changed in compiz:
status: New → Confirmed
Sam_ (and-sam) wrote :

Possibly dupe of bug 734908

quequotion (quequotion) wrote :

>>Sam_
As I mentioned in the second line of the bug description, they are possibly related, but with different circumstances.

I believe this indicates a more serious problem than the solutions for bug 734908 have attempted to solve.

This bug is NOT fixed in unity 5.16.0 and continues to be a problem in all existing versions of unity & compiz.

It is likely that this particular compiz configuration--desktop cube, transparent while not rotating--has not been tested.

Sam_ (and-sam) wrote :

Updated recent fix of 734908 which didn't help.
Hence my dupe bug 884990 is still valid.
The setup is the same: Cube, transparent, with or without enabled rotation the panel is visible - period.
And yes it's ack that cube isn't a standard setup and therefore at the very end of the list for bug fix.

unity:
  Installed: 5.16.0-0ubuntu1
  Candidate: 5.16.0-0ubuntu1
  Version table:
 *** 5.16.0-0ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     5.10.0-0ubuntu6 0
        500 http://archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

compiz:
  Installed: 1:0.9.7.8-0ubuntu1.4
  Candidate: 1:0.9.7.8-0ubuntu1.4
  Version table:
 *** 1:0.9.7.8-0ubuntu1.4 0
        500 http://archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     1:0.9.7.6-0ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

quequotion (quequotion) wrote :

>Sam_

In which case, this bug is a dupe of yours and your is no longer a dupe of 734908, which is "fixed".

We still have a bug with cube + cube transparency, which we will have to maintain as a distinct bug.

In addition to fullscreen applications and videos I've found that indeed, unity is always visible, period.

Even over the screensaver when the screen is locked, which reveals the currently open window title while the screen is locked...

Sam_ (and-sam) wrote :

Bug 734908 was fixed and arrived yesterday.
https://launchpad.net/ubuntu/+source/unity/5.16.0-0ubuntu1

Mine (884990) was a dupe of it, but the fix had no impact on transparent cube and panel setup.

I can confirm this bug still exists. 12.04 with all updates, Compiz 1:0.9.7.8-0ubuntu1.4, Unity 5.16.0-0ubuntu1+karosdev2.

With desktop cube "opacity when not rotating" set to <100%, fullscreen has unity panel visible but unusable at all times.
With desktop cube "opacity when not rotating" set to 100%, fullscreen works correctly.

-AG

Daniel van Vugt (vanvugt) wrote :

From what I remember of compiz occlusion detection and the Unity code relating to that and painting the shell, I think this is a more likely a Unity problem.

Changed in unity:
status: Invalid → Confirmed
importance: Undecided → Low
quequotion (quequotion) wrote :

>>Daniel

If that is so, then you're looking for something that goes like this:
(excuse the not-even-pseudocode, i haven't written a program since college)

[compiz occlusion detection]
if windowstate == full-screen; occlusion = full-screen

[unity code]
if occlusion == full-screen, paint-shell(no)

Where Unity doesn't get that occlusion is fullscreen when the cube is transparent, or knows that occlusion is fullscreen but paints the shell anyway because the cube is transparent.

Why does cube transparency bring out this bug?

Is it possible that cube transparency somehow breaks occlusion?

Daniel van Vugt (vanvugt) wrote :

It's compiz occlusion rules: any window (including the desktop) that is non-opaque does not count in occlusion detection. All windows get painted back to front regardless (including translucent ones). Occlusion detection is just used to eliminate any hidden behind fully opaque windows.

That all said, this bug sounds like unityshell isn't following the intended compiz plugin behaviour.

quequotion (quequotion) wrote :

>unityshell isn't following the intended compiz plugin behaviour
That I can believe.

Are you getting closer to narrowing it down?

Daniel van Vugt (vanvugt) wrote :

Compiz is open source. Anyone is free to try and fix bugs themselves.

I am very busy and not looking at this bug.

matthieu vidal (mvidal0001) wrote :

This bug is still there with "unity staging ppa" for quantal

(compiz 9.9)

Andre.luizmg (andre-luizmg1-1) wrote :

This bug affects me with ubuntu 12.10 the panel >and unity< is always visible over any and all full-screen applications when the cube is enabled and transparent

picture firefox on fullscreen mode:

Andre.luizmg (andre-luizmg1-1) wrote :

^^^^^^

matthieu vidal (mvidal0001) wrote :

the bug is still there 14.04 ....

.... Ubuntu based upon a compiz out of control !!!

... and yes ... I'm upset because of
 the confidence that I had about ubuntu ...

And no ... I won't recommand a phone or tablet with ubuntu inside.

Marc (mphaan) wrote :

This is a serious problem for the native citrix ICA client. If a citrix session opens a PowerFuse or windows screen the bottom bar with the start button is only partly visible. It makes many citrix tasks impossible in unity.

quequotion (quequotion) wrote :

From bug 734908:

>>vanvugt
>It's impossible for an X app to draw on top of the Unity shell because the Unity shell is part of Compiz and designed to always draw after app windows (hence appears on top).

This is something I have been waiting to hear for about five years--confirmation and explanation of the actual cause of this bug. Thank you for explaining it clearly. This also makes it clear what needs to be done:

>If you want the appearance of Unity not being on top then you need to modify the Unity code so that it doesn't draw itself on top, or not draw itself at all under certain conditions.

This is what users have wanted to happen all along. I'm sad to hear you aren't involved anymore, as I know you put significant effort into improving compiz. Do you think any of the current compiz or unity dev team would be willing to resolve this?

Daniel van Vugt (vanvugt) wrote :

Certainly the current maintainers should be getting email notifications for this bug already. Although I would understand if they decided it was not a priority for them to work on compared to other issues.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers