Поддержка встроенной графики Intel GMA X4500HD / X4500MHD в Mac OS X
Обсуждение перспектив поддержки интегрированного графического ядра Intel GMA X4500HD / X4500MHD (платформа Intel Montevina / чипсет GM45) в Mac OS X по сравнению с проверенной графикой Intel GMA X3100 при выборе ноутбука.
- Основной автор
-
@naquaada
Опубликовано 2008-10-29
- Раздел архива
- Ядро OSx86 10.X и архитектура загрузки
- Охват в архиве
- 266,730 просмотров · 29 отобранных заметок (из 32 исходных сообщений) · 2008-10-29 – 2011-03-13
- Участники обсуждения (20)
- @martin255 (4)@uman (4)@changturkey (2)@Undead Surfer (2)@asert (2)@modemthug (2)@max.1974 (2)@brizzle (2)@naquaada@scififan68@BlackCH@evb60@shanwookie@localparty@sparksthesquid@Sevan+4 more
- Справочник оборудования
- Laptop RAM & SSD Upgrades ↗ SATA III & NVMe SSDs ↗ USB 3.2 Boot Flash Drives ↗
Подскажите, пожалуйста: поддерживается ли сейчас (или будет ли поддерживаться в обозримом будущем) встроенная видеокарта Intel GMA X4500HD в Mac OS X? Я присматриваюсь к двум моделям ноутбуков:
Acer TravelMate 5720-602G16_XPP (notebook sbilliger.de/product_info.php/acer_travelmate_5720602g16_xpp_3gb) и Acer TravelMate 5730-842G25N (notebook sbilliger.de/product_info.php/acer_travelmate_5730842g25n_3072mb).
Главный критерий выбора этих моделей для меня — длительное время автономной работы (до 5 часов от батареи). Проблема в том, что в первой модели установлена графика GMA X3100, которая полноценно поддерживается в OS X, а во второй — более новая GMA X4500HD. Мне совершенно не нужна мощная 3D-графика — ноутбук нужен исключительно для работы с программами и запуска старых игр под DOS или эмулятор Amiga.
Помимо видеоядра и объёма жёсткого диска, ноутбуки отличаются процессорами: в первом стоит Intel Core 2 Duo T7500 (2 × 2,20 ГГц, 4 МБ кэша L2, шина FSB 800 МГц), а во втором — более свежий Intel Core 2 Duo P8400 поколения Montevina (2 × 2,26 ГГц, 3 МБ кэша L2, шина FSB 1066 МГц). Будет ли заметна разница в быстродействии процессоров и что делать с графикой X4500HD?
Полевые заметки и отчёты сообщества
Отобрано 29 технических ответов из 32 исходных сообщений темы
Сильно сомневаюсь, что встроенная графика GMA X4500 когда-либо получит полноценную поддержку в Mac OS X: в новых поколениях ноутбуков Apple полностью перешла на интегрированные чипсеты NVIDIA (GeForce 9400M), поэтому ждать драйверов от самой Apple не приходится.
Эх, а я надеялся, что кто-нибудь из разработчиков сообщества сумеет адаптировать драйвер или хотя бы сделать переключение в родное разрешение экрана (аппаратное ускорение QE/CI мне не так уж важно).
changturkey, если вам нужно только родное разрешение экрана без аппаратного ускорения, то на сегодняшний день уже известны два рабочих решения! Первое заключается в установке загрузчика GRUB с пропатченным модулем 915resolution, который на лету перезаписывает таблицу видеорежимов VBIOS перед передачей управления OS X. А второе, гораздо более простое решение, появилось буквально на этой неделе — модифицированный загрузочный файл boot (Chameleon с интегрированным патчем разрешения, изначально собранный для субноутбука Sony VAIO P). На моём ThinkPad X200s с ним сразу заработало разрешение 1280×800!
Оба способа подробно описаны в профильной ветке на InsanelyMac (первый — начиная с поста №38, второй — с поста №106): http://www.insanelymac.com/forum/index.php?showtopic=12… ↗
А почему бы для выставления нужного разрешения просто не прописать стандартный ключ "Graphics Mode"="ШxВx32" в com.apple.Boot.plist?
Меня эта тема тоже живо интересует, так как скоро мне в руки должен попасть ноутбук с такой графикой. Я нашёл открытую техническую документацию Intel по программированию графических ядер:
intellinu xgraphics.org/documentation.html
Было бы здорово изучить её силами сообщества: главная идея — проверить, может ли чип GMA 4500 работать в режиме обратной совместимости с командами GMA X3100 (или хотя бы GMA 950) путём подмены Device ID через инжектор Natit или строки EFI.
UndeadSurfer, стандартный ключ в com.apple.Boot.plist сам по себе не срабатывает на широкоформатных матрицах ноутбуков потому, что в заводской таблице VESA внутри видео-BIOS чипов Intel прописаны только стандартные разрешения 4:3 (вроде 1024×768 и 1280×1024), а родного широкоформатного режима матрицы (например, 1280×800 или 1366×768) в таблице VESA попросту нет. Именно поэтому загрузчику приходится предварительно патчить таблицу VBIOS в оперативной памяти на этапе загрузки.
uman, судя по спецификациям Intel, внутренняя архитектура X4500 довольно заметно отличается от X3100, но можете заглянуть в эту тему энтузиастов на InsanelyMac: http://www.insanelymac.com/forum/index.php?s=&showt… ↗
@martin255uman, судя по спецификациям Intel, внутренняя архитектура X4500 довольно заметно отличается от X3100... но можете заглянуть в эту тему энтузиастов на InsanelyMac...
Попытка написать драйвер с нуля под OS X обречена на провал, поскольку Apple не публикует закрытые исходные коды и заголовки графической подсистемы IOGraphics / Quartz.
@martin255UndeadSurfer, стандартный ключ в com.apple.Boot.plist сам по себе не срабатывает на широкоформатных матрицах ноутбуков потому, что в заводской таблице VESA внутри видео-BIOS...
Странно, у меня на рабочем настольном ПК с чипсетом G45 разрешение 1280×1024 спокойно выставилось через обычный com.apple.Boot.plist.
UndeadSurfer, всё верно: стандартное мониторное разрешение 1280×1024 (соотношение 5:4) изначально присутствует в таблице режимов VESA внутри BIOS чипсета G45/X4500, а вот широкоформатные ноутбучные разрешения (16:10 и 16:9) — нет.
@martin255uman, судя по спецификациям Intel, внутренняя архитектура X4500 довольно заметно отличается от X3100...
Обращение к Martin и всем владельцам систем с графикой GMA 4500
Я внимательно полистал документацию Intel по серии GMA 4500 и обнаружил, что на уровне базовых регистров у неё сохраняется широкая преемственность с поколением GMA X3100! Поэтому я предлагаю провести практический эксперимент: попробовать привязать штатные кексты AppleIntelGMAX3100 от Leopard к идентификаторам чипов серии 4500.
1. Убедитесь, что в файле AppleIntelGMAX3100.kext/Contents/Info.plist прописана маска:
<key>IOPCIClassMatch</key>
<string>0x03000000&0xff000000</string>
<key>IOPCIMatch</key>
<string>0x00008086&0x0000ffff</string>
(она соответствует любому видеоадаптеру класса 0x03 от производителя Intel 0x8086).
2. Откройте файл AppleIntelGMAX3100FB.kext/Contents/Info.plist, где по умолчанию стоит:
<key>IOPCIClassMatch</key>
<string>0x03000000&0xff000000</string>
<key>IOPCIPrimaryMatch</key>
<string>0x2A028086</string>
3. И замените строку IOPCIPrimaryMatch на список идентификаторов семейства GMA 4500:
<key>IOPCIClassMatch</key>
<string>0x03000000&0xff000000</string>
<key>IOPCIPrimaryMatch</key>
<string>0x2A42 0x2A43 0x2E12 0x2E13 0x2E02 0x2E03 0x2E22 0x2E23 0x2E32 0x2E33</string>
Здесь перечислены Device ID мобильных чипов 4500MHD (2A42, 2A43) и настольных 4500 / X4500 / X4500HD (2E12, 2E13, 2E02, 2E03, 2E22, 2E23, 2E32, 2E33).
4. Перезагрузитесь с флагом -v, откройте программу «Консоль» (Console) и проверьте в «Терминале», загрузился ли кекст:
$> kextstat | grep AppleIntelGMAX3100
Отпишитесь о результатах!
-u
uman, обязательно попробую и отпишусь! Кстати, однажды я уже видел в логах загруженный кекст X3100, когда прописал в SMBIOS профиль от MacBookAir1,1.
Внимание: целевые идентификаторы устройств (Device ID) жёстко зашиты внутри самих исполняемых бинарных файлов этих кекстов, поэтому одной правки Info.plist недостаточно — нужно дополнительно пропатчить бинарники в HEX-редакторе!
@BlackCHВнимание: целевые идентификаторы устройств (Device ID) жёстко зашиты внутри самих исполняемых бинарных файлов этих кекстов, поэтому одной правки Info.plist недостаточно — нужно дополнительно пропатчить бинарники в HEX-редакторе!
Точно! Спасибо за важное уточнение, BlackCH — я проверил бинарник в HEX-редакторе, идентификаторы действительно зашиты внутри кода.
Итак, уточнённая инструкция для тех, кто готов протестировать на железе с GMA 4500:
1. В файле Info.plist внутри AppleIntelGMAX3100FB.kext замените значение 0x2A028086 в ключе:
<key>IOPCIPrimaryMatch</key>
<string>0x2A028086</string>
на полный идентификатор вашей модели GMA 4500:
- 4500MHD: 0x2A428086 или 0x2A438086
- 4500: 0x2E128086 или 0x2E138086
- X4500 и X4500HD: 0x2E028086, 0x2E038086, 0x2E228086, 0x2E238086, 0x2E328086 или 0x2E338086
2. Затем откройте в HEX-редакторе исполняемый файл AppleIntelGMAX3100FB (и аналогично бинарник AppleIntelGMAX3100 во втором кексте) и выполните поиск и замену (с обратным порядком байтов Little Endian):
Найти: 86 80 02 2A
Заменить (на примере 0x2A428086): 86 80 42 2A
Жду ваших отчётов!
-u
@umanПопытка написать драйвер с нуля под OS X обречена на провал, поскольку Apple не публикует закрытые исходные коды...
Мы не пишем 3D-драйвер с нуля, но нам уже удалось запустить модифицированный фреймбуфер с переключением разрешений на лету! Если получится подобрать правильные параметры инжекта, возможно, удастся сдвинуться и дальше.
@Undead SurferСтранно, у меня на рабочем настольном ПК с чипсетом G45 разрешение 1280×1024 спокойно выставилось через обычный com.apple.Boot.plist...
Подтверждаю: на материнской плате Intel DG45ID в системе 10.5.7 я прописал режим через OSx86 Tools и получил стабильные 1280x1024x32@60Hz.
После HEX-патча кекстов X3100 под 0x2A42 экран гаснет
@umanИтак, уточнённая инструкция для тех, кто готов протестировать на железе с GMA 4500: 1. В файле Info.plist внутри AppleIntelGMAX3100FB.kext замените значение 0x2A028086...
uman,
Я тщательно проверил твой метод на своём ноутбуке Dell Latitude E6500 со Snow Leopard 10.6.2 и графикой Intel GMA X4500MHD (Vendor ID 0x8086, Device ID 0x2a42). Я прописал в Info.plist обоих кекстов (AppleIntelGMAX3100.kext и AppleIntelGMAX3100FB.kext):
<key>IOPCIPrimaryMatch</key>
<string>0x2A428086</string>
и с помощью HEX-редактора Hex Fiend заменил в обоих бинарных файлах все вхождения 86 80 02 2A на:
86 80 42 2A
Подтверждаю, что при загрузке система действительно подхватывает модифицированные кексты: сначала ненадолго появляется серое яблоко, а затем в момент инициализации фреймбуфера экран полностью гаснет (становится чёрным), хотя сама ОС на фоне продолжает работать. Пробовал также менять только первое вхождение байтов — результат тот же (чёрный экран). Без этих кекстов система грузится в 1024×768 (либо в 1600×1200 при указании флага "Graphics Mode"="1920x1200x32", хотя родное разрешение моей матрицы — 1920×1200). Есть идеи, что ещё можно подкрутить?
Готов заплатить вознаграждение $200.00 (через PayPal или переводом) тому разработчику, который сделает рабочий патч с поддержкой аппаратного ускорения QE/CI для мобильной графики Intel GMA 4500MHD в Snow Leopard 10.6.2 (для ноутбука Dell Inspiron 1545). Жду серьёзных предложений в этой ветке!
Для тех, кому нужно хотя бы родное широкоформатное разрешение экрана на GMA 4500 без растянутой картинки: прикладываю архив с модифицированным загрузчиком Chameleon RC4 (с интегрированным патчем VBIOS 915resolution). Просто удалите любые экспериментальные кексты от 3100, замените файл boot и пропишите родное разрешение матрицы в com.apple.Boot.plist — отлично работает и в 10.5.x, и в 10.6.x!
Перепробовал уже все модифицированные варианты фреймбуфера с InsanelyMac для своей карты Intel GMA 4500MHD (0x2a42) на ноутбуке с 17-дюймовым экраном: с ними выставляется родное разрешение, но изображение на экране покрывается полосами и сильным фиолетовым оттенком. Кто-нибудь знает, как убрать это искажение цветов?
Кажется, я нашёл кексты Intel HD из обновления для новых MacBook Pro!
Привет всем! У меня самого настоящий iMac и MacBook Pro, но я прочитал, что в новых моделях MacBook Pro (2010 года на процессорах Core i5/i7 Arrandale) появилась встроенная графика Intel HD Graphics! Я скачал свежее системное обновление для этих MacBook Pro с сайта Apple, распаковал архив через утилиту XAR и вытащил оттуда новые графические кексты Intel HD. Проверьте, пожалуйста, вдруг они подойдут или помогут завести GMA 4500:
rapid share.com/files/377968637/Intel_HD_kexts.zip.html
Залил эти кексты на нормальный файлообменник без лимита на 10 скачиваний:
media fire.com/?jjmtwijjo5i
К сожалению, эти кексты из обновления MacBook Pro 2010 предназначены для нового графического ядра Intel HD Graphics (Ironlake, встроенного непосредственно в процессоры первого поколения Core i5/i7) и требуют соответствующего нового ядра и фреймворков OpenGL.
Собираюсь снова попробовать поставить Mac OS X на свой субноутбук Lenovo IdeaPad U350 — в прошлый раз так и не смог выставить на нём родное разрешение 1366×768.
Установил сборку Kalyway 10.5.2 на ноутбук, но разрешение экрана застряло на 1024×768. Подскажите самый простой для новичка способ переключить разрешение на родные 1366×768!
Сбор средств на разработку драйвера GMA 4500
Поддерживаю идею с премией разработчику! Думаю, по всему миру легко наберётся полсотни владельцев ноутбуков с графикой Intel GMA 4500MHD, готовых скинуться долларами и проспонсировать создание полноценного драйвера с аппаратным ускорением QE/CI. Отзовитесь, опытные программисты!
Кексты для GMA 4500 не работают
Увы, чуда не произошло... Я тоже готов перевести 100 долларов США по PayPal тому разработчику, который заставит эту чёртову карту GMA 4500 работать с ускорением!
Решение для разрешения 720p на GMA 4500
На сайте kexts.com в разделе видеокарт Intel выложен пакет модифицированного фреймбуфера AppleIntelGMAX3100FB.kext, адаптированный под GMA 4500MHD — аппаратного ускорения он не даёт, но позволяет выставить родное широкоформатное разрешение 1280×720 / 1366×768 вместо 800×600.
Драйвер фреймбуфера для GMA 4500MHD
Ищите на kexts.com архив с названием 4500mhd kexts __ apple 3100 fb — с ним работает широкоформатное разрешение 720p.
Скиньте, пожалуйста, прямую ссылку для остальных участников темы (хотя если этот кекст даёт только нативное разрешение без QE/CI, то это уже давно решается загрузчиком Chameleon с патчем 915resolution)...
Источники и реестр соавторов (указано участников: 20 · Тема #1521)
| Участник | Роль в досье | Сообщений | Период активности |
|---|---|---|---|
| @martin255 | Ключевой участник | 4 | 2009-06-18 → 2009-06-30 |
| @uman | Ключевой участник | 4 | 2009-06-24 → 2009-07-01 |
| @changturkey | Участник | 2 | 2008-12-08 |
| @Undead Surfer | Участник | 2 | 2009-06-24 → 2009-06-25 |
| @asert | Участник | 2 | 2010-02-04 → 2010-02-09 |
| @modemthug | Участник | 2 | 2010-04-20 |
| @max.1974 | Участник | 2 | 2011-01-09 → 2011-03-13 |
| @brizzle | Участник | 2 | 2011-03-13 |
| @naquaada | Основной автор | 1 | 2008-10-29 |
| @scififan68 | Участник | 1 | 2008-12-08 |
| @BlackCH | Участник | 1 | 2009-06-30 |
| @evb60 | Участник | 1 | 2009-07-06 |
| @shanwookie | Участник | 1 | 2009-07-14 |
| @localparty | Участник | 1 | 2010-01-23 |
| @sparksthesquid | Участник | 1 | 2010-02-08 |
| @Sevan | Участник | 1 | 2010-02-14 |
| @JaS | Участник | 1 | 2010-04-20 |
| @pflaume | Участник | 1 | 2010-05-13 |
| @danhtho | Участник | 1 | 2010-06-15 |
| @mesco64 | Участник | 1 | 2010-11-09 |