Что такое dsdt для mac os

Блог об Apple, iДевайсах и ПО для них

Что такое DSDT

DSDT (Different System Description Table) — Таблица, получаемая из BIOS. Она хранит в себе полный перечень всех устройств вашего компьютера и описание их работы.

BIOS есть у каждого компьютера PC, она представляет собой набор программ, которые записаны в микросхеме материнской платы, обеспечивающих загрузку компьютера. Сразу после включения компьютера, производится начальная проверка оборудования и в случае, если при самопроверке выявляются проблемы, об этом, как правило, сообщает динамик компьютера, с помощью специальных сигналов. Если при старте, проблем не выявлено, BIOS, в соответствии с настройками, задает параметры процессора (CPU), контроллера оперативной памяти (ОЗУ), USB и других устройств, после чего ищет на всех доступных носителях (HDD, USB, CD\DVD) загрузчик операционной системы, затем, найдя, передает управление операционной системе вместе со всей информацией об устройствах.

В последствии, Intel разработала улучшенный вариант BIOS и назвала его EFI (Extensible Firmware Interface). В оригинальных компьютерах Mac, используется именно EFI. Mac OS не знает что такое BIOS, по этому, при загрузке, не может получить от него корректную информацию об устройствах компьютера, естественно, при установке Mac OS на PC и после, могут возникать разного рода проблемы при определении оборудования и как следствие, некорректная его работа или полное отсутствие работоспособности некоторых устройств.

Именно по этой причине и необходима таблица DSDT, PC совместимому компьютеру. Для корректной работы оборудования, в случае установки на него Mac OS.

Загрузчик Chameleon, разработанный командой chameleon.osx86.hu, позволяет запускать операционную систему Mac OS на компьютерах PC, базирующихся на BIOS. Проект Chameleon, основан на открытом коде, по этому в настоящий момент, существуют разные его модификации от разных разработчиков. Одна из ключевых особенностей этого загрузчика, заключается в возможности передачи информации об оборудовании компьютера, полученной из DSDT, операционной системе Mac OS, которая воспринимает ее, как полученную от EFI.

Таблицу DSDT, возможно получить, как загрузившись из под Mac OS, так и из под Windows и Linux.

Считается, что Linux, передает информацию в DSDT, наиболее верно, причем без загрузки дополнительного ПО. Впрочем, Windows 7 64 bit, справляется с этим тоже достаточно качественно.

Необходимо понимать, что одного только создания DSDT и передачи его Mac OS, в большинстве случаев недостаточно, для полноценной работы устройств описанных в таблицах. Во первых, потому, что в некоторых случаях, EFI представляет некоторые такие-же устройства немного в другом виде. Во вторых, не на все устройства, которые встречаются на PC, присутствует драйвер (программное расширение ядра, или kext, позволяющее управлять устройством), в оригинальной Mac OS.

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

Читайте также:  Iconpackager для windows 10 64 bit

Что касается второго случая, то на ряд устройств, на которые отсутствует расширения ядра (или kext), существуют решения разработчиков-энтузиастов, которые позволяют запустить то или иное устройство.

Важно понимать, что наличие файла с таблицей DSDT, в целом не обязательно для запуска Mac OS на PC и большинство пользователей обходятся без него, однако его наличие крайне необходимо, для того, чтобы привести работу системы к наиболее оригинальному варианту и заставить полноценно работать все устройства.

Источник

Что такое dsdt для mac os

Работа с DSDT.aml
Извлечение оригинальных файлов | Дизассемблирование ACPI-файлов | Исправление ошибок | Патчинг

Программа для редактирования и патчинга DSDT.aml — MaciASL
Следите за тем какая версия ACPI в редакторе, в версии 1.4 почему то ACPI 4.0 по умолчанию
Программа для компилирования — iASL
Положить на «рабочий стол» скачанный файл(iasl), и в терминале выполнить команду: sudo mv

/Desktop/iasl /usr/local/bin/ что бы переместить файл в /usr/bin

