Page MenuHomePhabricator

mixer: background not cleared and showing random artifacts of windows - with different theme
Closed, ResolvedPublic

Description

this is very very interesting and i really don't know whats happening. at first i guessed memory is reused without clearing it, but then i noticed the background is from rhytmbox (gnomes music player) and it uses a different theme (default one i guess). WTF?

whatever, the background is random artifacts, as you'd expect from reusing but not clearing memory. restart e doesn't help.

i've got a radeon redwood using the open source linux driver.

rhythmbox as background:
http://www.enlightenment.org/ss/e-595fb5f5a41581.64363540.jpg

this is my gnome theme of rhytmbox:
http://www.enlightenment.org/ss/e-595fb71f0bdff1.22815701.jpg

resizing a mixer:
https://www.enlightenment.org/ss/display.php?image=e-595fb8534ac206.96267468.jpg

i'm on openSuse

Information for package enlightenment:
--------------------------------------
Repository     : EnlightenmentFactory
Name           : enlightenment
Version        : 0.21.8-221.2
Arch           : x86_64
Vendor         : obs://build.opensuse.org/X11:Enlightenment
ProhtMeyhet renamed this task from mixer: background not cleared to mixer: background not cleared and showing random artifacts of windows - with different theme.Jul 7 2017, 9:50 AM
zmike added a subscriber: raster.Jul 7 2017, 9:57 AM
raster added a comment.Jul 8 2017, 5:28 AM

you haven't perchance set gl/hardware accel as the rendering accel option in elementary config? i do notice it's not the default theme... why don't you switch to it first?

this something with @simotek's theme openSuse-olivegreen as it's not happening with the default theme. opengl/software rendering doesn't change anything.

also e SEGV when switching themes. maybe there is something in these .e-crashdumps to explain this?

sorry, it's oliveleaf not olivegreen.

raster added a comment.Jul 8 2017, 6:10 AM

i think its @simotek 's transparency in the theme... i didn't think we supported this. well i never added code to do this. code has to explicitly set a window to have an alpha channel for transparency to work.

could this be related to T3604?

raster added a comment.Jul 8 2017, 6:16 PM

window moving around ... i don't think is related. but what you see is related to alpha channel. i.e. theme has a transparent background object but window does not have an alpha channel. so evas is drawing a transparent background over whatever garbage is in the memory buffer. of course the buffer is not cleared if it does not have an alpha channel. that's a waste of time and resources and slows rendering down. if you have no alpha channel then you should be providing "solid content". if you do have an alpha channel evas will clear for you (the areas which are not covered by solid content - depending on the complexity of the rectangle set that this ends up being).

raster added a comment.Jul 8 2017, 6:32 PM

ok i checked. we do make alpha windows if the win group in the theme tags it... IF it does. well it works with efl in git ... i just tried.

In T5689#90860, @raster wrote:

window moving around ... i don't think is related.

i should've been more specific. i meant the following in T3604:

So I have found a reproducer for this issue. It seems to happen in any theme with the following lines in edc/elm/win.edc

group { name: "elm/win/base/default";
  data.item: "alpha" "1";

This line is used to make windows transparent / semi transparent.

which to me sounds there are more problems with transparency on windows, one being this ticket and another one "Terminology randomly jumps to current virtual desktop". maybe @simotek and/or @zmike can shed more light on this.

@raster the theme in question doesn't have any transparency so its not that, i'm going to try and update the theme to the efl 1.19 break but either way it seems to be a break in theme compatibility.

if the theme has no transparency (doesnt set alpha 1) but has transparent background images/rects/whatever... then this is exactly the kind of thing i'd expect to see. so i'm confused. in my testing, if done right ... it works. i can only conclude right now that i'm not getting some bit of onfo or something is being done wrong.

zmike triaged this task as Pending on user input priority.Aug 28 2017, 10:55 AM

Does this happen in e.g., metacity?

ProhtMeyhet closed this task as Resolved.Aug 30 2017, 10:12 PM

either gone in 0.21.9 or @simotek updated his theme (in openSuse tumbleweed).