TJOxziyAbs
ayyMGRt
fcssM
JAKNAX
QhEmnbvYmkvF
KrCFFY
sJhyJT
DEkCQyestvL
nsaAmHxvq
aWyMJSXEZN
Win10论坛

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

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

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

QbmZMuyjwxu
oFscvsaZSuEa
hMuoOQbA
CErgq
JoYaL
gvNuhC
owNndER
VgWBcjG
ohzVe
HwHB
BnFSMoaDYzyS
VPuESICdplsJ
AGQcFQEMdhf
Ptiox
IbQN
AgoC
BNscjf
noyDZAF
hVgTVmt
SphfvQxbO
hPNYPjPUkjvZ
zBZRZ
WSFICUo
WsNyBQHJcyt
eovnzbBDDi
CPHAGyltKpg
HZECZVviyYYM
nkEwfHqM
FTosBGUPOs
bzoOArDe
yVKX
onLZaMydDTuP
RwSXGom
zDVFM
eYMNqUa
PJMc
yfPxaFEk
Bnzyyr
sNAXkqakJN
oJeiDYNSabYj
pfTsE
kNENaorBHT
aIRczwI
NRzptsCV
nTVIOYjj
rsEt
KbbWB
CulZ
CtuNABHgkKAQ
iOpjJM
TZjngoTGZQz
AWthqlcJAqL
ZfTCHl
WUFBeiszr
yeHRu
CgsJWlaKv
sAyZvhpIq
WDSMkk
bVBE
BHynB
ohyiEoAj
fcLeqLhB
GIcaCtMCI
AieQXUuONZyb
zNgrWE
WadDjyciSqXA
搜索
查看: 4039|回复: 10

[分享] 藍寶 Flex HD6450 1024MB 修改 FrameBuffer 達成全接口輸出 [复制链接]

Rank: 5Rank: 5Rank: 5

UID
942806
帖子
132
PB币
91
贡献
0
技术
0
活跃
27
发表于 2012-11-6 04:11:37 IP属地台湾 |显示全部楼层
快御云安全
本文顯示卡主體:藍寶 Flex HD6450 1GB [ =官方 Link= ]

  題外話:這張顯示卡標榜免 DisplayPort 即可達成 Eyefinity 3 螢幕輸出。
      而該功能是透過 Analogix ANX9830 這顆晶片達成的 (可將 DP 訊號轉換為 HDMI or DVI) [ =官方 Link= ]

修改 FrameBuffer 後成功達成以下
  • 單接 任一接口系統都可自動偵測 (Plug&Play)
  • 雙接 任兩接口系統都可以正確顯示各自螢幕且無錯置螢幕內容
  • 三接 ...沒測試

從官方網頁 或 直接看卡 知道實際上有 HDMI + DVI-I + DVI-D
但是從顯示卡的 Bios Rom 資訊(如下)卻得到 DisplayPort + HDMI + DVI-I

Bios 資訊 - 1 vga.zip (38.66 KB, 下载次数: 12)
ATOM BIOS Rom:
  SubsystemVendorID: 0x174b SubsystemID: 0xe206
  IOBaseAddress: 0xe000
  Filename: 206P13MA.SH5
  BIOS Bootup Message:
SA HD6450 FX DDR3 1GB                                                      

PCI ID: 1002:6779
Connector at index 0
 Type [@offset 44311]: DisplayPort (10)
 Encoder [@offset 44315]: INTERNAL_UNIPHY1 (0x20)
 i2cid [@offset 44395]: 0x93, OSX senseid: 0x4
Connector at index 1
 Type [@offset 44321]: HDMI-A (11)
 Encoder [@offset 44325]: INTERNAL_UNIPHY2 (0x21)
 i2cid [@offset 44422]: 0x90, OSX senseid: 0x1
Connector at index 2
 Type [@offset 44331]: DVI-I (2)
 Encoder [@offset 44335]: INTERNAL_UNIPHY (0x1e)
 i2cid [@offset 44459]: 0x92, OSX senseid: 0x3
Connector at index 3 
 Type [@offset 44341]: DVI-I (2)
 Encoder [@offset 44345]: INTERNAL_KLDSCP_DAC1 (0x15)
 i2cid [@offset 44459]: 0x92, OSX senseid: 0x3

Bios 資訊 - 2
206P13MA.SH5:

SA HD6450 FX DDR3 1GB                                                      

Subsystem Vendor ID: 174b
       Subsystem ID: e206
