-
Notifications
You must be signed in to change notification settings - Fork 123
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
wrong screen resolution on macos sonoma with oclp #196
Comments
I'll try and look into this in the morning. My Macbook is 2015, so it should have the same behavior. |
![]() ![]() system_profiler SPDisplaysDataType -xml I have the same incorrect behavior on my MacBook. iGPU could make sense. My guesses would be that or Retina display. |
Hmm... so the resolution in terms of "screen real-estate" is actually 1280x800 (like the amount of 12-point font text you can fit on the screen is the same as on a 1280x800 screen). But it's scaled up 2x using HiDPI for the 2560x1600 display. But it's also not like regular HiDPI where e.g. it renders a 5120x2880 virtual screen then downscale it for my 2560x1440 display. In this case, neofetch should definitely show the 2560 pixel resolution instead of the 5120 virtual rendering resolution. Should I add a special case for detecting and showing pixel resolution if it's a retina display? Or should I keep everything the same and always show the actual "screen real-estate" resolution for all situation? (Maybe I can add something at the end showing it's a retina display) |
my |
I could be wrong, but I think this block: https://github.com/hykilpikonna/hyfetch/blob/master/neofetch#L3865-L3870 Is supposed to add the scaling factor to the output of the resolution. But instead currently doesn't actually do anything. |
What is the |
1. fix detection when `screenresolution` is not available 2. make scale factor detection actually work 3. remove `screenresolution` dependency EDIT: applied changes suggested by @hykilpikonna and fixed a [bug](hykilpikonna/hyfetch#196) that neofetch fails to print scale factors when `system_profiler` fails to detect refresh rates.
Since this code was written by me, I guess I should do some after-sale services. The file attached above shows that <key>_spdisplays_resolution</key>
<string>1280 x 800</string> While on my MBP, it shows <key>_spdisplays_resolution</key>
<string>1728 x 1117 @ 120.00Hz</string> This line [[ $scale_factor -gt 1 ]] && spdisplays_resolution="${spdisplays_resolution// @/ @${scale_factor}x @}" assumes Fixed in my original PR |
I think the best solution would be to keep the output as "screen real-estate", with a note afterwards of it being Retina. The logic seems to be mostly there for it, but just needs to be fixed up. Maybe like:
Or something like that. |
Thanks for the fix!! |
Before starting a discussion, we need to define what is a There are 4 resolutions:
My PR uses |
FYI, resolution detection in neofetch is messy.
![]() |
Off topic. Neofetch's Media player detection is broken in macOS too. It runs iTunes / Apple Music and prints |
Format `${scaled_width}x${scaled_height} @${scale_factor}x @ ${refresh_rate} Hz` is used to match the result format of macOS Ref: hykilpikonna/hyfetch#196 (comment)
Format `${scaled_width}x${scaled_height} @${scale_factor}x @ ${refresh_rate} Hz` is used to match the format of macOS Note: current implementation requires `wayland-info`, which is usually provided by package [`wayland-utils`](https://gitlab.freedesktop.org/wayland/wayland-utils) Ref: hykilpikonna/hyfetch#196 (comment)
Format `${scaled_width}x${scaled_height} @${scale_factor}x @ ${refresh_rate} Hz` is used to match the format of macOS Note: current implementation requires `wayland-info`, which is usually provided by package [`wayland-utils`](https://gitlab.freedesktop.org/wayland/wayland-utils) Ref: hykilpikonna/hyfetch#196 (comment)
I would still prefer it show the real screen resolution like it does without oclp, but I guess this good enough |
Describe the bug
on my mid 2014 mbp running macos 14.0 sonoma using opencore legacy patcher, the screen resolution neofetch reports is 1280x800, but the correct screen resolution is 2560x1600
Expected behavior
neofetch should report a screen resolution of 2560x1600
Screenshots
Config file
(its the default config)
conf.txt
Verbose log
neofetch.log
The text was updated successfully, but these errors were encountered: