OSX86 ATI 4500 QE/CI GUIDE 또는 5~6000 시리즈 Hackintosh/Graphic Card2012. 3. 9. 17:14
사전준비사항
- Snow Leopard, 10.6.6 이상의 버전과 Chameleon 부트로더가 설치된 상태.
- XCode가 설치된 상태.
- Dong’s Video Bios Dumps: BIOS로부터 VGA ROM 을 추출하는 툴.
- Radeon BIOS Decode.
- 여기에서 connector personalities 리스트를 확인해서 선택한다. 3xxx 시리즈는 Sharks, 4xxx 시리즈는 Birds, 그리고 5xxx 시리즈는 Monkeys 이다.
- 몇가지 해킹 스킬 (기본적으로 Terminal 명령어에 익숙해야 하고 HexEdit를 다룰줄 알아야 한다.)
- 여유시간과 인내심이 필요하다. .
1단계: 정보를 모아보자.
Video Bios Dumps Tools 을 데스크탑에서 압축을 풀고 이를테면 ~/Desktop/VBIOS 디코더를 풀어준다.
첫째, VGA BIOS 추출:
cd ~/Desktop/VBIOS # kextutil only accept certain file permissions, so we need to set that for the kext sudo chown -R root:wheel RadeonPCI.kext sudo chmod -R 755 RadeonPCI.kext # load it up sudo kextutil RadeonPCI.kext # You can verify that the kext is loaded by # kextstat -l | grep RadeonPCI ./RadeonDump -d
이제 VGA rom파일을 추출해냈다. 예를들면 9553.0301.00E0.vga.rom 파일명이 될 것이다
. 첫번째 수자가 device ID 이다.
주의: VGA bios 추출할때 다른 툴을 이용할 수 있다고 하지만, Mobility ATI Radeon card 는 임베디드 ROM 바이오스 이므로 다른 툴은 제대로 추출해내지 못했다.
두번째는 추출한 VGA BIOS 를 디코더한다.:
./radeon_bios_decode < [YOUR ROM FILE] > connectors.txt
다음과 같이 비슷한 결과물을 얻을 수 있다:
ATOM BIOS Rom: SubsystemVendorID: 0x1028 SubsystemID: 0x02e8 IOBaseAddress: 0x2000 Filename: BR34026.001 BIOS Bootup Message: BR34026-001 M92 GDDR3 64bit 500e/700m PCI ID: 1002:9553 Connector at index 0 Type [@offset 46236]: VGA (1) Encoder [@offset 46240]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 46298]: 0x90, OSX senseid: 0x1 Connector at index 1 Type [@offset 46246]: LVDS (7) Encoder [@offset 46250]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 46321]: 0x96, OSX senseid: 0x7 Connector at index 2 Type [@offset 46256]: HDMI-A (11) Encoder [@offset 46260]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 46344]: 0x94, OSX senseid: 0x5
2단계: 디바이스 인젝션 적용하기
패치를 하기전에 인젝션방법을 비디오 카드에 적용하기 위해 디바이스 정보가 필요하다. 많은 방법들이 있지만 가장 간단하고 쉬운 방법은 ATY_init kext 또는 custom bootloader를 만드는 것이다.
만약 ATY_init 이 적용된다면 2단계는 지나간다. 안먹힌다면 Chameleon 을 이용하여 적용해야만 한다. 이 방법은 꽤 간단하다. 데스크탑 폴더에서 대부분의 작업은 진행할 수 있다.
cd ~/Desktop/ # Grab Chameleon's source code svn co http://forge.voodooprojects.org/svn/chameleon/trunk chameleon-trunk cd chameleon-trunk
i386/libsaio/ati.c 파일을 텍스트 에디터 등으로 열어서
18 라인을 보면 카드정보를 정의해 두었다.:
static radeon_card_info_t radeon_cards[] = { ... { 0x9552, 0x300017AF, CHIP_FAMILY_RV710, "ATI Radeon HD 4300/4500 Series", kNull }, ... }
포맷 형식: Device ID, Device Subsystem, Chip family 정의, Card name, 프레임 버퍼네임. 만약 VGA 카드가 이미 정의되어 있다면 프레임 버퍼가 kNull 인지 여부를 점검하고 이제 부트로더를 컴파일한다. 만약 운이 없다면 VGA 카드 리스트에 VGA 카드정보를 다음과 같이 입력해주어야 한다.:
- 0x9553: Device ID, connectors.txt 화일 참조.
- 0x02e8: Subsystem ID, connectors.txt 화일 참조.
- 1028: Subsystem Vendor ID, connectors.txt 화일 참조.
- CHIP_FAMILY_RV710: 구글링을 하여 VGA 카드칩셋 정보를 확인하거나 윈도우즈에서 Catalyst Control Center 의 31-63 사이를 찾아서 상수값을 확인해야 한다.
- “ATI Radeon HD Mobility 4530”: VGA 카드 명, 이 카드명은 SystemProfiler에 보여지게 될 것이다.
- kPeregrine: framebuffer, 기본적으로 ‘k’ 와 frame buffer 이름의 조합. 이것이 유일하게 가상으로 잡아야 하는 부분이지만, 다른 작업을 통해서 정의해서 적용해야 한다.
static radeon_card_info_t radeon_cards[] = { { 0x9553, 0x02e81028, CHIP_FAMILY_RV710, "ATI Radeon HD 4530M", kPeregrine }, ... }
저장한 다음:
make config
이제 새로운 Chameleon’부트로드 구성화일이 만들어졌다 . I checked bdmesg
와 임베디드 된 테마 옵션을 확인하고 나머지는 그대로 둔다. Alternate configuration 파일을 Save를 선택하고 마친다.
make
이제 새로운 Chameleon부트로더를 설치하고, 재부팅하여 그래픽 카드가 작동하는지 확인한다.
혹여 불필요한 ATI kexts 를 설치하였다면 재부팅하기전에 제거하는 것이 좋다.
cp ~/Desktop/chameleon-trunk/sym/i386/bdmesg ~/Desktop/ sudo mkdir /Backup cd /System/Library/Extensions/ sudo mv ATI* /Backup/ cd / sudo cp boot{,.old} sudo cp ~/Desktop/chameleon-trunk/sym/i386/boot .
IORegistryExplorer 와 SystemProfiler를 통해서 확인해 본다.
'Hackintosh > Graphic Card' 카테고리의 다른 글
ATI Graphic Card 설정하기 (0) | 2012.07.21 |
---|---|
Gigabytes ATI Radeon HD 6850 (0) | 2012.05.04 |
4870x2 (0) | 2012.02.09 |
해킨토시 - GTX 550 Ti (0) | 2012.02.03 |
NVidia/ATI 계열 그래픽 카드 설정하는 방법- 해킨토시 (13) | 2012.01.19 |