ValveSoftware / gamescope

SteamOS session compositing window manager
Other
3.01k stars 198 forks source link

Gamescope doesn't show black bars when using an ultra wide aspect ratio #1177

Open Kagukara opened 6 months ago

Kagukara commented 6 months ago

Once again the new release of gamescope has made me downgrade.

System Information:

  1. When launching Guild Wars 2 it launches the launcher but once you've logged in and hit play gamescope closes along with the game.

  2. The mouse in Genshin Impact and Punishing: Gray Raven doesn't get captured when looking around/trying to moving in other direction not just the way the camera is facing.

  3. gamescope keeps getting releases with bugs that cause you to downgrade till patched. https://github.com/ValveSoftware/gamescope/issues/1177#issuecomment-1979176856

kisak-valve commented 6 months ago

Hello @Kagukara, in general, multi-issue issue reports are bad for any issue tracker. For tracking purposes, only your first issue will be tracked here.

Kagukara commented 6 months ago

Hello @Kagukara, in general, multi-issue issue reports are bad for any issue tracker. For tracking purposes, only your first issue will be tracked here.

That's fine, but I'm not going to go out of my way to make another issue as this keep on occurring with none git releases, and to be honest I'm probably just going to stay on 3.14.0-1 until it breaks/stops working.

sharkautarch commented 6 months ago

@Kagukara Can you post the gamescope log for your first issue?

Kagukara commented 6 months ago

@Kagukara Can you post the gamescope log for your first issue?

@sharkautarch How would I go about doing that?

Running gamescope via the terminal and using DISPLAY=:1 %command% for the launch options, floods the terminal repeatedly with:

xwm: Unhandled NET_WM_STATE property change: _KDE_NET_WM_STATE_SKIP_SWITCHER
xwm: Unhandled NET_WM_STATE property change: _NET_WM_STATE_ABOVE
xwm: Unhandled NET_WM_STATE property change: _NET_WM_STATE_MAXIMIZED_VERT
xwm: Unhandled NET_WM_STATE property change: _NET_WM_STATE_MAXIMIZED_HORZ

EDIT: Its only crashing when gamescope is put in the launch options, when run with gamescope via the terminal and using DISPLAY=:1 %command% for the launch options it doesn't.

sharkautarch commented 6 months ago

@Kagukara Can you post the gamescope log for your first issue?

@sharkautarch How would I go about doing that?

To get the logs from gamescope when using it in steam launch options, just launch steam from the terminal to both view the terminal output and log to file, run: steam 2>&1 | tee gamescope.log

Make sure that steam is fully closed before trying to launch it from the terminal (so if you see the steam icon in your taskbar/tray/docker, right click it and click exit and then wait for the steam icon to go away. Alternatively, run for pid in $(ps -aux | grep -i [s]team | awk '{print $2}'); do kill -9 "$pid"; done to force close steam)

Kagukara commented 6 months ago

Here's the log file for the crash: gamescope.log

sharkautarch commented 6 months ago

Here's the log file for the crash: gamescope.log

