제 키보드는 맥처럼 밝기 조절이 가능한 키보드입니다.
그리고 모니터 또한 밝기조절이 가능한 IPS 모니터이구요.
그리고 레티나에 대한 끝없는 욕심은? 끝내 결실을 모두 맺지 못하고 시들어버렸습니다. (ㅜㅜ...)
이러한 과정에서 겪었던 수행착오들.
그리고 어느정도 베일에 감싸여 졌던 부분들을 공개해보려합니다.
--> 어째서일까? 왜일까?
--> 일반 디스플레이를 어떻게 맥의 디스플레이로 인식시킬 수 있는걸까?
이에 대한 대답은 다음과 같았습니다.
맥은 디스플레이 정보를 담아둔 파일을 따로 가지고 있습니다.
이마저도 모니터에 의존하는 것이 아니라,
맥이라는 운영체제단에서 캡슐로써 자유자재로 깔끔하게 사용하고자 하는 목적 때문인 것으로 보여지며
이러한 이유로 일반 타 디스플레이 또한 맥이 지원하는 방식을 사용하여
자신의 디스플레이 정보를 담은 파일을 맥에게 인식시켜줄 수 있습니다.
또한, 이러한 과정에서 디스플레이에 대한 정보를
조작하여 맥 디스플레이 정보로 우회하여 보내줄 수 있으며
맥은 이에대한 후속처리 (검증) 등을 하지 않습니다.
이로 인하여 맥 디스플레이로 인식시킬 수 있다는 것입니다.
--> 하지만, 인식돼지 않는 경우가 더 많으며 어째서인지 뭔가 부족해 보입니다.
--> 왜인지에 대한 부분은 다음과 같습니다.
맥은 제가 생각했던 것만큼 바보가 아니었습니다.
어쩌면 당연한 것이겠지요 ㅎㅎ.
해당 디스플레이 파일은 자신과 짝을 이루는 유일한 smbios가 따로 존재합니다.
이로 인하여 smbios정보가 일치하지 않는 경우에는
반쪽짜리 정보밖에 사용하지 못하게 됩니다.
예를들면, 모니터단의 해상도 활성화가 대표적입니다.
smbios는 일종의 맥의 정보를 담고있는 총 시리얼 정보 파일입니다.
이 파일 내용을 토대로, 맥 운영체제는 이에 맞게끔 구동합니다.
예컨데 맥북 시리즈에서는 기껏해봐야 오리지날로 동작 가능한 해상도에
제한이 있을 수 밖에 없습니다.
그런겁니다.
아이 맥 5K 레티나의 경우에는
최소한 레티나 구동에 필요한 해상도가 5천 x 2880입니다.
그러나 맥북은?
레티나 최고 지원 오리지날 맥북의 경우를 따져 보아도
1440 x 9xx정도입니다.
좀 더 나아가도 끽해야 1680 ~ 1920정도이며
강제 레티나를 해제한 해상도로도 2880정도급이 최대입니다.
이러한 상황에서
smbios를 맥북 등으로 인식시키게 돼면
자신이 장착한 하드웨어에 상관하지 않고
맥은 디스플레이에 대한 해상도를 당연하게,
아 이 디스플레이는 애플 디스플레이니까 해상도는 여기까지야-
라고 제한을 걸게 됩니다.
--> 그렇다면 아에 인식이 불가능 한 것인가?
--> 이에대한 답은 아래와 같습니다.
일단 단도직입적으로 아니다. 입니다
맥북은 내장그래픽 뿐 아니라 외장그래픽을 사용하고 있으며,
해당 외장그래픽에 대한 해상도 제한은 자유로운 편입니다.
왜냐하면 외장그래픽을 사용하여 외장 디스플레이를 인식시킬 수 있기 때문이며
이에대한 정보에 대한 의존은 전적으로 하드웨어와 모니터의 EDID에 달리기 때문입니다.
어떻게 알 수 있죠?
신이 아니고선 어떤 사람이 이 기기에 무슨 디스플레이를 연결할지 아무도 모릅니다.
이게 바로 저희가 노려야 할 취약점이 되는 것입니다.
네이티브로 지원 가능한 해상도를 뿌려주지 않는
맥북시리즈 계열의 smbios를 사용 중이라면
외장 디스플레이를 인식 시킬 때 만큼은 제한이 없다는 것입니다.
즉, 아이맥 레티나로 잡던 썬더볼트 시네마로 잡든 말이죠.
여러분이 상상하는 그 이상
하드웨어적 제한이 없다면, 마음껏 이용이 가능할 것입니다.
--> 그런데 왜 리얼 맥처럼은 인식이 안돼는 것이죠?
--> 그 이유는 다음과 같습니다.
맥 디스플레이는 생각보다 복잡한 구조를 가진 녀석입니다.
우선 EDID가 가장 최우선적으로 적용됩니다.
이것을 페이크할 수 있는 방법은 제가 알고 있기로
현재 유일한게 클로버 부트로더 뿐입니다.
DSDT에서 인젝션한 것도 패닉이나 모니터 이상의 가능성이 농후합니다.
그리고 mac board-id를 점검합니다.
이 smbios상의 보드아이디와 smbios, 그리고 해당 디스플레이 세박자가
쿵짝이 맞아야 정상적으로 인식된다는 것입니다.
정말 미칠 노릇이지요.
단, 한가지라도 놓친다면 맥에 관하여에 들어가서 보여지는 디스플레이 정보는
리얼맥일 지라도 이미지는 리얼맥 이미지가 아닌
단순한 외장 디스플레이 이미지가 출력될 뿐입니다.
시스템 정보가 제대로 나와준다 할지라도 말이죠.
--> 애플 디스플레이는 아무거나 적용하면 되는 거 아닌가요?
--> 위 내용에 대한 답은 아래와 같습니다.
아닙니다. 간곡히 부탁드리지만, 좋아 보인다고
무조건 좋은 디스플레이를 선택하지 말아달라고 부탁드리고 싶습니다.
리얼맥과는 다르게,
저희가 사용하는 일반 디스플레이는 말 그대로 순수 픽셀 단위로
계산하여 해상도를 사용하는 구조입니다.
이 말이 무엇이냐면, 한가지 예를 들어보겠습니다.
여러분이 사용하는 디스플레이는 구조적으로 1080p가 한계입니다.
또한 이러한 해상도에는 고유한 비율이 존재합니다.
4:3, 5:4, 16:9, 16:10 등과 같은 비율 말이지요.
이런 상태에서 레티나를 무리하게 적용하겠다고,
강제로 레티나를 활성화 시킵니다.
여기까지는 지장이 없습니다.
1080p 해상도는 반토막이 난 상태로 540p 해상도 레티나를 지원하게 됩니다.
여기서 문제가 생긴다는 것입니다.
원체 오리지날 그대로 레티나를 즐기기 위해서는
자신이 지원하는 오리지날 해상도의 반토막 해상도로 밖에 못 즐깁니다.
이것이 정상입니다.
하지만 제가 소개한 방식은 그것을 넘어서서
운영체제 단에서 강제로 해상도를 확장시키고
다시 축소시켜 레티나를 만들어 뿌립니다.
이 과정이 모니터의 정보와 일치하지 않게되어
오히려 레티나가 아니라 픽셀이 너무나도 잘보이는 셀티나가 된다는 것입니다.
제가 추천하는 것은 있는 그대로의 맵핑 방식인
2:1 방식 혹은 1.5:1방식, 정말 안돼면 1:1 방식까지만 사용하시라는 것입니다.
즉 1080p가 오리지날 최대 지원 해상도라면,
540p 가 가장 레티나다운 레티나일 것이며 1.5:1인 810p는 일반 맥북시리즈의 레티나일 것이고
최종적으로 1:1인 1080p 레티나는 많이는 아니더라도 조금 더 선명한 화질을 제공해 줄 것입니다.
그 이상이나 이외의 비율로 들어가는 해상도는 모니터 단에서
강제로 늘리고 줄이고 하기 때문에 의미가 없습니다.
특히 노트북이라면 더욱 그러하니
여러분의 모니터에 대한 정보를 잘 살펴보시고
자신의 눈에 가장 잘 맞고 편안한 해상도를 적용해주시기 바랍니다.
무조건 1080p나 그 이상의 해상도라도 좋은 것이 아니라는 것입니다.
--> 모니터 밝기를 조절하고 싶어요. 그런데 안돼요, 정말 안돼는 건가요?
--> 이에대한 삽질 결과는 다음과 같습니다.
패치가 필요합니다. 그것도 짜증날 정도의 패치가 말이죠.
DSDT단에서 PNLF과 같은 판넬 정보가 필요합니다.
이 디스플레이는 백라이트를 사용하는 디스플레이입니다 라는 정보를
거짓으로 운영체제에 넘겨주는 것입니다.
하지만 이것 만으로는 작동하지 않습니다.
맥이 잡고있는 디스플레이가 순수하게
백라이트 디스플레이 이어야 하며, 적어도 IPS 디스플레이여야합니다.
또한 smbios는 아이맥이 아니라,
밝기 조절이 가능한 맥북 프로와 같은 노트북 시리즈여야만 합니다.
그리고 DSDT단에서 밝기 조절이 가능하게끔
밝기 조절 가능 슬라이더 바를 활성화 시켜주어야 하며
키보드의 단축키로 조절하기 위해서는
추가적인 키입력 패치가 필요합니다.
그리고 일반 smbios에서 사용하기 위해선 맥이 해당 디스플레이를
AppleDisplay가 아닌 AppleBacklightDisplay로 잡아야 합니다.
그리고 AppleBacklight지원 kext가 적용 가능한
171개의 맥 디스플레이 정보로 자신의 디스플레이를 Fake 시켜주어야 합니다.
실제론 모니터 밝기 조절을 운영체제 단에서 가능하게 만드는 것이
가장 최고 난이도의 작업이라고 보시면 될 것 같습니다.
저는 포기했습니다... (ㅠㅠ)
[키보드의 밝기 조절 버튼을 누르면 아에 누르지 못한다는 경고음이 안나오고
AppleBacklight지원 kext까지 로드시켜둔 상태이기는 합니다.]
--> 모니터에 대한 해상도 정보나 이미지 정보를 겉으로 수정할 수 있는 방법은 무엇인가요?
--> 이에대한 답은 아래와 같습니다.
특정 경로가 있습니다.
첫째는 시스템 정보 파일의
/Applications/Utilities/System Information.app/Contents/Resources/ko.lproj/SPInfo.strings
이 파일을 수정해 주시면 되겠습니다.
다만 멀티 모니터에 대한 부분은 일괄 적용되는 경우가 있어
단일 모니터를 사용하는 경우만 추천드립니다.
두번째로 이미지의 수정은 아래 경로로 가시면 되겠습니다.
/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/
이곳에 가시면 디스플레이 아이콘들이 있는데
자신이 원하는 아이콘으로 대체해주시면 정보 표기가 사용하신 이미지로 대체됩니다.
일반적인 보편화된 모니터는
public.generic-lcd 라는 이름의 아이콘으로 사용되어집니다.
--> 마지막으로 드릴 말씀.
딱히 없지만, 모니터 관련은 연관된 변수가 너무나도 많아서
특정해내기가 어려운 것이 사실인 것 같습니다.
이렇게 해도 뭐가 문제인지 알기도 힘들고 말이죠.
그냥, 궁금하면 건드려보는게 답이긴 합니다만 ㅎㅎ;
모니터가 안나오는 불상사 등이 존재하는 만큼
몇번 당해보니 건드리기가 싫어지는건 어쩔 수 없나봅니다.
조금이나마 도움이 되고자,
이렇게 글을 써서 올려봅니다.
감사합니다.
그냥 지금은 맘편하게 Brightness slider어플을 깔아서 조절하며 사용하고 있습니다 ㅎㅎ
키 입력 패치를 보니, PS2 컨트롤러의 최상단이라 할 수 있는 곳에서 따로 패치가 이루어지더군요. 이 부분에서 바로 막혔습니다.ㅎㅎ 저는 애플 블루투스 키보드를 사용하고 있기 때문이거든요....ㅎㅎ
성공하면 정말 뿌듯할텐데, 많이 어려울 것 같습니다.
어쩌면, 애플의 키보드를 사용하고 있으므로 위 과정을 생략하고 brightness controller 활성화와 밝기조절이 되는 모니터로 페이크, 그리고 smbios를 맥북으로 바꾸는 것으로 될 것 같기도 하지만, 말만 쉽군요.ㅠㅠ
결정적으로, 제 dsdt에는 다음 항목들이 없습니다. (아시겠지만) 하나라도 없으면 차질이 생기더군요. 말씀하신대로 극악의 패치가 되지 않을까 합니다.
_DOS ( Enable/disable output switching
_BCL ( Query list of brightness control levels supported )
_BCM ( Set the brightness level )
_BQC ( Brightness Query Current level )
쉬고 싶어하시는 KsJ님을 귀찮게 해드려서 죄송합니다..^^
지금까지 제가 정리한 바로는 다음과 같습니다.
1. 아이맥에서는 되는데, 막상 아이맥 smbios로는 밝기 조절이 안되고, 맥북으로는 되는 기이한 현상들.
2. https://www.x86.co.kr/index.php?_filter=search&mid=hackintosh&search_target=title_content&search_keyword=hd4600&document_srl=943027 - 내장그래픽의 경우 백라이트 조절이 되더군요. 클로버에서 옵션 몇 개를 주면 설정 가능한걸로 보입니다.-> 그렇다면 내장그래픽, 외장그래픽을 동시에 사용하는 방법으로 접근해보는 것은 어떨까요? (내장그래픽으로 조절이 가능함을 알기 때문) <- 근데 이게 가능할 지....
잠시 외출하느라, 확인만 하고 ^^; 덧답글을 이제야 남깁니다. (죄송해요.)
DSDT단에서의 패치는 몇가지가 필요해 보였습니다.
LCD, PNLF, GFX0(혹은 PEGX) 등이 대표적이었습니다.
LCD에 대한 기본적인 정보들에는 샨님께서 말씀해주신 것처럼
BQS??등과 같은 키입력 부분 뿐 아니라 기타정보들도 대거 들어가는 형식으로
완전 대.형.패.치가 이뤄지고; PNLF또한 마찬가지더군요.
외장그래픽의 경우에는 DSM패치 (DTGP)등으로 내용을 추가하여
밝기 조절 탭을 활성화시켜주는 식으로 보였습니다.
모니터와 모니터의 EDID정보, 그리고 이를 로드할 때 사용되어지는 모니터의 타입은
AppleBacklightDisplay류여야 한다는 점.
그리고 실제 모니터의 밝기가 조절 가능해야 한다는 점이나
중요한 사실 한가지는, 모니터는 메인보드와 본체에 직접적인 연결 고리가 존재하지만,
일반 데스크탑용 컴퓨터는 그렇지 않다는 것입니다.
아마 이러한 부분으로 인하여 실제 일반 디스플레이를
단축키를 통하여 혹은 설정탭에서 진짜 백라이트를 조절할 수 없는 이유인지도 모르겠습니다.
[아이맥도 생각해보면 노트북처럼 본체랑 모니터가 합쳐진 형태이니, 전원이나 데이타를 직접적으로 연결하여 전달하는 방식이 가능합니다.]
거기다가 키의 입력은 샨님의 말씀대로
최상위 루트에서 받아오는 것 같은데, 이렇게 돼어버리면..
차라리 가장 쉬운 방법이
키입력을 받는 프로그램을 만들어서,
해당 키입력이 들어오면 진짜 리얼맥처럼 바탕화면에 이미지 표시해주고
백라이트 조절하는 것처럼 검은 레이어를 덧씌워 밝기조절을 해주는게 훨씬 나을지도 모르겠단 생각입니다.
[아직까지 리얼시리즈를 제외한 커맥시리즈에서, 일반 데스크탑 smbios와 애플 키보드, 그리고 일반 모니터를 사용하여
페이크를 통한 우회로 모니터의 실 백라이트 디스플레이 밝기를 조절하는 방법을 본 적이 없습니다.... 대부분 정보들도 전부 노트북 계열이더군요;]
흠... 진짜로 그냥 만들어볼까 고민됍니다 ㅎㅎ
...있다면 대조군이 생기는 셈이니, 분석을 빡세게 해줄 수 있을텐데, 아쉽네요 ㅎㅎ;
저도 아이맥은 없어서..ㅎㅎ 그냥 brightness slider 설치해주고 karabinder로 Fn키 없이 밝기조절 가능하게 해주었습니다.
좋은 어플 소개해주셔서 감사합니다.
Note: 그런데, 한가지 치명적인 단점이 있네요. 커맨드 + 시프트 + 4로 스크린샷 찍을 때, 특정 영역 내에서만 캡쳐할 수 있는 기능으로 스페이스키를 눌러도, 항상 전체화면으로 촬영됩니다. -_-;;
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
macOS Sequoia 15.0.1 24A348 정식버젼 고스트 이미지 OC 1.0.2 ft: 전체공개 +29 | 937 | 24.10.1121:10 | 좌절금지 |
오픈코어 1.0.2 +23 | 575 | 24.10.0900:22 | 줌바이퍼 |
[중급편] 노트북 해킨 +16 | 1403 | 24.07.1219:19 | Stultus |
macOS Ventura 13.7 22H123 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체 공개 +17 | 575 | 24.09.1917:09 | 좌절금지 |
macOS Sonoma 14.7 23H124 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체공개 +31 | 909 | 24.09.1723:58 | 좌절금지 |
[초급편] 문제 스스로 해결하기 +20 | 4002 | 24.03.2920:07 | Stultus |
[입문편] 첫 해킨 길라잡이 +40 | 5086 | 24.01.1218:54 | Stultus |
[필독 - 안정화] macOS 해킨토시 설치 후 안정화 작업 목록 및 글타래 모음 총정리 📋 +67 | 5.1만 | 23.01.0913:39 | shl628 |
Hot AMD Sequoia용 AppleALC 1.9.2 +3 | 106 | 24.10.2319:04 | 사노라맨 |
Hot [Sequoia 15.0.1, OC r1.0.2] ASUS TUF B550-PLUS / RYZEN 5 5600X / RX470 +2 | 103 | 24.10.2322:26 | 뿌엥 |
Hot OCLP로 지원되지 않는 기기/dGPU를 사용하는 해킨토시의 사이드카 품질 문제 해결방법 +1 | 119 | 24.10.2321:29 | 해킨도전자 |
103 | 24.10.2322:26 | 뿌엥 | |
119 | 24.10.2321:29 | 해킨도전자 | |
106 | 24.10.2319:04 | 사노라맨 | |
784 | 24.10.1412:27 | shl628 | |
665 | 24.10.1316:00 | 수박 | |
344 | 24.10.1222:56 | Stultus | |
937 | 24.10.1121:10 | 좌절금지 | |
732 | 24.10.1115:53 | 수박 | |
575 | 24.10.0900:22 | 줌바이퍼 | |
1403 | 24.07.1219:19 | Stultus | |
1210 | 24.10.0500:31 | 줌바이퍼 | |
569 | 24.10.0410:49 | Tamy | |
749 | 24.09.2923:48 | 머트 | |
628 | 24.09.2822:28 | 머트 | |
463 | 24.09.2808:22 | Tamy | |
894 | 24.09.2321:32 | Stultus | |
994 | 24.09.2210:59 | 좌절금지 | |
644 | 24.09.2203:23 | 누림어멈 | |
1191 | 24.09.1919:17 | 좌절금지 | |
575 | 24.09.1917:09 | 좌절금지 | |
498 | 24.09.1813:37 | Stultus | |
909 | 24.09.1723:58 | 좌절금지 | |
601 | 24.09.1722:40 | 좌절금지 | |
453 | 24.09.1717:13 | 맥가즈아 | |
562 | 24.09.1708:13 | 김경석 | |
234 | 24.09.1617:47 | Panictosh | |
768 | 24.09.1504:35 | Tamy | |
584 | 24.09.1319:18 | Stultus | |
706 | 24.09.1019:44 | 치토 | |
484 | 24.09.0118:13 | 머핀X | |
462 | 24.09.0112:54 | 해킨도전자 | |
546 | 24.08.3115:34 | 머핀X | |
306 | 24.08.2601:42 | 화정큐삼 | |
305 | 24.08.2422:59 | 하나브 | |
318 | 24.08.2316:25 | 화정큐삼 | |
415 | 24.08.1810:56 | CanBe | |
363 | 24.08.1800:04 | 화정큐삼 | |
300 | 24.08.1722:03 | 화정큐삼 | |
201 | 24.08.1710:14 | jbhlyk | |
312 | 24.08.1622:06 | Stultus | |
218 | 24.08.1511:16 | hackillious | |
169 | 24.08.1421:30 | 세유니 | |
419 | 24.08.1419:58 | Stultus | |
377 | 24.08.1311:26 | 오디세이 | |
270 | 24.08.1115:46 | 좌절금지 | |
186 | 24.08.1111:21 | 티타보르 | |
233 | 24.08.1022:46 | Stultus | |
538 | 24.08.1022:10 | 오디세이 | |
168 | 24.08.1019:05 | jbhlyk | |
200 | 24.08.0923:20 | RogerT |
좋은 자료 감사합니다.
모니터가 안나오는 불상사도 겪어보았습니다.
그러나 다행히 모니터가 한개가 더 있어 그것으로 부팅하고 기존 문제된 캑스트를 오리지널로 대체하면 가능했습니다.
저는 리얼맥을 가지고 썬더볼트모니터로 아이맥5k로 적용해본 결과 계속적으로 사용하기에는 무리가 있었습니다.
지원도 되고 리얼맥5k와 뿌려진 것도 똑같은데
패치된 이 부분을 그래픽이 담당해서 리얼맥의 그래픽 점유율이 과도하게 증가된다는 것을 알았습니다.
실사용하기에는 한계를 느낍니다.
하드웨어적으로 가능한 것이 필요하다는 것입니다.
오히려 커스텀맥은 그래픽을 일반적인 일을 하는데 거의 사용하지 않으며 쉽게 설치 및 보수가 가능하므로 사용하실 수 있다는 것입니다.
항상 도움받고 있습니다.