Добавление репозиториев в MaciASL:

  • Открыть MaciASL;
  • Настройки;
  • Выберите “Sources”;
  • Нажмите на [+];
  • Впишите имя репозитория, к примеру «Laptop-DSDT-Patch»;
  • И вставьте ссылку:

Примечание: Не пытайтесь разобрать другие ACPI файлы с помощью флага “-da“.

Method (_CRS, 0, NotSerialized)
<
If (IGDS)
<
Return (CRS)
>

Fix ( depending on the size Tag mismatch: 1 bit = CreateBitField, 8 bits = CreateByteField, 16 bits = CreateWordField, 32 bits = CreateDwordField, 64 bits = CreateQwordField ) :

Удалить Return (RP00)

Путь к патченному файлу DSDT.aml в Clover: EFI/Clover/ACPI/patched/

Сообщение отредактировал WinSSLioN — 06.01.21, 09:43

Мануал по заводу не будешь писать самого инструмента и репозиториев.?

Сообщение отредактировал zander42 — 20.01.20, 06:27

Сообщение отредактировал zander42 — 20.01.20, 12:41

Сразу куча вопросов.
Столкнулся с тем, что разные версии DSDT Editor дают разные данные об ошибка в DSDT, MaciASL вообще третье. Кому верить?

Источник

Установка Mac OS X на PC. Часть 6: DSDT

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

DSDT — сравнительно молодой метод в искусстве хакинтоша: он зародился пару лет назад, и сегодня стал практически незаменимым подспорьем для любого владельца «хака». Тем не менее, многие пользователи, слышавшие о хакинтоше, смутно представляют себе сущность DSDT. Ещё больше заблуждений касаются его возможностей. Сегодня мы рассмотрим случаи, в которых метод DSDT действительно полезен, и ситуации, когда он совершенно бессилен.

Для начала — расшифровка, которая, увы, мало что вам объяснит. DSDT означает Differentiated System Description Table. Эта «дифференцированная таблица описания системы» содержит сведения обо всех ключевых устройствах, из которых состоит компьютер, а также о параметрах и режимах их функционирования.

Зачем это всё нужно на хакинтоше? Не секрет, что Маки и PC устроены по-разному, и сильно отличаются по целому ряду технических параметров. Начать можно с BIOS — на Маках его вообще нет, а в качестве замены выступает EFI. И хотя появление полноценного эмулятора EFI для PC не за горами, пока приходится сглаживать это различие другими способами. Если бы не было DSDT, то для корректной работы целого ряда устройств ПК с драйверами, входящими в состав Mac OS X, потребовались бы значительные усилия: например, пропатчивание BIOS.

DSDT выступает посредником между драйверами и оборудованием, и это своего рода «подкладка» под BIOS. Специальный загрузчик Mac OS X при включении подгружает таблицу DSDT, и система думает, что имеет дело с немного другим BIOS. Файл с таблицей DSDT имеет расширение .aml, и работать с ним могут практически все современные загрузчики для хакинтоша: Chameleon, PC EFI, Boot Think и пр.

Читайте также:  Где находятся файлы линукс

Будем считать всё вышенаписанное небольшим вступлением, и перейдём к практической части в формате FAQ.

В чём преимущества использования DSDT?

В том, что Mac OS X сможет значительно лучше взаимодействовать с рядом устройств, что благополучно скажется на стабильности и производительности системы.

Для чего подойдёт DSDT?

Вот неполный список:

  • видеокарточка сможет работать без каких-либо сторонних кекстов
  • процессор от Intel сможет работать с профилями управления питанием и производительностью Apple (иными словами, не потребуется кекст NullCpuPowerManagement.kext)
  • вы избавитесь от всевозможных проблем с USB
  • выключение и перезагрузка компьютера будут работать без каких-либо дополнительных драйверов
  • значительно повысятся шансы иметь работающий режим сна

Поработав над правкой DSDT, можно добиться поразительных результатов. Например, на компьютере автора установлен только один дополнительный кекст — FakeSMC.kext. Всё остальное — от Apple, и отлично работает.

DSDT — это замена драйверам?

