-
Notifications
You must be signed in to change notification settings - Fork 480
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
[BUG] Wrong display resolution and size when using an external monitor #1406
Comments
Fastfetch always reports output resolution (the image resolution generated by GPU). That's by design. You can change the resolution in system settings. |
Hi @CarterLi |
I wonder why you want the physical resolution, as it's mostly useless unless your GPU is really working on that resolution. A resolution supported by your monitor doesn't mean you can make use of it. For example, you have a 4K / 60 Hz monitor. If you want to use it, you must have:
Otherwise, the image is scaled and everything is blurred. I don't think reporting 4K resolution for a blurred display is a good idea. |
That's by design. I don't think anyone says it's misleading. |
This is true and you're perfectly right. It's useless to present a screen as 8K 240 Hz if my GPU doesn't support it.
I realize that "misleading" may not have been my best choice of words; it came off harsher than I intended. I noticed some new code has been added. Should I go ahead and test it? |
This is also true if you don't enable the display mode. For example, mirroring another display with different resolution. |
|
Yep, it's another good example.
I just checked and both in "duplication mode" and "extended display", the newly added |
Hi @CarterLi |
It should work when the built-in display is the target. It's known not to work when the external display is the target. |
0 means the information is not available. You should use See also |
Thank you for the hint! Now it works but it means that I can't see the size in inches (and PPI, too). Anyway, while looking at the display module, I noticed another issue. Thank you for your efforts! |
Impossible unless Apple fix their bug.
Please check what BetterDisplay reports before opening a new issue. |
I thought it was something unrelated to Apple since the display size (in inches) and ppi are incorrect in Fastfetch on Windows, too.
Is there a report log or a specific screenshot I can send you? |
They are different. macOS and Windows are different OSes, provide different APIs. Fastfetch uses different strategies in different OS and they don't share any code.
This doesn't help. Please provide the result of [
{
"type": "Display",
"result": [
{
"id": 65537,
"name": "Odyssey G7",
"primary": true,
"output": {
"width": 3840,
"height": 2160,
"refreshRate": 165.0
},
"scaled": {
"width": 1920,
"height": 1080
},
"preferred": {
"width": 3840,
"height": 2160,
"refreshRate": 165.0
},
"physical": {
"width": 697,
"height": 392
},
"rotation": 0,
"bitDepth": 10,
"hdrStatus": "Enabled",
"type": "External",
"manufactureDate": {
"year": 2023,
"week": 21
},
"serial": 810244676,
"platformApi": "GDI"
}
]
}
] This is the result of my display reported in Windows. |
Fastfetch uses CGDisplayScreenSize to acquire the physical screen size. It reports invalid results if the display is in mirroring mode. The document says nothing about mirroring and who knows what the heck goes wrong inside this closed-source function. All you can do is waiting Apple to fix it. |
As usual, thank you for your efforts; other developers might not care as much. The attention you pay to users' issues really makes you stand out.
Here are the outputs from the latest build using the duplication mode with the built-in display as the target. macOS output:
Windows output:
The size (in inches), PPI, depth color and HDR support are not detected as I expected. These are the values I expected:
|
This is weird. Does it happen only when the display is in mirroring mode? |
I don't know how to fix it. Let's leave as it was.
This is because HDR support is disabled when the display is mirrored. You can't enable the HDR mode in Windows display settings either. |
No, it happens in "extended display" and "only secondary display", too.
It doesn't only happen in mirroring mode, it happens in "extended display" and "only secondary display", too. Also, on macOS it's reported as HDR supported even in mirror mode |
Can you enable HDR mode in Windows for the external display? Let's fix the issue in extended display mode first. |
Please export Windows Registry entries for debugging.
|
That was a good idea: Windows doesn't detect the external display as an HDR monitor even if it is (and macOS detects it correctly).
Here it is:
|
To export the registry: you select the entry and click |
You need to ensure that your GPU, cable, port all support HDR mode (HDMI 2.0a+ or DP 1.4+) |
Here it is:
Thanks for the info, I'll give it a look |
Some monitor report invalid data in DTD. Ref: #1406
Please test the latest dev build Ref (https://people.freedesktop.org/~imirkin/edid-decode/):
|
On Windows: everything works in all modes, great! On macOS:
|
General description of bug:
While using an external monitor in duplication mode, the display resolutions and sizes reported by Fastfetch do not match the actual resolutions and sizes of the displays (both for the built-in and the external displays).
In my example, Fastfetch should report:
Built-in: 3456x2234 (16")
External: 1920x1080 (32")
When the built-in screen is the target, Fastfetch incorrectly reports the external display as:

Resolution: 3456x2234 (incorrect, its max resolution is 1080p)
Size: 57" (incorrect, its max size is 32")
When the external display is the target, Fastfetch reports the built-in screen as:

Scaled Resolution: 1920x1080 (incorrect, this is the scaled resolution, not the actual resolution)
Size: 8" (incorrect)
The issue doesn't occur when the external display is set as "extended display"

Often helpful information:
Output of
fastfetch -c ci.jsonc --format json
: I didn't include the output for the three different scenarios to avoid creating a wall of text, but I can provide it if necessary.The text was updated successfully, but these errors were encountered: