xzhih / one-key-hidpi

Enable macOS HiDPI and have a native setting.
https://zhih.me/one-key-hidpi/
8.45k stars 980 forks source link

希望大神能研究下m1芯片设备开启hidpi #157

Open caili632 opened 3 years ago

caili632 commented 3 years ago

难道同样系统版本,m1芯片和intel芯片的文件系统不一样吗

birdmichael commented 3 years ago

同求

akring commented 3 years ago

同样的问题,目测是 M1 上拿不到外接显示器的 ID,生成出来的配置文件 id 都是 0

qqxx6661 commented 3 years ago

码住看看有没有解决方案

xzhih commented 3 years ago

我没有设备,所以需要你们提供一下需要的信息

在终端里输入一下命令

ioreg -lw0 | grep -i "Display" > display.txt
open ./

然后把当前目录下的 display.txt 发到我的邮箱

triton2you@gmail.com

birdmichael commented 3 years ago

我没有设备,所以需要你们提供一下需要的信息

在终端里输入一下命令

ioreg -lw0 | grep -i "Display" > display.txt
open ./

然后把当前目录下的 display.txt 发到我的邮箱

triton2you@gmail.com

已发送 大佬。

akring commented 3 years ago

看起来和这个问题很类似,可能需要苹果自己修复

https://github.com/MonitorControl/MonitorControl/issues/323

xzhih commented 3 years ago

看起来和这个问题很类似,可能需要苹果自己修复

MonitorControl/MonitorControl#323

从 ioreg 的输出可以发现有差别,没有直接获取到完整的 EDID,但还是能获取到经过解析的部分 EDID 信息,与此脚本相关度最高的ProductID和LegacyManufacturerID(VendorID),理论上单纯的开启 HIDPI 没啥问题,但脚本中存在的一些关于 EDID 的补丁(force RGB,fix 6bit color),以及 EDID 的注入,实现起来比较麻烦(主要是通过已知信息反推补全、分辨率信息的补全)。

PS:在最新的M1芯片上,苹果的图像输出使用的是移动端(iPhone、iPad)用的 IOMobileFramebuffer(IOMFB),而之前的设备上用的是 AppleIntelFramebuffer、AMDFramebuffer 等,这导致了以上的问题。

akring commented 3 years ago

目前我遇到问题的设备是小米 34 寸的 2k 带鱼屏,貌似这种尺寸的显示器是开启 Mac hidpi 需求最大,问题也是最多的 🤦‍♂️

changguangyu commented 3 years ago

m1开启不了hidpi很难受,即使用windows获取edid,手动开启也有各种奇怪的问题

aliceric27 commented 3 years ago

我也是2K狀態下沒辦法開啟,買了一台4K螢幕就系統可以直接開啟HiDPi了..算是直接升級顯示並解決的好方案

qiangwenjun commented 3 years ago

我是4k显示都无法开启hidpi,研究了几天,搞不定,希望大佬能有方法解决

qiangwenjun commented 3 years ago

m1开启不了hidpi很难受,即使用windows获取edid,手动开启也有各种奇怪的问题

edid怎么用在m1芯片上?能不能开启hidpi?

faceace commented 3 years ago

我没有设备,所以需要你们提供一下需要的信息

在终端里输入一下命令

ioreg -lw0 | grep -i "Display" > display.txt
open ./

然后把当前目录下的 display.txt 发到我的邮箱

triton2you@gmail.com

已经发邮件。

我这个屏幕是4k的,在m1的mac mini上无法开启hidpi,但是在非m1的macbook pro上默认原生就能识别开启hidpi。看来是m1的问题了,不知道未来有没有希望支持。

changguangyu commented 3 years ago

m1开启不了hidpi很难受,即使用windows获取edid,手动开启也有各种奇怪的问题

edid怎么用在m1芯片上?能不能开启hidpi?

开启不了,edid手动填上也没用

kkHAIKE commented 3 years ago

感觉现在是一点思路和方向都没有

changguangyu commented 3 years ago

感觉现在是一点思路和方向都没有

我已经换windows了,125%缩放完美。Mac对非整数倍缩放支持太差了

chokbass commented 3 years ago

同求。

chokbass commented 3 years ago

macbook pro m1 芯片,我所有网上的方法都试了一遍,小米34寸显示器就是开启不了hidpi。

qiwong518 commented 3 years ago

关注了arm 2k的屏幕开启hidpi,希望能尽快识别。

Zane0227 commented 3 years ago

期待大佬更新--用着2k屏幕外接真是太痛苦了

kkHAIKE commented 3 years ago

有人试过 升级 11.1 解决了么

Zane0227 commented 3 years ago

有人试过 升级 11.1 解决了么

更新报告里有说解决LG Ultrafine 5k显示器的hidpi问题,于是我很快更新了。结果发现2k显示器依然无法正常开启hidpi,包括教程脚本、RDM、SwitchResX。目前的情况来看,苹果短时间内是不会对4K以下显示器进行更新支持了,否则这次肯定会顺便更新了的。没办法,已经下单4k显示器了。

chokbass commented 3 years ago

如果big sur 11.1 没解决HIDPI问题,感觉又需要等好久才行了。

kkHAIKE commented 3 years ago

不想吃灰了啊。。。

akring commented 3 years ago

不想吃灰了啊。。。

买显示器吧,都是不切实际的幻想

kkHAIKE commented 3 years ago