[from log] gamescope: ../gamescope/src/backend.h:268: const T& gamescope::BackendBlob::View() const [with T = hdr_metadata_infoframe]: Assertion `sizeof( T ) == m_Data.size()' failed.

hmmm looks like an issue that has already been fixed w/ the latest git commits Try installing gamescope-git to get the latest upstream version

Kagukara commented 6 months ago

If it was fixed in the latest upstream version why wasn't it released in the main release?

EDIT: Or is that an arch issue? https://archlinux.org/packages/extra/x86_64/gamescope/

Kagukara commented 6 months ago

With the latest version, I cannot get past "Initializing..." on the launcher when launching via steam with gamescope. When launching via bottles I can get to the login, but cannot interact/click on anything with gamescope.

sharkautarch commented 6 months ago

If it was fixed in the latest upstream version why wasn't it released in the main release?

EDIT: Or is that an arch issue? https://archlinux.org/packages/extra/x86_64/gamescope/

The stable archlinux gamescope package doesn't target the latest commit from the gamescope git repository

With the latest version, I cannot get past "Initializing..." on the launcher when launching via steam with gamescope. When launching via bottles I can get to the login, but cannot interact/click on anything with gamescope.

Can you please post the logs for gamescope again?

Kagukara commented 6 months ago

Looks like the positioning of the cursor is waaaaay off from the login button, also when pressing play this time it just doesn't appear afterwards. Will get the logs for gamescope with bottles.

Kagukara commented 6 months ago

The stable archlinux gamescope package doesn't target the latest commit from the gamescope git repository

I know that, is it arch packaging the package themselves or is it an official release by gamescope?

Kagukara commented 6 months ago

Here is the gamescope logs when run in bottles: gamescope_bottles.log

The mouse position doesn't match the in game mouse position. image

The black bars are also now gone and the window doesn't span fully across the screen. screenshot_2024-03-05_15-50-30

Kagukara commented 6 months ago

The stable archlinux gamescope package doesn't target the latest commit from the gamescope git repository

I know that, is it arch packaging the package themselves or is it an official release by gamescope?

Ah, I think they're getting the packages from here: https://github.com/ValveSoftware/gamescope/releases/tag/3.14.2. Why do these keep getting released with already fixed bugs?

sharkautarch commented 6 months ago

[from log] josh edid: Patching res 800x1280 -> 3840x1800 pipewire: renegotiating stream params (size: 952x540) ... pipewire: renegotiating stream params (size: 3840x2160) ... info: Presenter: Actual swap chain properties: ... info: Buffer size: 3840x1800

hmmm ... height mismatch (1800 vs 2160)... @Joshua-Ashton any idea why this is happening? @Kagukara is your display's resolution 3840x1800 or 3840x2160 or something else?

Kagukara commented 6 months ago

@Kagukara is your display's resolution 3840x1800 or 3840x2160 or something else?

My display is 3840x2160, but I use gamescope to play games in ultrawide by using 3840x1800.

sharkautarch commented 6 months ago

@Kagukara is your display's resolution 3840x1800 or 3840x2160 or something else?

My display is 3840x2160, but I use gamescope to make games ultrawide by using 3840x1800.

oh ok

Ah, I think they're getting the packages from here: https://github.com/ValveSoftware/gamescope/releases/tag/3.14.2. Why do these keep getting released with already fixed bugs?

I think the issue is that recently, Joshua-Ashton has been (among other things) working on major refactors that aim to improve maintainability (and have also made it easier to add new functionality to gamescope). Downside is that it is tricky to backport fixes to releases from before each major refactor. Also, IIRC, the specific aforementioned issue (https://github.com/ValveSoftware/gamescope/issues/1161) was not being reported about when the last 'stable' release was made

Kagukara commented 2 months ago

The black bars are still invisible on the latest version of gamescope 3.14.22-1. Current fix is to use version 3.14.0-1.


gamescope 3.14.22-1

image

gamescope -w 3840 -h 1800 -W 3840 -H 1800 --force-windows-fullscreen -- glxgears

gamescope 3.14.0-1

image

gamescope -w 3840 -h 1800 -W 3840 -H 1800 --force-windows-fullscreen -- glxgears
sharkautarch commented 2 months ago

@Kagukara What host compositor are you using? Also, does anything change if you add -f to gamescope’s parameters?

Kagukara commented 2 months ago

I am using Hyprland, adding -f just makes it fullscreen automatically (as that is what it does).

ProjectSynchro commented 2 weeks ago

Annoyingly this still seems to be an issue with the latest Git HEAD. (d4ca0b979732ad6433fe4d0c4a29af7647777ae7)

With 16:9 resolutions (2560x1440 running on a native 5120x1440 display), a "fullscreen" gamescope window looks like this:

image

Here's the invokation I'm using (using -b or -f flags yield the same results.) gamescope -w 2560 -h 1440 -W 5120 -H 1440 -f

The only workaround is for me to run the display at 2560x1440.. which kinda defeats the purpose of using gamescope in this instance.

Kagukara commented 1 week ago

Still present in gamescope version 3.15.5 and the aur gamescope-git package running 3.15.6 (gcc 14.2.1).

gamescope version 3.14.2-1 is latest version that's working as intended for me. Breaks when switching to gamescope version 3.14.3-1.

System Information


Broken | gamescope version 3.15.5

![image](https://github.com/user-attachments/assets/55ed81c1-edb9-49da-98fe-c1501148b652)

Broken | gamescope version 3.15.6 (gcc 14.2.1)

![image](https://github.com/user-attachments/assets/94b40357-e3af-44ae-841d-abc6f4515108)

Working | gamescope version 3.14.2-1

![image](https://github.com/user-attachments/assets/209ab0ef-ea68-4dcd-a104-19334937b052)