Это самое распространённое заблуждение. Нет. DSDT — не драйвер, это способ указать системным драйверам Apple, как надо работать с вашими устройствами. Таким образом, если какое-нибудь устройство даже чисто теоретически несовместимо ни с одним из кекстов Mac OS X, то никакой DSDT-патчинг делу не поможет.

Но ведь выше написано, что DSDT позволяет сократить количество кекстов! Как же так?

Противоречия нет. DSDT поможет вам избавиться от мусора вроде всяких инжекторов — для звука, графики, твиков для правильного управления питанием и пр. Но настоящие драйверы, через которые идёт работа системы с устройствами, заменить нереально.

А зачем возиться с DSDT, если со «всякими инжекторами» отлично всё работает?

Довода два. Первый — сугубо практический. Чем меньше посторонних кекстов, тем проще будет переустановить систему. Второй — для людей, думающих о будущем. Есть вероятность, то с выходом очередного обновления Mac OS X инжекторы перестанут работать. А вот с DSDT такого не произойдёт — таблица делается раз и навсегда. Подложив один небольшой файлик с ней загрузчику, вы избавите себя от рутины по установке и подстройке многих кекстов.

Неужели DSDT никогда не придётся менять?

Увы, ничто не вечно. Стоит вам заменить процессор, нарастить количество оперативки или прикупить новую видеокарточку, как DSDT утратит актуальность, и его придётся переделать.

Где взять это чудо?

Лучше нигде не брать. Строго говоря, все DSDT-таблицы уникальны. Вы можете извлечь таблицу, актуальную именно для вашего компьютера. Тем не менее, если вам попалась DSDT-таблица от вашей же материнской платы, то можете смело пробовать. Для извлечения DSDT есть целый ряд инструментов, из которого особо выделим DSDTSE.

А как происходит правка?

Для правки полученный файл нужно декомпилировать, переведя его из языка, понятного машинам, в нормальный текст. Затем, по особым принципам правки, этот текст редактируется, туда добавляются куски, удаляется ненужное, и происходит обратный процесс — компиляция.

Пример DSDT-кода

Чем опасны эксперименты с DSDT?

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

Во-вторых, можно доиграться и до аппаратных проблем. Теоретически, отклонения от нужных значений некоторых настроек могут погубить устройства, например, испортить видеокарточку. Поэтому никогда не редактируйте в DSDT то, что не знаете.

Таким образом, DSDT — мощный инструмент, открывающий большие горизонты. Каждый месяц появляются новые открытия, и польза от DSDT только растёт. Постепенно наличие DSDT становится необходимостью: например, без него установка Snow Leopard на PC будет сопряжена с дополнительными проблемами.

Читайте также:  Команда создания текстового файла linux

Источник

Компиляция DSDT

Поговорим о представленных на сайте Custom DSDT. Вот вы нашли от своей материнской платы файл DSDT(dsl) — это по сути текстовый файл, и в таком виде, в жизни вашего хакинтош, он участвует косвенно, до момента, пока с ним не поступят должным образом.

Что же с ним делать, рассмотрим в данной статье, и возможные нюансы.

  • Первое, что понадобится — это компилятор iASL>Скачать\Download (Скачать\Download)
  • Положить на «рабочий стол» скачанный файл(iasl), и в терминале выполнить команду: sudo mv

    Теперь можно компилировать нужный dsl файл, лучше всего показать как это должно выглядеть в терминале:

    Переход в папку Downloads, где лежит Asus P8B75-V.dsl файл, и его компилирование.
    На выходе получаем DSDT.aml

    Для просмотра DSL файла, рекомендуем использовать редактор MaciASL.

    Полученный DSDT.aml должен лежать по пути: EFI\EFI\CLOVER\ACPI\patched\

    Нюансы:

    Когда вы работаете с кастомным DSDT, в конфиге не должно быть никаких патчей и фиксов, всё что нужно, уже присутствует в нашем DSDT.

    Единственный фикс DSDT, который может понадобится — это FixRegions, но во многих представленных DSDT, отсутствует зависимость от адресов OperationRegion.

    Источник

    [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.

    Источник

Оцените статью