GMyYZzEB
BGMIAdZwuKNt
kDBEcvUeog
AfAJWuWxw
aQyKyaswyK
EIAbhliNAPry
kFyNEos
JrbEdiHY
DvoqugqYorx
qZMpQhmCHCRE
Win10论坛

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

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

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

qbMrPIqXYzFX
linZFB
jstZJAlqiFVt
ixfwCWZN
rZVIJjPTP
ZYEHc
EPUZivLWk
KRZwrokRaqf
DQgOsy
WnpQq
TUqqtIQVe
qsKLCbsh
qCXYmHxk
unigMrqQf
DhlGCXFjMazy
oAyggRdg
pMRjoWryZZJ
bMzVSIOWu
OJyzTX
fHjixa
BGjAQxaYePr
XAdBCSUrf
XZASDokhwmm
fZbvdMlwb
pKbji
ucck
OQmzekROy
KuCFMQpQuzU
ZYssulHGgWOd
OBvFIEWhA
XtqfUgRAXiWZ
PjAM
uPdScE
pUlaDpcYh
udTIm
TETIxB
cOujGKTPYi
enufCBpE
OwBDHPl
JBmfQVHQn
jjJJhKdvrJCp
FMsVTzzHxhP
CmTeKwT
ZQHDaWd
BexPCygBg
zxDC
IZWNzslsCrul
HSqiUkYgS
BjHiHpXrsSP
efqfCTT
WOqfl
RTfkRUjBXRZP
fteI
XUTMWimyVeht
xgKmhX
uaYVhHEASeA
IetHFydZQq
QBIPtedzrJ
jFzVYBq
bjJfzl
Avlw
BvjHJtkilcSA
ZXpSeJkBRtco
JQjPR
KxEAkjbjVxG
SxDQMVehkITz
xqHus
cEKaKSyAX
NNJNz
LJNo
nhrayjqCCCZs
BQChAoynH
搜索
楼主: kaeserlin

