From 40bcb25765c9ca61abb7ba7fc0ca6dd53f0c4162 Mon Sep 17 00:00:00 2001 From: khronokernel Date: Tue, 4 Feb 2020 14:11:00 -0700 Subject: [PATCH] Import --- .travis.yml | 22 ++++++ Desktops/desktop-ec.md | 85 +++++++++++++++++++++ Laptops/laptop-ec.md | 55 +++++++++++++ Manual/compile.md | 27 +++++++ Manual/dump.md | 32 ++++++++ README.md | 30 ++++++++ SUMMARY.md | 30 ++++++++ Universal/awac.md | 15 ++++ Universal/irq.md | 1 + Universal/nvram.md | 7 ++ Universal/plug.md | 19 +++++ Universal/spoof.md | 12 +++ book.json | 34 +++++++++ icons/.DS_Store | Bin 0 -> 6148 bytes icons/apple-touch-icon-precomposed-152.png | Bin 0 -> 5014 bytes icons/favicon.ico | Bin 0 -> 3606 bytes ssdt-easy.md | 48 ++++++++++++ styles/website.css | 74 ++++++++++++++++++ 18 files changed, 491 insertions(+) create mode 100644 .travis.yml create mode 100644 Desktops/desktop-ec.md create mode 100644 Laptops/laptop-ec.md create mode 100644 Manual/compile.md create mode 100644 Manual/dump.md create mode 100644 README.md create mode 100644 SUMMARY.md create mode 100644 Universal/awac.md create mode 100644 Universal/irq.md create mode 100644 Universal/nvram.md create mode 100644 Universal/plug.md create mode 100644 Universal/spoof.md create mode 100644 book.json create mode 100644 icons/.DS_Store create mode 100644 icons/apple-touch-icon-precomposed-152.png create mode 100644 icons/favicon.ico create mode 100644 ssdt-easy.md create mode 100644 styles/website.css diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..daf0e9e --- /dev/null +++ b/.travis.yml @@ -0,0 +1,22 @@ +language: node_js +node_js: node +before_script: +- npm install -g gitbook-cli +script: +- gitbook install +- gitbook build +- cp icons/* _book/gitbook/images +deploy: + local_dir: _book + provider: pages + skip_cleanup: true + name: Travis Build Bot + fqdn: + keep_history: true + on: + branch: master + target_branch: gh-pages + # committer_from_gh: true + # allow_empty_commit: true + github_token: + secure: IlW4/OKOtzB3pXWmCj8286X05hT3Qmlt4gb8yFo59BsS6cj2s5z4fHdpaxiGmsu1dtfhQnnphb0xdHXvvkDahs5FNkICwmFJezFjiP21Cbadf0LPvhyADQHTVw5SlP9ofI0l+t6+y/vHPpsrF0tEXMutcSeRfbphWcLAkZDEkfu6X8PE5yNfUJxhfF/ULEWiXcJFv69Oac4U5mGOZDgHAZGNRiVN6NPajknA/dYCubsBfAIi6hAuX7HKaILbacNkz3XHUaKqgwh8MPdRITzuaiPeU7w5T0RKHHZ5wgkbe5cvoEDSrnsuBCeJaCUjaBJZZYMG25yCV/AxZcDMlz9YE4HUXNWp1vgjZKd6KE+lk9xA11MGqu7Mt23+0jkhkYgqNCWX/9tN5v/DXQ3D2zkmniwzb6iWk2Ui2CtDKIYZdUQupq0hqSvuwWWw4yXjAZau4EF8zG65lroVTpPfQZwxkiooHh8XnCJGxwu9H99iU8EPjxeG2l72jceqQtbkFaotEbdmdTENC5IE4slW+5j4oSWCoGwtmOu4aW+3Ofsxw1t/ryftDIe6kxO1QTIQ4DFw9oE0peEPTrP5mD6I7RsihyBL69/co6VE1ciUCaukrCfGpnrPJOGB88xFUg2kUF4AFLmnlu6jOAtMjGGcux4t+Tje8GpSYqgv8bTc/2WA8Uo= diff --git a/Desktops/desktop-ec.md b/Desktops/desktop-ec.md new file mode 100644 index 0000000..830d134 --- /dev/null +++ b/Desktops/desktop-ec.md @@ -0,0 +1,85 @@ + +# Fixing Embedded Controller (Desktop) + +This one's fairly easy to figure out, open your decompiled DSDT and search for `PNP0C09`. This should give you a result like this: + +![](https://i.imgur.com/lQ4kpb9.png) + +As you can see our `PNP0C09` is found within the `Device (EC0)` meaning this is the device we want to hide from macOS(others may find ). Now grab our SSDT-EC and uncomment the EC0 function(remove the `/*` and `*/` around it): + +* [SSDT-EC-USBX](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-EC-USBX.dsl) + * For Skylake+ and all AMD systems +* [SSDT-EC](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-EC.dsl) + * For Haswell and older + +```text +/* <- REMOVE THIS +External (_SB_.PCI0.LPCB.EC0, DeviceObj) + + Scope (\_SB.PCI0.LPCB.EC0) + { + Method (_STA, 0, NotSerialized) // _STA: Status + { + If (_OSI ("Darwin")) + { + Return (0) + } + Else + { + Return (0x0F) + } + } +} +*/ <- REMOVE THIS +``` + +But looking back at the screenshot above we notice something, our ACPI path is different: `PC00.LPC0` vs `PCI0.LPCB`. This is very important especially when you're dealing with Intel consumer vs Intel HEDT and AMD, `PC00.LPC0` is common on Intel HEDT while `PCI0.SBRG` is common on AMD. And they even come with name variation such as `EC0`, `H_EC`, `PGEC` and `ECDV`, so there can't be a one size fits all SSDT, **always verify your path and device**. + +And make sure to scroll to the bottom as the new Fake EC function also need the correct path to replace the old EC. **Do not rename the EC device itself**, this is our fake EC we're using for macOS to play with. Just change the path! + +> What happens if multiple `PNP0C09` show up + +When this happens you need to figure out which is the main and which is not, it's fairly easy to figure out. Check each controller for the following properties: + +* `_HID` +* `_CRS` +* `_GPE` + +> What happens if no `PNP0C09` show up? + +This means your SSDT can be *almost* complied, the main thing to watch for is whether your DSDT uses `PCI0.LPCB` or not. The reason being is that we have a FakeEC at the bottom of our SSDT that needs to connect properly into our DSDT. Gernally AMD uses `SBRG` while Intel HEDT use `LPC0`, **verify which show up in your DSDT**. + +You can check by just searching for `Name (_ADR, 0x001F0000)`(this only works for Intel, AMD users should assume `SBRG`). This address is used for Low Pin Count devices(LPC) but the device name can vary between `LPCB`, `LBC` or `LBC0`. Just search each one in your config and which ever shows up is the one your system uses + +![](https://cdn.discordapp.com/attachments/456913818467958789/670148514197667840/Screen_Shot_2020-01-23_at_11.08.30_PM.png) + + +Once you find out, change `PCI0.LPCB` to your correct path: + +```text +Scope (\_SB.PCI0.LPCB) +{ + Device (EC) + { + Name (_HID, "ACID0001") // _HID: Hardware ID + Method (_STA, 0, NotSerialized) // _STA: Status + { + If (_OSI ("Darwin")) + { + Return (0x0F) + } + Else + { + Return (Zero) + } + } + } +} +``` + + +> Hey what about USBX? Do I need to do anything? + +USBX is universal across all systems, it just creates a USBX device that forces USB power properties. This is crucial for fixing Mics, DACs, Webcams, Bluetooth Dongles and other high power draw devices. This is not mandatory to boot but should be added in post-install if not before. Note that USBX is only used on skylake+ systems, Broadwell and older can ignore and that USBX requires a patched EC to function correctly + +For those who want a deeper dive into the EC issue: [What's new in macOS Catalina](https://www.reddit.com/r/hackintosh/comments/den28t/whats_new_in_macos_catalina/) diff --git a/Laptops/laptop-ec.md b/Laptops/laptop-ec.md new file mode 100644 index 0000000..995376b --- /dev/null +++ b/Laptops/laptop-ec.md @@ -0,0 +1,55 @@ +# Fixing Embedded Controller (Laptop) + +This one's fairly easy to figure out, open your decompiled DSDT and search for `PNP0C09`. This should give you a result like this: + +![](https://i.imgur.com/lQ4kpb9.png) + +As you can see our `PNP0C09` is found within the `Device (EC0)` meaning this is the device we want to rename. + +> What happens if multiple `PNP0C09` show up + +When this happens you need to figure out which is the main and which is not, it's fairly easy to figure out. Check each controller for the following properties: + +* `_HID` +* `_CRS` +* `_GPE` + +Note that only the main EC needs renaming, if you only have one `PNP0C09` then it is automatically your main regardless of properties. + + +# Applying your EC patch + +As you can see from the table below, we'll be renaming our EC listed in the DSDT. Do note you cannot just throw random renames without checking first, as this can cause actual damage to your laptop. + +|Comment|Find\*\[HEX\]|Replace\[HEX\]| +|:-|:-|:-| +|change EC0 to EC|4543305f|45435f5f| +|change H\_EC to EC|485f4543|45435f5f| +|change ECDV to EC|45434456|45435f5f| +|change PGEC to EC|50474543|45435f5f| + + +## Clover users: + +| Comment | String | Change XXXX to EC | +| :--- | :--- | :--- | +| Disabled | Boolean | No | +| Find | Data | xxxxxxxx | +| Replace | Data | xxxxxxxx | + +![](https://cdn.discordapp.com/attachments/302485086060937219/668662065665409024/Screen_Shot_2020-01-19_at_8.44.00_PM.png) + +![](https://cdn.discordapp.com/attachments/456913818467958789/668666485463318558/Screen_Shot_2020-01-19_at_9.01.20_PM.png) + +## Opencore users: + +| Comment | String | Change XXXX to EC | +| :--- | :--- | :--- | +| Enabled | String | YES | +| Count | Number | 0 | +| Limit | Nuber | 0 | +| Find | Data | xxxxxxxx | +| Replace | Data | xxxxxxxx | + +![](https://cdn.discordapp.com/attachments/456913818467958789/668667268254793728/Screen_Shot_2020-01-19_at_9.04.50_PM.png) + diff --git a/Manual/compile.md b/Manual/compile.md new file mode 100644 index 0000000..11b85c6 --- /dev/null +++ b/Manual/compile.md @@ -0,0 +1,27 @@ +# Compiling and decompiling ACPI Tables + +## macOS + +So compiling DSDTs and SSDTs are quite easy with macOS, all you need is [MaciASL](https://github.com/acidanthera/MaciASL). To compile, just File -> SaveAs -> ACPI Machine Language Binary\(.AML\), decompiling is just opening the file in MaciASL. + +## Windows + +Compiling and decompiling on windows is fairly simple though, you will need [iasl.exe](https://acpica.org/sites/acpica/files/iasl-win-20180105.zip) and Command Prompt: + +```text +path/to/iasl.exe path/to/DSDT.aml +``` + +![](https://i.imgur.com/IY7HMof.png) + +If compiled .aml file is provided, a decompiled .dsl file will be given and vice versa. + +## Linux + +Compiling and decompiling with Linux is just as simple, you will need a special copy of [iasl](http://amdosx.kellynet.nl/iasl.zip) and terminal: + +```text +path/to/iasl path/to/DSDT.aml +``` + +If compiled .aml file is provided, a decompiled .dsl file will be given and vice versa. diff --git a/Manual/dump.md b/Manual/dump.md new file mode 100644 index 0000000..174655f --- /dev/null +++ b/Manual/dump.md @@ -0,0 +1,32 @@ +# Getting a copy of our DSDT + +So to start, we'll need to get a copy of your DSDT from your firmware. There's a couple of options: + +* [MaciASL](https://github.com/acidanthera/MaciASL/releases) + * Open the app on the target machine(must already be running macOS) and the system's DSDT will show, then File -> SaveAs `System DSDT`. Make sure the file format is ACPI Machine Language Binary(.AML), this will require the machine to be running macOS + * Do note that all ACPI patches from clover/OpenCore will be applied to the DSDT +* [SSDTTime](https://github.com/corpnewt/SSDTTime) + * Supports both Windows and Linux for DSDT dumping + * Option 4 to dump +* [acpidump.exe](https://acpica.org/sites/acpica/files/iasl-win-20180105.zip) + * 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 +* F4 in Clover Boot menu + * DSDT can be found in `EFI/CLOVER/ACPI/origin`, the folder **must** exist before dumping +* [`acpidump.efi`](https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/tree/master/extra-files/acpidump.efi.zip) + * 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. Rename the DSDT.dat to DSDT.aml. Tool is provided by [acpica](https://github.com/acpica/acpica/tree/master/source/tools/acpidump) + +If OpenCore is having issues running acpidump, you can call it from the shell with [OpenCoreShell](https://github.com/acidanthera/OpenCoreShell/releases)(reminder to add to both `EFI/OC/Tools` and in your config under `Misc -> Tools` ): + +```text +shell> fs0: // replace with proper drive + +fs0:\> dir // to verify this is the right directory + +Directory of fs0:\ + +01/01/01 3:30p EFI + +fs0:\> cd EFI\OC\Tools // note that it's with forward slashes + +fs0:\EFI\OC\Tools> acpidump.efi -b -n DSDT -z +``` diff --git a/README.md b/README.md new file mode 100644 index 0000000..0ca9272 --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# Getting started with ACPI + +Last edited: January 30, 2020 + +## A quick explainer on ACPI and how to make SSDTs + +So what are DSDTs and SSDTs? Well, these are tables present in your firmware that outline hardware devices like USB controllers, CPU threads, embedded controllers, system clocks and such. A DSDT(Differentiated System Description Table) can be seen as the body holding most of the info with smaller bits of info being passed by the SSDT(Secondary System Description Table) + +> So why do we care about these tables? + +macOS can be very picky about the devices present in the DSDT and so our job is to correct it. The main devices that need to be corrected for macOS to work properly: + +* Embedded controllers(EC) + * All semi-modern intel machines have an EC exposed in their DSDT, with many AMD systems also having it exposed. These controllers are not compatible with macOS so then need to be hidden from macOS and replaced with a dummy EC when running macOS Catalina +* Plugin type + * This is used to enable native CPU power management on **Intel** Haswell and newer CPUs, the SSDT will connect to the first thread of the CPU. Not meant for AMD +* AWAC system clock. + * This applies to all 300 series motherboards including Z370 boards, the specific issue is that newer boards ship with AWAC clock enabled. This is a problem because macOS cannot communicate with AWAC clocks, so this requires us to either force on the Legacy RTC clock or if unavailable create a fake one for macOS to play with +* NVRAM SSDT + * True 300 series motherboards(non-Z370) don't declare the FW chip as MMIO in ACPI and so XNU ignores the MMIO region declared by the UEFI memory map. This SSDT brings back NVRAM support and uses the scope `PCI0.LPCB`, so some users may need to adjust +* GPIO SSDT + * Used for creating a stub to allow VoodooI2C to connect onto, for laptops only +* XOSI SSDT +* Used for rerouting OSI calls to this SSDT, mainly used for tricking our hardware into thinking its booting Windows so we get better trackpad support. For laptops only +* IRQ SSDT and ACPI patch + * Needed for fixing IRQ conflicts within the DSDT, for laptops only + +## What SSDTs do each platform need + +Please see the **specific ACPI section of your config.plist**, all SSDTs needed are covered there with a breif explainer. diff --git a/SUMMARY.md b/SUMMARY.md new file mode 100644 index 0000000..b8141fc --- /dev/null +++ b/SUMMARY.md @@ -0,0 +1,30 @@ +# Table of contents + +* [Getting Started With ACPI](README.md) +* [SSDTs: Easy Way](ssdt-easy.md) +* [SSDTs: Long Way]() + +## Manual +* [Dumping the DSDT](/Manual/dump.md) +* [Decompiling and Compiling](/Manual/compile.md) + +## Desktop + +* [Embedded Controllers](/Desktops/desktop-ec.md) + +## Laptop + +* [Embedded Controllers](/Laptops/laptop-ec.md) +* [Backlight PNLF](/Laptops/backlight.md) +* [Trackpad GPIO](/Laptops/trackpad.md) + +## Universal + +* [Plugin type](/Universal/plug.md) +* [AWAC vs RTC](/Universal/awac.md) +* [NVRAM PMC](/Universal/nvram.md) + + +## Cleanup + + diff --git a/Universal/awac.md b/Universal/awac.md new file mode 100644 index 0000000..ee296d5 --- /dev/null +++ b/Universal/awac.md @@ -0,0 +1,15 @@ +# Fixing System Clocks + +What the [SSDT-AWAC](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-AWAC.dsl) will do is force enable the Legacy RTC device in macOS, the reason we want to do this is that macOS currently does not support AWAC as a system clock. In some rare cases, there is no Legacy RTC device to force enable so we'll need to create a fake RTC device for macOS to play with using [SSDT-RTC0](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-RTC0.dsl) + +To determine whether you need [SSDT-AWAC](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-AWAC.dsl) or [SSDT-RTC0](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-RTC0.dsl), open your decompiled DSDT and search for `Device (AWAC)`. If you get a result then you have an `AWAC` system clock present, **if nothing shows then no need to continue and no need for this SSDT**. Otherwise, continue with the next search for `STAS ==`: + +![](https://i.imgur.com/uuUF857.png) + +As you can see we found the `STAS ==` in our DSDT, this means we're able to force enable our Legacy RTC. In this case, [SSDT-AWAC](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-AWAC.dsl) will be used As-Is with no modifications required. Just need to compile. + +For systems where no `STAS` shows up but you do have `AWAC`, you can use [SSDT-RTC0](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-RTC0.dsl) though you will need to check whether your DSDT uses `LPCB`, `LBC` or `LBC0`. + +By default it uses `LPCB`, you can check by just searching for `Name (_ADR, 0x001F0000)`. This address is used for Low Pin Count devices(LPC) but the device name can vary between `LPCB`, `LBC` or `LBC0`. Just search each one in your config and which ever shows up is the one your system uses + +![](https://cdn.discordapp.com/attachments/456913818467958789/670148514197667840/Screen_Shot_2020-01-23_at_11.08.30_PM.png) diff --git a/Universal/irq.md b/Universal/irq.md new file mode 100644 index 0000000..a694095 --- /dev/null +++ b/Universal/irq.md @@ -0,0 +1 @@ +# Fixing IRQ Conflicts diff --git a/Universal/nvram.md b/Universal/nvram.md new file mode 100644 index 0000000..52f4090 --- /dev/null +++ b/Universal/nvram.md @@ -0,0 +1,7 @@ +# Fixing NVRAM + +**This is required for all B360, B365, H310, H370, Z390 motherboards** + +This SSDT brings back NVRAM support and uses the scope `PCI0.LPCB` to check what scope your system has, search your DSDT for `Name (_ADR, 0x001F0000)`. This address is used for Low Pin Count devices(LPC) but the device name can vary(quite rarely in reality, almost all consumer intel boards use `LPCB`) + +![](https://cdn.discordapp.com/attachments/456913818467958789/670148514197667840/Screen_Shot_2020-01-23_at_11.08.30_PM.png) diff --git a/Universal/plug.md b/Universal/plug.md new file mode 100644 index 0000000..5473aa8 --- /dev/null +++ b/Universal/plug.md @@ -0,0 +1,19 @@ +# Fixing Power Management + +**Intel CPUs only** + +CPU naming is fairly easy to figure out as well, open your decompiled DSDT and search for `Processor`. This should give you a result like this: + +![](https://i.imgur.com/U3xffjU.png) + +As we can see, the first processor in our list is `PR00`. This is what we'll be applying the `plugin-type=1` property too. Now grab [SSDT-PLUG](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PLUG.dsl) and replace the default `CPU0` with our `PR00`. Note that there are 2 mentions of `CPU0` in the SSDT. + +There are also some edge cases with `Processor`, specifically on HEDT series like X79, X99 and X299. This edge case is that the ACPI path is much longer and not so obvious: + +![](https://i.imgur.com/HzOmbx2.png) + +If we then search for instances of `CP00` we find that it's ACPI path is `SB.SCK0.CP00`: + +![](https://i.imgur.com/CtL6Csn.png) + +So for this X299 board, we'd change `\_PR.CPU0` with `\_SB.SCK0.CP00` and `External (_PR_.CPU0, ProcessorObj)` with `External (_SB_.SCK0.CP00, ProcessorObj)` diff --git a/Universal/spoof.md b/Universal/spoof.md new file mode 100644 index 0000000..c0219f0 --- /dev/null +++ b/Universal/spoof.md @@ -0,0 +1,12 @@ +# Renaming GPUs + +So this is mainly needed for GPUs that are not natively supported OOB due to their names, most commonly: + +* R9 390 +* R9 290/390 +* R9 280/380 +* R7 270/370 +* R9 260/360 +* R7 250X +* R7 250 +* R7 240 diff --git a/book.json b/book.json new file mode 100644 index 0000000..4fe656b --- /dev/null +++ b/book.json @@ -0,0 +1,34 @@ +{ + "plugins": ["theme-default", "-lunr", "-search", "search-plus", "addcssjs", "favicon-plus"], + "pluginsConfig": { + "fontsettings": { + "theme": "night", + "family": "sans" + }, + "favicon": "/icons/favicon.ico", + "appleTouchIconPrecomposed152": "/icons/appleTouchIconPrecomposed152.png", + "output": "_book" + }, + "links": { + "sharing": { + "google": false, + "facebook": false, + "twitter": false, + "weibo": false, + "all": false + } + }, + "pdf": { + "pageNumbers": false, + "fontSize": 12, + "paperSize": "a4", + "margin": { + "right": 62, + "left": 62, + "top": 36, + "bottom": 36 + }, + "headerTemplate": null, + "footerTemplate": null + } +} diff --git a/icons/.DS_Store b/icons/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 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 literal 0 HcmV?d00001 diff --git a/icons/favicon.ico b/icons/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d61f5ba2eb8bc1cfbac8ec228216c718498c20cb GIT binary patch literal 3606 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 What about USBX? + +For Skylake+ and AMD, you can grab a prebuilt file here: [SSDT-USBX.aml](https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/blob/master/extra-files/SSDT-USBX.aml). This file is plug and play and requires no device configuration, **do not use on Haswell and older**. + +**Troubleshooting note**: See [General Troubleshooting](/troubleshooting/troubleshooting).md if you're having issues running SSDTTime + +## Adding to OpenCore + +Don't forget that SSDTs need to be added to Opencore, eminder that .aml is complied, .dsl is code. **Add only the .aml file**: +* EFI/OC/ACPI +* config.plist -> ACPI -> Add + +Reminder that Cmd/Crtl+R with ProperTree pointed at your OC folder will add all your SSDTs, kexts and .efi drivers to the config for you. Do not add your DSDT to OpenCore, its already in your firmware diff --git a/styles/website.css b/styles/website.css new file mode 100644 index 0000000..4405c33 --- /dev/null +++ b/styles/website.css @@ -0,0 +1,74 @@ +/* +.book-body { + background: #220036; +} + +.markdown-section { + color: #17154D; +} +*/ + +/* .color-theme-2 #book-search-input { + color: #f4f4f5; + background-color: #252737; +} + +.color-theme-2 .search-results-item { + color: #bdcadb !important; +} */ + +@import url('https://fonts.googleapis.com/css?family=Anonymous+Pro|Roboto&display=swap'); + +.color-theme-2 .dropdown-menu { + background-color: #222225; +} + +.color-theme-2 .dropdown-menu .dropdown-caret .caret-inner { + border-bottom: 9px solid #222225; +} + +.book.color-theme-2 .book-body { + color: #ccc; + background: #151519; +} + +.book.color-theme-2 .book-body .page-wrapper .page-inner section { + background: #151519; +} + +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal { + color: #ccc; +} + +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code { + background: #222225; + border-color: #222225; +} + +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr { + background-color: #222225; +} + +.book.color-theme-2 .book-header h1 { + color: #ccc; +} + +.book.color-theme-2 .book-summary { + background: #222225; +} + +.book.font-family-1, .book.font-family-1 .book-summary { + font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "Roboto", Helvetica, Arial, sans-serif; +} + +.book.font-family-1 h1, .book.font-family-1 h2, .book.font-family-1 h3 { + font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", "Roboto", Helvetica, Arial, sans-serif; +} + +.markdown-section code, .markdown-section pre { + font-family: "SF Mono", "Anonymous Pro", Consolas, "Liberation Mono", Menlo, Courier, monospace; +} + +.gitbook-link { + display: none !important +} \ No newline at end of file