Refresh Rate Options for Win Mini (2023)
Hi! I don't know if this would be possible, but on the GPD Win Mini (2023) it's possible to get refresh rates of 110, 100, 90, 80 and 70hz working under Windows, but I haven't found any way to get them working under Bazzite. Is there any way I can try to force the option/ it be supported officially?
171 Replies
You can create a custom config
A feature was very recently introduced to gamescope that allows for custom display configuration
You can see an example of a config here: https://github.com/ValveSoftware/gamescope/pull/1576/files
GitHub
script: GPD Win 4 display configuration by aarron-lee · Pull Reques...
This introduces a display configuration for the GPD Win 4 handheld.
Most of this display configuration was derived from the edid as-is, excluding the dynamic_refresh_rates.
All refresh rates were a...
But you'll need to pull info out from the Win Mini edid with edid-decode, and modify the config for the Win Mini
And you can place the custom script in
~/.config/gamescope/script/displays
Example for the win 4: ~/.config/gamescope/scripts/displays/gpd.win4.lcd.lua
Sorry for the late reply, but thank you so much! Will this actually apply inside of Game Mode to actually let me select more framerate caps?
yes, it's how I tested GPD Win 4 refresh rates
That's so sick
Thank you so much
That was like, my biggest gripe moving over from Windows, so many games can hit 50fps just fine but really struggle getting over the finish line to get a locked 60
you're lucky that this feature was introduced. it's very new
basically just got released to bazzite stable yesterday
I consider myself lucky that all of this exists at all!
The amount of effort everyone puts in to get something like this working absolutely blows me away
And it fits my needs perfectly
that's probably why most of us are here 😁
🤝
So.. I tried to do edid-decode
And my whole machine won't boot now
I had a friend try and help me
I couldn't get a custom config working
So I figured out this only happens when I'm booting plugged into my eGPU, the GPD G1
On the APU? No problem
Boots into Game Mode and I can boot back out to desktop
But uh, this didn't happen before and I still don't want this to happen lol
Edid decode had nothing to do with
I don't believe I did anything else that would cause this
I did that, then rebooted
I'm not saying you're wrong but I genuinely have no idea how this could've happened
That feature does not work for external monitors yet
Egpu wors
Woes
Wait so what caused this to happen then?
Is there a way I can fix it?
I can still actually get to my desktop, just don't have it plugged in
So I'm available to access my system
I appreciate you answering here 🙏
Remove the config file you made first
That worked :D
Thank you very much
I don't know how we managed to mess up the config so bad
Unless it just.. doesn't work with eGPUs at all
That would, really hurt
Not in terms of functionality but having to turn on and off the config so I could get more refresh rate options in Game Mode
I mean even then the config we threw together still didn't do that, so
It doesn't work in external screens period
Right now
Also if the config is wrong it crashes
I made the suggestion it shouldnt
As it's a terrible idea to crash because one config is wrong
I like your thinking LOL
But damn, that sucks
So if I try to use it with an external screen plugged in, the whole system will just crash?
Or will it just not do anything
Because when I would actually plan to use the custom config, an external screen would not be plugged in to be clear
It not working with external screens is 100% fine, I don't need that functionality
But if my whole system doesn't boot, then that is a problem yeah lol
Because right now my set up is docking to an eGPU with two monitors on the regular desktop environment when I come home
And on the go I use the Game Mode on the built in screen, that is specifically where I am trying to get the 110, 100, 90, 80 and 70 refresh rates to show up
Like in the little right side bar thing you can pull up with Xbox + A
Yes the internal screen works
That means your config is broken
So the broken config caused the crash, gotcha
Was just a little confused how you put it initially
Post your edid info here
Sure thing
Can you do the decoded version?
I don't have the decoded version on hand, the person who was helping me had it decoded to look through it
I can try myself
I think I did it?
Your device is weird
I am well aware LOL
It will need quite a bit of testing
But I think 61-120 is possible
:yipeee:
I will try to make a config for you
To be honest all I need is specifically the multiples of 10
Like I don't need "77" to be an option y'know
These have been tested on Windows, and I've only ever tested in the increments of 10
Did you add the extra ones with cru or are they there from factory
From factory the GPD Win Mini (2023) only comes with 60 and 120
So your edid is from ceu
Cru
All the extra refresh rates were never offically supported
Correct
That's why it's sus
lmao
Who came up with these
But suprising as it may be, they do work flawlessly, at least in all my time I never had any issues
Ciphray.bat, he frequents in the GPD Discord a lot
Really cool guy, he's done so much
Well time to ask him
Tag me and him in gpd somewhere
He's likely offline right now, but sure!
It's ok
I'm also out and about
When I tag you, if you scroll up you can see him geting the refresh rates working under linux, but not Bazzite specifially
I'll point to that too
Just so you know, even a typo or syntax error in the config could cause it to crash
Also, alternative to installing edid-decode https://people.freedesktop.org/~imirkin/edid-decode/
try this
I'll try giving it a go in about two-ish hours and report back 🫡
Thanks again
So
It kind of works not really
The slider in the menu does in fact work, it shows everything
But it doesn't actually apply properly
Like trying to cap the framerate with to 45fps with 90hz causes the framerate and frametime graph fluctuate all over the place like crazy
Going from 41-52 like crazy
It's not even actually locking at 45
And it's not a framerate issue, the game will actually run at full 120fps if I let it
The refresh rate also doesn't even seem to change until it hits 105
At 106 the game is still running at 120fps
could you post your edid? not the CRU edid
As soon as you get to 105, all hell breaks loose and Half-Life 2 starts to get wonky
I wouldn't know how to get it outside of CRU
run in terminal
for FILE in /sys/class/drm/card*; do [ -f "${FILE}/edid" ] && echo "${FILE}: $(cat ${FILE}/edid)"; done
it'll tell you the location of your edid file🫡
e.g. on my win 4, it's
/sys/class/drm/card1-DP-7/edid
you can do edid-decode via here: https://people.freedesktop.org/~imirkin/edid-decode/All the edid files I found all have 0 bytes
Peeped in every folder
I still have Windows dual booted if that would help at all
And on there I do have all the extra refresh rates set up and they do seem to work properly
hrm, i have no idea why there's no edid, but ok
That was my terminal if that helps at all
/sys/class/drm/card1-eDP-1/edidi'm assuming that's your edid
0 bytes
does it have VRR or an OLED display?
Neither
^ unrelated to the EDID location
his is regular 120hz/60hz
I doubt the vfp method would work very well in that case anyway then :thonk: still need to see the unmodified EDID though
maybe try this
Will do
i modified the win 4 config with info from your CRU edid
though I don't know about the timings, since it's from the CRU edid
Gamescope should be able to just do its own math there ideally
oh wait one sec
messed up the timings, let me re-upload
Gotcha gotcha
PROGRESS
But uh
lmao
But if you look at Gamescope it's actually reading it right!
not surprised ¯\_(ツ)_/¯
that looks like the LGO screen when it's on a bad refresh rate
The lower the refresh rate goes, the more corrupted it gets
70hz has the worst of it by far
tbh this is outside my realm of expertise
but maybe you can try the other timings in the cru edid
Hfront, Hsync, Hback and Vfront, Vsync, Vback
So close, yet so far :polWeak:
Maybe I can ask the guy who initially got this working on Windows in the first place
Unless anyone else here can help too
I really appreciate you trying though
This was the closest so far
hrm actually, let me try something
this will take a bit to re-write
You're too kind 🥲
I'll be here pretty much all day to try anything you got
On it
wait, forgot one thing
Np
Okay
REALLY weird stuff
I actually got it working
But I went to try other stuff
Went back to 50fps (100hz) as a sanity check
Full screen of corruptions
110hz seems to work flawlessly though
so what isn't working?
70, 80, 90 and 100
I have no idea how 100hz worked exactly once
At least I have photo proof that I'm not crazy lol
But somehow 110hz works just fine
So 55fps does also work
could you go to desktop mode and upload the output of
cat ~/.gamescope-stdout.log
Yes
but i basically took all the h_timings and v_timings from your CRU edid, and placed them into the config:
so if this didn't work, tbh I don't know of any other options, since they're straight from that edid
put it in a text document since it's a bit much
I'm going to redump the edid as another sanity check
I'll have to use CRU since for some reason I guess my edid just doesn't exist on Bazzite lol
hrm, is your display registered as an external display?
when you go into steam settings, do you have an option to scale your display?
so in your gamescope logs, I see:
on my win 4, I see:
so something is different
maybe it's just display orientation
fresh new ones just in case
I don't believe so
I remebered I tried looking for it lol
And came up empty handed, wanted to make it a bit bigger
But yes the Win Mini 2023 screen is native portrait
I'm pretty sure the Win 4 screen is native landscape?
The 2024 Mini is native landscape I know that for sure
hrm, timings are slightly different on the edid you just uploaded?
That is
Bizarre
Hypothetically nothing should have changed
I dumped my edid before I wiped my machine to dual boot
And when I set Windows back up, I added the custom refresh rates the exact same way
And I did also double check that they all worked too
I have no clue why'd they be any different
I mean, they work though, so
At least I'm glad I wanted to double check and redump
so your new edid has the following:
your old edid has this:
small differences, but yeah
the DTD hz are also slightly different
maybe that's related
:huhcat:
but like I said earlier, this is outside my realm of expertise
might as well try updating the config
True
I'll reboot into Bazzite real quick
Alright I'm ready for a new config
Hold on I lied, I booted into Bazzite and for some reason the WiFi option disappeared lol
Rebooting
likely something to do with windows and fast boot
Yeah it came back no problem
Exact same problem :C
110hz still ridin' high though
only other thing I can think of
GitHub
gamescope-session/usr/share/gamescope/scripts/01-gamescope-session/...
ChimeraOS session on Gamescope - Own personal repository, issues and forks should be made on ChimeraOS/gamescope-session - honjow/gamescope-session
isn’t this the panel?
Same thing unfortunately, just a full screen of corruptions
I was given this guidance though
ooo, forgot that honjow made a config
try that one
Oh
Yeah okay
that should mirror the CRU EDID you gave afaik
yeah, looks like the CRU
honjow was looking for a tester, don't know if he ever found one
guess PolarStar will be the tester 😂
Dude fucking gladly lmao
You have no idea how badly I want this to work
Exact same thing :polShart:
well, at least we can report this to honjow
If he ever wants to get in contact/join here for me to help would be more than happy to
Arguably the closest we got
That's playable right :clueless:
well you can message honjow on the gpd discord
Oh neat, had no idea he was there
neither did I, just checked a moment ago haha
there is one more thing I want to try
modified one line in honjow's config
mode.clock = modeline.clock
Will do very soon
Oh it did NOT like that LOL
Like the entire system froze up
lol ok, take that out
I'm going to try again and see if that was a fluke
well i'm out of ideas then, sorry
And swap the old lua
Always gotta make sure
💀
well we tried
Too true
I did @ honjow in the GPD Discord and said they're free to DM me or check out this thread here
So we'll see how that goes
Oh no 💀
It saved my 110hz configuration LOL
I booted up Half-Life 2
Hard crash LOL
Okay yeah this isn't working, not a fluke!
Just wanted to make sure
Last thing you want is a "Oh hey it worked the whole time"
all this means to me is that, if I ever consider a win mini
I'd get the one with the Ally panel, lol
That's the only one you can buy
At least brand new
They don't sell the 2023 version anymore
Still glad I have it though
You can't take my OCuLink port away from me!
I do really like the Mini though, a computer this stupidly powerful that I can take around literally wherever I want super easily is fantastic
i just wish it wasn't so expensive 😒
which is probably why I'll end up getting an Ally X instead, it depreciates faster
I paid $1200 for mine 💀
A fine price to pay for a niche product..
I say in a few months, the Ally X will be something like $500 USD on the used/open-box market
which is when I'll consider grabbing one
I bitched and moaned about no new (small) clamshells since the Win 2, I gotta put my money where my mouth is and pay up
I asked for this!
I want one only for that gigantic battery
If there's one thing about the Mini that does hurt, it's the battery life that's for sure
and probably the heat
My Steam Deck OLED has spoiled me far too much
I really don't think it's as bad as people make it out to be tbh
Even before I put PTM 7950 in mine
eh, i feel somewhat uncomfortable with the heat on my win 4, and it's probably better than the mini
so the Ally X will be an easy alternative, especially for the price
Maybe I just don't push my Mini as hard as some others
I play a lot of games from the 7th generation
Play to the strengths of an APU, I see no point in playing newer games that are screaming in agony lol
Not to mention the 1080p screen demands a lot more than the 800p of the Steam Deck
Dropping to 720p is hella blurry and at 540p it's really hard to read text
the strengths of these APUs are actually around 22W TDP though, they're pretty inefficient at low TDPs vs the Deck's APU
I am well aware :polShart:
Ally X just brute forces battery life with a massive battery
and it still loses out in battery life vs the Deck for low TDP games
wish that was me fr
I want a Steam Deck 2 just for the magic Valve was able to do making it so efficient at low power consumption
I can play so many games at high graphics and framerates for like 4-6+ hours, it's beautiful..
But I can't say no to a clamshell so I still spent the big bucks
Not to mention the LCD screen in the original Steam Deck is atrocious and I really needed something better
The Ally was having it's own issues, also Windows with no physical keyboard yuck
deck mini would probably be a day 1 purchase for me
And the Mini dropped right before the Steam Deck OLED which fixed all my problems with the original model
At that point I kinda largely stopped using my Win Mini portably tbh
I just hated using Windows to game on it
all I'll say is that, if the win mini had been announced before the win 4, right now I'd have a win mini instead
So that's why I'm here, to try and fall back in love with it and actually use it like a console, exactly how I like my Steam Deck lol
windows on GPD devices is serviceable due to the keyboard and trackpad
Can't fully fall in love if my Steam Deck has more refresh rate options though, that's why I really need this to work haha
Pretty much yeah
Still hate actually playing videogames on them though lol
so one thing you can do, take that config that "sort of worked", and edit it + try a bunch of different refresh rates
for all you know, 112hz works
¯\_(ツ)_/¯
I almost did, but I kept waiting, I knew they'd eventually make another small clamshell, I did not want buyers remorse and settling for something I wasn't going to be 100% happy with
eh, in hindsight, i think the win 4 worked out
The Win 4 is cool
I love how it looks like a Sony console lol
But I just like my clamshells way too much
i think my favorite GPD device is actually the WM2 though. not because I game on it much, but because it's an awesome little travel laptop
I went from the Win 2 -> Steam Deck -> Win Mini/Steam Deck OLED
I could not keep holding out for a new clamshell though the Win 2 desperately needed an upgrade oh lord
i want a small pocketable x86 indie machine
If I needed an actual laptop I would consider it
But for the price point I'd probably just spring for a Framework laptop instead
That or the ARM Microsoft Surfaces
ARM is hella awesome
AMD Ryzen framework wasn't a thing back when I got the WM2, unfortuantely
I refuse to buy an intel
eh, I'm not interested. ARM = poor linux compatibility, and 6 years of windows updates
mostly guaranteed e-waste
Hoping those Valve rumors come true and they make their own sort of Proton with x86 -> ARM and the new Steam Deck is ARM based
Oooh that'd be a dream for me
pet theory of mine is that Valve is working on a Android Steam client
Based :gigachadhandshake:
Or that, that'd be hella sweet too
why else would Valve fund FEX (ARM => x86 translation)?
Probably for the Deckard
Too bad Cassia never happened
That would've been huge for x86 on ARM
I miss it every day.. :polWeak:
But yeah, maybe I'll try Ciphray's advice and increase the front porch to see what happens
Today is gonna be a looong day
Appreciate your help immensely, thank you
And to everyone else who has been here to give their own thoughts
well at least you now have some configs to play around with
let me know if you find anything that works, i'm curious
Maybe Honjow will have some insight whenever they come online
Don't worry I'll be comin' in here celebrating lol
The only real progress I've made so far is putting the timings from config that got 110hz working into the config that had 70, 80, 90 and 100 kinda working so now 110hz works there too, as originally 110hz was broken on that one just a bit
A best of both worlds you could say
I'm actually losing my mind
I got 100hz working again
Until it
Stopped working
Just for no reason
And then all of the other refresh rates that were kinda working, also all stopped working, just a screen full of garbage
And I mean like it stopped working while swapping through them
Not after a config change, it broke in front of my eyes without a restart or anything lol
I've tried restarting and it's just like "nope it's like this now"
I genuinely have no idea what's going on or why it's having unpredictable behavior just on the fly mid test
It's like the display timings are changing on the fly, one moment 325 is working just fine and 100hz is absolutely flawless, no garbage on screen
Then I change to 120hz and back and all the sudden 100hz stops working again
Including 70, 80 and 90, which at least were working partially
The weirdest part is that 100hz just randomly breaks for seemingly no reason, but 110hz is just fine still!
I dunno man.
I tuned the settings down from 325 to 300
Works again!
I rebooted multiple times trying to get it working
Only when changing the config file did something to work again
I did not even touch any of the settings for 90hz
Yet, all of the sudden, it works
There's definitely some kind of like, bug going on
Just tried 80hz
Boom broke 90 and 100hz again
Rebooted, still broken
Changed from 300 to 325, works again
90hz doesn't
Selecting it breaks everything again
I'm going to have to give up I seriously have no clue what's going on and why it only works sometimes lol
Honjow did get back to me and posted about this
GitHub
gamescope-session/usr/share/gamescope-session-plus/modelines/GPD/MI...
ChimeraOS session on Gamescope - Own personal repository, issues and forks should be made on ChimeraOS/gamescope-session - honjow/gamescope-session
(I'm not entirely sure what to do with it though in all honesty)
Well my config is cooked oh well