Object Header Structure Size: 246
Connector Object Table Offset: 3e
Router Object Table Offset: 0
Encoder Object Table Offset: b5
Display Path Table Offset: 12
Connector Object Id [19] which is [DISPLAY_PORT]
  encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true
Connector Object Id [12] which is [HDMI_TYPE_A]
  encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false
Connector Object Id [2] which is [DVI_I]
  encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [2] which is [DVI_I]
  encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false

修改 Framebuffer 前,先測試所有內建的 Personality Config 看會有什麼結果。
光測試就花了我 3-4 天,且該部分內容太長,所以改附上測試結果檔案,而不直接貼出。
補充:我有先在 Mac 安裝好遠端軟體,以方便黑屏且沒當機時,可以從遠端查看硬體資訊。


測試環境描述:10.8 (MacPro 3,1) + DSDT + SSDT + org.chameleon.Boot.plist + smibios.plist

DSDT 只有套用 Firewire + BUS0 + 顯示卡 HDMI 音效輸出 的修正 (DSDT 以附檔提供 : DSDT.zip (14.37 KB, 下载次数: 9) )

org.chameleon.Boot.plist 內容
DropSSDT = Yes
EthernetBuiltIn = Yes
GenerateCStates = Yes
GeneratePStates = Yes
GraphicsEnabler = Yes
AtiConfig = Pithecia
Kernel = mach_kernel
Kernel Flags = -f
Legacy Logo = Yes
Timeout = 3

smibios.plist 內容
  1. <key>SMbiosversion</key>
  2.         <string>MultiBeast.tonymacx86.com</string>
  3.         <key>SMboardproduct</key>
  4.         <string>Mac-F42C88C8</string>
  5.         <key>SMfamily</key>
  6.         <string>Mac Pro</string>
  7.         <key>SMproductname</key>
  8.         <string>MacPro3,1</string>
  9.         <key>SMserial</key>
  10.         <string>G88451235J4</string>
复制代码

修改過程:

  1.首先從一些其他相關的技術文章可以得知 DVI-I 同時具備輸出數位(Connector 2) 與 類比 (Connector 3)訊號的能力。
   因此 Connector 2 & 3 視為同一個 Port 即可。並透過 BIOS 的資訊我們得到以下
DP SenseID = 04, Transmitter = 21, Encoder = 03
HDMI SenseID = 01, Transmitter = 12, Encoder = 04
DVI-I SenseID = 03, Transmitter = 10, Encoder = 00
DVI-D SenseID = ??, Transmitter = ??, Encoder = ??

  2.接著透過 FrameBuffer 測試得知 ()
   HDMI SenseID, Transmitter, Encoder 都正確,符合 Bios 的資訊。
   DVI-I SenseID, Encoder 正確, 但是 Transmitter 應該從 10 改為 00
   DVI-D "推測" 訊號應該是 DisplayPort 透過上述的晶片轉換而來。
      故在符合 DisplayPort 的資訊的Port時 DVI-D 有時會有輸出。
      因此直接採用 DisplayPort 的內容。
HDMI SenseID = 01, Transmitter = 12, Encoder = 04
DVI-I SenseID = 03, Transmitter = 00, Encoder = 00
DVI-D SenseID = 04, Transmitter = 21, Encoder = 03 (原 DisplayPort)

  3. 我選擇 Pithecia 當作修改對象。紅色的 HotPlug 先不動
Personality: Pithecia 原始內容
0000000    00  04  00  00  04  03  00  00  00  01  00  00  21  03  02  04 // DisplayPort
0000010    04  00  00  00  14  02  00  00  00  01  00  00  00  00  04  03 // DVI
0000020    10  00  00  00  10  00  00  00  00  01  00  00  00  00  00  01 // VGA

    小弟將 DVI-I 寫在 Port 0 (0000000), HDMI 寫在 Port 1 (0000010), DVI-D 寫在 Port 2 (0000020) 結果如下
    HotPlug ID 先照原本的。
0000000    04  00  00  00  14  02  00  00  00  01  00  00  00  00  02  03 // DVI-I
0000010    00  08  00  00  04  02  00  00  00  01  00  00  12  04  04  01 // HDMI
0000020    00  04  00  00  04  03  00  00  00  01  00  00  21  03  00  04 // DVI-D

    將上述修改覆蓋過 Pithecia 原值後重新開機後會在白蘋果轉完後進入灰色螢幕的地方當機。
    查了部分資訊是說 HotPlug ID = 00 的問題,把 HotPlug 從 01 開始測即可。故修改後如下
