Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Panel with window list kept active in bordered fullscreen mode (Cinnamon) #23

Open
Sejsel opened this issue Aug 14, 2021 · 19 comments
Open
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@Sejsel
Copy link

Sejsel commented Aug 14, 2021

Burrito keeps the panel with window list active, which obscures a part of the game. This is sadly enough of an issue for me for this to be unusable. I am not sure if anything can be done about it on Burrito's side.

Burrito

image

No Burrito

image

@AsherGlick AsherGlick added the bug Something isn't working label Aug 14, 2021
@AsherGlick
Copy link
Owner

AsherGlick commented Aug 14, 2021

Can you share what distro/version and window manager you are using?
It looks like Cinnamon is not treating burrito's full screen properly. Likely something can be done, but I do not know what it is. If someone running Cinnamon is able to experiment with the various display flags godot provides around full screen and window sizing we might be able to fix it.

@AsherGlick AsherGlick added the help wanted Extra attention is needed label Aug 14, 2021
@TarEnethil
Copy link
Contributor

Setting window/size/fullscreen=true in project.godot fixes this for me on Linux Mint 20.1 with Cinnamon. I don't have any other system to test if this breaks for other systems.

Side note/question: Does/should the burrito window (with the red border) scale with different resolutions? On my 2560x1440 display, the windows only occupies two thirds of the screen, which means the drawn paths are somewhat off (but usable) and the minimap overlay is totally off. Interestingly, setting window/size/resizable=true (with fullscreen=true) makes the burrito window scale somewhat, by which I mean that the paths are nice and central and the minimap is only a few pixels off.

@coderedart
Copy link
Contributor

`[display]

window/size/width=1820
window/size/height=874`

it seems the window size is hardcoded in the project settings. maybe there should be a new issue about "attaching" to gw2 window? taco/blish get the window size from windows api and resize/reposition themselves to match the gw2 window.
otherwise, we just default to fullscreen (borderless fullscreen according to godot) and tell users that burrito does not support overlaying on gw2 window that is not fully maximized.

@TarEnethil @Sejsel are you guys using windowed full screen for gw2? #25 had issues with burrito going into background when clicking on gw2 window in kde, just wanted to check if cinnamon had the same issue.

@TarEnethil
Copy link
Contributor

@coderedart I am using windowed full screen, yes. Burrito stays on top of gw2 regardless of the fullscreen=true. When I tab out of gw2 (gw2 window not minimized!) and click back into it, it doesnt actually focus gw2 but rather the burrito overlay, which means I must alt-tab into the game.

@AsherGlick
Copy link
Owner

@TarEnethil I did not get around to testing multiple screen resolutions in the original development. I play on a 1080p screen. My opinion is that burrito should cover the entire gw2 screen even if it is being played at a larger resolution. I think it makes sense to open a new issue for that.

@coderedart That hardcoded value becoming dynamic sounds like good idea. It reminds me that in my setup any values close to 1080p were automatically expanded to 1080p, which is why those numbers are so awkward. If we are able to get the gw2 window position that would be great. I did run into some issues with positioning though with #8 . Not sure if those will effect attempts do do this.

@TarEnethil Once you refocus and alt-tab into the game are you able to click on burrito normally or do you have to alt tab back to burrito to interact with it? Or does mouse focus work correctly?

@TarEnethil
Copy link
Contributor

TarEnethil commented Aug 15, 2021

I think it makes sense to open a new issue for that.

Will make one tomorrow if you haven't done so by then

@AsherGlick I cannot interact with burrito when tabbed into the game. I indeed need to alt-tab into the burrito process, click the (slightly misaligned) icon, load a trailpack, close the menu and then alt-tab back into gw2. I guess this is a cinnamon-related issue, I don't know if something can be done about it here.

@coderedart
Copy link
Contributor

I think it makes sense to open a new issue for that.

Will make one tomorrow if you haven't done so by then

@AsherGlick I cannot interact with burrito when tabbed into the game. I indeed need to alt-tab into the burrito process, click the (slightly misaligned) icon, load a trailpack, close the menu and then alt-tab back into gw2. I guess this is a cinnamon-related issue, I don't know if something can be done about it here.

Not just cinnamon, KDE has the same issue that input doesn't work properly with windowed full screen

@Technetium1
Copy link

Technetium1 commented Aug 15, 2021

Not just cinnamon, KDE has the same issue that input doesn't work properly with windowed full screen

