diff --git a/README.md b/README.md
index 7bfb49ae..e54968e1 100644
--- a/README.md
+++ b/README.md
@@ -3,26 +3,35 @@
## Supported Devices
-Confirmed supported motherboards (only AMD boards working in Linux at the moment):
+Confirmed supported motherboards:
- ASUS PRIME X370 Pro
+ - ASUS PRIME X470 Pro
- ASUS PRIME Z270-A
+ - ASUS PRIME Z370-A
- ASUS ROG Strix Z370-E
Confirmed supported RGB RAM (except on X299):
- G.Skill Trident Z RGB
- Geil Super Luce
+ - TeamGroup Delta RGB
+Experimental support in generic RGB testing branch:
+ - Corsair Vengeance RGB
+ - Corsair Vengeance Pro RGB
+ - HyperX Predator RGB
## Installation
#### Windows
- 1. Download the latest Visual Studio Community Edition and open the `.sln`.
- 2. Build the project for `x86` Architecture. The InpOut32 library I use does not support x64.
-**You may have to retarget the project to the latest version of the Windows SDK and build tools and stuff.**
+ 1. Download the latest Visual Studio Community Edition and open the `.sln`.
+ 2. Build the project for `x86` Architecture. The InpOut32 library I use does not support x64.
+ 3. Copy InpOut32.dll from dependencies to the same path as OpenAuraSDK.exe.
+**You may have to retarget the project to the latest version of the Windows SDK and build tools and stuff.**
+
+**You must run the application as Administrator the first time to allow InpOut32 to set up. It can be run as a normal user afterwards**
#### Linux:
1. Either open the project using QT Creator or build it using qmake.
-
cd OpenAuraSDK
qmake OpenAuraSDK.pro
@@ -32,11 +41,16 @@ Confirmed supported RGB RAM (except on X299):
2. Allow access to SMBus:
- This can be identified by your motherboard
- ##### Non AMD
- - `i2cdetect -l`
- ##### AMD
- - The second SMBus isn't currently picked up by the kernel driver and that seems to be where Asus wired the Aura controllers so I have a kernel patch [here](https://gitlab.com/CalcProgrammer1/OpenAuraSDK/issues/9) that will allow the kernel to use the second bus (at `0x0b20`). Additionally, the AMD SMBus driver adds duplicate entries for the first bus (at `0x0b00`) so I've just been giving access to only one of them, otherwise devices will show up multiple times in the list.
+ ##### Intel
+ - `modprobe i2c-dev i2c-i801`
+ - Asus used the SMBus controller on the Super IO chip for on-board Aura chips on Intel motherboards. I have a kernel patch to add a driver for this chip [here](https://gitlab.com/CalcProgrammer1/OpenAuraSDK/issues/22). After patching the kernel, enable the Nuvoton NCT67xx SMBus driver in your kernel configuration. The driver may be loaded with `modprobe i2c-nct6775`
+ ##### AMD
+ - `modprobe i2c-dev i2c-piix4`
+ - The second SMBus isn't currently picked up by the kernel driver and that seems to be where Asus wired the Aura controllers so I have a kernel patch [here](https://gitlab.com/CalcProgrammer1/OpenAuraSDK/issues/9) that will allow the kernel to use the second bus (at `0x0b20`).
- - You'll have to enable user access to your SMbus if you don't run as root, for instance: `sudo chmod 777 /dev/i2c-0`
+ - You'll have to enable user access to your SMbus if you don't run as root.
+ - List all SMBus controllers: `sudo i2cdetect -l`
+ - Find out which control your Aura devices (PIIX4, I801, and NCT67xx)
+ - Give user access to those controllers, for instance: `sudo chmod 777 /dev/i2c-0`