- 积分
- 204
- 最后登录
- 2024-3-18
- 精华
- 0
- 阅读权限
- 30
- 主题
- 30
- UID
- 1797403
- 帖子
- 510
- PB币
- 332
- 威望
- 0
- 贡献
- 0
- 技术
- 2
- 活跃
- 425
- UID
- 1797403
- 帖子
- 510
- PB币
- 332
- 贡献
- 0
- 技术
- 2
- 活跃
- 425
|
本帖最后由 puccahappy 于 2016-5-30 22:41 编辑
笔记本原来是开普勒架构的860m,研究半天睡眠后显卡依旧不变频,前几天兴起,换了块clevo的970m,自以为maxwell架构的应该不会出现这种问题。显卡换后又买了个电源,180w的根本不够,上了240w。完美后win下提取dsdt跟ssdt,开始搞Mac下。原本单纯以为将原来的860m的dsdt代码改下就行,几分钟搞定。结果大出我所预料……我足足搞了一整天……860m时,dsdt内显卡代码在peg0>pegp 下添加,自认为只是换了个显卡,接口没换,调用的端口也应该是一样,结果各种改dsdt代码,各种黑屏。后来改变思路,放弃修改dsdt,直接不用dsdt,进系统后查看ioreg,pegp始终为@0,@1,两端口它都占着,如何能把这个pegp屏蔽呢?dsdt内查看,正常端口都应该是有_ADR,Zero或者One一类的,而pegp下却是0xffff,这是个啥?它在peg0下,peg0地址是0x00001000,我怀着做实验的态度,把这个地址copy到了pegp下替换了0xffff,(系统之前安装了webdriver,并且删除了geforce跟nvda开头的驱动),重启,970m驱动了!兴奋之,打开ioreg查看,peg0下调用的是dgpu,回到dsdt查看,dgpu是我之前提取的ssdt,然后整合到了dsdt内,acpi tree查看,peg0下确实有dgpu跟pegp两个子项,而ioreg内pegp没有了……这说明把pegp的地址改成peg0的0x00001000是不对的,我加了这个以后碰巧屏蔽了pegp端口,致使系统调用了dgpu,系统内pci打不开,出现内部错误,同样也证实了我这么改不对。显卡驱动后显示器不能内建,不能调节亮度,但是显卡驱动了,这些就都是能实现的。首先尝试在dgpu下添加显卡代码,重启黑屏,可以进系统,调节亮度有声(快捷键啊,输密码进系统啊,这个不要解释吧)。换思路,结合了两篇文章,针对地球人/…900显卡黑屏跟另一篇解决二阶段花屏缺失,为什么我说结合,因为这两篇文章你要先看第二篇,简单好懂,再去研究第一篇,第一篇有模版,小太阳直接用这个生成就行。具体方法自己研究吧,文章讲的很细。提醒一点,nvpm这条一定要加,要不有小太阳不能调亮度。clover注入后,显示器内建,亮度调节正常。然后开始搞AGPM,又出怪事儿了,如果加入显卡ID,ioreg查看,agpm是为加载的,后来把同一份分别复制并命名DGPU,IGPU,GFX0,重启后AGPM正常加载,睡眠唤醒,我勒个去,显卡又不变频,疯掉了!cine测试显卡分数,84fps,这不是逗我吗?我的860m还83fps呢!
虽然显卡驱动了,半透明效果有了,lost water也正常,但是性能完全没发挥出来,试过fakesmc下删掉agpm,同样跑分不高,睡眠唤醒后显卡不变频是我永远的痛!
|
|