Win10论坛

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

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

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

搜索
楼主: kaeserlin

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

Rank: 1

UID
4829921
帖子
18
PB币
15
贡献
0
技术
0
活跃
12
发表于 2017-11-10 18:51:30 |显示全部楼层
我的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: 1

UID
4829921
帖子
18
PB币
15
贡献
0
技术
0
活跃
12
发表于 2017-11-10 19:06:21 |显示全部楼层
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
帖子
1001
PB币
1615
贡献
0
技术
1
活跃
1054
发表于 2017-11-11 13:22:39 |显示全部楼层
卿云在天 发表于 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
帖子
15247
PB币
34
贡献
0
技术
162
活跃
4159

8周年庆典勋章

发表于 2017-11-11 13:33:15 |显示全部楼层
本帖最后由 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
帖子
668
PB币
265
贡献
0
技术
7
活跃
1457
发表于 2017-11-11 15:53:57 |显示全部楼层
mark住到时候看看。7670m

Rank: 1

UID
4829921
帖子
18
PB币
15
贡献
0
技术
0
活跃
12
发表于 2017-11-12 10:27:23 |显示全部楼层
kaeserlin 发表于 2017-11-11 13:22
Buffer 值长度设置有误,在我的SSDT中(下面是你的)这一行,设置超过0x1E后面的内容将无法显示,猜测可能 ...

感谢楼主回复!

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

表哥的东西一律50收!

Rank: 9

UID
648955
帖子
2029
PB币
1913
贡献
0
技术
54
活跃
1777
发表于 2017-11-16 00:00:21 |显示全部楼层
本帖最后由 wyhtc 于 2017-11-16 00:03 编辑




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

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

Rank: 9

UID
2163032
帖子
4557
PB币
5645
贡献
0
技术
21
活跃
1775
发表于 2017-11-16 07:39:12 |显示全部楼层
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   <- 把這行註解掉。

表哥的东西一律50收!

Rank: 9

UID
648955
帖子
2029
PB币
1913
贡献
0
技术
54
活跃
1777
发表于 2017-11-16 13:10:05 |显示全部楼层
limurphy 发表于 2017-11-16 07:39
用 hotpatch 的話,clover -> dsdt patch-> 要加入 find 5045 4750 replace 4746 5830  commnad PEGP ->  ...

谢谢~晚上我回家试试看

Rank: 2Rank: 2

UID
4521755
帖子
254
PB币
26
贡献
0
技术
0
活跃
475
发表于 2017-11-19 12:34:52 |显示全部楼层
谢谢楼主。我去试试

Rank: 7Rank: 7Rank: 7

UID
54520
帖子
1738
PB币
5818
贡献
0
技术
0
活跃
1793
发表于 2017-11-19 18:48:33 |显示全部楼层
谢谢楼主 使用这个 我变色龙引导的 amd fx 8320 + rx460 可以单卡启动了

小-鸡.巴-弟弟

Rank: 2Rank: 2

UID
844551
帖子
303
PB币
1
贡献
0
技术
0
活跃
379
发表于 2017-11-25 02:44:06 |显示全部楼层
大佬,这个真是极好的

Rank: 1

UID
4809792
帖子
45
PB币
0
贡献
0
技术
0
活跃
74
发表于 2017-11-28 20:00:08 |显示全部楼层
谢谢楼主的分享

Rank: 2Rank: 2

UID
4827163
帖子
165
PB币
4
贡献
0
技术
0
活跃
124
发表于 2018-1-29 20:56:22 |显示全部楼层
感谢分享~~~~~

Rank: 2Rank: 2

UID
4344829
帖子
52
PB币
90
贡献
0
技术
0
活跃
64
发表于 2018-1-30 16:17:15 |显示全部楼层
太复杂了 有没有傻瓜式的解决办法
头像被屏蔽

Rank: 2Rank: 2

UID
4324292
帖子
266
PB币
0
贡献
0
技术
1
活跃
534
发表于 2018-2-9 20:41:03 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 5Rank: 5Rank: 5

UID
4199986
帖子
947
PB币
480
贡献
0
技术
0
活跃
1536
发表于 2018-2-13 00:32:40 |显示全部楼层
comnara 发表于 2018-2-10 00:41
Buffer ()里的值是怎么获取的呢?

留空就行,
头像被屏蔽

UID
4781169
帖子
750
PB币
1
贡献
0
技术
0
活跃
940
发表于 2018-2-13 01:42:06 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 5Rank: 5Rank: 5

UID
778579
帖子
442
PB币
90
贡献
0
技术
0
活跃
656
发表于 2018-3-5 14:43:44 |显示全部楼层
谢谢分享,支持楼主。

Rank: 5Rank: 5Rank: 5

UID
1148352
帖子
477
PB币
27
贡献
0
技术
15
活跃
728
发表于 2018-3-25 16:33:48 |显示全部楼层
hotpatch要如何使用?
回顶部
Copyright (C) 2005-2020 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件