[FAQ] Редактирование DSDT: с чего начать?

Если вы хотите увидеть на нашем сайте ответы на интересующие вас вопросы обо всём, что связано с техникой Apple, операционной системой Mac OS X (и её запуском на PC), пишите нам через форму обратной связи.

К нам поступил следующий вопрос:

Расскажите подробно, с чего
начинать и как правильно редактировать
DSDT под свою материнскую плату.

Здравствуйте!

Как и в других областях знаний, касающихся хакинтоша, в редактировании DSDT нет единого рецепта. Во-первых, вам надо определиться с тем, для чего вам нужна правка DSDT. Она поможет лучше завести материнку, видеокарту, звук и сеть, но лишь в том случае, если драйверы системы хотя бы теоретически поддерживают ваше оборудование. В обратном случае ничего не получится.

Сама правка DSDT идёт по стандартному сценарию:

  • сначала вам нужно извлечь чистую таблицу DSDT. Лучше всего это делать из-под Windows или прямо из BIOS, с помощью поддерживающих такую возможность загрузчиков (например, XPC)
  • затем таблицу DSDT из бинарного формата AML надо декомпилировать в текстовый формат DSL, с которым можно работать в текстовом редакторе. Сделать это можно через Терминал или с помощью удобного редактора DSDTSE
  • затем необходим ряд обязательных правок — в частности, исправление HPET и LPC, а также прописывание процессора (актуально для всех процессоров старше Nehalem — Core 2 Duo, Core 2 Quad и пр.). Это позволит вам использовать встроенное в Mac OS X управление питанием и избавиться от драйверов типа NullCPUPowerManagement.kext
  • затем имеет смысл заниматься правками «по вкусу» — завести видеокарту, звуковую карточку и Ethernet. Содержание этих процедур состоит в том, что вы либо добавляете в DSDT новое устройство с нужными характеристиками, либо дополняете информацию об уже содержащемся там устройстве
  • наконец, в случае избытка свободного времени можно заняться т.н. DSDT-косметикой. Это незначительные правки, направленные на то, чтобы в свойствах компьютера информация о ваших хакинтошных компонентах отображалась должным образом. Практического смысла в этом нет
  • по итогам любой правки DSDT можно обратно скомпилировать код и положить отредактированный файл DSDT.aml в папку загрузчика (у разных версий разных загрузчиков свои требования к местоположению пропатченного файла)

Что касается толковых примеров того, как нужно править DSDT, можем посоветовать вам встроенную в DSDTSE коллекцию твиков — там подробно расписано почти всё, что может потребоваться; или хорошую тему на форуме AppleLife.

P.S. И последнее — скоро правка DSDT может уйти в прошлое. Сегодня финальные этапы тестирования проходит интереснейший патч для хакинтошных загрузчиков, который самостоятельно извлекает, анализирует и патчит DSDT, избавляя вас от необходимости ковыряться в коде вручную. Поэтому, возможно, имеет смысл не забивать голову тоннами информации сомнительной полезности, а просто немного подождать ;)