- Dsdt aml from windows
- Установка Mac OS X на PC. Часть 6: DSDT
- В чём преимущества использования DSDT?
- Для чего подойдёт DSDT?
- DSDT — это замена драйверам?
- Но ведь выше написано, что DSDT позволяет сократить количество кекстов! Как же так?
- А зачем возиться с DSDT, если со «всякими инжекторами» отлично всё работает?
- Неужели DSDT никогда не придётся менять?
- Где взять это чудо?
- А как происходит правка?
- Чем опасны эксперименты с DSDT?
- # Getting a copy of your DSDT
- # From Windows
- # From Linux
- # From Clover
- # From OpenCore
- # SysReport Quirk
- # UEFI Shell
- Dsdt aml from windows
- Dsdt aml from windows
Dsdt aml from windows
Работа с 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 будет сопряжена с дополнительными проблемами.
# Getting a copy of your DSDT
So to start, we’ll need to get a copy of your DSDT from your firmware. The easiest way is grabbing the DSDT.aml SSDTTime dumped for us earlier but here are some other options:
# From Windows
- Supports both Windows and Linux for DSDT dumping
- 8. Dump DSDT — Automatically dump the system DSDT
- In command prompt run path/to/acpidump.exe -b -n DSDT -z , this will dump your DSDT as a .dat file. Rename this to DSDT.aml
Do note that all ACPI patches from clover/OpenCore will be applied to the DSDT with the above 2 methods
# From Linux
(opens new window)
- Supports both Windows and Linux for DSDT dumping
- 4. Dump DSDT — Automatically dump the system DSDT
# From Clover
For those with Clover installed previously, this is a simple way to get your ACPI tables:
- F4 in Clover Boot menu
- DSDT can be found in EFI/CLOVER/ACPI/origin , the folder must exist before dumping
# From OpenCore
With OpenCore, we have 2 options:
# SysReport Quirk
With OpenCore 0.5.9, we have a new quirk called SysReport which will actually dump your DSDT automatically when hitting the boot screen. The main issues are:
- You already need a bootable OpenCore USB to get this dump
- This also requires a DEBUG version of 0.5.9
For the latter, you just need to replace the following files with DEBUG version
For the former, you can actually skip the ACPI section, return to the OpenCore guide
(opens new window) and finish making the USB. Once booted to the picker, you can shut off the PC and check your USB:
And voila! You have a DSDT! Now you can continue on with making SSDTs
# UEFI Shell
For this, we’ll want to grab acpidump.efi
(opens new window) and add this to EFI/OC/Tools and in your config under Misc -> Tools with the argument: -b -n DSDT -z and select this option in OpenCore’s picker.
If OpenCore is having issues running acpidump.efi from the boot picker, you can call it from the shell with OpenShell
(opens new window) (reminder to add to both EFI/OC/Tools and in your config under Misc -> Tools ):
Dsdt aml from windows
Работа с 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 вообще третье. Кому верить?
Dsdt aml from windows
Работа с 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 вообще третье. Кому верить?