I'd like to add that the input handling bug seems to not be present with wine staging on my system (6.15), but is wildly unstable.

UPDATE: I can get progress enough to see the overlay on staging, but not on lutris-6.10-7. 1440p windowed fullscreen. The settings button doesn't work. Markers won't load. But at least there's some progression...
image

@AsherGlick
Copy link
Owner

I have broken out the screen sizing issue into a separate thread #29 so we can return this bug to the original topic of incorrect window stacking.

@Technetium1 make sure your burrito_link is running properly. #24 may help provide some insights into that.

@coderedart
Copy link
Contributor

i think this issue and #25 are both related to stacking order of windowed fullscreen gw2 and the overlay.

@AsherGlick
Copy link
Owner

@Sejsel @Technetium1 With the pull of #39 the likely proposed causes of this issue have been addressed. Can you confirm if this continues to be an issue with the latest upstream build?

@Technetium1
Copy link

@AsherGlick testing https://github.com/AsherGlick/Burrito/actions/runs/1332226605 with lutris-gw2-6.14-3-x86_64

Running before game is open:

[tech@mango Burrito_Linux]$ ./run_burrito_link.sh
gamemodeauto:
gamemodeauto:
gamemodeauto:
esync: up and running.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
skipping config: /home/tech/.config/MangoHud/wine-explorer.conf [ not found ]
skipping config: /home/tech/.local/share/lutris/runners/wine/lutris-gw2-6.14-3-x86_64/bin/MangoHud.conf [ not found ]
skipping config: /home/tech/.config/MangoHud/wine64-preloader.conf [ not found ]
skipping config: /home/tech/.config/MangoHud/MangoHud.conf [ not found ]
hello world
successfully opened mumble link shared memory..
Client: The Winsock DLL status is Running.
Client: socket() is OK!
{"name":"Tekfixx","profession":4,"spec":5,"race":0,"map_id":50,"world_id":268435457,"team_color_id":0,"commander":false,"map":50,"fov":0.901,"uisz":3}
{"name":"Tekfixx","profession":4,"spec":5,"race":0,"map_id":50,"world_id":268435457,"team_color_id":0,"commander":false,"map":50,"fov":1.222,"uisz":3}
{"name":"Tekfixx","profession":4,"spec":5,"race":0,"map_id":50,"world_id":268435457,"team_color_id":0,"commander":false,"map":50,"fov":1.222,"uisz":3}
{"name":"Tekfixx","profession":4,"spec":5,"race":0,"map_id":50,"world_id":268435457,"team_color_id":0

and nothing came up...


Running with game open already

[tech@mango Burrito_Linux]$ ./run_burrito_link.sh
gamemodeauto:
gamemodeauto:
gamemodeauto:
hello world
successfully opened mumble link shared memory..
Client: The Winsock DLL status is Running.
Client: socket() is OK!
{"name":"Tekfixx","profession":4,"spec":5,"race":0,"map_id":50,"world_id":268435457,"team_color_id":0,"commander":false,"map":50,"fov":1.222,"uisz":3}
{"name":"Tekfixx","profession":4,"spec":5,"race":0,"map_id":50,"world_id":268435457,"team_color_id":0,"commander":false,"map":50,"fov":1.222,"uisz":3}
{"name":"Tekfixx","profession":4,"spec":5,"race":0,"map_id":50,"world_id":268435457,"team_color_id":0,"commander":false,"map":50,"fov":1.222,"uisz":3}

and nothing came up...


Testing lutris-ge-6.16-1-x86_64

Running before game is open:

[tech@mango Burrito_Linux]$ ./run_burrito_link.sh
gamemodeauto:
gamemodeauto:
gamemodeauto:
esync: up and running.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
skipping config: /home/tech/.config/MangoHud/wine-explorer.conf [ not found ]
skipping config: /home/tech/.local/share/lutris/runners/wine/lutris-ge-6.16-1-x86_64/bin/MangoHud.conf [ not found ]
skipping config: /home/tech/.config/MangoHud/wine64-preloader.conf [ not found ]
skipping config: /home/tech/.config/MangoHud/MangoHud.conf [ not found ]
WARNING: radv is not a conformant Vulkan implementation, testing use only.
skipping config: /home/tech/.config/MangoHud/wine-explorer.conf [ not found ]
skipping config: /home/tech/.local/share/lutris/runners/wine/lutris-ge-6.16-1-x86_64/bin/MangoHud.conf [ not found ]
skipping config: /home/tech/.config/MangoHud/wine64-preloader.conf [ not found ]
skipping config: /home/tech/.config/MangoHud/MangoHud.conf [ not found ]
hello world
successfully opened mumble link shared memory..
Client: The Winsock DLL status is Running.
Client: socket() is OK!
{"name":"Tekfixx","profession":4,"spec":5,"race":0,"map_id":50,"world_id":268435461,"team_color_id":0,"commander":false,"map":50,"fov":0.895,"uisz":3}
{"name":"Tekfixx","profession":4,"spec":5,"race":0,"map_id":50,"world_id":268435461,"team_color_id":0,"commander":false,"map":50,"fov":1.222,"uisz":3}
{"name":"Tekfixx","profession":4,"spec":5,"race":0,"map_id":50,"world_id":268435461,"team_color_id":0,"commander":false,"map":50,"fov":1.222,"uisz":3}

and nothing came up...


Running with game open already

[tech@mango Burrito_Linux]$ ./run_burrito_link.sh
gamemodeauto:
gamemodeauto:
gamemodeauto:
hello world
successfully opened mumble link shared memory..
Client: The Winsock DLL status is Running.
Client: socket() is OK!
{"name":"Tekfixx","profession":4,"spec":5,"race":0,"map_id":50,"world_id":268435462,"team_color_id":0,"commander":false,"map":50,"fov":1.222,"uisz":3}
{"name":"Tekfixx","profession":4,"spec":5,"race":0,"map_id":50,"world_id":268435462,"team_color_id":0,"commander":false,"map":50,"fov":1.222,"uisz":3}
{"name":"Tekfixx","profession":4,"spec":5,"race":0,"map_id":50,"world_id":268435462,"team_color_id":0,"commander":false,"map":50,"fov":1.222,"uisz":3}
{"name":"Tekfixx","profession":4,"spec":5,"race":0,"map_id":50,"world_id":268435462,"team_color_id":0,"commander":false,"map":50,"fov":1.222,"uisz":3}

and nothing came up...

@AsherGlick
Copy link
Owner

@Technetium1 Can you explain what "nothing came up" means? Did the burrito window disappear when you started running the link code? Or is it still hidden behind the gw2 window.

@Technetium1
Copy link

@AsherGlick Nothing changed whatsoever, there was not even a window I could move to the front anymore. Notice in my previous screenshot there is a burrito icon in the bottom middle, that window doesn't even seem to exist temporarily anymore.

@AsherGlick
Copy link
Owner

If you just launch Burrito without burrito_link do you get a window, it will just be the burrito icon? There is #40 that could be compressing it to a 1x1 pixel window as soon as it connects to burrito_link the first time.

@Technetium1
Copy link

@AsherGlick I have a burrito icon, but a window/overlay is not visible. Might be related to # 40.

1st

Godot Engine v3.3.2.stable.official - https://godotengine.org
OpenGL ES 3.0 Renderer: AMD Radeon RX 6700 XT (NAVY_FLOUNDER, DRM 3.42.0, 5.14.10-zen1-1-zen, LLVM 12.0.1)
OpenGL ES Batching: ON

ERROR: open_dynamic_library: Condition "!p_library_handle" is true. Returned: ERR_CANT_OPEN
At: drivers/unix/os_unix.cpp:415.
ERROR: get_symbol: No valid library handle, can't get symbol from GDNative object
At: modules/gdnative/gdnative.cpp:502.
ERROR: init_library: No nativescript_init in "res://burrito-fg/target/debug/libburrito_fg.so" found
At: modules/gdnative/nativescript/nativescript.cpp:1482.
ERROR: open_dynamic_library: Condition "!p_library_handle" is true. Returned: ERR_CANT_OPEN
At: drivers/unix/os_unix.cpp:415.
ERROR: get_symbol: No valid library handle, can't get symbol from GDNative object
At: modules/gdnative/gdnative.cpp:502.
ERROR: init_library: No nativescript_init in "res://taco_parser/target/release/libgw2_taco_parser.so" found
At: modules/gdnative/nativescript/nativescript.cpp:1482.
ERROR: get_as_text: Condition "!f" is true. Returned: String()
At: core/bind/core_bind.cpp:2126.
ERROR: parse: Error parsing JSON at line 0:
At: core/bind/core_bind.cpp:3292.
ERROR: parse: Error parsing JSON at line 0:
At: core/bind/core_bind.cpp:3292.

2nd

Godot Engine v3.3.2.stable.official - https://godotengine.org
OpenGL ES 3.0 Renderer: AMD Radeon RX 6700 XT (NAVY_FLOUNDER, DRM 3.42.0, 5.14.10-zen1-1-zen, LLVM 12.0.1)
OpenGL ES Batching: ON

ERROR: open_dynamic_library: Condition "!p_library_handle" is true. Returned: ERR_CANT_OPEN
At: drivers/unix/os_unix.cpp:415.
ERROR: get_symbol: No valid library handle, can't get symbol from GDNative object
At: modules/gdnative/gdnative.cpp:502.
ERROR: init_library: No nativescript_init in "res://burrito-fg/target/debug/libburrito_fg.so" found
At: modules/gdnative/nativescript/nativescript.cpp:1482.
ERROR: open_dynamic_library: Condition "!p_library_handle" is true. Returned: ERR_CANT_OPEN
At: drivers/unix/os_unix.cpp:415.
ERROR: get_symbol: No valid library handle, can't get symbol from GDNative object
At: modules/gdnative/gdnative.cpp:502.
ERROR: init_library: No nativescript_init in "res://taco_parser/target/release/libgw2_taco_parser.so" found
At: modules/gdnative/nativescript/nativescript.cpp:1482.
ERROR: get_as_text: Condition "!f" is true. Returned: String()
At: core/bind/core_bind.cpp:2126.
ERROR: parse: Error parsing JSON at line 0:
At: core/bind/core_bind.cpp:3292.
ERROR: parse: Error parsing JSON at line 0:
At: core/bind/core_bind.cpp:3292.
ERROR: terminate: No valid library handle, can't terminate GDNative object
At: modules/gdnative/gdnative.cpp:407.
ERROR: terminate: No valid library handle, can't terminate GDNative object
At: modules/gdnative/gdnative.cpp:407.

3rd

Godot Engine v3.3.2.stable.official - https://godotengine.org
OpenGL ES 3.0 Renderer: AMD Radeon RX 6700 XT (NAVY_FLOUNDER, DRM 3.42.0, 5.14.10-zen1-1-zen, LLVM 12.0.1)
OpenGL ES Batching: ON

ERROR: open_dynamic_library: Condition "!p_library_handle" is true. Returned: ERR_CANT_OPEN
At: drivers/unix/os_unix.cpp:415.
ERROR: get_symbol: No valid library handle, can't get symbol from GDNative object
At: modules/gdnative/gdnative.cpp:502.
ERROR: init_library: No nativescript_init in "res://burrito-fg/target/debug/libburrito_fg.so" found
At: modules/gdnative/nativescript/nativescript.cpp:1482.
ERROR: open_dynamic_library: Condition "!p_library_handle" is true. Returned: ERR_CANT_OPEN
At: drivers/unix/os_unix.cpp:415.
ERROR: get_symbol: No valid library handle, can't get symbol from GDNative object
At: modules/gdnative/gdnative.cpp:502.
ERROR: init_library: No nativescript_init in "res://taco_parser/target/release/libgw2_taco_parser.so" found
At: modules/gdnative/nativescript/nativescript.cpp:1482.
ERROR: get_as_text: Condition "!f" is true. Returned: String()
At: core/bind/core_bind.cpp:2126.
ERROR: parse: Error parsing JSON at line 0:
At: core/bind/core_bind.cpp:3292.
ERROR: parse: Error parsing JSON at line 0:
At: core/bind/core_bind.cpp:3292.

@AsherGlick
Copy link
Owner

These logs are very interesting. They seem to show that the two external dependency libraries are not being loaded, one for X11 settings and one for XML parsing. It looks like it is trying to load them from their build directories. I'm guessing there is some error in the CI code or export settings that is not bundling these files in.

If you see the icon then the overlay is present. When clicking the icon that read border should appear as in your previous screenshots. If clicking the icon does not create the red border then it could be that the errors in your logs are causing the overlay to hang preventing any interaction. Unfortunately debugging that further may require a fix for the library loading first as that issue might be masking others.

I have created #44 to track that issue.

@AsherGlick
Copy link
Owner

That issue has been resolved.
@Technetium1 Try out https://github.com/AsherGlick/Burrito/actions/runs/1340552781 for a build that has the changes.

@Technetium1
Copy link

I haven't tested this in a long time, it somehow slipped through my notifications and was forgotten about, I'll try it again soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

5 participants