我想了个办法,用那种类似 hdmi edid 欺骗器的东西,把要改写的 edid 烧进去 找到两个类似的产品 https://lightware.com/products/edid-manager-v4 https://www.hdfury.com/product/dr-hdmi-4k 还有那种简单的 hdmi pass-through,可以开 hidpi 不过应该不能改 rgb

yifany-github commented 3 years ago

进展怎么样了呢

derbirch commented 3 years ago

dell 2k显示器遇到同样问题,已把文件发到大佬邮箱

akring commented 3 years ago

等苹果自己修吧 https://www.macrumors.com/2020/12/23/apple-to-fix-ultrawide-display-m1-mac-issue/

kkHAIKE commented 3 years ago

/system/library/displays/contents/resources/overrides 这个是哪个服务需要的配置,我逆向一下

xzhih commented 3 years ago

/system/library/displays/contents/resources/overrides 这个是哪个服务需要的配置,我逆向一下

显示器相关的都是 CoreDisplay 这个服务,在 big sur 上这个服务有改动

/System/Library/Frameworks/CoreDisplay.framework

如果你装了 xcode,可以使用以下代码看看内不能拿到显示器列表

    // 遍历framebuffer接口获取显示器列表
    var displayList: [NSDictionary] = []
    while case let framebuffer = IOIteratorNext(portIterator), framebuffer != 0 {
        print("framebuffer接口:", framebuffer)
        let dict = IODisplayCreateInfoDictionary(framebuffer, UInt32(kIODisplayOnlyPreferredName)).takeRetainedValue() as NSDictionary
        if dict["IODisplayLocation"] as! String == "unknown" {
            continue
        }
        displayList.append(dict)
    }
    print("显示器列表:", displayList)

能不能拿到显示器数据是一回事,设置显示器显示模式又是另一回事 这些都需要等待 apple 的完善

yifany-github commented 3 years ago

我有两台mac一个是intel的,一个是m1的,那我可以现在mac上设置好,然后复制文件到m1上,从而实现hidpi吗?

yifany-github commented 3 years ago

实测11.2 beta 2 未修复此问题

derbirch commented 3 years ago

实测11.2 beta 2 未修复此问题

11.2 RC 也未修复,看来要买新显示器了……

WilliamHoo commented 3 years ago

今早升级到11.2。 还是无法使用。请问买新的显示器是什么意思,为什么就可以解决这个问题?

cooperlyt commented 3 years ago

@WilliamHoo 4k显示器 macos会自动开启hidpi 不需要这种欺骗性的设置。但网上说有些杂牌的4k显示器也不能自动开启, 简单来说就是,苹果希望你买个贵点的4k显示器,其它的显示器不配使用mac。

yifany-github commented 3 years ago

11.3 beta 实测,未修复

cclucky1 commented 3 years ago

期待大佬更新 家里唯一的显示器是2k已经放弃使用了

KissSt commented 3 years ago

期待大佬更新 家里唯一的显示器是2k已经放弃使用了

我的2k卖了,准备入手4k

1014982466 commented 3 years ago

你们能输出SRGB色域的吗,我的M1只能输出Ycbcr

yifany-github commented 3 years ago

11.3 beta 2 实测,未修复

cooperlyt commented 3 years ago

SwitchResX 出了一个新版本4.11.1a3,已经可以在m1上设置自定义分辨率了,理论上只要加入一个自定义的4K分辨率就可以开启hidpi, 不小心设置成 2160 3840 成功设置了, 但是不知道为什么我的显示器设置为38402160不成功,所以还是没有打开 hidpi.大家可以在自已的显示器上试一下看看能不能成功开启hidpi.

yifany-github commented 3 years ago

SwitchResX 出了一个新版本4.11.1a3,已经可以在m1上设置自定义分辨率了,理论上只要加入一个自定义的4K分辨率就可以开启hidpi, 不小心设置成 2160 3840 成功设置了, 但是不知道为什么我的显示器设置为38402160不成功,所以还是没有打开 hidpi.大家可以在自已的显示器上试一下看看能不能成功开启hidpi.

尝试过了,但是显示not installed

cooperlyt commented 3 years ago

@yifany-github “not installed” 是因为你之前安装了旧版本,升级有残留,你需要用工具把旧版本卸载干净后重装。我一开始也是这样,后来我直接重装了系统

iShot2021-02-18 10 32 23
KangKai1982 commented 3 years ago

实测可以安装自定义分辨率,但是并不能打开hidpi,还是糊的

hshansel commented 3 years ago

@cooper-lyt 你的 T270LG 是松仁显示器吗?缩放界面正常吗?我的是杂牌松仁的,虽然可以开启hidpi了但是缩放洁界面跟正常的不一样。hdmi线连接mini开机亮屏幕,需要重新开关显示器。可以hidpi。c转dp开机亮屏。缩放洁面一样。 WechatIMG28

cooperlyt commented 3 years ago

@hshansel 和你同一款显示器 能正常开启hidpi 使用没遇到啥问题!我使用的是 雷雳 转 DP 的线连接的

hshansel commented 3 years ago

@cooper-lyt 谢谢。你的缩放界面跟我的一样么~~~~要是一样我也就不纠结了!

cooperlyt commented 3 years ago

@hshansel 一样, 但是我没用这个调节, 使用switchresx设置的hidpi分辩

iShot2021-02-20 17 55 44
songpiapia commented 3 years ago

@hshansel 一样, 但是我没用这个调节, 使用switchresx设置的hidpi分辩

iShot2021-02-20 17 55 44

为啥我这switchresx 连custom resolutions的选项都没有