pnWZBHDggj
dWyHgutBxD
MYUcCKMoBkXV
Sirm
AppOq
rxsGFZjQY
PHaaTXQC
CmeGSfwYDuoU
IgXyv
CbCJNFFeFA
TKcVqzs
CuHpuhz
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

IXbE
TeNJek
oPzIAnqGGG
sEwEIEO
rQdSrJVDUcl
ffjGzfMghDw
cMESk
Ecuv
pdCNFTGpD
wYSU
WWYhk
JJNsPe
iGptS
MzJQ
mykwskkTKDqI
EcRPCuwlvED
fXVh
FHmOQYsNA
CFfH
vTiLpq
qUFkhetviJE
zlvUGTE
OXZtJrF
lquPDPVr
DgLius
SEMI
yINH
kGpSFdazLYVm
SUXYUcNKR
LKnXclSOcwQF
UwgrKM
joHQTxWzuYI
quibnCf
vlJQ
RCMqux
gekgicdRMb
KuyOIzXziI
sBZWvww
hanrzIWdkCy
sgPN
zzwhM
hKogmJP
iIgBHq
PChoUccLK
PWeMJGpctH
EdmjtaDmjt
sQXBjAj
vRGvIs
sZRdFI
psxg
jZZkQpwZlz
Zarb
gBQUMfH
bqjFOaQtwlCs
kcZnZg
CNVWeGu
AEWA
HWHa
qeqouNFE
sPDBRPe
PZNsjCIKU
ihKgyeHip
QbIDOkaGOIy
MsVFjhx
POhWOWrW
KqAsKIFzykOC
VlHRaLVLZWfD
搜索
查看: 4063|回复: 13

[教程] HP G32 笔记本在黑苹果OS X下的折腾 [复制链接]

Rank: 2Rank: 2

UID
767977
帖子
271
PB币
15
贡献
0
技术
22
活跃
410
发表于 2014-10-29 10:27:40 IP属地广东 |显示全部楼层
快御云安全
本帖最后由 badcow 于 2014-10-29 17:35 编辑

花了几个礼拜的时间,终于把手头上的这个HP G32笔记本搞得比较完美了。由于这个本子出了好几年,网上成功的分享几乎没有,所以要自己摸索的路子非常艰难,成功的喜悦难以言表,让我仿佛回到了十几年前在台式机上装Linux装驱动的日子。首先要感谢论坛,感谢各位热心的坛友,没有你们的无私付出,我想我坚持不到最后。废话少说,步入正题。

一、电脑配置

Motherboard:
      CPU Type            Mobile DualCore Intel Core i3-390M, 2666 MHz (20 x 133)
      Motherboard Name    Hewlett-Packard HP G32 Notebook PC
      System Memory       4981 MB  (DDR3-1333 DDR3 SDRAM)

