- 积分
- 4682
- 最后登录
- 2021-2-5
- 精华
- 0
- 阅读权限
- 70
- 主题
- 106
- UID
- 1651940
- 帖子
- 8254
- PB币
- 11821
- 威望
- 230
- 贡献
- 0
- 技术
- 2412
- 活跃
- 2453
- UID
- 1651940
- 帖子
- 8254
- PB币
- 11821
- 贡献
- 0
- 技术
- 2412
- 活跃
- 2453
|
发表于 2012-2-10 18:45:57
IP属地福建
|显示全部楼层
本帖最后由 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帮忙解决问题,谢谢!
显卡位置
DSDT及rom附件
DSDT&rom.zip
(47.37 KB, 下载次数: 357)
我在淘宝上买的显卡,花320大洋应该值吧。
|
-
3
查看全部评分
-
|