one-key-hidpi icon indicating copy to clipboard operation
one-key-hidpi copied to clipboard

1080p显示器不能开启1680x945(944)、1600x900 HIDPI

Open s6nqou opened this issue 4 years ago • 26 comments

真的是死活都开不开啊,试了很多很多种方法未果才来求助,问题和楼下issue可能差不多,我详细说一下我电脑的情况吧

基本信息

笔记本联想小新700(Ideapad 700-15isk),内建显示器1920x1080 应该和10.15无关,10.14的时候也有此问题 截屏2020-04-12 下午4 56 06 已经正确驱动核显、缓冲帧补丁、屏蔽独显 截屏2020-04-12 下午4 56 25

执行的操作

➜  ~ bash -c "$(curl -fsSL https://raw.githubusercontent.com/xzhih/one-key-hidpi/master/hidpi.sh)"
Password:
  _    _   _____   _____    _____    _____ 
 | |  | | |_   _| |  __ \  |  __ \  |_   _|
 | |__| |   | |   | |  | | | |__) |   | |  
 |  __  |   | |   | |  | | |  ___/    | |  
 | |  | |  _| |_  | |__| | | |       _| |_ 
 |_|  |_| |_____| |_____/  |_|      |_____|
                                           
============================================

(1) 开启HIDPI
(2) 开启HIDPI(同时注入EDID)
(3) 关闭HIDPI

输入你的选择 [1~3]: 2

-------------------------------------
|********** 选择显示器ICON ***********|
-------------------------------------

(1) iMac
(2) MacBook
(3) MacBook Pro
(4) LG 显示器
(5) Pro Display XDR
(6) 保持原样

输入你的选择 [1~6]: 3

------------------------------------------
|********** 选择分辨率配置 ***********|
------------------------------------------
(1) 1920x1080 显示屏
(2) 1920x1080 显示屏 (使用 1424x802 分辨率,修复睡眠唤醒后的屏幕缩小问题)
(3) 1920x1200 显示屏
(4) 2560x1440 显示屏
(5) 3000x2000 显示屏
(6) 手动输入分辨率

输入你的选择: 6
输入想要开启的 HIDPI 分辨率,用空格隔开,就像这样:1680x945 1600x900 1440x810
:1920x1080 1680x945 1600x900 1440x810
开启成功,重启生效
首次重启开机logo会变得巨大,之后就不会了

PS:也试过其他的选项和不同的分辨率,也试过手动修改Display文件

目前的效果:

  • RDM: 截屏2020-04-12 下午4 59 25

  • 系统偏好设置->显示器: 截屏2020-04-12 下午5 13 50

选择“显示器默认”的分辨率是1920x1080(实际分辨率3840x2160) 选择“缩放”里从左到右依次是1440x810(实际2880x1620)、1680x944(实际1680x944)、1920x1080(实际1920x1080)、3840x2160(实际3840x2160)

  • 系统信息: 截屏2020-04-12 下午5 18 19

就是这么个玩应,3840x2160都能开就是开不了3200x1600,你说气人不

s6nqou avatar Apr 12 '20 09:04 s6nqou

嗯,真气人,我也不知道咋办

xzhih avatar Apr 13 '20 02:04 xzhih

大概是什么原因呢,难道显卡不支持?

s6nqou avatar Apr 13 '20 06:04 s6nqou

我也不知道,知道我就给你解决了

xzhih avatar Apr 13 '20 08:04 xzhih

Oh hi! I have a similar problem where 1600x900 and 1680x945 do not use HiDPI. I tried adding 3200x1800 and 3360x1890 manually using SwitchResX and/or overrides in the System/Library/Displays folder. I managed to force 3200x1800 in one case, but no 1600x900 HiDPI option showed up. For 3360x1890, nothing seems to work. Do you have any idea how I could fix this. The display I am using is 1080p on a ThinkPad X380. 1440x810 works, but the interface is too big for me with that.

blackflag161 avatar May 09 '20 09:05 blackflag161

+1,我的是小米笔记本pro,跟你同样的现象,内置显示器可以开,但是外接显示器就GG

konstant2016 avatar Aug 04 '20 09:08 konstant2016

我也无法开启,白苹果 MacBook Pro,显示器是 DIY 的 4K 显示器,通用驱动板。 不使用脚本时默认只在 720P 下有 HiDPI,用这个脚本后 1080P 下也有。但是前者字太大,后者太小,很需要 1600x900。

qianbinbin avatar Sep 02 '20 15:09 qianbinbin

有一种针对edid的修改方案,但是我认为可能会对显示器本身造成不好的影响,所以一直没有放出来