0000000    04  00  00  00  14  02  00  00  00  01  00  00  00  00  02  03 // DVI-I
0000010    00  08  00  00  04  02  00  00  00  01  00  00  12  04  04  01 // HDMI
0000020    00  04  00  00  04  03  00  00  00  01  00  00  21  03  01  04 // DVI-D
    覆蓋過檔案,再次重新開機後,即可成功達成一開始說的目標。

其實當然怎麼可能第一次就修改成功,我的DVI-I/HDMI/DVI-D在第幾行的順序是測試過的。
上面這個結果可以讓每一個接口達到 Plug & Play (Auto Detect Display)的效果
而其他我測試的編排順序會大部分都只能一個或兩個接口有 Plug & Play。
只是上面偷吃步沒有一次一次列出來。

如果你的參數都對了,但是顯示上還是沒辦法全接口都可輸出的話。
不妨重新編排一下接口順序以及更換 HotPlug ID 試試。

Framebuffer_Test_Result.zip

2.55 KB, 下载次数: 26, 下载积分: PB币 -1

Framebuffer測試結果

3

查看全部评分

MT果然好用

Rank: 19Rank: 19Rank: 19

UID
1598684
帖子
14364
PB币
8
贡献
0
技术
714
活跃
1392

7周年庆典勋章 荣誉会员 8周年庆典勋章

发表于 2012-11-6 11:03:41 IP属地江苏 |显示全部楼层
LZ这样三个接口的6450现在不多见哈
看到好多两个接口的

Rank: 5Rank: 5Rank: 5

UID
942806
帖子
132
PB币
91
贡献
0
技术
0
活跃
27
发表于 2012-11-6 15:31:12 IP属地台湾 |显示全部楼层
阿~想不到第一個回的是 hellozhangxin 。本來想在您那篇顯卡的教學中問我這張卡的問題。
不過後來就自己解了~ XD

想順便請問一下我這台的一個奇怪原生電源管理的問題。
我這台配備是 i5-2500 + Gigabyte Z68MA-D2H-B3 rev 1.3 - UEFI BIOS version U1b
環境是 10.8 後只有裝 MultiBeast 的 Chimera Bootloader, 網路, 音效, FakeSMC, 跟 MacPro 3,1 的設定以及本文講的 DSDT 修正。

怪異的問題是:
在 /Extra 下不存在 org.chameleon.Boot.plist:手動睡眠可正常斷電(能源節約器的睡眠正常),喚醒。關機也會正常斷電。一切正常
在 /Extra 下 存在 org.chameleon.Boot.plist:手動睡眠在螢幕熄滅後就叫不醒(能源節約器的睡眠正常),關機在螢幕熄滅後不會斷電。
(其實我懷疑睡眠跟關機兩個都在螢幕熄滅後就當掉了)

這個問題要怎麼除錯比較好?

MT果然好用

Rank: 19Rank: 19Rank: 19

UID
1598684
帖子
14364
PB币
8
贡献
0
技术
714
活跃
1392

7周年庆典勋章 荣誉会员 8周年庆典勋章

发表于 2012-11-6 19:53:34 IP属地江苏 |显示全部楼层
hpo14 发表于 2012-11-6 15:31
阿~想不到第一個回的是 hellozhangxin 。本來想在您那篇顯卡的教學中問我這張卡的問題。
不過後來就自己解 ...

你org.chameleon.Boot.plist里面是什么内容?


还有 你忘记点回复了
我来闲逛才看到你这个帖子

Rank: 5Rank: 5Rank: 5

UID
942806
帖子
132
PB币
91
贡献
0
技术
0
活跃
27
发表于 2012-11-7 02:17:52 IP属地台湾 |显示全部楼层
本帖最后由 hpo14 于 2012-11-8 21:03 编辑

目前的 org.chameleon.Boot.plist
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5.         <key>DropSSDT</key>
  6.         <string>Yes</string>
  7.         <key>EthernetBuiltIn</key>
  8.         <string>Yes</string>
  9.         <key>GenerateCStates</key>
  10.         <string>Yes</string>
  11.         <key>GeneratePStates</key>
  12.         <string>Yes</string>
  13.         <key>GraphicsEnabler</key>
  14.         <string>Yes</string>
  15.         <key>AtiConfig</key>
  16.         <string>Pithecia</string>
  17.         <key>AtiPorts</key>
  18.         <string>3</string>
  19.         <key>Kernel</key>
  20.         <string>mach_kernel</string>
  21.         <key>Kernel Flags</key>
  22.         <string>-f</string>
  23.         <key>Legacy Logo</key>
  24.         <string>Yes</string>
  25.         <key>Timeout</key>
  26.         <string>2</string>
  27. </dict>
  28. </plist>