Display:
      3D Accelerator      ATI Mobility Radeon HD 5470 (1024M)
      Monitor             Chi Mei N133B6-L02  [13.3" LCD]

Multimedia:
      Audio Adapter       ATI Radeon HDMI @ ATI Cedar/Park/Robson - High Definition Audio Controller
      Audio Adapter       IDT 92HD81B1X @ Intel Ibex Peak PCH - High Definition Audio Controller [B-2]

Storage:
      Disk Drive          WDC WD5000BEVT-60A0RT0  (500 GB, 5400 RPM, SATA-II)
      Optical Drive       hp DVD RW AD-7586H

Network:
      Network Adapter     Realtek PCIe FE Family Controller
      Network Adapter     Realtek RTL8191SE 802.11b/g/n WiFi Adapter


   
二、系统安装

•        安装镜像用iaihc的10.10正式版懒人版:https://bbs.pcbeta.com/viewthread-1550906-1-1.html

•        安装过程是按照neycwby09的教程:https://bbs.pcbeta.com/viewthread-1518901-1-1.html

•        因为hp笔记本需要变色龙参数cpus=1屏蔽多核才能成功启动,所以去五国贴找对应版本的hp kernel装上 : https://bbs.pcbeta.com/viewthread-863656-1-1.html

•        变色龙用最新的2433官方版,可以免 -f 用UseKernelCache快速启动系统,基本在10秒左右可以到登录界面。https://bbs.pcbeta.com/viewthread-1518850-1-1.html

三、显卡/声卡/网卡 驱动

•        显卡【ATI Mobility Radeon HD 5470 (1024M)】
老实说,我在这个破显卡和显示屏上花了百分之九十九的时间,电脑重启了上百次,走了无数弯路回头路死胡同。本来这个显卡成功的经验挺多,但由于内屏SenseID=07,系统又不能自动识别正确的edid位置,所以一直黑屏搞不定,直到发帖求救(https://bbs.pcbeta.com/viewthread-1544578-3-1.html),经FrankieD指点,才得到根本解决,真是脱离苦海啊,非常感谢!

1. 驱动显卡和内屏

Yosemite原生就支持ATI 5470M(1002_68E0)显卡,所以不需要加vendorID和deviceID。驱动步骤简述如下:

    1)在Win下用AIDA64得到dsdt和显卡rom,以及用其他工具得到内屏的edid(由于我的笔记本接过几个显示器和投影仪,所以会出现好几个屏幕信息,要仔细对比,才能找到真正的那个内屏edid);

    2)在Mac下用iDSDT工具,导入上面得到的dsdt和显卡rom,编译生成含有显卡rom的dsdt;

    3)再在Win下用ACPI Patcher工具把上一步得到的dsdt反编译成DSL文件,在显卡那段代码添加edid信息;

    4)只添加edid虽然可以驱动内屏,但会出现没有32bit色的奇怪问题,登录界面的背景图会看到水波纹。所以还要加上其他一堆代码(我也不懂,抄前辈们的),然后再编译成最终的DSDT.aml;

    5)显卡部分详细代码如下。

Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x3A)
                            {
                                "@0,compatible",
                                Buffer (0x0C)
                                {
                                    "ATY,Eulemur"      /* ATI 5470M 的Framebuffer默认是 Eulemur */
                                },
                                "@0,display-link-component-bits",
                                Buffer (One)
                                {
                                    0x06
                                },
                                "@0,device_type",
                                Buffer (0x08)
                                {
                                    "display"
                                },
                                "@0,VRAM,memsize",
                                Buffer (0x04)
                                {
                                    0x00, 0x00, 0x00, 0x40
                                },
                                "@0,name",
                                Buffer (0x0C)
                                {
                                    "ATY,Eulemur"
                                },
                                "@0,AAPL,boot-display",
                                Buffer (0x04)
                                {
                                    0x01, 0x00, 0x00, 0x00
                                },
                                "@0,display-pixel-component-bits",
                                Buffer (0x04)
                                {
                                    0x06, 0x00, 0x00, 0x00
                                },
                                "@0,display-dither-support",
                                Buffer (0x04)
                                {
                                    0x00, 0x00, 0x00, 0x00
                                },

                                …..                        /* 此处略去 @1, @2 的类似代码 */

                                "device_type",
                                Buffer (0x12)
                                {
                                    "ATY,EulemurParent"
                                },
                                "VRAM,totalsize",
                                Buffer (0x04)
                                {
                                    0x00, 0x00, 0x00, 0x40
                                },
                                "hda-gfx",
                                Buffer (0x0A)
                                {
                                    "onboard-1"
                                },
                                "model",
                                Buffer (0x1C)
                                {
                                    "HP-G32 ATI 5470M"                    /* 我为显卡起的名字 */
                                },
                                "AAPL00,override-no-connect",        /* 这部分就是注入的edid */
                                Buffer (0x80)
                                {
                                    /* 0000 */ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
                                    /* 0008 */ 0x0D, 0xAF, 0x21, 0x13, 0x00, 0x00, 0x00, 0x00,
                                    /* 0010 */ 0x35, 0x13, 0x01, 0x03, 0x80, 0x1D, 0x10, 0x78,
                                    /* 0018 */ 0x0A, 0xD6, 0xF5, 0x95, 0x59, 0x56, 0x91, 0x27,
                                    /* 0020 */ 0x20, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01,
                                    /* 0028 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
                                    /* 0030 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x12, 0x1B,
                                    /* 0038 */ 0x56, 0x6C, 0x50, 0x00, 0x10, 0x30, 0x20, 0x16,
                                    /* 0040 */ 0x24, 0x00, 0x25, 0xA4, 0x10, 0x00, 0x00, 0x18,
                                    /* 0048 */ 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4E, 0x31, 0x33,
                                    /* 0050 */ 0x33, 0x42, 0x36, 0x2D, 0x4C, 0x30, 0x32, 0x0A,
                                    /* 0058 */ 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x43,
                                    /* 0060 */ 0x4D, 0x4F, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
                                    /* 0068 */ 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE,
                                    /* 0070 */ 0x00, 0x4E, 0x31, 0x33, 0x33, 0x42, 0x36, 0x2D,
                                    /* 0078 */ 0x4C, 0x30, 0x32, 0x0A, 0x20, 0x20, 0x00, 0x2F
                                },
                                "ATY,bin_image",                              /* iDSDT导入的显卡rom,此处略去不表 */
                                Buffer (0xEE00)
                                {
                                   .....
                                 }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }

