This section is mostly a mini-guide on how to find what hardware you're currently running; this is mainly relevant for laptop and prebuilt users as hardware specs are a bit more difficult to obtain. You can skip this page and head to Creating the USB if you already know what hardware you have.
For this, we'll assume you have Windows or Linux installed:
For this we mainly have 2 options:
- Windows' built-in Device Manager
- AIDA64
Due to the easier to use GUI, we recommend downloading AIDA64 and running this as it's much easier to grab specs. However we'll show you both methods for obtaining hardware specs.
| AIDA64 | Device Manager |
|---|---|
![]() |
![]() |
| AIDA64 | DeviceManager |
|---|---|
![]() |
![]() |
| AIDA64 | DeviceManager |
|---|---|
![]() |
![]() |
- Note: Intel SOC based CPUs will have the chipset and other features already on the same die instead of being dedicated chips. This means trying to detect the exact chipset is a bit more difficult
| DeviceManager |
|---|
![]() |
AIDA64 unfortunately doesn't provide any useful info regarding pointer devices, so we recommend using DeviceManager for this.
-
You can find these devices under the following:
Human Interface DevicesKeyboardsMice and other Pointer Devices
-
To view the exact connection type of the device, select the pointer device then enter
View -> Device by Connection. This will clarify whether it's over PS2, I2C, SMBus, USB, etc
Depending on the device, it may show up under multiple names and connections. The main ones to keep an eye on:
- SMBus
- These will show up under both PS2 under
Synaptics PS2 deviceand PCI asSynaptic SMBus Driver- ie.
Synaptics Pointer deviceandSynaptic SMBus Driver
- ie.
- These will show up under both PS2 under
- USB
- These will show up as a PS2 Compliant Trackpad
- I2C Connection Type
- Currently there's many flavors of I2C Touch-pads, so finding your exact connection type can be a bit difficult.
::: details SMBus Example
As you can see, we get 2 Synaptics devices in the left image, however if we take a closer look we'll see the top device is PS2, while the bottom one is SMBus. While you can use the trackpad in either mode, SMBus provides much functionality and precision with VoodooRMI.
- Note not all Synaptics devices support SMBus
:::
::: details USB Example
| Device by Type | Device by Connection |
|---|---|
![]() |
![]() |
As you can, our trackpad actually shows up under the USB bus when we switch our connection view to Device by Connection
:::
::: details I2C Connection Type
Currently VoodooI2C supports these flavors of touch-pads:
| Connection type | Plugin | Notes |
|---|---|---|
| Microsoft HID | VoodooI2CHID | |
| ELAN Proprietary | VoodooI2CElan | ELAN1200+ require VoodooI2CHID instead |
| Synaptic's Proprietary | VoodooI2CSynaptics | Synaptic F12 protocol require VoodooI2CHID instead |
| FTE1001 touchpad | VoodooI2CFTE | |
| Atmel Multitouch Protocol | VoodooI2CAtmelMXT |
To determine which plugin to use, we recommend the following strategy:
- Determine the driver used by your I2C device
- Match up the driver to the above table
- When it only says Microsoft HID Compliant, we recommend using VoodooI2CHID
- Once installed in macOS, you can play around more with plugins
:::
| AIDA64 | DeviceManager |
|---|---|
![]() |
![]() |
Due to how certain OEMs present device names, the most accurate info you can get with DeviceManager is via the PCI ID(ie. pci 14F1,50F4). This means you'll need to google the ID and figure out the exact device ID, however AIDA64 can present the name properly which is quite a bit easier on the end user.
| AIDA64 | Device Manager |
|---|---|
![]() |
![]() |
Due to how certain OEMs present device names, the most accurate info you can get with Device Manager is via the PCI ID (ie. PCI\VEN_14E4&DEV_43A0 corresponds to a vendor ID of 14E4 and a device ID of 43A0). This means you'll need to Google the ID and figure out the exact device ID; however, AIDA64 can present the name properly which can be quite a bit easier.
| AIDA64 | Device Manager |
|---|---|
![]() |
![]() |
Due to OEMs not providing much details about the drive, you'll need to Google a bit which drive matches up with the displayed name.
For finding hardware using Linux, we'll be using a few tools:
catpciutilsdmidecode
Below you'll find a list of commands to run in the terminal, thankfully most Linux distros will come with these tools already installed. If not, you will likely find them in your distro's package manager.
cat /proc/cpuinfo | grep 'model name'lspci | grep -i --color 'vga\|3d\|2d'dmidecode -t baseboarddmesg |grep -i 'input'lspci | grep -i 'audio'Basic info:
lspci | grep -i 'network'More in-depth info:
lshw -class networklshw -class disk -class storage














