- 积分
- 224
- 最后登录
- 2023-6-11
- 精华
- 0
- 阅读权限
- 30
- 主题
- 37
- UID
- 4575313
- 帖子
- 484
- PB币
- 471
- 威望
- 5
- 贡献
- 0
- 技术
- 21
- 活跃
- 388
无敌小码农
- UID
- 4575313
- 帖子
- 484
- PB币
- 471
- 贡献
- 0
- 技术
- 21
- 活跃
- 388
|
首先说下我笔记本的配置:
机型:Dell5437-4526
系统:10.11.2 (15C50)
主板:Intel HM76 (Intel 8 Series Chipset)
CPU:Intel i5 4200U
内存:8 GB ( 金士顿 + 三星 DDR3 1600MHz )
显卡 :HD4400 + NVIDIA GeForce GT 740M(屏蔽)
声卡:瑞昱 ALC3223
硬盘: 128 GB固态硬盘 )+500G机械硬盘
网卡:某宝一个免驱 + 手贱给报销掉的有线网卡
再说下现在安装的情况
1:独显无法驱动,所以屏蔽
2:集显驱动、亮度可以快捷键调节并保存
3:声卡暂没精力仿冒直接万能
4:无线网卡直接免驱、有线网卡被我加固态的时候给弄坏了
5:电源加载AppleLPC 、X86PlatformShim、X86PlatformPlugin三个kext,在节能器中有四个选项
6:盒盖 和 休眠按钮 正常
7:USB全部正常加载,USB3.0下正常识别最大速度5G/s 因为USB引起的休眠问题也解决
下面说一下我安装黑苹果中间遇到的一些问题和解决方法,可能我爬贴较多有些出处无法考证,请谅解
DSDT错误修改与屏蔽独显问题:
参见daxuexinsheng的 https://bbs.pcbeta.com/viewthread-1517830-1-1.html 帖子 我想说的是,不要照着视频一步一步的来,很多本来没有问题的打了补丁可能反而会有问题,最好是有这个问题和需求才打相应的补丁
daxuexinsheng基本讲清DSDT修改的事,但问题是我按照视频所说屏蔽独显的两个补丁有一个是打不上的,所以独显会无法屏蔽。我才用了另外一个方法,手动修改DSDT。
以下是我不知道从哪找(抱歉)的引用:
需要在DSDT中添加的代码:
// 添加到 Method (_WAK) 和 Scope (_SB.PCI0) 下面的 Method (_INI)
If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._OFF))
{
\_SB_.PCI0.PEG0.PEGP._OFF()
}
If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._PS3))
{
\_SB_.PCI0.PEG0.PEGP._PS3()
}
// 添加到 Method (_PTS)
If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._ON))
{
\_SB_.PCI0.PEG0.PEGP._ON()
}
If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._PS0))
{
\_SB_.PCI0.PEG0.PEGP._PS0()
}
注意:
\_SB_.PCI0.PEG0.PEGP ,这个作用域,不同的电脑不一样,大部分电脑是这样的,有的电脑的,PEG0 可能变成 RP05 等名字,需要自己先找找。
_OFF、_PS3、_ON、_PS0,这些函数的名字,不同的电脑也不一样,这几个是最常见的名字。
步骤:
1、一个SSDT:找定义了显卡的SSDT。这个SSDT的特点是,在MaciASL的左边栏的结构中,只有一个”\_SB.PCI0“,并且,它的下面有1个Device (GFX0)。那么,这个SSDT就是定义了显卡的。
2、另一个SSDT:找显卡包含显卡切换的SSDT。在Windows下提取的所有SSDT中,其中一个,有许多“\_SB_.PCI0.PEG0.PEGP”或者“\_SB_.PCI0.RP05.PEGP”这样的定义,在这个SSDT中,先搜索有没有"_PS3",如果有,那么再搜索有没有"_OFF",一般,有这两个了,"_ON"、"_PS0"也有了。这是一般的情况。
少数情况,只有"_PS3"和"_PS0",或者有"_PS3"和"_PS0",但没有"_OFF"和"_ON",相应的,可能是有 "SGOF"和"SGON" 或者 "OPOF"和"OPON" 。那么这两个就是替代者。
自己根据自己的文件判断。
3、可能有的SSDT:对于这个SSDT,有的电脑有,有的电脑没有。主要特点是,搜索,含有GFX0或者PEGP。或者,在MaciASL的左边栏也能直接看出来。与显卡有关的SSDT还是比较容易看出来的,其它的SSDT里,一般都是有CPU字样的。
这3个SSDT就是与屏蔽独显有关的。
上面的信息是把SSDT的代码挪到DSDT中去时打的屏蔽独显补丁,我觉得没这个必要能少修改就少修改,能不动就不动。所以,SSDT中得代码不动,只采用屏蔽独显的方法。按照这个思路走下去会有error,应该去SSDT中找到方法,并且把这个方法的声明给引用到DSDT中
比如我添加上面的代码后会报错,是因为在添加的代码中调用了SSDT中的方法,但是SSDT的代码没有挪过来,所以引用一下
在DSDT的头部加上:
External(\_SB.PCI0.RP05.PEGP._ON, MethodObj)
External(\_SB.PCI0.RP05.PEGP._PS0, MethodObj)
External(\_SB.PCI0.RP05.PEGP._PS3, MethodObj)
External(\_SB.PCI0.RP05.PEGP._OFF, MethodObj)
这四个是我SSDT中的方法,自己使用时候根据自己的情况而定
这样独显基本上就会被屏蔽
快捷键亮度调节并保存亮度信息:
这个比较简单,直接打补丁并且加载一个kext(我没有加载kext也行)就好,具体也看上面的帖子
多说一句,开关机保存亮度信息在安装Clover的时候把最下面的RC Script勾选上就可以
驱动原生电源并加载AppleLPC 、X86PlatformShim、X86PlatformPlugin的问题:
DSDT中有关于加载AppleLPC的这个补丁,但是大家最好试一下不打这个补丁能不能加载,我的就可以
AppleLPC这个加载比较简单 重要的是两个X86的加载 我一直以为加载两个X86就可以正常休眠,但是发现加载之后就是系统偏好设置-节能器 的 选项由两个变成四个 ,而且CPU频率变化太大, 不像以前不开大软件就会保持在最低频率,笔记本温度上升5度以上。
加载X86 可以用ssdtPRGen.sh脚本生成SSDT来加载,具体方法看这里:
https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1568922&page=1#pid42497074
如果卡到这一步:curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.co ... master/ssdtPRGen.sh
可以直接打开https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh这个网址,全选、复制,然后打开终端
输入 cd Desktop/
touch ssdtPRGen.sh
vi ssdtPRGen.sh
这时候会进入命令行vi编辑模式
按下 i 键,用快捷键粘贴(win+v 或者 Alt+v)
在按Esc,输入:wq
这时候ssdtPRGen.sh脚本就在桌面上了
即便加载两个x86,休眠问题可能还是一大堆。具体表现为两种:
第一种:
点击睡眠后,屏幕黑,如果几秒内点击自带键盘可中止睡眠;
正常点睡眠几秒之后,硬盘灯长亮几次后熄灭,风扇停止,只有电源键、电池指示灯闪烁。
此时再次点击键盘,可明显发现风扇开始转动,电源键、电池指示灯均点亮,不闪烁,硬盘灯闪烁几次(读取数据?)后熄灭。
但是屏幕自始至终黑屏,触摸板、键盘、电源键均无法点亮屏幕,按Ctrl+Alt+F12没反应,只能Ctrl+电源 然后Enter 或者 长按电源键强制关机。
再次开机后睡眠前未退出的程序仍没有退出。
第二种:
在休眠死机重启后 在终端输入sudo grep 'Wake reason' /var/log/system.log
会有如下输出:
Wake reason: GLAN EHC2
Wake reason: GLAN
Wake reason: GLAN
Wake reason: PWRB GLAN (User)
这是两种不同的情况解决方法也不一样,还好,我都遇见过。
对于第一种情况参考https://bbs.pcbeta.com/viewthread-1592892-1-1.html,这个帖子的楼主是把DSDT中的 Windows 2001*** 改成 Darwin ,而我是把所有的 Windows 2001*** 和 Windows 2006 都改成Darwin,可以正常休眠。
对于第二种情况,则更简单,直接一个补丁搞定:USB3_PRW(0x6D) and Rename XHC to XHC1
一般在补丁源的最下面。附上代码:
时间紧迫,先写这么多,以后有时间再修改添加吧
|
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
-
1
查看全部评分
-
|