해킨질답
  • 목록
  • 아래로
  • 위로
  • 쓰기
  • 검색

[DSDT 컴파일 문제] 고수님들 꼭 도와주세요!!!

  • 세타
  • 710
  • 11
세타님의 기기정보
보유한 기기가 없습니다

cpu : i5200u
graphic : hd5500 + optimus 740m

안녕하세요!

맥이 필요해 일주일 넘게 삽질을 하고 있습니다.

직접 성공하고 싶었지만 큰 벽에 부딪히고 말았네요.

현재 내장 그래픽을 잡기위해 삽질 중에 있습니다.

순수한 DSDT.aml 을 얻고자 삭제했던 윈도우를 멀티부트로 살려내

얻었구요. MaciASL을 이용해 수정을 하고 있습니다.

https://x86osx.com/bbs/view.php?id=osxtips&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=4008

이 후밍님 게시글을 보고 그래픽을 잡기위해

------------------------------------------------------------------------------------------------------------------------------------

dsdt의 Device (GFX0) 또는 Device (IGPU) 또는 Name (_ADR, 0x00020000)를 찾으셔서 아래값을 붙여넣으세요.

Method (_DSM, 4, NotSerialized)
                    {
                        If (LEqual (Arg2, Zero))
                        {
                            Return (Buffer (One)
                            {
                                0x03
                            })
                        }

                        Return (Package (0x08)
                        {
                            "device-id", 
                            Buffer (0x04)
                            {
                                0x16, 0x16, 0x00, 0x00
                            }, 

                            "AAPL,ig-platform-id", 
                            Buffer (0x04)
                            {
                                0x02, 0x00, 0x16, 0x16  // 저는 0x16160000을 사용하기 때문에 맨 처음값은 0x00입니다.
                            }, 

                            "model", 
                            Buffer (0x17)
                            {
                                "Intel HD Graphics 5500"
                            }, 

                            "hda-gfx", 
                            Buffer (0x0A)
                            {
                                "onboard-1"
                            }
                        })
                    }

------------------------------------------------------------------------------------------------------------------------------------

이 간단한 부분을 행하면 그래픽 해결이 가능해 보입니다. 

다만 놀라운 점은 순수한 DSDT.aml 임에도 오류가 발생한다는 점이었습니다.

이를 해결하고자 많은 포럼의 DSDT 오류 수정 글을 참고해 시도했으나

응용력과 구글링의 한계를 느끼며 좌절하고 말았습니다....

고수님들의 도움이 필요합니다! 

컴파일 성공을 부탁드립니다.... 

세타
4 Lv. 509/1000P

댓글 11

참여를 하시면 세상을 바꿉니다.
profile image
1등 DArtagnan 2016.02.29. 23:16 |댓주소:#1095671
세타

윈도우에서 추출한 dsdt를 그대로 커스텀맥에 적용하는건, 제가 생각하기에는 위험한 시도라고 생각됩니다만..

커스텀맥에서 dsdt를 만들고 그것을 윈도우와 비교해가며 커스텀맥에 최적화하는 편이 더 좋다고 봅니다.

댓글
세타 작성자 2016.02.29. 23:24 |댓주소:#1095680
DArtagnan
그런가요? ㅜㅜ 읽어본 글에 윈도우에서
DSDT를 추출해서 쓰라고 되어있길래 윈도우 추출한 DSDT를 참고해 맥에서 추출한걸로 수정해 쓰는 것이군요
댓글
profile image
DArtagnan 2016.02.29. 23:26 |댓주소:#1095684
세타

그 방법이 맞을 수도 있겠습니다만... 강좌를 읽어보다 강좌 올려주신 분의 경험담을 들어서 별로 권해드리지 않습니다.

잠자기나 마이너 요소 들이 말썽을 부릴 수 있는 걸로 보아, 그런 차원에서 만류의 말씀을 드리는 것입니다.

댓글
세타 작성자 2016.02.29. 23:33 |댓주소:#1095705
DArtagnan

그렇군요. 다른 마이너 요소가 말썽이 되더라도 우선 내장그래픽을 잡았으면 좋겠다는 마음이네요 ㅜㅜ

어느정도 사용에 불편할수 있는 불완전한 맥이라는건 감안하고 사용할 예정이라서

그래픽을 꼭 잡고 싶습니다 ㅜㅜ

댓글
profile image
DArtagnan 2016.02.29. 23:51 |댓주소:#1095730
세타

그래픽을 잡기전에 지금 상태의 dsdt 부터 수정이 필요합니다.

확인해보니 상당히 오류가 많습니다.

1. 우선, PARSEOP ZERO 사인택스 오류는 Zero를 전부 지워주는 것으로 해결이 됩니다.

2. Unexpected $end는, 지금 단계에서 신경쓰지 마세요. 나머지 사인택스 오류를 해결하면 사라지게 됩니다.

