Software rendering incorrectly compositing fullscreen windows on E 0.25.0+
#14
Open
opened 1 year ago by dsmccombs
·
7 comments
No Branch/Tag Specified
devs/asdfuser/comp-sounds
devs/bu5hm4n/bsd_build_fix
devs/bu5hm4n/bugfixing
devs/bu5hm4n/debug_code
devs/bu5hm4n/econfigure2
devs/bu5hm4n/fix
devs/bu5hm4n/fixes
devs/bu5hm4n/luncher_verbose
devs/bu5hm4n/meson_wip
devs/bu5hm4n/mixer-fix
devs/bu5hm4n/mixer_fix
devs/bu5hm4n/mixer_fix_range
devs/bu5hm4n/mixerfun
devs/bu5hm4n/netstart_fixes
devs/bu5hm4n/pointer-fix
devs/bu5hm4n/recognition
devs/bu5hm4n/sandbox_fix
devs/bu5hm4n/swipe_real
devs/bu5hm4n/systray
devs/captainigloo/eglfs
devs/captainigloo/eglfs_rpi
devs/derekf/for_derbyw
devs/derekf/wip2
devs/derekf/wip_viewporter
devs/devilhorns/drm_rotation
devs/devilhorns/e_comp_wl
devs/devilhorns/e_wayland
devs/devilhorns/ecore_drm2
devs/devilhorns/ecore_wl2
devs/devilhorns/output
devs/devilhorns/rotation
devs/devilhorns/wl_buffer
devs/devilhorns/xwayland
devs/discomfitor/action_route
devs/discomfitor/debug
devs/discomfitor/eo
devs/discomfitor/junk
devs/discomfitor/output_states
devs/discomfitor/quicklaunch
devs/discomfitor/xdg-shedsmanship
devs/illogict/signals_priority
devs/princeamd/enlightenment-0.17-elive
devs/sachiel/e19
devs/stanluk/a11y
devs/stefan/wl-session-recovery
devs/yoz/bryce
devs/yoz/imfos
enlightenment-0.17
enlightenment-0.18
enlightenment-0.19
enlightenment-0.20
enlightenment-0.21
enlightenment-0.22
enlightenment-0.23
enlightenment-0.24
f/fix_xlib_protocol_error
feature/quicklaunch
feature/wayland/multi-output
master
v-0.25.0
v0.17.0
v0.17.1
v0.17.2
v0.17.2.1
v0.17.3
v0.17.4
v0.17.5
v0.17.6
v0.18.0
v0.18.0-alpha1
v0.18.0-alpha3
v0.18.0-alpha4
v0.18.0-rc1
v0.18.0-rc2
v0.18.1
v0.18.2
v0.18.3
v0.18.4
v0.18.5
v0.18.6
v0.18.7
v0.18.8
v0.18.9
v0.19.0
v0.19.0-alpha1
v0.19.0-alpha2
v0.19.0-rc3
v0.19.1
v0.19.10
v0.19.11
v0.19.12
v0.19.14
v0.19.2
v0.19.3
v0.19.4
v0.19.5
v0.19.6
v0.19.7
v0.19.8
v0.19.9
v0.20.0
v0.20.0-alpha
v0.20.0-beta
v0.20.0-rc
v0.20.1
v0.20.2
v0.20.3
v0.20.4
v0.20.5
v0.20.6
v0.20.7
v0.20.8
v0.20.9
v0.21.0
v0.21.0-alpha
v0.21.0-beta
v0.21.0-rc
v0.21.1
v0.21.10
v0.21.11
v0.21.2
v0.21.3
v0.21.4
v0.21.5
v0.21.6
v0.21.7
v0.21.8
v0.21.9
v0.22.0
v0.22.0-alpha
v0.22.0-beta
v0.22.0-rc
v0.22.1
v0.22.2
v0.22.3
v0.22.4
v0.23.0
v0.23.0-alpha
v0.23.0-beta
v0.23.1
v0.24.0
v0.24.1
v0.24.2
v0.25.0
v0.25.1
v0.25.2
v0.25.3
v0.25.3-2
v0.25.4
Labels
Apply labels
Clear labels
No items
No Label
Milestone
Set milestone
Clear milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
Assign users
Clear assignees
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: enlightenment/enlightenment#14
Reference in new issue
There is no content yet.
Delete Branch '%!s(<nil>)'
Deleting a branch is permanent. It CANNOT be undone. Continue?
No
Yes
Beginning with the 0.25.0 release of enlightenment, and tested to be continuing on 0.25.3, fullscreen windows appear to composited, or are otherwise running extremely slowly when the Compositor Engine is set to Software with
Don't composite fullscreen windows
enabled. Changing the Compositor to OpenGL or downgrading to enlightenment 0.24.2 and using the Software renderer works as expected.Test configuration:
enlightenment-0.25.3-1-x86_64.pkg.tar.zst
andenlightenment-0.24.2-1-x86_64.pkg.tar.zst
packagesUsing
xprop
to view the properties of the full screen window between the different versions of enlightenment,_NET_WM_BYPASS_COMPOSITOR(CARDINAL) = 1
is set in both cases, the only noteable difference is__E_ATOM_E_WAS_HERE(CARDINAL) = 1
being set on the newer version of enlightenment where this issue occurs.I don't have exact metrics to list, but can say that these games are smooth and playable with the Compositor Engine set to Software with
Don't composite fullscreen windows
enabled on 0.24.2, and are basically a 1FPS slideshows on 0.25.0+. DisablingDon't composite fullscreen windows
on 0.24.2 produces the same results, which is why I think that setting is not being honored on 0.25.0+.Happy to provide any other information that would be useful if asked.
Hmmm... there must be a reason - something is overlayed and the window is not the only thing on screen... what - i don't know.
I was wrong about the OpenGL compositor not presenting this problem in 0.25.0+, it's just different in that some games end up as a black screen rather than showing anything, furiously alt+tab'ing to shuffle windows around can sometimes get the game to play normally but it's not very consistent.
I did some git bisecting this morning, and narrowed it down to this commit:
f8721df53a
If I revert that on current master, these games play correctly full screen at full speed like they had in 0.24.2.
I think you're right in that however these games launch in Wine via Lutris there's some other unseen window confusing things with the change in the above commit.
Hmm.. the games I've had this issue with all show some sort of splash screen/logo in a separate window before the game launches, maybe that's somehow getting caught up in that change.
thanks for the bisect. that helps as at least from my quick tests with fullscreen windows in general showed it to work. so specific to wine/lutris or that scenario. now that change takes override-redirect windows (used for poup menus by apps) and make them appear ABOVE apps... so some override-redirect window is hobvering on top somewhere. maybe 1x1 pixel in a corner... i dont' know actually. i need to narrow that down, but it's this presence of that window causing compositing to stay on. now it may be that we are promoting a window that is below... to above. this i have to look into - i need to reproduce this to see what's going on under the hood x11 window-wise
@raster is there a command I could run to get a list of all windows and their attributes while it's happening that would be useful for you?
Also, since issue tracking was switched over to this system I'm not getting any notification emails of replies even though I'm subscribed to this issue. Is it just me? I'm only noticing your replies if I happen to look at the issue.
you can use xwininfo -tree -root
then xwininfo -id 0x.....
and xprop -id 0x.....
the id's will come from the first command to poke in some more... :) and yeah -i don't get emails either. thus why things sit around for a while. i don't know why.
Attached is the output of xwininfo -id 0x... and xprop -id 0x... of all windows returned by xwininfo -tree -root while running Myst 2021 fullscreen on Enlightenment 0.25.4 with the problem presenting itself. I collected the info via a script I ran with a 30 second delay before I opened the game to ensure that the game was still the top window when xwininfo/xprop ran.
I kept open windows minimal (from a user perspective, just lutris, terminology, Myst itself, and the network manager applet). Running the same setup with a patched Enlightenment that reverts that commit I linked earlier allows the game to run at full speed.