OS X 下能够调整核心显卡的 VRAM 吗

2015-09-13 10:41:57 +08:00
 LTanN
如题,想知道有没有方法(要是通过 Windows 也可以)
3995 次点击
所在节点    MacBook Pro
2 条回复
dotpig
2015-09-13 11:40:10 +08:00
需要直接在驱动上改,因此 kext-dev-mode=1 看来是必须的。以下是针对 HD4000 的步骤:
把 AppleIntelFramebufferCapri.kext 这个拷贝到桌面上,运行:
```
sudo perl -pi -e 's|\x00.{1}\x10\x07\x00\x00\x10\x07|\x00\x??\x10\x07\x00\x00\x10\x07|g' ~/Desktop/AppleIntelFramebufferCapri.kext/Contents/MacOS/AppleIntelFramebufferCapri
```
其中 ?? 代表你想要的 VRAM 值:

10 = 256MB of RAM
18 = 384MB of RAM
20 = 512MB of RAM
30 = 768MB of RAM
40 = 1024MB of RAM
80 = 2048MB of RAM

声明一下,我没试过。风险自担(其实没啥大风险,修改的是驱动,不是固件)。
miniwoodman
2015-09-13 11:54:33 +08:00
根据显卡型号需要修改下列三个驱动其中之一
AppleIntelFramebufferCapri.kext
AppleIntelFramebufferAzul.kext
AppleIntelBDWGraphicsFramebuffer.kext

通过这条命令一般就可以知道当前加载的驱动
kextstat | grep Intel

还要确定好 ig-paltform-id

把驱动复制出来,然后用十六进制编辑器修改文件: AppleIntelFramebufferAzul.kext/Contents/MacOS/AppleIntelFramebufferAzul

查找 ig-platform-id 比如 06 00 26 0A, 数据含义如下

06 00 26 0A
01 03 03 03
00 00 00 02 StolenMemorySize: 32MB
00 00 30 01 FramebufferMemorySize: 19MB
00 00 60 00 CursorBytes: 6MB
00 00 00 60 VRAM: 1536MB (改这里,想改多大,用十六进制计算器算好,比如 十进制的 1024 x 1024 x 1024 = 十六进制的 400 x 400 x 400 = 40 00 00 00 , 存储顺序为 00 00 00 40 )

改好后用 DPCIManager 等工具安装回去。
一般来说改小一点问题不大,但是改大的话不一定有效,而且可能还会无法进入系统。
要有能力保证无法进入桌面的情况下还能恢复驱动才好去试验。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/220319

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX