nvmefix kext что это
Nvmefix kext что это
NVMeFix is a set of patches for the Apple NVMe storage driver, IONVMeFamily. Its goal is to improve compatibility with non-Apple SSDs. It may be used both on Apple and non-Apple computers.
The following features are implemented:
Other incompatibilities with third-party SSDs may be addressed provided enough information is submitted to our bugtracker.
Unfortunately, some issues cannot be fixed purely by a kernel-side driver. For example, MacBookPro 11,1 EFI includes an old version of NVMHCI DXE driver that causes a hang when resuming from hibernaton with full disk encryption on.
NVMeFix requires at least Lilu 1.4.1 and at least 10.14 system version. It may be compatible with older systems, but has not been tested.
It may be installed to /Library/Extensions on 10.15 and earlier, or injected by the bootloader on all versions.
-nvmefdbg enables detailed logging for DEBUG build.
-nvmefoff disables the kext.
-nvmefaspm forces ASPM L1 on all the devices. This argument is recommended exclusively for testing purposes, as for daily usage one could inject pci-aspm-default device property with value into the SSD devices and bridge devices they are connected to onboard. Updated values will be visible as pci-aspm-custom in the affected devices.
Some SSDs misbehave when APST is on. NVMeFix attempts to detect broken motherboard and SSD combinations and work around them. Motherboard is detected via IORegistry keys injected by Clover, or NVRAM variables provided by OpenCore.
APST table entries specify minimum idle latency for the transition to occur. Maximum acceptable latency is 100000 microseconds, and may be overriden via little-endian 8-byte property ps-max-latency-us of parent PCI device (e.g. IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP06@1C,5/IOPP/SSD0@0 ). If set to 0, APST will be disabled completely.
RELEASE build will only log high-level information about failures.
DEBUG build will additionally log used power states, detailed error messages, and attempt to fetch APST status and table from the controller.
APST enable status is posted to the IONVMeController IORegistry entry apst key.
If active power management initialisation is successful, an NVMePMProxy entry will be created in the IOPower IORegistry plane with IOPowerManagement dictionary.
IONVMeFamily supports the following debug flag bitfield, which are passed either via nvme bootarg or debug.NVMe sysctl:
IONVMeFamily supports the following additional bootargs:
Кексты для Хакинтош
«кекст» — транскрипция английского сокращения kext от «kernel extension», т.е. расширение ядра. В виде кекстов реализованы практически все драйверы для Mac OS X. При загрузке системы ядро Mac OS подхватывает все кексты из специального кэша, а этот кэш, в свою очередь, периодически создаётся на базе системной папки для расширений ядра. Непонимание механизма работы Mac OS X с кекстами чревато большими проблемами с загрузкой компьютера.
Традиционно ответим на скептический вопрос «зачем это нужно?». Если у вас не хакинтош и если вы не планируете подключать к Маку никакого дополнительного оборудования от посторонних производителей (экзотические сканеры, мыши и клавиатуры, модемы и т.п.) — то действительно незачем.
Есть два способа установки кекстов — ручной и автоматический. Сегодня мы покажем вам автоматический, потому что он гораздо проще, а наша статья адресована и пользователям Маков, и владельцам хакинтошей. А вопросы ручной установки драйверов в систему мы рассмотрим в нашем «хакинтошном» цикле, т.к. это требует некоторых дополнительных знаний от пользователя.
За автоматизацию установки кекстов следует сказать большое спасибо нашему соотечественнику по имени cVad, который создал для хакинтошного сообщества программку Kext Utility. Она умеет абсолютно всё, что связано с кекстами: установку, исправление прав доступа, запаковку кэша. От пользователя потребуется ввести пароль и подождать некоторое время до завершения всех служебных процедур.
При всех этих талантах утилита от cVad имеет только одну кнопку в интерфейсе. Есть несколько способов работы с этой программой:
1) Перетаскивание кекста на значок программы: в этом случае начнётся полный комплекс процедур по установке кекста в систему.
2) Перетаскивание сразу нескольких кекстов на значок программы: утилита установит кексты по очереди.
3) Запуск самой утилиты. В этом случае будет запущена проверка прав доступа к уже установленным кекстам и перестроение кэша.
На этом возможности не заканчиваются, просто остальные функции программы полезны лишь владельцам хакинтошей. О них мы поговорим в соответствующем цикле статей.
По завершении кнопка Cancel изменит своё название на Quit. После перезагрузки все новые устройства, для которых вы установили кексты, должны опознаться системой.
P.S. Небольшое отступление для пользователей Snow Leopard. В новой операционке механизм работы с кекстами осложняется тем, что теперь есть две архитектуры для расширений ядра: 32-разрядная и 64-разрядная. 32-битные кексты ни в какую не захотят работать в 64-битном режиме системы. Помните об этом при загрузке и установке.
ATHEROSL1CETHERNET AR813X, AR815X
Кекст подходит для всех систем, начиная от 10.7 и заканчивая уже любимой 10.10.5. Поддерживаются сетевые карты от Atheros, указанные здесь:
AR8131, AR8132;
AR8151, AR8152;
Обратите внимание, нахождение данного сетевого кекста в папке Clover во время установки может вызвать проблемы.
NULLETHERNET.KEXT (АКТУАЛЬНАЯ ВЕРСИЯ: 2014/R.1016)
Данный кекст предоставляет возможность завести AppStore и iCloud даже без карты Ethernet и Wi-Fi. Достаточно просто установить кекст, и проинжектировать устройство-пустышку в DSDT (патч для этого также лежит в папке), и произвести завод облачных сервисов, будто у нас есть Ethernet, через usb-свистки и прочее оборудование.
Устанавливайте, только если уверенны в его необходимости.
VOODOOPS2CONTROLLER.KEXT (ВЕРСИЯ: 2016/R.0616)
Voodoops2controller – кекст, который заставит работать порты PS2 на компьютере, а так же клавиатуру и тачпад на ноутбуке. Вещь незаменимая, если у вас не ELAN/Synaptic, или же вы просто нуждаетесь в установке – просто закиньте этот текст в SLE или же в “/EFI/CLOVER/kexts/10.x”, и радуйтесь рабочей клавиатурой, мышкой и трекпадом.
Если не закинуть рядом с кекстом VoodooPS2Daemon, в последних версиях из GitHUB паника неизбежна. Т.к. это утилита – ее нужно выполнить из консоли, и убедится, что если у вас версия выше 1.7.4 – что отсутствуют файл
/System/Library/Extensions/AppleACPIPS2Nub.kext
/System/Library/Extensions/ApplePS2Controller.kext
—-
Если версия 1.7.8 и выше – обязателен к установке рядом с кекстом VoodooPS2Daemon, и его выполнении в консоли.
SYNAPTIC TOUCHPAD (ВСЕ ВЕРСИИ)
Данный кекст обеспечит максимальную работоспособность вашего Synaptic-тачпада и клавиатуры.
Схема установки:
Удалить все предыдущие кексты из /S/L/E, /E/C/k/10.x, и из прочих мест, где могут быть кексты;
Скачать нужную ревизию;
Установить с помощью Kext Utility или Kext Wizard (до 10.10.5), или положить в кловер.
Разные кексты под разную аппаратную версию (это можно посмотреть в AIDA64 на Win):
ELAN SMARTTOUCHPAD PS2 (ВСЕ ВЕРСИИ)
Данный кекст обеспечит максимальную работоспособность вашего ELAN-тачпада и клавиатуры.
Схема установки:
Удалить все предыдущие кексты из /S/L/E, /E/C/k/10.x, и из прочих мест, где могут быть кексты;
Скачать нужную ревизию;
Установить с помощью Kext Utility или Kext Wizard (до 10.10.5), или положить в кловер.
Разные кексты под разную аппаратную версию (это можно посмотреть в AIDA64 на Win):
FAKE SMC.KEXT
FakeSMC – кекст, эмулирующий чип System Management Controller, который присутствует только на настоящикх компьютерах от Apple. Этот чип общается с системой с помощью специальных ключей, передавая ей всю информацию о состоянии компьютера (готовность устройств, температура, и т.д.). Без него у вас не запустится система (максимум, что вы получите – белый экран с вечным “пляжным мячиком”.
Этот кекст обязателен для всех хаков. Должен лежать в EFI/CLOVER/kexts/10.x ; но допускается и в SLE.
FakeSMC-2015-1230 (подходит для всех версий Mac OS до 10.12.6 включительно)
FakeSMC-4.2 (для MacOS Sierra 10.13, может поддерживаться не всеми ранними версиями)
[ATHEROS] KILLER ALXETHERNET (AR E2200)
Кекст подходит для всех систем, начиная от 10.6.8 и заканчивая уже любимой 10.11.6. Поддерживаются сетевые карты от Atheros серии Killer.
[ATHEROS] ATHEROS AR81X1, AR81X2 V1.0.2
Кекст подходит для всех систем, начиная от 10.6.8 и заканчивая уже любимой 10.10.5. Поддерживаются сетевые карты от Atheros:
AR8131, AR8132;
AR8141, AR8142;
AR8151, AR8152;
AR8161, AR8162;
AR8171, AR8172.
Обратите внимание, в версиях выше 10.10.5 может вызывать панику ядра.
Рекомендуем те же: Положить кекст в Кловер. Можно установить с помощью Kext Utility или Kext Wizard (до 10.10.5), Перезагрузиться, При отсутствии результата пофиксить права на диске, или же включить Fix_LAN.
GenericUSBXHCI. kext
Кекст, необходимый для завода USB 3.0 на ненативных материнских платах и 99% ноутбуков. Так же исправляет кракозябры в названии при отображении флэшек и внешних жестких дисков в Finder.
Работает во версиях, включая Sierra 10.12.6. В High Sierra не испытывал.
HFSPlus.efi
Ускоряет загрузку загрузчика Clover. В комплекте с официальным Кловером идет драйвер VboxHFS.efi, который лицензионно чистый и понимает линки, но работает медленнее, чем эппловский HFSplus.efi.
VoodooHDA
VoodooHDA.kext – звуковой драйвер, заменяющий оригинальный AppleHDA.kext. Самый простой способ завести звук на хакинтоше.
VoodooHDA-v2.8.2 (В данной версии отлично работает сохранение настроек, чего не скажешь о других версиях)
Актуальная последняя версия кекста на сайте разработчиков sourceforge.net
Список поддерживаемых звуковых карт:
2-х канальные: ALC231, ALC260, ALC262, ALC268, ALC269, ALC272
6-ти канальные: ALC662, ALC663, ALC665
8-ми канальные: ALC1150, ALC861, ALC861-VD-GR, ALC880, ALC882, ALC883, ALC887, ALC888, ALC888T, ALC885, ALC888S, ALC888S-VC, ALC888S-VD, ALC889, ALC892, ALC898
Если у вас не сохраняются настройки VoodooHDA при выходе из системы или после перезагрузки. Рекомендую два варианта:
Перебираем версии пока не добьемся желаемого сохранения и отличного звучания.
Verde.kext
Для владельцев видео карт Radeon потребуется Verde.kext, при установке всех версий выше 10.9.5 без него видео карта не заведется, будете наблюдать черный экран после загрузки системы.
RealtekRTL8111
Поддерживает сетевые карты Realtek RTL8111/8168 B/С/D/Е/F/G.
Рекомендуем установить с помощью Kext Utility. Если положить кекст в Кловер перед установкой, то возможны проблемы при установке Mac OS.
Работает во всех версиях начиная с 10.8 до 10.12.6(Включительно).
ACPIBatteryManager.kext (RehabMan версия: 2016/R0628)
ACPIBatteryManager – кекст для отображения батарейки в системе. Часто зависим от правок в DSDT.
FakePCIID и плагины (RehabMan)
Начиная с Haswell, любое приложение или сервис может проверить PCI-ID, не смотря на то, что было сообщено на этапе инициализации.
FakePCIID перехватывает эти запросы, и возвращает значение, которое мы указали через FakeID в клевере, или другим образом.
Плагины для FakePCIID имеют очень разносторонний функционал, вся работа описана здесь.
ACPIDebug (RehabMan)
Тем, кто знает, что это за кекст, объяснять его работу не нужно.
А тем, кто не знает — он и не нужен.
BrcmPatchRAM (the-darkvoid, RehabMan)
Подгружает прошивку Bluetooth’а для чипов Broadcom.
Kext Lilu и плагины
Lilu (vit9696) — github.com
Патчер кекстов и процессов. Ни на что не влияет сам по себе, действует только с соответствующими плагинами, которые указаны ниже.
Некоторые плагины здесь не указаны, т.к. они выходят часто, и некоторые очень узконаправлены.
Все известные плагины — github.com.
Информация — github.com.
AppleALC (vit9696) — github.com
Кекст для динамического патчинга AppleHDA. Достаточно правильного Layout’а, и звук работает.
Таблица поддерживаемых кодеков и лейаутов — github.com.
Инструкции — github.com
Shiki (vit9696) — github.com;
Патчер пользовательского уровня для DRM-защищённого соединения.
То есть, позволяет воспроизводить фильмы/клипы в iTunes, и подобные операции.
Инструкция — github.com.
WhateverGreen (vit9696) — github.com
CoreDIsplayFixup (PMheart) — github.com
Патчит компонент CoreDisplay, разрешая большие разрешения для Intel HD и Nvidia график.
В момент написания этой страницы мы не имели подтверждения его работоспособности.
Инструкция — github.com.
HibernationFixup (lvs1974) — sourceforge.net
IntelGraphicsDMVTFixup (BarbaraPalvin) — github.com
Патч для изменения необходимого количества выделенной памяти (DMVT) для Intel HD график Broadwell и выше.
Рекомендуется использовать только в случае, если вы не можете изменить свой DMVT.
Также необходимо выключить патчи, которые позволяли это обходить, и пересобрать кэш.
Страница проекта — github.com.
IntelGraphicsFixup (lvs1974) — sourceforge.net
Многогранный патч для Intel HD график Ivy и выше.
Решает разбитие яблока при загрузке, отключает PAVP для Haswell графики, и так далее.
Страница проекта — sourceforge.net.
NvidiaGraphicsFixup (lvs1974) — sourceforge.net
Разрешает использовать Nvidia-графики на SMBios’ах, контролируемых AppleGraphicsDevicePolicy.kext.
Страница проекта — sourceforge.net.
NightShiftUnlocker (Austere-J) — github.com
Разрешает использования NightShift (10.12.4+) на SMBios’ах, которые его не поддерживают (2011 год и ниже).
Страница проекта — github.com.
Звуковые кексты
AppleALC (vit9696) — github.com
Плагин для Lilu, который вынесен выше в отдельную категорию кекстов. Информация о нём там же.
Патченные AppleHDA (Mirone) — osxpc.ru
На данный момент этот способ устарел морально, и все платформы уже присутствуют в AppleALC.
Вряд ли мы будем перерабатывать эту статью. Перейдите либо на AppleALC, либо на VoodooHDA.
VoodooHDA (Voodoo Team) — sourceforge.net
Универсальный драйвер звука. Помогает завести практически любой звук.
Например, HDMI-звук на Nvidia Pascal, или ALC269 без перебора кучи лейаутов.
Помните – вуду даёт отличный звук после отличной настройки!
Инструкция — applelife.ru.
CodecCommander (TimeWalker, RehabMan) — bitbucket.org
Сodec Commander используется в качестве решения, которое позволяет запускать внешний усилитель EAPD на HDA кодеках ноутбуков и некоторых ITX плат. Обычно такие усилители сидят на ноде колонок или наушников. Когда кодек теряет питание, усилитель EAPD тоже теряет питание и включить его обратно без дополнительной помощи невозможно. Также, с помощью hda-verb, можно управлять состоянием нод через терминал или aml-таблицу. Инструкция по настройке будет позже на сайте, включая очень интересные PDFки.
Информация — bitbucket.com.
USBInjectAll (RehabMan)
Для «ленивого» завода USB на 10.11+.
Клавиатура, мышь, тачпад
ApplePS2SmartTouchpad v.4.7 beta5 (EMlyDinEsH) — vk.com
Кекст обновлён под 10.12. Продвинутый драйвер с кучей настроек «под себя».
Поддерживает Synaptics, ELAN, FocalTech тачпады.
Инструкции — osxlatitude.com.
VoodooPS2Controller (RehabMan) — bitbucket.org
Обновлён для 10.12. Поддерживает стационарные PS2-интерфейсы, и все ноутбучные тачпады.
Инструкции — github.com.
VoodooI2C (alexandred) — github.com
Очень сложный в разработке кекст, для новых тачпадов. Вероятность, что он заработает – крайне мала, но попытаться стоит.
Написать разработчику о удачной конфигурации (это очень поможет разработке) — gitter.im.
Проверенные конфигурации — github.com.
Страница проекта — github.com.
Кексты для матриц ноутбука
Эти кексты частично устарели, т.к. в 10.12.4 Apple выкатили обновление, которое убивает их работу.
Они до сих пор работют для систем ниже 10.12.4, поэтому, если у Вас не выходит починить яркость через инжекцию PNLF, стоит попробовать ACPI (100) патч и кекст ACPIBacklight.
ACPIBacklight (RehabMan) — bitbucket.org
Перехватывает на себя управление подсветкой. Заводит подсветку читая инструкции из ACPI, патчи представлены в репозитории RehabMan’а.
Не работает в OS выше 10.12.3.
Информация на bitbucket.
IntelBacklight (RehabMan) — bitbucket.org
Перехватывает на себя управление подсветкой. Делает это очень плавно, и для его работы достаточно фикса на дсдт AddPNLF.
Не работает в OS выше 10.12.3.
Инструкция на bitbucket и на osxpc.
# Fixing Sleep
So to understand how to fix sleep issues in macOS, we need to first look at what contributes to sleep issues most of the time:
The reason for this is when devices get an S3 call(or S0 for wake), the driver needs to power down the devices and put into a low state mode(vice versa when waking). Problems arise when such devices don’t cooperate with the drivers and the main offenders of these issues are:
And there are others that can cause sleep issues that aren’t directly(or obviously) related to PCI/e:
And something many people forget are over and under-clocks:
# Preparations
In macOS:
Before we get in too deep, we’ll want to first ready our system:
This will do 5 things for us:
In your config.plist:
While minimal changes are needed, here are the ones we care about:
In your BIOS:
# Main culprits
# Fixing USB
This is the #1 cause of sleep issues on hacks, mainly because Apple’s drivers are quite bad at guessing ports and the port limit patches have the ill-effect of creating instability.
This guide also includes some other fixes than just mapping:
# Fixing GPUs
With GPUs, it’s fairly easy to know what might be causing issues. This being unsupported GPUs in macOS. By default, any GPU that doesn’t have drivers already provided in the OS will run off very basic drivers known as VESA drivers. These provide minimal display output but also cause a big issue in that macOS doesn’t actually know how to properly interact with these devices. To fix this, well need to either trick macOS into thinking it’s a generic PCIe device(which it can better handle, ideal for desktops) or completely power off the card(on laptops, desktop dGPUs have issues powering down)
Special notes for iGPU users on 10.15.4 and newer:
Special note for 4k Displays with AMD dGPUs:
# Fixing Thunderbolt
Thunderbolt is a very tricky topic in the community, mainly due to the complexity of the situation. You really have just 2 paths to go down if you want Thunderbolt and sleep to work simultaneously:
Note: Thunderbolt can be enabled without extra work if you’re ok without sleep, and vice versa.
# Fixing NICs
NICs(network Interface Controllers) are fairly easy to fix with sleep, it’s mainly the following:
# Fixing NVMe
So macOS can be quite picky when it comes to NVMe drives, and there’s also the issue that Apple’s power management drivers are limited to Apple branded drives only. So the main things to do are:
(opens new window) to allow for proper NVMe power management
And avoid problematic drives, the main culprits:
If you however do have these drives in your system, it’s best to disable them via an SSDT: Disabling desktop dGPUs
# Fixing CPU Power Management
For Intel:
To verify you have working CPU Power Management, see the Fixing Power Management page. And if not, then patch accordingly.
Also note that incorrect frequency vectors can result in wake issues, so either verify you’re using the correct SMBIOS or adjust the frequency vectors of your current SMBIOS with CPUFriend. Tools like one-key-cpufriend
(opens new window) are known for creating bad frequency vectors so be careful with tools not used by Dortania.
A common kernel panic from wake would be:
For AMD:
Fret not, for their is still hope for you as well! AMDRyzenCPUPowerManagement.kext
(opens new window) can add power management to Ryzen based CPUs. Installation and usage is explained on the repo’s README.md
# Other Culprits
# Displays
So display issues are mainly for laptop lid detection, specifically:
The former is quite easy to fix, see here: Backlight PNLF
For the middle, macOS’s lid wake detection can bit a bit broken and you may need to outright disable it:
And set lidwake 1 to re-enable it.
The latter requires a bit more work. What we’ll be doing is trying to nullify semi random key spams that happen on Skylake and newer based HPs though pop up in other OEMs as well. This will also assume that your keyboard is PS2 based and are running VoodooPS2
For 99% of HP users, this will fix the random key spam. If not, see below threads:
# NVRAM
To verify you have working NVRAM, see the Emulated NVRAM page to verify you have working NVRAM. And if not, then patch accordingly.
This is mainly relevant for Intel 300 series motherboards(Z3xx), specifically that there’s 2 issues:
To get around the first issue, see here: Fixing AWAC
For the second one, it’s quite easy to tell you have RTC issues when you either shutdown or restart. Specifically you’ll be greeted with a «BIOS Restarted in Safemode» error. To fix this, we’ll need to prevent macOS from writing to the RTC regions causing these issues. There are a couple fixes:
With some legacy boards, you may actually need to patch your RTC: Z68 RTC
# IRQ Conflicts
IRQ issues usually occur during bootups but some may notice that IRQ calls can break with sleep, this fix is fairly easy:
# Audio
Unmanaged or incorrectly managed audio devices can also cause issues, either disable unused audio devices in your BIOS or verify they’re working correctly here:
# SMBus
Main reason you’d care about SMBus is AppleSMBus can help properly manage both SMBus and PCI devices like with power states. Problem is the kext usually won’t load by itself, so you’ll need to actually create the SSDT-SMBS-MCHC.
See here on more info on how to make it: Fixing SMBus support
The TSC(Time Stamp Counter) is responsible for making sure you’re hardware is running at the correct speed, problem is some firmware(mainly HEDT/Server and Asus Laptops) will not write the TSC to all cores causing issues. To get around this, we have 3 options:
The former 2 are plug n play, while the latter will need some customizations:
OCUpdateTool
Начиная с выхода OpenCore версии 0.7.6, для работы утилиты требуется пароль.
По вопросам получения пароля, обращайтесь к администраторам сайта:
Список изменений:
OpenCore v0.7.6
AppleALC v1.6.7
VirtualSMC v1.2.8
Lilu v1.5.8
«OCUpdateTool» – утилита автоматического обновления загрузчика OpenCore и kext’ов.
✪ Подходит для версии OpenCore 0.5.9 и выше, на текущий момент до release 0.7.6
Обновление модулей загрузчика:
✪ Сравнение новых ключей загрузчика, начиная с версии 0.5.9, с текущим конфигом, и их безопасное добавление в config.plist
✪ Автоматическое сравнение и обновление папки с kext’ами, список обновляемых:
Мы постарались сделать максимально лёгким и безопасным переход вашей версии OpenCore от старых, до недавнего релиза, и обновить всю папку EFI, но от текущих ошибок вашего конфига не застрахованы даже вы сами:)
Проверить config.plist, вы можете native утилитой OpenCore — ocvalidate.
You may also like:
GIGABYTE B460M GAMING HD Hackintosh Build Guide
GIGABYTE B460M DS3H Hackintosh Build Guide
GIGABYTE B460M AORUS PRO Hackintosh Build Guide
GIGABYTE B460M AORUS ELITE Hackintosh Build Guide
2 ответа к “ OCUpdateTool ”
Спасибо прекрасно обновился до Open Core 0.6.5
Добавить комментарий Отменить ответ
“Sense Hack Service”
Сервисная программа включает в себя:
✪ Полную консультацию, ведение и подбор комплектующих для вашего будущего Hackintosh