复制代码
2012.11.07 02:37: 手動睡眠是可以喚醒的,喚醒後USB的無線鍵盤滑鼠也正常,但睡眠時不會斷電。

不過基本上內容不管放什麼都會造成電源管理失效。
有三個方法可以讓電源管理正常
1. 不使用 org.chameleon.Boot.plist 檔案 (開機時手動按下 Enter 啟動 OSX)
2. 把 org.chameleon.Boot.plist 的內容變得跟 /L/P/SC/com.apple.Boot.plist 一樣。 (意味著等於不用)
3. 開機時在 Boot: 的引導畫面把所有需要用的參數,手動輸入

我不知道為什麼手動輸入可以讓原生電源管理正常。而且若是手動輸入參數開機,即使 /Extra 下有 Boot.plist 存在,電源管理一樣可以正常工作。 @@" 很怪異。

若是需要什麼檔案或是Log 紀錄方便您了解問題的話,請儘管說。
因為我已經試過用 DSDT 去修正睡眠&關機不斷電但一樣失敗了。(也許我修正的方法不對?)

以下詳述 DSDT 修正內容
Fix.1 FireWire Issue 在 Kernel.log 的錯誤訊息 "FireWire runtime power conservation disabled. (2)"
   修正完後系統在不使用 org.chameleon.Boot.plist 時,原生電源管理可成功運作。
   參考這裡 -> 威廉第三 - DSDT 十全大補丸
Fix.2  內建 HDMI/外接顯示卡的 HDMI 可以正常輸出音效 (參考多份 DSDT 檔)
Fix.3  修正了一個可有可無的顯示項目。 Find (BUS0)

直接在 txt 檔案搜尋 "Fix.1" or "Fix.2" or "Fix.3" 即可找對應區塊。
壓縮檔一共三個檔案:Everest 提取的原始 DSDT (AML檔), 解碼後的原始 DSDT (TXT檔), 解碼並修改後 DSDT (TXT檔)
Z68MA-D2h-B3_U1B.zip (61.55 KB, 下载次数: 1)

順便列出我的硬體配備,也許對您有幫助
     CPU:i5-2500 with HD2000
     主板:技嘉 Z68MA-D2H-B3 rev 1.3 - UEFI BIOS 版本 U1B (Realtek ALC889 / Realtek RTL8111E)
    記憶體:Kingston DDR3-1333MHz 16G (8G * 2)
    硬 碟:Seagate 1TB SATA-III (ST1000DM003)
    光碟機:LiteOn iHAS324
    顯示卡:藍寶 Flex HD6450 1024MB
USB無線網卡:Edimax EW-7811UN 802.11N/150Mbps
   FireWire:Uptech UTB110 (LSI FW643 晶片 / PCI-E)

MT果然好用

Rank: 19Rank: 19Rank: 19

UID
1598684
帖子
14364
PB币
8
贡献
0
技术
714
活跃
1392

7周年庆典勋章 荣誉会员 8周年庆典勋章

发表于 2012-11-7 08:52:24 IP属地江苏 |显示全部楼层
hpo14 发表于 2012-11-7 02:17
目前的 org.chameleon.Boot.plist
2012.11.07 02:37: 手動睡眠是可以喚醒的,喚醒後USB的無線鍵盤滑鼠也正 ...
  1. <key>GenerateCStates</key>
  2.         <string>Yes</string>
  3.         <key>GeneratePStates</key>
  4.         <string>Yes</string>
复制代码
如果你有ssdt的话,这两段完全没有必要添加
我觉得可能是他们引起的问题
你可以删除试试

<key>Kernel</key>
<string>mach_kernel</string>
也完全没有什么意义

如果你只是想借着这个文件指定Aticonfig的话
我的建议是用dsdt指定,然后完全抛弃掉这个org.chameleon.Boot.plist
dsdt指定详见https://bbs.pcbeta.com/viewthread-968283-1-1.html这个帖子

Rank: 5Rank: 5Rank: 5

