ati 5XXX和6XXX免驱 但显卡名称不对,DVD意外退出的DSDT解决办法
本帖最后由 p.H 于 2012-10-20 08:20 编辑话说可以免驱的A卡HD 5670
HD 5570
HD 5830
HD 5850
HD 5770
HD 5870
HD 5970
HD 6570
HD 6670
HD 6750
HD 6790
HD 6850
HD 6870
HD 6950
HD 6970
下面所列ID的(非移动)显卡应该可以免驱【如果想按照此贴购买显卡,一定要对着显卡ID,虽然名称一样,但显卡ID可能不一样(非公版的显卡)】0x68981002 0x68991002 0x68E01002 0x68E11002 0x68D81002 0x68C01002 0x68C11002 0x68D91002 0x68B81002 0x68B01002 0x68B11002 0x68A01002 0x68A11002
0x67681002 0x67701002 0x67791002 0x67601002 0x67611002 0x67501002 0x67581002 0x67591002 0x67401002 0x67411002 0x67451002 0x67381002 0x67391002 0x67201002 0x67221002 0x67181002 0x67191002 0x68401002 0x68411002 0x67041002
帮两个人改DSDT成功驱动显卡后大概知道怎么添加代码,把基本操作贴出来给大家分享一下
主要参考了两篇帖子和兔版改的DSDT
https://bbs.pcbeta.com/viewthread-919061-1-1.html
https://bbs.pcbeta.com/viewthread-959848-1-1.html
没DSDT基础的朋友先去看此贴吧
DSDT提取、修改等基础视频教程及DSDT编译错误修改方法【从零开始轻松使用上DSDT】
此代码只能用于免驱的显卡【没有免驱的显卡就不要去尝试了】,而且加变色龙参数后能正常打开DVD播放程序
首先通过IO图查看你的显卡位置,比如下图我的显卡位置在POP2
打开DSDT,找到POP2(以免版改的DSDT为例)
添加之前
Device (P0P2)
{
Name (_ADR, 0x00010000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR02)
}
Return (PR02)
}
}添加之后
Device (P0P2)
{
Name (_ADR, 0x00010000)
Device (GFX0)
{
Name (_ADR, Zero)
Method (_DSM, 4, NotSerialized)
{
Store (Package ()
{
"AAPL,slot-name",
Buffer ()
{
"Slot-1"
},
"@0,name",
Buffer ()
{
"ATY,Baboon"
},
"@1,name",
Buffer ()
{
"ATY,Baboon"
},
"@2,name",
Buffer ()
{
"ATY,Baboon"
},
"model",
Buffer ()
{
"ATI Radeon HD 5670"
},
"hda-gfx",
Buffer ()
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Device (HDAU)
{
Name (_ADR, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package ()
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR02)
}
Return (PR02)
}
}
上面的代码并不适于任何一个显卡,因为每个显卡的输出接口数和代工厂商不同,比如我的显卡有3个接口(4楼图片)。
再贴上一个4个接口的代码你就知道有什么区别了
4个接口
Device (GFX0)
{
Name (_ADR, Zero)
Method (_DSM, 4, NotSerialized)
{
Store (Package ()
{
"AAPL,slot-name",
Buffer (0x07)
{
"Slot-1"
},
"@0,name",
Buffer ()
{
"ATY,Vervet"
},
"@1,name",
Buffer ()
{
"ATY,Vervet"
},
"@2,name",
Buffer ()
{
"ATY,Vervet"
},
"@3,name",
Buffer ()
{
"ATY,Vervet"
},
"model",
Buffer (0x13)
{
"ATI Radeon HD 5770"
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Device (HDAU)
{
Name (_ADR, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}你会发现多了一个
"@3,name",
Buffer (0x0B)
{
"ATY,Vervet"
},
几个接口就有几个@0,name...字段
另一个地方不同在于Ati Config的值【蓝色字体】 ,关于Ati Config,先到下面这个网页看你的显卡变色龙使用哪个Ati Config
http://forge.voodooprojects.org/p/chameleon/source/tree/HEAD/trunk/i386/libsaio/ati.c
比如我的显卡ID 68D8 显卡名称5670,可以网页中找到
{ 0x68D8 , 0x03561043 ,CHIP_FAMILY_REDWOOD"ATI Radeon HD 5670"kBaboon }
则我先尝试Baboon,如果Baboon不适合,则要一个一个尝试ATI5系列后面值为3[接口数]的Ati Config
ATI 5系列使用的Ati Config
{"Douc", 2},
{"Galago", 2},
{"Colobus", 2},
{"Mangabey", 2},
{"Orangutan", 2},
{"Langur", 3},
{"Hoolock", 3},
{"Baboon", 3},
{"Eulemur", 3},
{"Uakari", 4},
{"Alouatta", 4},
{"Vervet", 4},
{"Nomascus", 4},
{"Zonalis", 6},ATI 6系列使用的Ati Config
{"Kudzu", 2},
{"Pithecia", 3},
{"Ipomoea", 3},
{"Lotus", 3},
{"Cattail", 4},
{"Duckweed", 4},
{"Fanwort", 4},
{"Muskgrass", 4},
{"Hydrilla", 5},
{"Elodea", 5},
{"Gibba", 5},
{"Bulrushes", 6},
PS:如果对应接口数的ati config都不符合你的要求,你可以试试其它接口数的ati config(最好大于你的接口数)。如果想要全部接口都有输出,那么去修改FB。从零开始完美玩转苹果ATI驱动+QE/CI+多屏,理论上所有A卡可行,以4860(RV790GT)为例
找到合适Ati Config的值建议先用加变色龙参数测试.在org.chameleon.Boot添加
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>AtiConfig</key>
<string>XXXX</string>如果加这些参数后还是没有任何效果
在win提取rom,然后命名成1002_XXXX放在Extra,并在变色龙再添加
<key>UseAtiROM</key>
<string>Yes</string>做这些操作后如果能正常打开DVD播放程序(可能名称还是显示不正确),你就可以确定Ati Config值,然后把代码加入DSDT。
前几天在淘宝花320大洋买的ati 5670【显卡ID:1002_68d8】,今天到货马上拿来装狮子。
使用情况是:不用任何操作,显卡自驱,QE/CI和分辨率都开了,但是显卡型号显示不正确,PCI没有显卡信息,DVD也意外退出【跟5770的情况一样】。于是使用rom和变色龙侦测,效果是DVD不会意外退出,但却调不了适合我显示器的分辨率(1360X768),而且PCI里还是没有显卡信息。
关于分辨率问题,我等下尝试用edid。
但希望兔大及其它高手看看能不能尝试用DSDT帮忙解决问题,谢谢!
显卡位置
https://bbs.pcbeta.com/data/attachment/album/201202/10/182300gegyb66gfufbnzbg.png
DSDT及rom附件
我在淘宝上买的显卡,花320大洋应该值吧。
https://bbs.pcbeta.com/data/attachment/album/201202/12/224637byo4qjbhul46zy47.jpg
https://bbs.pcbeta.com/data/attachment/album/201202/12/224637wwdl6xxhhddgadwd.jpg
https://bbs.pcbeta.com/data/attachment/album/201202/12/2246396hffgveq3if0ffho.png
https://bbs.pcbeta.com/data/attachment/album/201202/12/224640az55rlv5av5anjnx.png
本帖最后由 绝情奶牛 于 2012-5-21 20:52 编辑
已解决。。 LZ你也說一下你顯卡是幾個輸出接口{:9_374:}
不然我猜不到 本帖最后由 绝情奶牛 于 2012-5-21 20:53 编辑
道奇兔 发表于 2012-2-11 10:23 static/image/common/back.gif
LZ你也說一下你顯卡是幾個輸出接口
不然我猜不到
右边是PCI-E插头
https://bbs.pcbeta.com/data/attachment/album/201202/11/103222jsj0jhs3bt63hats.jpg
道奇兔 发表于 2012-2-11 10:23 static/image/common/back.gif
LZ你也說一下你顯卡是幾個輸出接口
不然我猜不到
ROM 都放上去了,還需要猜嗎?
REDWOOD 128MX16 A6816OAK.MHK
PCI ID: 1002:68d8
Connector at index 0
Type [@offset 45623]: HDMI-A (11)
Encoder [@offset 45627]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 45707]: 0x94, OSX senseid: 0x5
Connector at index 1
Type [@offset 45633]: DVI-I (2)
Encoder [@offset 45637]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 45744]: 0x91, OSX senseid: 0x2
Connector at index 2
Type [@offset 45643]: DVI-I (2)
Encoder [@offset 45647]: INTERNAL_KLDSCP_DAC2 (0x16)
i2cid [@offset 45744]: 0x91, OSX senseid: 0x2
Connector at index 3
Type [@offset 45653]: VGA (1)
Encoder [@offset 45657]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 45771]: 0x93, OSX senseid: 0x4
道奇兔 发表于 2012-2-11 10:23 static/image/common/back.gif
LZ你也說一下你顯卡是幾個輸出接口
不然我猜不到
还有,目前用VGA连接显示器,试过DVI接口,没效果。 本帖最后由 绝情奶牛 于 2012-3-17 17:08 编辑
parkerdenison 发表于 2012-2-11 11:35 static/image/common/back.gif
ROM 都放上去了,還需要猜嗎?
{:9_412:}是3个接口 免驅的狀態下,變色龍裡面設置y也可以驅動,dvd可以用,pci位置也有識別 本帖最后由 道奇兔 于 2012-2-11 12:18 编辑
parkerdenison 发表于 2012-2-11 11:35 static/image/common/back.gif
ROM 都放上去了,還需要猜嗎?
我從不下載ROM下載來看- -麻煩死且非公版會有屏蔽的接口ROM信息
绝情奶牛 发表于 2012-2-11 11:51 static/image/common/back.gif
没有两个DVI接口,只有一个,那个rom在我自己电脑提取的,不是从别人那边下载的
拿去吧3接口的
會在PCI顯示的
本帖最后由 绝情奶牛 于 2012-2-11 12:36 编辑
道奇兔 发表于 2012-2-11 12:24 static/image/common/back.gif
拿去吧3接口的
會在PCI顯示的
PCI里还是没显卡信息,DVD意外退出,显卡名称也不对{:9_353:} 绝情奶牛 发表于 2012-2-11 12:35 static/image/common/back.gif
PCI里还是没显卡信息,DVD意外退出,显卡名称也不对
痾手誤我少打定位到0- -
本帖最后由 绝情奶牛 于 2012-6-27 10:13 编辑
道奇兔 发表于 2012-2-11 12:41 static/image/common/back.gif
痾手誤我少打定位到0- -
OK了,谢谢兔版!{:9_362:}
道奇兔 发表于 2012-2-11 12:41
痾手誤我少打定位到0- -
呵呵,兔大好呀,
我的开了变色龙显卡侦测集显就变成unknown了,能给它加上名字吗?
偶对dsdt不甚了解,不会加,兔大可有办法? 绝情奶牛 发表于 2012-2-11 12:57 static/image/common/back.gif
OK了,谢谢兔版!名称显示正确、DVD正常、PCI有显卡信息,不过没有适合我显示器的分辨率,但加上 ...
正常就好EDID有時候也是很好用的{:9_364:}
你搜索DTGP就知道我家在哪 龙心梦飞 发表于 2012-2-11 13:11 static/image/common/back.gif
呵呵,兔大好呀,
我的开了变色龙显卡侦测集显就变成unknown了,能给它加上名字吗?
偶对dsdt不甚了解, ...
那就不要開啟 用dsdt寫入取代{:9_357:} 道奇兔 发表于 2012-2-11 13:16
那就不要開啟 用dsdt寫入取代
只用dsdt让mac知道我显卡的信息驱动独显是吗?
首先bios屏蔽不了集显,
目前我的状况是用变色龙侦测能驱动ati,但是他默认为外屏工作(爬贴也没看懂怎么让它为内建屏幕工作),开显示器镜像功能,由外接屏幕做主镜像驱动情况正常,应该是有外接屏幕的话ati为他工作正常吧,但是我没有外接屏幕,…说明ati的驱动情况不错了吧,
用了您改过的dsdt,能显示ati的信息,包括pci信息,但是驱动不见去动不了ati,
我曾经发过关于这个的帖子,但是没有mbp8.2dsdt参考,也没有它的驱动情况树图,所以僵持在这种状况了
大大可知dsdt驱动ati?
谢谢兔大 帮顶先!!
大大可是笔记本换显卡?好身手呀,呵呵来学习,有空可能换无线网卡 道奇兔 发表于 2012-2-11 12:41 static/image/common/back.gif
痾手誤我少打定位到0- -
通問是如何在DSDT修改令我的ATI HD 4650在PCI信息中檢查出來的呀?教教我吧!! 龙心梦飞 发表于 2012-2-11 13:48 static/image/common/back.gif
只用dsdt让mac知道我显卡的信息驱动独显是吗?
首先bios屏蔽不了集显,
目前我的状况是用变色龙侦测能驱 ...
先用iDSDT寫入ATI資料進去
或是手動寫入(推存手動....)
之後再去修改ATI60000Cxxxx.kext那裡面的hex進制
看你6730M把他的ATIFB做修改 改成內建即可
類似6650M的FB修改