3. 나머지 사인택스오류 { } <- 이 부분은 하나의 예제를 통해 설명해드리겠습니다.

스크린샷 2016-02-29 오후 11.48.13.png

컴파일 후 사인택스 오류가 난 곳을 가보게되면

} <- 이 부분만 문제가 있다고 나오죠.(위에 노란색 바를 보세요.)

 

이럴 때는 " } " 를 포함하는 문단을 전부 지워야 합니다. 즉, 

 

If (CondRefOf (\_SB.PCI0.XHC.PS0X))
                {
                    PS0X
                }

 

이걸 통째로 날리셔야 합니다.

 

 

이렇게 사인택스 오류를 해결하다보면 오류가 점점 많아지게 됩니다. 그러나, 당연히 정상적이며 사인택스 오류를 해제하고 나머지 오류를 또 해결해가면서 dsdt 작업을 해야하는 것입니다.

그런 후에 본문에 첨부하신 구문들을 넣으시는게 순서입니다.

제가 해드리면 정말 좋겠지만, 커스텀맥은 말 그대로 본인이 커스텀 할 줄 알아야 하기 때문에

문제를 어떻게 해결하는지 - 최소한의 가이드만을 알려드렸습니다. 여기서는 사인택스 오류만 말씀드렸고

입문자 필독 추천글의 dsdt 2강을 수강하셔서 나머지 오류들도 스스로 고치시면, dsdt에 대한 감을 어느정도 잡으실 수 있을거라 봅니다. 십분 이해바랍니다.

 

가끔 정말 혼자 하기 어려운 경우가 있습니다. 이럴 때 다시 질문게시판을 이용해주시면 좋을 것 같다는 생각입니다.

댓글
세타 작성자 2016.03.01. 00:02 |댓주소:#1095753
DArtagnan

 정성 가득한 답변이군요 ㅜㅜ

말씀하신대로 제가 할 수있는 부분에서는 수정해보고 정 안되면  dsl파일로 다시 질문게시판을

찾도록 해볼게요 정말 감사합니다!!

댓글
profile image
DArtagnan 2016.03.05. 11:20 |댓주소:#1101392
DArtagnan

제가 말을 조금 헷갈리게 적었군요.

윈도에서 추출한 그대로 적용하면 에러가 납니다. 반드시 추가적인 패치를 해준 뒤에 적용을 해야 합니다.

댓글
profile image
3등 아이뱅크 2016.03.01. 00:34 |댓주소:#1095806
세타

스크린샷 2016-03-01 오전 12.31.41.png

 

어렵게 하지 마시고

간단한 방법은 이렇습니다. 

컨피그레이터로

config.plist 파일에서 열기 목록을 컨피그레이터로 찾아 그림에 나와 있는 것만 적용해도 됩니다.

댓글
profile image
아이뱅크 2016.03.01. 08:43 |댓주소:#1095991
세타

   "AAPL,ig-platform-id", 
                            Buffer (0x04)
                            {
                                0x02, 0x00, 0x16, 0x16  // 저는 0x16160000을 사용하기 때문에 맨 처음값은 0x00입니다.

 

이란 의미는 이값도 이렇게 바꾸어주어야합니다.

   "AAPL,ig-platform-id", 
                            Buffer (0x04)
                            {
                                0x00, 0x00, 0x16, 0x16  

댓글
profile image
라자 2016.03.01. 12:07 |댓주소:#1096282
세타

0x02, 0x00, 0x16, 0x16

이값은

0x16160002 를 의미하는 값이죠.

 

5500의 경우에는

AppleIntelBDWGraphicsFramebuffer 안에서 바이너리를 찾으신다음
핵사에디터로 39CF763C 를 이늠으로 39CF773C 바꿔준뒤에..

0x16160000 의 값을 0x16160002 으로 바꿔준다.. 입니다.

물론 DSDT도 마찬가지구요.

 

따라서 클로버를 사용한다고 가정할떄 3가지를 변경시켜 줘야 합니다.

DSDT와 프레임버퍼 kext 랑 클로버의 ig ID 값 이렇게 말입니다.

---------------------

뭐 00 값이 기본이셨다면 02로 02라면 00 이되겠죠.

5200U는 안써봐서..

--------------------

U가 붙어서 노트북같은데...

대부분 기본값으로 굴리면 HDMI 같은넘은 안나오지만 네이티브로 업그레이드가 가능하다는 장점이 있고.

위에 나오는 DSDT 수정 부분은 HDMI 출력이 가능하나 네이티브로 업그레이드 하면 에러를 뿜기 때문에..

원복후에 업글하고 다시 부팅해서 수정해줘야 한다는 단점이 있죠.

댓글
권한이 없습니다. 로그인

신고

"님의 댓글"

이 댓글을 신고 하시겠습니까?

삭제

"님의 댓글"

이 댓글을 삭제하시겠습니까?