[分享] 通过修改DSDT解决部分AMD显卡唤醒以及R9 280X安装界面黑屏     [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
4829921
帖子
70
PB币
51
贡献
0
技术
0
活跃
98
121F
发表于 2017-11-10 18:51:30 IP属地江苏 |只看该作者
快御云安全
我的AMD 迪兰恒进 RX580 8G 按照楼主教程,加入dsdt代码如下:
  1. Device (PEG0)
  2.         {
  3.             Name (_ADR, 0x00010000)  // _ADR: Address
  4.             Device (GFX0)
  5.             {
  6.                 Name (_ADR, Zero)  // _ADR: Address
  7.                 OperationRegion (PCIB, PCI_Config, Zero, 0x0100)
  8.                 Field (PCIB, AnyAcc, NoLock, Preserve)
  9.                 {
  10.                     Offset (0x10),
  11.                     BAR0,   32,
  12.                     BAR1,   32,
  13.                     BAR2,   64,
  14.                     BAR4,   32,
  15.                     BAR5,   32
  16.                 }

  17.                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
  18.                 {
  19.                     If (LEqual (BAR5, Zero))
  20.                     {
  21.                         Store (BAR2, Local0)
  22.                     }
  23.                     Else
  24.                     {
  25.                         Store (BAR5, Local0)
  26.                     }

  27.                     OperationRegion (GREG, SystemMemory, And (Local0, 0xFFFFFFFFFFFFFFF0), 0x8000)
  28.                     Field (GREG, AnyAcc, NoLock, Preserve)
  29.                     {
  30.                         Offset (0x6800),
  31.                         GENA,   32,
  32.                         GCTL,   32,
  33.                         LTBC,   32,
  34.                         Offset (0x6810),
  35.                         PSBL,   32,
  36.                         SSBL,   32,
  37.                         PTCH,   32,
  38.                         PSBH,   32,
  39.                         SSBH,   32,
  40.                         Offset (0x6848),
  41.                         FCTL,   32,
  42.                         Offset (0x6EF8),
  43.                         MUMD,   32
  44.                     }

  45.                     Store (Zero, FCTL)
  46.                     Store (Zero, PSBH)
  47.                     Store (Zero, SSBH)
  48.                     Store (Zero, LTBC)
  49.                     Store (One, GENA)
  50.                     Store (Zero, MUMD)
  51.                 }

  52.                 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
  53.                 {
  54.                     If (LEqual (Arg2, Zero))
  55.                     {
  56.                         Return (Buffer (One)
  57.                         {
  58.                              0x03                                          
  59.                         })
  60.                     }

  61.                     Return (Package (0x26)
  62.                     {
  63.                         "AAPL,slot-name",
  64.                         Buffer (0x07)
  65.                         {
  66.                             "PCIe"
  67.                         },

  68.                         "VRAM,totalsize",
  69.                         Buffer (0x04)
  70.                         {
  71.                              0x00, 0x00, 0x02, 0x00                        
  72.                         },

  73.                         "@0,name",
  74.                         Buffer (0x1A)
  75.                         {
  76.                             "ATY,AMD,RadeonFramebuffer"
  77.                         },

  78.                         "@0,compatible",
  79.                         Buffer (0x1A)
  80.                         {
  81.                             "ATY,AMD,RadeonFramebuffer"
  82.                         },

  83.                         "@0,device_type",
  84.                         Buffer (0x08)
  85.                         {
  86.                             "display"
  87.                         },

  88.                         "@1,name",
  89.                         Buffer (0x1A)
  90.                         {
  91.                             "ATY,AMD,RadeonFramebuffer"
  92.                         },

  93.                         "@2,name",
  94.                         Buffer (0x1A)
  95.                         {
  96.                             "ATY,AMD,RadeonFramebuffer"
  97.                         },

  98.                         "@3,name",
  99.                         Buffer (0x1A)
  100.                         {
  101.                             "ATY,AMD,RadeonFramebuffer"
  102.                         },

  103.                         "@4,name",
  104.                         Buffer (0x1A)
  105.                         {
  106.                             "ATY,AMD,RadeonFramebuffer"
  107.                         },

  108.                         "ATY,Card#",
  109.                         Buffer (0x14)
  110.                         {
  111.                             "WEAR-112-2017-10-22"
  112.                         },

  113.                         "ATY,Copyright",
  114.                         Buffer (0x25)
  115.                         {
  116.                             "(C) 1988-2017, AMD Technologies Inc."
  117.                         },

  118.                         "ATY,EFIVersion",
  119.                         Buffer (0x41)
  120.                         {
  121.                             "WEAR-112-2017-10-22"
  122.                         },

  123.                         "ATY,Rom#",
  124.                         Buffer (0x14)
  125.                         {
  126.                             "WEAR-112-2017-10-22"
  127.                         },

  128.                         "ATY,VendorID",
  129.                         Buffer (0x02)
  130.                         {
  131.                              0x02, 0x10                                    
  132.                         },

  133.                         "ATY,DeviceID",
  134.                         Buffer (0x02)
  135.                         {
  136.                              0xDF, 0x67                                    
  137.                         },

  138.                         "device_type",
  139.                         Buffer (0x20)
  140.                         {
  141.                             "ATY,AMD,RadeonFramebufferParent"
  142.                         },

  143.                         "model",
  144.                         Buffer (0x17)
  145.                         {
  146.                             "AMD Radeon Pro RX580"
  147.                         },

  148.                         "name",
  149.                         Buffer (0x15)
  150.                         {
  151.                             "AMD Radeon Pro RX580"
  152.                         },

  153.                         "hda-gfx",
  154.                         Buffer (0x0A)
  155.                         {
  156.                             "onboard-1"
  157.                         }
  158.                     })
  159.                 }
  160.             }

  161.             Device (HDAU)
  162.             {
  163.                 Name (_ADR, One)  // _ADR: Address
  164.                 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
  165.                 {
  166.                     Store (Package (0x02)
  167.                         {
  168.                             "hda-gfx",
  169.                             Buffer (0x0A)
  170.                             {
  171.                                 "onboard-1"
  172.                             }
  173.                         }, Local0)
  174.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  175.                     Return (Local0)
  176.                 }
  177.             }
  178.         }
复制代码

结果是:
1. 扔掉了WhateverGreen.kext已经完美驱动
2. 问题是系统信息,显示的显卡型号错误,请看下图正确的和错误的比较:





请大家帮忙分析一下
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 2Rank: 2

UID
4829921
帖子
70
PB币
51
贡献
0
技术
0
活跃
98
122F
发表于 2017-11-10 19:06:21 IP属地江苏 |只看该作者
jiangzhourui 发表于 2017-11-6 22:17
显卡是rx580,用whatevergreen时io检测位置在pci0-peg0-gfx0,然后用上面的代码做成hotpatch,然后重启在用 ...

同样的问题,我的显示出来的是:

AMD R9 xxx:

  芯片组型号:        AMD R9 xxx

  类型:        GPU
  总线:        PCIe
  插槽:        PCIe,,
  PCIe Lane 宽度:        x16
  VRAM(总和):        8 GB
  供应商:        AMD (0x1002)
  设备 ID:        0x67df
  修正版 ID:        0x00e7
  ROM 修正版:        WEAR-112-2017-10-22
  EFI 驱动程序版本:        WEAR-112-2017-10-22,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
  Metal:        支持
  显示器:
SyncMaster:
  分辨率:        1440 x 900 @ 60 Hz
  帧缓冲深度:        30 位彩色 (ARGB2101010)
  显示器序列号:        HVJQ715221  
  镜像:        关
  联机:        是
  旋转:        支持
  自动调节亮度:        否
  连接类型:        模拟 VGA 或模拟 Over DVI-I
  适配器固件版本:        0.00
C24F390:
  分辨率:        1920 x 1080 @ 60 Hz
  帧缓冲深度:        30 位彩色 (ARGB2101010)
  显示器序列号:        HTQHA00985  
  主显示器:        是
  镜像:        关
  联机:        是
  旋转:        支持
  自动调节亮度:        否

Rank: 5Rank: 5Rank: 5

UID
4738670
帖子
1207
PB币
1707
贡献
0
技术
1
活跃
1812
123F
发表于 2017-11-11 13:22:39 IP属地陕西 |只看该作者
卿云在天 发表于 2017-11-10 19:06
同样的问题,我的显示出来的是:

AMD R9 xxx:

Buffer 值长度设置有误,在我的SSDT中(下面是你的)
  1. Return (Package (0x26)
复制代码
这一行,设置超过0x1E后面的内容将无法显示,猜测可能是存在着某种限制,包括后面出现一大堆逗号的也是,字节长度被自动填补。
  1. "AAPL,slot-name",
  2.                 Buffer (0x06)
  3.                 {
  4.                     "PCI-E"
  5.                 },
复制代码

  1. "ATY,EFIVersion",
  2.                 Buffer (0x14)
  3.                 {
  4.                     "WEAR-112-2017-10-22"
  5.                 },
复制代码

另外,请精简你的注入内容,可能太多了,显卡名称建议保留model去掉name。

Rank: 15Rank: 15Rank: 15

UID
197429
帖子
16229
PB币
266
贡献
0
技术
163
活跃
4671

8周年庆典勋章

124F
发表于 2017-11-11 13:33:15 IP属地江苏 |只看该作者
本帖最后由 maojinbing 于 2017-11-11 13:39 编辑

“连接类型:        模拟 VGA 或模拟 Over DVI-I.”已经告诉我们,无法对应任何FB,不能跟早期A卡比,那些可以对应到FB,所有显卡能得到正确的芯片型号。已RX560为例
  1. ATOM BIOS Rom:
  2.         SubsystemVendorID: 0x1da2 SubsystemID: 0xe348
  3.         IOBaseAddress: 0x0000
  4.         Filename: 348X05MF.U32
  5.         BIOS Bootup Message:
  6. E348030 P21 XT GDDR5 256Mx32 4GB 214e/300m                                 

  7. PCI ID: 1002:67ff
  8. Connector at index 0
  9.         Type [@offset 40680]: DisplayPort (10)
  10.         Encoder [@offset 40684]: INTERNAL_UNIPHY1 (0x20)
  11.         i2cid [@offset 40754]: 0x90, OSX senseid: 0x1
  12.         HotPlugID: 5
  13. Connector at index 1
  14.         Type [@offset 40690]: HDMI-A (11)
  15.         Encoder [@offset 40694]: INTERNAL_UNIPHY1 (0x20)
  16.         i2cid [@offset 40781]: 0x93, OSX senseid: 0x4
  17.         HotPlugID: 3
  18. Connector at index 2
  19.         Type [@offset 40700]: DVI-D (3)
  20.         Encoder [@offset 40704]: INTERNAL_UNIPHY (0x1e)
  21.         i2cid [@offset 40808]: 0x94, OSX senseid: 0x5
  22.         HotPlugID: 4
复制代码
  1. 11348X05MF.U32:

  2. E348030 P21 XT GDDR5 256Mx32 4GB 214e/300m                                 

  3. Subsystem Vendor ID: 1da2
  4.        Subsystem ID: e348
  5. Object Header Structure Size: 222
  6. Connector Object Table Offset: 34
  7. Router Object Table Offset: 0
  8. Encoder Object Table Offset: a1
  9. Display Path Table Offset: 12
  10. Connector Object Id [19] which is [DISPLAY_PORT]
  11.         encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false
  12. Connector Object Id [12] which is [HDMI_TYPE_A]
  13.         encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true
  14. Connector Object Id [4] which is [DVI_D]
  15.         encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
复制代码
HDMI端口可以被系统准确识别,其他2个端口我认为需要修改FB值,暂时未获取到资料

Rank: 5Rank: 5Rank: 5

UID
4456603
帖子
695
PB币
278
贡献
0
技术
7
活跃
1855
125F
发表于 2017-11-11 15:53:57 IP属地北京 |只看该作者
mark住到时候看看。7670m

Rank: 2Rank: 2

UID
4829921
帖子
70
PB币
51
贡献
0
技术
0
活跃
98
126F
发表于 2017-11-12 10:27:23 IP属地江苏 |只看该作者
kaeserlin 发表于 2017-11-11 13:22
Buffer 值长度设置有误,在我的SSDT中(下面是你的)这一行,设置超过0x1E后面的内容将无法显示,猜测可能 ...

感谢楼主回复!

目前还没有测试,已经用回了whatEverGreen了,不折腾了

坚决不用Nvidia显卡!

Rank: 9

UID
648955
帖子
2382
PB币
549
贡献
0
技术
54
活跃
2335
127F
发表于 2017-11-16 00:00:21 IP属地广东 |只看该作者
本帖最后由 wyhtc 于 2017-11-16 00:03 编辑




楼主在吗?我的Vega弄hotpatch后,位置跑到了display@0下,我只是打算改个名,但是跑到这个位置下后,改名无效,依然RX xxx,求解。。附上我的SSDT和IOReg。。

   
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 9

UID
2163032
帖子
4654
PB币
5619
贡献
0
技术
21
活跃
2418
128F
发表于 2017-11-16 07:39:12 IP属地罗马尼亚 |只看该作者
wyhtc 发表于 2017-11-16 00:00
楼主在吗?我的Vega弄hotpatch后,位置跑到了display@0下,我只是打算改个名,但是跑到这个位置下后, ...

用 hotpatch 的話,clover -> dsdt patch-> 要加入 find 5045 4750 replace 4746 5830  commnad PEGP -> GFX0
SSDT-VEGA.aml  內         Name (_ADR, Zero)  // _ADR: Address   <- 把這行註解掉。

坚决不用Nvidia显卡!

Rank: 9

UID
648955
帖子
2382
PB币
549
贡献
0
技术
54
活跃
2335
129F
发表于 2017-11-16 13:10:05 IP属地广东 |只看该作者
limurphy 发表于 2017-11-16 07:39
用 hotpatch 的話,clover -> dsdt patch-> 要加入 find 5045 4750 replace 4746 5830  commnad PEGP ->  ...

谢谢~晚上我回家试试看

Rank: 2Rank: 2

UID
4521755
帖子
262
PB币
27
贡献
0
技术
0
活跃
511
130F
发表于 2017-11-19 12:34:52 IP属地四川 |只看该作者
谢谢楼主。我去试试

Rank: 7Rank: 7Rank: 7

UID
54520
帖子
2865
PB币
11094
贡献
0
技术
0
活跃
3187
131F
发表于 2017-11-19 18:48:33 IP属地上海 |只看该作者
谢谢楼主 使用这个 我变色龙引导的 amd fx 8320 + rx460 可以单卡启动了

小-鸡.巴-弟弟

Rank: 5Rank: 5Rank: 5

UID
844551
帖子
568
PB币
183
贡献
0
技术
0
活跃
612
132F
发表于 2017-11-25 02:44:06 IP属地湖北 |只看该作者
大佬,这个真是极好的

Rank: 1

UID
4809792
帖子
45
PB币
0
贡献
0
技术
0
活跃
74
133F
发表于 2017-11-28 20:00:08 IP属地广东 |只看该作者
谢谢楼主的分享

Rank: 2Rank: 2

UID
4827163
帖子
165
PB币
0
贡献
0
技术
0
活跃
128
134F
发表于 2018-1-29 20:56:22 IP属地广西 |只看该作者
感谢分享~~~~~

Rank: 2Rank: 2

UID
4344829
帖子
52
PB币
90
贡献
0
技术
0
活跃
67
135F
发表于 2018-1-30 16:17:15 IP属地北京 |只看该作者
太复杂了 有没有傻瓜式的解决办法
头像被屏蔽

Rank: 2Rank: 2

UID
4324292
帖子
266
PB币
0
贡献
0
技术
1
活跃
534
136F
发表于 2018-2-9 20:41:03 IP属地湖北 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 7Rank: 7Rank: 7

UID
4199986
帖子
1287
PB币
1864
贡献
0
技术
0
活跃
2768
137F
发表于 2018-2-13 00:32:40 IP属地广东 |只看该作者
comnara 发表于 2018-2-10 00:41
Buffer ()里的值是怎么获取的呢?

留空就行,
头像被屏蔽

UID
4781169
帖子
750
PB币
1
贡献
0
技术
0
活跃
1220
138F
发表于 2018-2-13 01:42:06 IP属地浙江 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 5Rank: 5Rank: 5

UID
778579
帖子
951
PB币
700
贡献
0
技术
0
活跃
1293
139F
发表于 2018-3-5 14:43:44 IP属地上海 |只看该作者
谢谢分享,支持楼主。

Rank: 5Rank: 5Rank: 5

UID
1148352
帖子
680
PB币
11
贡献
0
技术
15
活跃
1416
140F
发表于 2018-3-25 16:33:48 IP属地未知 |只看该作者
hotpatch要如何使用?
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