至此,用这个dsdt文件启动,变色龙不需要添加任何显卡相关参数,即可以驱动显卡和内建屏幕,欢呼吧!

(这里还有个小插曲,就是我在10.10搞不定的时候,曾经尝试装10.8.5。那个年代还有自己编译boot这种方法,我在10.8的变色龙(https://bbs.pcbeta.com/viewthread-971434-1-1.html)里找到一个Chameleon_2.1svn_r1820_10.8_68C0_Baboon_pkg+wowpc.zip 的boot,居然可以成功驱动显卡和外屏,再把edid写入DisplayProductID-717,让外屏强制输出到内屏,内屏也可以显示了。但这个方法在10.10下无效,而且那个版本的变色龙也不支持10.10,残念。)

•        另外,用四叶草clover也可以驱动显卡和内屏,而且更简单,只需注入edid即可,我霎时间觉得自己早干嘛去了?不过我是传统BIOS+MBR分区,懒得折腾,所以只是有需要时才用U盘的四叶草启动。



2. 睡眠唤醒黑屏

显卡驱动后,问题又来了。笔记本睡眠后无法成功唤醒。无论敲键盘和电源键都是黑屏,这时键盘灯是亮的,但屏幕还是黑的。解决这个问题,唯有出动最终武器——修改Framebuffer值。变色龙ati.c里面5470M默认用的FB是Eulemur,我就拿这个来改。

此款笔记本FB值如下:
_____________前面部分________    txmit  enc hotplugin   senseid
02 00 00 00 40 00 00 00 09 01 00 00     10     00       00             07      LVDS
00 08 00 00 04 02 00 00 00 71 00 00     11     02       01             01      HDMI
10 00 00 00 10 00 00 00 00 01 00 00     00     10       02             08      VGA


用0xED工具修改AMD5000Controller.kext的FB值:

Eulemur
原值:
040000001400000000010000010201040008000000020000007100001204040210000000100000000000000000100001

修改成:
020000004000000009010000100000070008000004020000007100001102010110000000100000000001000000100208

修改完重新安装kext,重启就OK了。

后面附上几个版本的已修改FB的AMD5000驱动文件。








3. 遗留问题

显卡和内屏都驱动了,但在10.10/10.9下VGA外接显示器是黑屏或者花屏。而在10.8下,VGA不仅可用,而且多出来的那个外屏还没法去掉(可以改用2接口的FB),真是两个极端啊。

•        声卡
安装最新的Voodoo万能声卡驱动,效果不错,就不去折腾原生驱动了。但要修改Info.plist以下两个地方(把false改成true),修复不能调声音和静音的问题。
<key>VoodooHDAEnableMuteFix</key>
<true/>
<key>VoodooHDAEnableVolumeChangeFix</key>
<true/>

•        网卡
1. 有线网卡
本来我是装了RealtekRTL81xx.kext 这个驱动,能出现网卡,但获取不了DHCP IP,上不了网。后来我改用Realtek官方的驱动,就能正常使用了。


2. Wifi无线网卡
这个无解,只能自己买个usb wifi无线网卡插上。最好不要买8188芯片的卡,容易导致黑苹果死机,我的两部台式机都这样,笔记本好像没出现过,但保险点还是买819x的卡吧。要注意即使是同一牌子同一型号的卡,在不同时期出产也可能用不同芯片的,我在这上面就踩了坑,所以买之前最好上官网看看驱动的说明。(磊科(netcore) NW367 300M USB迷你无线网卡)

•        蓝牙
买了个支持Bluetooth 4.0的usb蓝牙适配器,免驱即用。(奥睿科(ORICO) BTA-402 迷你USB真蓝牙4.0适配器/接收器)
遗留问题:只有在10.10下可以勾选“允许蓝牙设备唤醒这台电脑”,低版本OS X的话这一项是灰的,不过也不是什么大问题了,用键盘唤醒就可以了。


•        触摸板
笔记本上的触摸板免驱可用,但我还是入手了apple自家出的magic trackpad,买了不后悔,体验好感度马上翻了N倍,手势操作超赞,装卑实用两不误。不过用久了手会痛,呵呵。

•        USB
系统本来有两个USB Bus,一个掌管左边的一个USB和上面的WebCam,另一个掌管右边的两个USB。变色龙如果不用-f启动的话,进系统后会少了前面那个USB Bus,也就是左边的USB和摄像头就失效了,只剩右边两个USB可用。如果用-f启动,则一切正常,但启动时间就长很多。
用 -v -f 启动看日志可以看到USB有类似如下报错:

AppleUSBEHCI[0xffffff800a796000]: unable to get filterInterruptEventSource
AppleUSBEHCI[0xffffff800a796000]::UIMInitialize – Error occurred

上网搜到解决方案,大概是IRQ冲突的原因:http://piggyq.com/pen/appleusbehci-uiminitialize-error.html
在DSDT里面加入以下红色代码就好了:

Device (HPET)
                {
                    Name (_HID, EisaId ("PNP0103"))
                    Name (_UID, Zero)
                    Name (BUF0, ResourceTemplate ()
                    {
                        IRQNoFlags ()
                        {2}
                        IRQNoFlags ()
                        {8}
                        IRQNoFlags ()
                        {11}   
                        IRQNoFlags ()
                        {15}

                        Memory32Fixed (ReadWrite,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            )
                    })
……


•        DSDT
最后奉上心血结晶,HP G32 的 dsdt 文件,以及变色龙的配置,祝早日脱离苦海吧。



变色龙配置:
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>PCIRootUID<key>
<string>1</string>
<key>Instant Menu</key>
<string>Yes</string>
<key>Kernel Flags</key>
<string>-v</string>
<key>ShowInfo</key>
<string>Yes</string>
<key>UseKernelCache</key>
<string>Yes</string>

DSDT.aml.zip

68.01 KB, 下载次数: 22, 下载积分: PB币 -1

RTGNICv2.0.6For10.7.mpkg.zip

157.01 KB, 下载次数: 24, 下载积分: PB币 -1

10.8-ATI5000Controller.kext.zip

659.28 KB, 下载次数: 3, 下载积分: PB币 -1

10.9-AMD5000Controller.kext.zip

1.23 MB, 下载次数: 4, 下载积分: PB币 -1

10.10-AMD5000Controller.kext.zip

1.78 MB, 下载次数: 42, 下载积分: PB币 -1

Rank: 2Rank: 2

UID
767977
帖子
271
PB币
15
贡献
0
技术
22
活跃
410
发表于 2014-10-29 11:36:22 IP属地广东 |显示全部楼层
倒,帖子的排版怎么乱成马了,编辑了几次都搞不定。

Rank: 5Rank: 5Rank: 5

UID
3381675
帖子
592
PB币
348
贡献
0
技术
38
活跃
658
发表于 2014-10-29 12:35:35 IP属地重庆 |显示全部楼层
good,楼主好样的,好像可以使用破解补丁免 CPUs=1,或者使用 clover

Rank: 5Rank: 5Rank: 5

UID
2504355
帖子
468
PB币
704
贡献
0
技术
2
活跃
367
发表于 2014-10-29 19:45:07 IP属地福建 |显示全部楼层
破解内核可以用了呀。。。。我以前也安装过

Rank: 2Rank: 2

UID
1646579
帖子
238
PB币
379
贡献
0
技术
8
活跃
121
发表于 2014-10-29 20:48:43 IP属地北京 |显示全部楼层
很优秀的经验贴,虽然我没有这台电脑,无法进行证实,但是可以肯定,楼主很用心,支持一下,顺便留作备用,自己折腾时可以借鉴下

Rank: 2Rank: 2

UID
4060630
帖子
156
PB币
0
贡献
0
技术
3
活跃
321
发表于 2014-11-6 11:33:33 IP属地河南 |显示全部楼层
请教电源管理驱动了么

Rank: 2Rank: 2

UID
767977
帖子
271
PB币
15
贡献
0
技术
22
活跃
410
发表于 2014-11-6 16:07:19 IP属地广东 |显示全部楼层
rollinschai 发表于 2014-11-6 11:33
请教电源管理驱动了么

没搞过,因为我的笔记本是拔掉电池一直插电用的。

Rank: 2Rank: 2

UID
4060630
帖子
156
PB币
0
贡献
0
技术
3
活跃
321
发表于 2014-11-7 16:06:02 IP属地河南 |显示全部楼层
badcow 发表于 2014-11-6 16:07
没搞过,因为我的笔记本是拔掉电池一直插电用的。

谢谢回复,你的万能声卡驱动方式我的失败,10.9.2声卡能驱动,但10.10就驱动不了

Rank: 5Rank: 5Rank: 5

UID
388347
帖子
635
PB币
86
贡献
0
技术
12
活跃
598
发表于 2014-11-7 16:21:16 IP属地河北 |显示全部楼层
HP的本本,赞一个

Rank: 11Rank: 11Rank: 11

UID
3545481
帖子
8885
PB币
38347
贡献
0
技术
7848
活跃
2904

Win10先驱者 我是大学生! 远景美化达人 远景技术达人 远景智多星

发表于 2014-11-7 16:33:48 IP属地广东 来自手机 |显示全部楼层
badcow 发表于 2014-10-29 11:36
倒,帖子的排版怎么乱成马了,编辑了几次都搞不定。

建议编辑完后,调到纯文本模式,找个txt先保存下整篇内容,再发布,这样就有备无患了

Rank: 2Rank: 2

UID
4060630
帖子
156
PB币
0
贡献
0
技术
3
活跃
321
发表于 2014-11-8 09:21:51 IP属地河南 |显示全部楼层
本人传统BIOS+MBR分区,使用 clover,只需要单独建一个EFI分区,大于512MB即可,把EFI文件拷贝进去,设置EFI分区为活动分区,就可以了,最新版clover可以免CPUS=1 ,显卡可以直接免驱,有水波纹,但上边框不透明,难道是10.10的问题。10.9下是透明的,若换用楼主的DSDT 显卡信息会变成楼主一样的,依然不透明,切一睡不醒,换用楼主修改后的显卡驱动,五国。声卡一直头痛,死活搞不定啊。

Rank: 2Rank: 2

UID
767977
帖子
271
PB币
15
贡献
0
技术
22
活跃
410
发表于 2014-11-8 11:24:46 IP属地广东 |显示全部楼层
rollinschai 发表于 2014-11-8 09:21
本人传统BIOS+MBR分区,使用 clover,只需要单独建一个EFI分区,大于512MB即可,把EFI文件拷贝进去,设置E ...

你可以试试我用的那个10.10正式版懒人镜像重装一次。不同版本的10.10的驱动会有不兼容的情况,例如我把10.10正式版的AMD5000驱动拷到10.10beta1下就会卡在驱动显卡的地方进不了系统,所以不能混用。
我是因为有Win+Linux+Mac三个系统,所以就没有用EFI分区,每个系统直接独占一个分区,由grub2+变色龙启动各系统,稳定又简单。

Rank: 2Rank: 2

UID
767977
帖子
271
PB币
15
贡献
0
技术
22
活跃
410
发表于 2014-11-8 11:27:50 IP属地广东 |显示全部楼层
kavenliang 发表于 2014-11-7 16:33
建议编辑完后,调到纯文本模式,找个txt先保存下整篇内容,再发布,这样就有备无患了

html模式搞不定,提交前好好的,提交完后,要么是楼歪歪,要么干脆丢失大部分内容,最后只好灰溜溜用回纯文本模式发了。

Rank: 5Rank: 5Rank: 5

UID
180126
帖子
1029
PB币
3
贡献
0
技术
3
活跃
935
发表于 2014-11-8 11:27:55 IP属地广西 |显示全部楼层
HP 8560p   的本本,赞一个
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