xzhih avatar Sep 05 '20 04:09 xzhih

有一种针对edid的修改方案,但是我认为可能会对显示器本身造成不好的影响,所以一直没有放出来

会有什么影响呢?不妨提供给愿意尝试的人,注明一下免责声明

qianbinbin avatar Sep 06 '20 04:09 qianbinbin

有一种针对edid的修改方案,但是我认为可能会对显示器本身造成不好的影响,所以一直没有放出来

会有什么影响呢?不妨提供给愿意尝试的人,注明一下免责声明

目前脚本里的是针对MacOS的修改,是通过软件层面的视图缩放,实际输出分辨率还是屏幕实际分辨率。

edid 里有显示器的分辨率刷新率等信息,通过修改他让显卡错误的识别这些信息,这相当于对显示器超频,让显卡输出两倍甚至4倍于显示器原生分辨率,对驱动板和面板的寿命有一定影响。

xzhih avatar Sep 07 '20 06:09 xzhih

有一种针对edid的修改方案,但是我认为可能会对显示器本身造成不好的影响,所以一直没有放出来

会有什么影响呢?不妨提供给愿意尝试的人,注明一下免责声明

目前脚本里的是针对MacOS的修改,是通过软件层面的视图缩放,实际输出分辨率还是屏幕实际分辨率。

edid 里有显示器的分辨率刷新率等信息,通过修改他让显卡错误的识别这些信息,这相当于对显示器超频,让显卡输出两倍甚至4倍于显示器原生分辨率,对驱动板和面板的寿命有一定影响。

我觉得,为了防止滥用可以只提供手动修改方法,不做一键脚本。 我的情况是这样,显示器原生分辨率 4K,只能开 1080P 的 HiDPI,我希望的是 1600x900,如果通过修改强制让显卡输出 3200x1800,也不会超过显示器原生分辨率的。

EDIT: 我发现用 RDM 修改成 1600x900后, 从系统信息看,显卡输出的是 3200 x 1800,UI看起来类似:1600 x 900 显示器显示信号为 1920x1080 观感上明显模糊,内置显示器不管怎么调都是很锐利的。

qianbinbin avatar Sep 07 '20 06:09 qianbinbin

锐利的首要条件是全分辨率输出,4k显示器自废手脚为3K,当然模糊,还一个是edid里没有3K这一档位,导致驱动板不能正确识别输入分辨率,导致只接受1080p的信号

xzhih avatar Sep 09 '20 12:09 xzhih

锐利的首要条件是全分辨率输出,4k显示器自废手脚为3K,当然模糊,还一个是edid里没有3K这一档位,导致驱动板不能正确识别输入分辨率,导致只接受1080p的信号

那怎么才能让驱动板识别呢?

qianbinbin avatar Sep 09 '20 13:09 qianbinbin

@qianbinbin 在Windows下用Custom Resolution Utility这软件添加你所需要的分辨率x2,导出edid,根据脚本里的配置文件注入方法,注入那个EDID

xzhih avatar Sep 10 '20 12:09 xzhih

@qianbinbin 在Windows下用Custom Resolution Utility这软件添加你所需要的分辨率x2,导出edid,根据脚本里的配置文件注入方法,注入那个EDID

我不太明白,导出选项里没有类似 plist 的格式,我看脚本里的功能就是复制到 /System/Library/Displays/Contents/Resources/Overrides 对吧

qianbinbin avatar Sep 10 '20 14:09 qianbinbin

@qianbinbin

导出是二进制的文件,你打开里面的内容就是edid,用xcode之类的能编辑plist的软件新建一个配置(参考我脚本里写的,或者MacOS里自带的其他配置),把edid复制到里面

xzhih avatar Sep 11 '20 07:09 xzhih

@qianbinbin

导出是二进制的文件,你打开里面的内容就是edid,用xcode之类的能编辑plist的软件新建一个配置(参考我脚本里写的,或者MacOS里自带的其他配置),把edid复制到里面

谢谢,明白了,把 edid 用 base64 编码后替换 IODisplayEDID 的值就可以了,你之前提到的超频方法也是类似的吧

qianbinbin avatar Sep 11 '20 12:09 qianbinbin

@qianbinbin

对的

xzhih avatar Sep 15 '20 01:09 xzhih

@xzhih 尴尬,又有新问题了。之前的 DIY 显示器翻车,我就换了块 C-FORCE 的显示器,分辨率 3200x1800。

3200x1800 原分辨率输出没有问题,但是无法开启 1600x900 的 HiDPI。

我发现的规律是,16:9 全部阵亡,比如 1920x1080 1600x900 1440x810 1280x720。然而 16:10 的却可以,比如 1680x1050 1440x900 1280x800。

另外,我的 Macbook Pro 原生分辨率就是 2880x1800,同样是 16:10,不知道有没有关系,但之前的 DIY 显示器确实成功开启过 1600x900。

这是用 edid-decode 解析到的:

  Established Timings I & II:
    DMT 0x04:   640x480    59.940 Hz   4:3    31.469 kHz  25.175 MHz
    DMT 0x09:   800x600    60.317 Hz   4:3    37.879 kHz  40.000 MHz
    DMT 0x10:  1024x768    60.004 Hz   4:3    48.363 kHz  65.000 MHz
  Standard Timings:
    CVT     :  1152x864    59.959 Hz   4:3    53.783 kHz  81.750 MHz (EDID 1.4 source)
    GTF     :  1152x864    60.000 Hz   4:3    53.700 kHz  81.624 MHz (EDID 1.3 source)
    DMT 0x23:  1280x1024   60.020 Hz   5:4    63.981 kHz 108.000 MHz
    DMT 0x33:  1600x1200   60.000 Hz   4:3    75.000 kHz 162.000 MHz
    DMT 0x52:  1920x1080   60.000 Hz  16:9    67.500 kHz 148.500 MHz
  Detailed Timing Descriptors:
    DTD 1:  3200x1800   59.982 Hz  16:9   111.086 kHz 373.250 MHz (345 mm x 194 mm)

qianbinbin avatar Nov 06 '20 10:11 qianbinbin

@xzhih 查看日志发现有:

错误	15:12:51.192852+0800	WindowServer	[ERROR] - CGXCompleteDisplayConfiguration: Monitor 3d005587; Mode -2147471360 not available

找到相关 issue: https://github.com/avibrazil/RDM/issues/6 https://github.com/avibrazil/RDM/issues/16 ,似乎是 macOS 的 bug?奇怪的是我之前 4K 分辨率确实成功开启过 1080p。

qianbinbin avatar Nov 07 '20 07:11 qianbinbin

@xzhih 查看日志发现有:

错误	15:12:51.192852+0800	WindowServer	[ERROR] - CGXCompleteDisplayConfiguration: Monitor 3d005587; Mode -2147471360 not available

找到相关 issue: avibrazil/RDM#6 avibrazil/RDM#16 ,似乎是 macOS 的 bug?奇怪的是我之前 4K 分辨率确实成功开启过 1080p。

一个解决办法,HiDPI 增加或减少一个像素:https://binac.io/posts/a-workaround-to-bypass-rdms-failing-to-switch-to-some-hidpi-resolutions/

qianbinbin avatar Nov 08 '20 12:11 qianbinbin

@xzhih 查看日志发现有:

错误	15:12:51.192852+0800	WindowServer	[ERROR] - CGXCompleteDisplayConfiguration: Monitor 3d005587; Mode -2147471360 not available

找到相关 issue: avibrazil/RDM#6 avibrazil/RDM#16 ,似乎是 macOS 的 bug?奇怪的是我之前 4K 分辨率确实成功开启过 1080p。

一个解决办法,HiDPI 增加或减少一个像素:https://binac.io/2020/11/08/a-workaround-to-bypass-rdms-failing-to-switch-to-some-hidpi-resolutions/

增减像素这个方法以前我们用过,后来不知道为啥问题就解决了,然后就不用了,看来还是需要增加一个选项

xzhih avatar Nov 13 '20 02:11 xzhih

發現一個方法,如果用腳本打不開的網友們,可以考慮用 Hackintool 這個工具(如附圖),1680x945 可以順利開啟沒問題。

Screenshot 2021-07-10 at 10 36 30

Screenshot 2021-07-10 at 11 43 45

tronic1983 avatar Jul 10 '21 03:07 tronic1983

發現一個方法,如果用腳本打不開的網友們,可以考慮用 Hackintool 這個工具(如附圖),1680x945 可以順利開啟沒問題。

Screenshot 2021-07-10 at 10 36 30

Screenshot 2021-07-10 at 11 43 45

@tronic1983 can you send me your .plist file please? I can’t enable 1680x945 with OneKeyHiDPI

antoniomcr96 avatar Jan 17 '22 12:01 antoniomcr96

已经成功收到您的邮件

konstant2016 avatar Jan 17 '22 12:01 konstant2016

我戴尔G3 3579 遇到同样的问题 真的是死活开不了 请问这个问题 怎么解决 image

Mr-maker-debug avatar Apr 13 '22 06:04 Mr-maker-debug

已经成功收到您的邮件

konstant2016 avatar Apr 13 '22 06:04 konstant2016