GPD WIN Mini 2024 display rotated in game mode

Been trying to get the latest Bazzite stable to run in game mode, but the screen is rotated. In desktop mode there are no issues. The 2024 Win mini has the same display as the Ally, but the fix for the Ally doesn’t work for me.
109 Replies
Kyle Gospo
Kyle Gospo4mo ago
GitHub
Don't rotate GPU Win Mini 2024 7640U display (#1351) · ublue-os/baz...
The GPD Win Mini 2024 edition has a native landscape display. This means it doesn't need to be rotated like the 2023 edition. They recently released a 7640U version, which is not being d...
Kyle Gospo
Kyle Gospo4mo ago
update to latest, and enter: rpm-ostree kargs --delete==eDP-1:panel_orientation=right_side_up should be good after that
Smash and Crash
Smash and Crash4mo ago
I’ll try that right now. I rebased it earlier this morning with no changes, so I hope this will work.
antheas
antheas4mo ago
for f in /sys/class/dmi/id/*; do echo "$f:"; sudo cat $f; done
Kyle Gospo
Kyle Gospo4mo ago
already patched by another user thankfully
antheas
antheas4mo ago
seems not oh he has t odelete the quirk
Kyle Gospo
Kyle Gospo4mo ago
it only doesn't add the karg if it was alreadfy added it's gotta be deleted
antheas
antheas4mo ago
well, have it remove the karg too hes on stable
Kyle Gospo
Kyle Gospo4mo ago
yea it hit stable last night
Smash and Crash
Smash and Crash4mo ago
No key found
antheas
antheas4mo ago
get the codes
Kyle Gospo
Kyle Gospo4mo ago
rpm-ostree status an then run what antheas said
Smash and Crash
Smash and Crash4mo ago
Nothing is happening. It just creates a line I can type in. I’m in the 07/12 build
Kyle Gospo
Kyle Gospo4mo ago
rpm-ostree status | fpaste rpm-ostree kargs | fpaste
antheas
antheas4mo ago
copy it again it should print a bunch of stuff
Smash and Crash
Smash and Crash4mo ago
It did print a bunch of stuff now. I made a typo.
antheas
antheas4mo ago
add an fpaste at the end if you cant copy it
Smash and Crash
Smash and Crash4mo ago
I’ll add fpaste to it https://paste.centos.org/view/3d9aa109 This should be it
antheas
antheas4mo ago
ok now the other 2 while i look into it what cpu does your unit have?
antheas
antheas4mo ago
fatphobic?
No description
Kyle Gospo
Kyle Gospo4mo ago
probably fingered fat
Smash and Crash
Smash and Crash4mo ago
Discord pls…..
antheas
antheas4mo ago
ok so kargs did not update for some reason otherwise it would have stripped the previous build hey you typed it admin priviledges smh
Smash and Crash
Smash and Crash4mo ago
Is there any way to write over the kargs on the user side?
antheas
antheas4mo ago
yeah this but written properly
Smash and Crash
Smash and Crash4mo ago
lol.
antheas
antheas4mo ago
@Kyle Gospo you dont remove the existing quirk should be an elif ":G1617-01:" =~ ":$SYS_ID:" remove if exists whats the CPU of your unit
Smash and Crash
Smash and Crash4mo ago
8840u
antheas
antheas4mo ago
|7640U isnt there a CPU unit with this that needs the quirk? why did you add it into the selector or the last years model only had a 7840u
Smash and Crash
Smash and Crash4mo ago
Only 7840u available for the 2023 model.
antheas
antheas4mo ago
in any case, does it work now?
Smash and Crash
Smash and Crash4mo ago
Not sure what command I need to do to fix the quirk.
antheas
antheas4mo ago
rpm-ostree kargs --delete=video=eDP-1:panel_orientation=right_side_up
Smash and Crash
Smash and Crash4mo ago
Still No key found
Kyle Gospo
Kyle Gospo4mo ago
video=eDP-1:panel_orientation=right_side_up it's right there in your kargs if it's not found you are typoing it
antheas
antheas4mo ago
load the discord in your handheld and copy the commands i had 2 = hehe
Smash and Crash
Smash and Crash4mo ago
I was just about to say that. My phone is in portrait so I can’t tell where the spaces are sometimes. lol That’s what did it. It’s updating now.
Smash and Crash
Smash and Crash4mo ago
The orientation has been corrected now! I’ll check the unified refresh rate real quick too.
Kyle Gospo
Kyle Gospo4mo ago
if anything is wrong with refresh rate, send what you expected to happen
Smash and Crash
Smash and Crash4mo ago
Will do thank you both for your help. Basically vrr did not work correctly for me. The frame rate was inconsistent and it would always run at 120hz. I was told to disable unified refresh rate for it to work, but there was no option for that since it got removed.
antheas
antheas4mo ago
how about now
Smash and Crash
Smash and Crash4mo ago
Still doesn’t work on my end sadly.
antheas
antheas4mo ago
force compositing vrr quirk where is that applied
Kyle Gospo
Kyle Gospo4mo ago
Developer options
Smash and Crash
Smash and Crash4mo ago
I have it on in the dev options
antheas
antheas4mo ago
why does vrr need user intervention?
Smash and Crash
Smash and Crash4mo ago
Never understood that myself. My guess is that it’s only applying to the steam deck edid.
Kyle Gospo
Kyle Gospo4mo ago
It shouldn't in the latest versions That was a temporary workaround for a bug that we patched already But it's still worth testing
Smash and Crash
Smash and Crash4mo ago
I’m gonna restart again to check Is there a way to reapply the fix?
antheas
antheas4mo ago
You haven't ported a lot of quirks to ally x
Kyle Gospo
Kyle Gospo4mo ago
The only thing that you can do is toggle the force composition on, if that didn't fix anything for you turn it off Which ones are you talking about?
antheas
antheas4mo ago
Gnome icon Actually that's it
Kyle Gospo
Kyle Gospo4mo ago
Cool, I'll fix it
Smash and Crash
Smash and Crash4mo ago
I can shed a little more info on the issue. When in QAM adjusting the frame limiter with vrr on will always show 120hz in the parentheses. In game play, if I set it to something like 40fps with vrr on. It keeps floating a little above 40fps and can look choppy.
antheas
antheas4mo ago
Did it work with the previous gamescope?
Smash and Crash
Smash and Crash4mo ago
Didn’t really test that due to the rotation issue on slim I can definitely rebase and apply the fix on it if you want me to test it.
antheas
antheas4mo ago
VRR will not work below 47hz most likely It's not designed to go that low
Smash and Crash
Smash and Crash4mo ago
60 would do something similar. It would float around at 70fps and be choppy with vrr on. I’m gonna try slim again to see if it works. I’ll post my results in a bit.
Kyle Gospo
Kyle Gospo4mo ago
done
Smash and Crash
Smash and Crash4mo ago
So it initially works on bazzite Slim, but it keeps updating the kargs and reverting it back.
antheas
antheas4mo ago
Bazzite-dc has the fix
Smash and Crash
Smash and Crash4mo ago
Is it in your container?
antheas
antheas4mo ago
GitHub
Build software better, together
GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.
From An unknown user
From An unknown user
From An unknown user
Smash and Crash
Smash and Crash4mo ago
That with the rotation fix worked. It’s 99% perfect. The one thing I need to do is change the range of the vrr. It’s between 60 and 120 and I want to lower 60hz to something else.
antheas
antheas4mo ago
But normal bazzite 60hz works too right?
Kyle Gospo
Kyle Gospo4mo ago
# GDP Win devices
GDP_LIST="G1619-01:G1621-02:MicroPC:WIN2"
if [[ ":$GDP_LIST:" =~ ":$SYS_ID:" ]]; then
OUTPUT_CONNECTOR='*,DSI-1'
DRM_MODE=fixed
ORIENTATION=right
TOUCH_GESTURES=1
fi

# GPD Win 3 specifc quirk to prevent crashing
# The GPD Win 3 does not support hardware rotation for 270/90 modes. We need to implement shader rotations to get this working correctly.
# 0/180 rotations should work.
if [[ ":G1618-03:" =~ ":$SYS_ID:" ]]; then
OUTPUT_CONNECTOR='*,DSI-1'
DRM_MODE=fixed
ORIENTATION=right
TOUCH_GESTURES=1
fi

#GPD Win 4 supports 40-60hz refresh rate changing
if [[ ":G1618-04:" =~ ":$SYS_ID:" ]]; then
TOUCH_GESTURES=1

export STEAM_DISPLAY_REFRESH_LIMITS=40,60
fi

# GPD Win mini
if [[ ":G1617-01:" =~ ":$SYS_ID:" ]]; then
TOUCH_GESTURES=1
ORIENTATION=""
if ( xrandr --prop 2>$1 | grep -e "1080x1920 " > /dev/null ) ; then
ORIENTATION=right
fi
fi
# GDP Win devices
GDP_LIST="G1619-01:G1621-02:MicroPC:WIN2"
if [[ ":$GDP_LIST:" =~ ":$SYS_ID:" ]]; then
OUTPUT_CONNECTOR='*,DSI-1'
DRM_MODE=fixed
ORIENTATION=right
TOUCH_GESTURES=1
fi

# GPD Win 3 specifc quirk to prevent crashing
# The GPD Win 3 does not support hardware rotation for 270/90 modes. We need to implement shader rotations to get this working correctly.
# 0/180 rotations should work.
if [[ ":G1618-03:" =~ ":$SYS_ID:" ]]; then
OUTPUT_CONNECTOR='*,DSI-1'
DRM_MODE=fixed
ORIENTATION=right
TOUCH_GESTURES=1
fi

#GPD Win 4 supports 40-60hz refresh rate changing
if [[ ":G1618-04:" =~ ":$SYS_ID:" ]]; then
TOUCH_GESTURES=1

export STEAM_DISPLAY_REFRESH_LIMITS=40,60
fi

# GPD Win mini
if [[ ":G1617-01:" =~ ":$SYS_ID:" ]]; then
TOUCH_GESTURES=1
ORIENTATION=""
if ( xrandr --prop 2>$1 | grep -e "1080x1920 " > /dev/null ) ; then
ORIENTATION=right
fi
fi
None of the GPD devices have VRR enabled one of them has a 40,60 range I think the problem here is we don't have gamescope configured for this specific display
antheas
antheas4mo ago
He could do a vrr range before He's using the other build that's older
Kyle Gospo
Kyle Gospo4mo ago
regardless, if it's not defined here then who knows what values gamescope is using
Smash and Crash
Smash and Crash4mo ago
It does. No issues so far.
Kyle Gospo
Kyle Gospo4mo ago
no ADAPTIVE_SYNC=1 no or potentially wrong range not marked as an external display (needed for VRR)
antheas
antheas4mo ago
So you don't know if it's better
Smash and Crash
Smash and Crash4mo ago
I have the vrr option available for some reason, but enabling it causes the same issues.
antheas
antheas4mo ago
There you go Let's fix the touch gestures and drop the older builds finally
Smash and Crash
Smash and Crash4mo ago
Oh this is on slim btw. I can revert back if needed.
Kyle Gospo
Kyle Gospo4mo ago
probably because it's not marked external like I said, this display isn't defined in gamescope-session so who knows what gamescope is doing here obviously the wrong thing
Smash and Crash
Smash and Crash4mo ago
Yea that’s probably the issue
Kyle Gospo
Kyle Gospo4mo ago
I need a good way to detect your specific hardware did we get a full dump of all DMI info? 60hz is the minimum for your hardware
Smash and Crash
Smash and Crash4mo ago
I can dump it if needed. Do you need me to go back to stable for it?
Kyle Gospo
Kyle Gospo4mo ago
you can fps limit lower, but refresh rate is 60 at a minimum nope
Smash and Crash
Smash and Crash4mo ago
I see. I thought the ROG can go lower, and since they use the same display…..
Kyle Gospo
Kyle Gospo4mo ago
ROG is 40-120 GPD Win MIni 2024's site says 60-120
Smash and Crash
Smash and Crash4mo ago
It’s most likely inaccurate.
Kyle Gospo
Kyle Gospo4mo ago
No description
Kyle Gospo
Kyle Gospo4mo ago
No description
Smash and Crash
Smash and Crash4mo ago
I can test with lower refresh rates. Worst case scenario I use my monitor to revert. Hmmm. Didn’t think that was true.
Kyle Gospo
Kyle Gospo4mo ago
for f in /sys/class/dmi/id/*; do echo "$f:"; sudo cat $f; done need the output of this
antheas
antheas4mo ago
Go find the dmesg Remember he's on the April build now
Kyle Gospo
Kyle Gospo4mo ago
ok that sucks once again it looks like nothing unique about the DMI info? @Smash and Crash run this: if ( xrandr --prop 2>$1 | grep -e "1920x1080 " > /dev/null ) ; then echo "it worked"; fi
Smash and Crash
Smash and Crash4mo ago
ambiguous redirect I might rebase back. I kept thinking this is just like the ROG display with lower refresh rates available. Now knowing that 60 is the lowest, I think it should be fine.
antheas
antheas4mo ago
It's not if it's vrr If it's vrr it's around 47 Less with framerate compensation I know nothing about
Smash and Crash
Smash and Crash4mo ago
I see. I'll stay on slim for now then. Just let me know if anything needs to be pulled or tested.
antheas
antheas4mo ago
You didn't explain what's the difference between latest and that Both work at 60hz
Smash and Crash
Smash and Crash4mo ago
oh my bad. It still shows 120hz on latest, but the frame limiter does work if VRR is off.
antheas
antheas4mo ago
Does? If vrr is off the only framerates are 60 and 120
Smash and Crash
Smash and Crash4mo ago
With frame rate, turning the vrr off will run properly at 30, 60, 120, or any one of them on the slider. The refresh rate will always stay at 120hz though.
antheas
antheas4mo ago
Lastest? Latest?
Smash and Crash
Smash and Crash4mo ago
Yep latest stable
Kyle Gospo
Kyle Gospo4mo ago
latest stable does not have your display marked as external, so VRR behavior is unknown/undefined let's try again when I have this handheld defined in gamescope-session
Smash and Crash
Smash and Crash4mo ago
sure thing. Just ping me whenever it's ready.
antheas
antheas4mo ago
you didnt transfer all the quirks?
Kyle Gospo
Kyle Gospo4mo ago
hm?
antheas
antheas4mo ago
how come the build from 2 months ago works
Kyle Gospo
Kyle Gospo4mo ago
idk lol
# GPD Win mini
if [[ ":G1617-01:" =~ ":$SYS_ID:" ]]; then
TOUCH_GESTURES=1
if ( xrandr --prop 2>$1 | grep -e "1080x1920 " > /dev/null ) ; then
ORIENTATION=right
fi

# 2024 Model w/ VRR
if ( xrandr --prop 2>$1 | grep -e "1920x1080 " > /dev/null ) ; then
PANEL_TYPE=external
ADAPTIVE_SYNC=1

# Set refresh rate range and enable refresh rate switching
export STEAM_DISPLAY_REFRESH_LIMITS=60,120
fi
fi
# GPD Win mini
if [[ ":G1617-01:" =~ ":$SYS_ID:" ]]; then
TOUCH_GESTURES=1
if ( xrandr --prop 2>$1 | grep -e "1080x1920 " > /dev/null ) ; then
ORIENTATION=right
fi

# 2024 Model w/ VRR
if ( xrandr --prop 2>$1 | grep -e "1920x1080 " > /dev/null ) ; then
PANEL_TYPE=external
ADAPTIVE_SYNC=1

# Set refresh rate range and enable refresh rate switching
export STEAM_DISPLAY_REFRESH_LIMITS=60,120
fi
fi
Fix is to detect the landscape display and do the same thing we do for the ally potentially
antheas
antheas4mo ago
you already have a quirk for it with the cpu why didnt you centralize the quirks
Kyle Gospo
Kyle Gospo4mo ago
that's a rotation thing in bazzite's kargs, totally divorced from how chimeraos gamescope session works there's no quirk for this handheld in there and no rotation value needed
antheas
antheas4mo ago
i know why does this matter? fork so the CPU works for karns and not for the session? *kargs
Smash and Crash
Smash and Crash4mo ago
I'm going to rebase to stable. I'm going to run more tests to get more accurate results.
Want results from more Discord servers?
Add your server