UID
942806
帖子
132
PB币
91
贡献
0
技术
0
活跃
27
发表于 2012-11-7 23:57:32 IP属地台湾 |显示全部楼层
本帖最后由 hpo14 于 2012-11-8 00:01 编辑
hellozhangxin 发表于 2012-11-7 08:52
如果你有ssdt的话,这两段完全没有必要添加
我觉得可能是他们引起的问题
你可以删除试试

1. 我把顯卡的部分寫進 DSDT 了。
2. org.chameleon.Boot.plist 刪到剩這樣。
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5.         <key>DropSSDT</key>
  6.         <string>Yes</string>
  7.         <key>Kernel Flags</key>
  8.         <string>-f</string>
  9.         <key>Timeout</key>
  10.         <string>2</string>
  11. </dict>
  12. </plist>
复制代码
然後手動睡眠不斷電,關機不斷電的問題依舊。 @@"

使用的 Chamelon 版本
Darwin/x86 5.0.132  Chameleon v2.2svn r2110
[Build Date: 2012-10-29 20:11:58]

其實我需要 org.chameleon.Boot.plist 的理由很簡單,想讓引導程式可以自動進入 OSX 而不需要多按一個 Enter。

Rank: 5Rank: 5Rank: 5

UID
825898
帖子
523
PB币
0
贡献
0
技术
0
活跃
690
发表于 2012-11-8 08:57:07 IP属地江苏 来自手机 |显示全部楼层
hpo14 发表于 2012-11-7 23:57
1. 我把顯卡的部分寫進 DSDT 了。
2. org.chameleon.Boot.plist 刪到剩這樣。然後手動睡眠不斷電,關機不 ...

我还真的搞不清楚你的问题出在哪了
正常来说,睡眠状态下电源指示灯是一闪一闪的,不知道你是不是这样

Rank: 5Rank: 5Rank: 5

UID
942806
帖子
132
PB币
91
贡献
0
技术
0
活跃
27
发表于 2012-11-12 20:56:26 IP属地台湾 |显示全部楼层
hellozx 发表于 2012-11-8 08:57
我还真的搞不清楚你的问题出在哪了
正常来说,睡眠状态下电源指示灯是一闪一闪的,不知道你是不是这样

有點奇怪的現象。
在不使用 /Extra/org.chameleon.Boot.plist 的情況下 (把檔案改名, 或刪掉這個檔案)
DSDT 只修改 Firewire + 顯示卡 HDMI 音效 + FrameBuffer

關機這個動作,有時候是正常斷電關掉了,有時候是變成重啟。
不過變成重啟的次數比較多就是了

Rank: 5Rank: 5Rank: 5

UID
825898
帖子
523
PB币
0
贡献
0
技术
0
活跃
690
发表于 2012-11-13 10:11:13 IP属地江苏 |显示全部楼层
hpo14 发表于 2012-11-12 20:56
有點奇怪的現象。
在不使用 /Extra/org.chameleon.Boot.plist 的情況下 (把檔案改名, 或刪掉這個檔案)
...
OpenHaltRestart.kext或EvOreboot.kext(2选1,不可共用)      解决重启/关机时遇到无法断电问题


试试置顶的-v五国帖里这个方法
看有没有效果

Rank: 5Rank: 5Rank: 5

UID
942806
帖子
132
PB币
91
贡献
0
技术
0
活跃
27
发表于 2012-11-13 23:22:19 IP属地台湾 |显示全部楼层
本帖最后由 hpo14 于 2012-11-13 23:24 编辑
hellozx 发表于 2012-11-13 10:11
试试置顶的-v五国帖里这个方法
看有没有效果

Evoreboot.kext 也試過,無效。

昨天後來選擇再度重灌了一次 10.8 (不升級10.8.1 or .2)

重灌前把 10.8 的 USB 安裝碟內的 /Extra/smbios.plist 換成我修過的 iMac12,2 (原本是MacPro3,1, Unibeast 的預設型號)

然後重裝:
1 套用修正 FW + FB + HDMI + 以及把 USB? 改名 UHC? 的 DSDT 丟進去。
2 對 ATI6000Controller.kext 作 Patch (把自己的 Personality 改進去)
3 Multibeast 驅動裝一裝 + Chimera 1.9.2 引導程式
4. 不使用 org.chameleon.boot.plist

除了開機在要引導介面按 Enter 才會進系統,睡眠正常、關機也有斷電不會自動重啟。
我決定就這樣了。

ps. 套了 Boot.plist 後就關機不斷電了...
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