fastfetch-cli / fastfetch

An actively maintained, feature-rich and performance oriented, neofetch like system information tool.
MIT License
9.58k stars 387 forks source link

[FEAT] Detect max refresh rate for monitor module. #1101

Closed Get-Newsletters-Int closed 1 month ago

Get-Newsletters-Int commented 1 month ago

Wanted features:

When running fastfetch on Windows 11 I get this output:

Display (PL2730H): 1920x1080 @ 60Hz [External]
Monitor (PL2730H): 1920x1080 px - 598x336 mm (27.01 inches, 81.57 ppi)
Monitor (AUO060E): 1366x768 px - 309x173 mm (13.94 inches, 112.40 ppi)

There are 2 problems with it:

Opening laptop monitor solves it and shows:

Display (AUO060E): 1366x768 @ 60Hz [Built-in]
Display (PL2730H): 1920x1080 @ 60Hz [External] *
Monitor (PL2730H): 1920x1080 px - 598x336 mm (27.01 inches, 81.57 ppi)
Monitor (AUO060E): 1366x768 px - 309x173 mm (13.94 inches, 112.40 ppi)

(Also note that the order is different for both modules.) But I would prefer if it was possible to get this information with the screen closed, or at least to see the max refresh rate (at max resolution, at hd resolution or at any resolution) with the monitor module.

Motivation:

I want to see when I'm not using the max refresh rate.

CarterLi commented 1 month ago

Display module always show the current configuration of active monitors, including resolution, refresh rate, primary monitor, etc. It's by design to dismiss closed monitors.

or at least to see the max refresh rate

Considerable, if EDID reports it.

Get-Newsletters-Int commented 1 month ago

Here's the EDID:

0x00ffffffffffff0026cd3a6666060000141c0103803c22782a0b75a655539f280e5054a56b80710081408180a940b3009500950fd1c0023a801871382d40582c450056502100001e000000ff0031313635313832303031363338000000fd00374c1e5312000a202020202020000000fc00504c32373330480a2020202020018e02032bf14f90050403020111121314060715161f230907078301000065030c001000681a00000101284be6023a801871382d40582c450056502100001f011d8018711c1620582c250056502100009e011d007251d01e206e28550056502100001e2a4480a0703827403020350056502100001a0000000000000000000000004f
CarterLi commented 1 month ago

edid.txt

BOE09F9

CarterLi commented 1 month ago

You should test the dev build

Get-Newsletters-Int commented 1 month ago

Thanks, here are the outputs: Both on:

Display (AUO060E): 1366x768 @ 59.999 Hz in 14″ [Built-in]
Display (PL2730H): 1920x1080 @ 59.94 Hz in 27″ [External] *
Monitor (AUO060E): 1366x768 px @ 59.999 Hz - 309x173 mm (13.94 inches, 112.40 ppi)
Monitor (PL2730H): 1920x1080 px @ 59.940 Hz - 598x336 mm (27.01 inches, 81.57 ppi)
{
  "type": "Display",
  "result": [
    {
      "id": 29296715,
      "name": "AUO060E",
      "primary": false,
      "output": {
        "width": 1366,
        "height": 768
      },
      "scaled": {
        "width": 1366,
        "height": 768
      },
      "physical": {
        "width": 309,
        "height": 173
      },
      "refreshRate": 59.998545386093035,
      "rotation": 0,
      "bitDepth": 6,
      "hdrEnabled": false,
      "type": "Builtin"
    },
    {
      "id": 263258759,
      "name": "PL2730H",
      "primary": true,
      "output": {
        "width": 1920,
        "height": 1080
      },
      "scaled": {
        "width": 1920,
        "height": 1080
      },
      "physical": {
        "width": 598,
        "height": 336
      },
      "refreshRate": 59.9400597979798,
      "rotation": 0,
      "bitDepth": 8,
      "hdrEnabled": false,
      "type": "External"
    }
  ]
},
{
  "type": "Monitor",
  "result": [
    {
      "hdrCompatible": false,
      "name": "AUO060E",
      "resolution": {
        "width": 1366,
        "height": 768
      },
      "physical": {
        "height": 173,
        "width": 309
      },
      "refreshRate": 59.998545386093035,
      "manufactureDate": {
        "year": 2017,
        "week": 1
      },
      "serial": null
    },
    {
      "hdrCompatible": false,
      "name": "PL2730H",
      "resolution": {
        "width": 1920,
        "height": 1080
      },
      "physical": {
        "height": 336,
        "width": 598
      },
      "refreshRate": 59.9400597979798,
      "manufactureDate": {
        "year": 2018,
        "week": 20
      },
      "serial": 1638
    }
  ]
}

Internal off:

Display (PL2730H): 1920x1080 @ 74.973 Hz in 27″ [External]
Monitor (PL2730H): 1920x1080 px @ 59.940 Hz - 598x336 mm (27.01 inches, 81.57 ppi)
{
  "type": "Display",
  "result": [
    {
      "id": 14682211,
      "name": "PL2730H",
      "primary": true,
      "output": {
        "width": 1920,
        "height": 1080
      },
      "scaled": {
        "width": 1920,
        "height": 1080
      },
      "physical": {
        "width": 598,
        "height": 336
      },
      "refreshRate": 74.97250292156458,
      "rotation": 0,
      "bitDepth": 8,
      "hdrEnabled": false,
      "type": "External"
    }
  ]
},
{
  "type": "Monitor",
  "result": [
    {
      "hdrCompatible": false,
      "name": "PL2730H",
      "resolution": {
        "width": 1920,
        "height": 1080
      },
      "physical": {
        "height": 336,
        "width": 598
      },
      "refreshRate": 59.9400597979798,
      "manufactureDate": {
        "year": 2018,
        "week": 20
      },
      "serial": 1638
    }
  ]
}
CarterLi commented 1 month ago
Display (PL2730H): 1920x1080 @ 74.973 Hz in 27″ [External]
Monitor (PL2730H): 1920x1080 px @ 59.940 Hz - 598x336 mm (27.01 inches, 81.57 ppi)

Seems wrong.

Fastfetch uses the preferred mode reported by Windows. However the preferred mode is not the maximum.

Any idea?

CarterLi commented 1 month ago

Is this your monitor?

https://www.displayspecifications.com/en/model/18ff127c

Get-Newsletters-Int commented 1 month ago

Yes, it has Iiyama G-Master Black Hawk GB2730HSU written on it's box, and PL2730H written on the monitor itself.

Get-Newsletters-Int commented 1 month ago

Here are Windows modes for both displays. image image

CarterLi commented 1 month ago

I could not find a better way for this. For now, fastfetch will report the refresh rate of preferred mode reported by windows. If it's lower than the current refresh rate, fastfetch will instead report current refresh rate.

Get-Newsletters-Int commented 1 month ago

Alright.