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

Linux: Fulllscreen mode does not work as expected. Pioneer only uses ~40% of the screen #4575

Open
glaubersm opened this issue May 1, 2019 · 15 comments

Comments

@glaubersm
Copy link

Observed behaviour

Pioneer only uses ~40% of the screen in fullscreen mode when running on Gnome Wayland or KDE Plasma Wayland sessions. See the screenshot below.
Such problem does not occur on X11.

Expected behaviour

Fullscreen mode works correctly.

Steps to reproduce

start Gnome Wayland or KDE Plasma Wayland sessions on linux
open Pioneer
set fullscreen mode and restart Pioneer

My pioneer version (and OS):
pioneer-bin 20190203-1 (installed from AUR)
Arch Linux
Gnome 3.32
KDE Plasma 5.15.4

pioneer

@Web-eWorks
Copy link
Member

This is likely an issue with Wayland-SDL interoperability, as it appears that SDL is reporting a smaller size (800x600?) than is actually occupied by the window. It also appears that the game renderer and the imgui renderer implementation use two different OpenGL origin modes, which is causing the menu to render in empty space.

Unfortunately, my DE doesn't use wayland so I'm unable to track the bug down myself. If you find a workaround or want to hunt for the cause of the bug yourself, please feel free.

@glaubersm
Copy link
Author

Unfortunately I do not understand anything about software developement. :(

@Cyborgscode
Copy link

This is NOT a Wayland problem. Problem confirmed with 20190302 on Xorg with 3k 2780x1800 resolution.

As soon as we get a new version to test on, i will recheck it.

Fedora 29 - Intel GPU - Standard Linux Intel driver - Device: Surface Pro 4

@Web-eWorks
Copy link
Member

@Cyborgscode can you zip up output.txt and opengl.txt from the ~/.pioneer directory and link them here along with the output from xrandr -q on the affected device?

@glaubersm glaubersm changed the title Linux: Fulllscreen mode does work as expected on Wayland. Pioneer only uses ~40% of the screen Linux: Fulllscreen mode does not work as expected on Wayland. Pioneer only uses ~40% of the screen Oct 8, 2019
@Cyborgscode
Copy link

no output.txt present there. Both files attached.

opengl.txt
xrandr.txt

@fluffyfreak
Copy link
Contributor

@Cyborgscode to get the output.txt you might have to edit the config.ini to set RedirectStdio=1

@Cyborgscode
Copy link

confirmed on version 2019-10-09

@Cyborgscode
Copy link

output 1&2 redirected from 2019-10-09 on Fedora 29 Surface Pro intel-gpu

output.log

@Cyborgscode
Copy link

BTW.. those ~40% width that is used is app. 2780/1920 ( 3k / FHD ).. could be coincident , but IF there is a hard overflow > 1920px, the result would ~ match what we now see.

@cwyss
Copy link
Contributor

cwyss commented Jan 25, 2020

I can confirm the same behaviour and discovered something interesting:

Pioneer's Options window reports a screen resolution of 1920x1080. But in .pioneer/config.ini I find the entries ScrHeight=600 and ScrWidth=800! In fact, 1920x1080 is the screen resolution of my desktop and 800x600 is the size of my Pioneer window (and the region used for rendering when in fullscreen mode.) When I manually change the screen size in config.ini to 1920x1080 and turn fullscreen on, I get a perfect fullscreen pioneer display 😄

So it appears to me that the problem is (also) related to pioneer's config system?

My system is debian buster with gnome on wayland. Output of xrandr -q is

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
XWAYLAND0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 280mm x 160mm
   1920x1080     59.88*+

@Web-eWorks
Copy link
Member

@cwyss @glaubersm @Cyborgscode thank you for helping track this down! For now, we're not able to fix the underlying issue (see #4766 (comment) for details and work-around steps), but we'll leave this issue open to remain aware that it exists.

@Web-eWorks Web-eWorks changed the title Linux: Fulllscreen mode does not work as expected on Wayland. Pioneer only uses ~40% of the screen Linux: Fulllscreen mode does not work as expected. Pioneer only uses ~40% of the screen Mar 23, 2020
@fluffyfreak
Copy link
Contributor

Hang on, that's not necessarily a bug with Pioneer. It's perfectly valid to render at a lower resolution than the window size, the two do not need to be equal.

Typically with 4k screens for example you only render at a 1080 and just show that fullscreen. So something else is going on here.

@Cyborgscode
Copy link

Fix Confirmed:

xrandr -q

Screen 0: minimum 320 x 200, current 2736 x 1824, maximum 16384 x 16384
and pioneer wrote 800x600 into it's config, but telling me in the prefs window, it found the correct 2736x1824 resolution.. after correction, it's starts as it should.

That bug must be in pioneers code.

@Cyborgscode
Copy link

BTW: It's fast on a 3k Surface tablet.. but the "tablet" controlls are ... absent :( :D That would a hilarious feature, if you could control it with touch.

@fluffyfreak
Copy link
Contributor

fluffyfreak commented Mar 24, 2020

No what I mean is that it can know that the screen is capable of 2736 x 1824 resolution, but you should still be able to render the game at 800x600 and have it display (upscale) to 2736 x 1824.

What doesn't appear to be happening here, which should be happening, is that we're still rendering at 800x600 (because the resolution hasn't been changed) but it is not being upscaled.

All the "workaround" does is tell the game to render at the same native resolution as the display is set too which makes it work by matching it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants