Which Nefarius Project Documentation Should I Use for My Controller or Emulation Setup?

Updated

Start with the device you actually have and the job you need done, then open the matching project on docs.nefarius.at. The documentation set is organized by purpose rather than by a single product: Bluetooth pairing and PS3 controllers point to BthPS3, DualShock 3/4 handling on Windows points to DsHidMini, hiding a real controller from other software points to HidHide, virtual gamepad creation points to ViGEm, and older SCP-based setups point to ScpToolkit or Shibari. Each project page carries its own About, installation, FAQ, and compatibility sections, so the fastest path is to confirm your device against those pages before installing anything.

Match your device and goal to a project

Your situation Project to read first Why
You want to use a DualShock 3 or DualShock 4 on Windows DsHidMini Covers HID device modes, XInput mode, DS4 mode, output rate control, and installation/removal
You need Bluetooth support for PS3-era controllers BthPS3 Dedicated Bluetooth driver with API docs, controller compatibility, and a configuration utility
A real controller is being grabbed by the wrong application HidHide Designed to hide devices from selected software; includes a simple setup guide and FAQ
You want to create a virtual gamepad for another program ViGEm Virtual gamepad emulation framework, with installation/removal and an end-of-life statement
You are working with SIXAXIS.SYS or legacy SCP installs ScpToolkit, Shibari, FireShock Legacy and removal-oriented documentation, including manual residue cleanup
You need to bridge DsHidMini to SCP/XInput DsHidMini SCP XInput Bridge pages Specific guides for the SCP XInput bridge and switching from SIXAXIS.SYS

How to choose within a project

Most projects split documentation by version or mode, and picking the wrong one is the usual source of confusion.

  • DsHidMini has separate V2 and V3 sections. V2 includes DS4 Mode, XInput Mode, HID Device Modes, and Output Rate Control; V3 repeats several of these plus DS4Windows Mode and PCSX2/RPCS3 full controller support. Check your installed major version before following a guide.
  • BthPS3 separates the About page, API documentation, controller compatibility, and a Driver Configuration Utility explanation. Compatibility lists (including Amazon's Choice "Pro Controller" notes) are worth reading before assuming a third-party pad works.
  • HidHide offers a simple setup guide alongside manual installation on ARM64 and a page on fixing an improper removal. If you are on ARM64, go straight to the manual instructions.
  • ViGEm is marked with an End of Life Statement, so read that before starting a new integration.

Check these pages before installing

For any project, the same four page types answer most pre-install questions:

  1. About — what the project does and which devices it targets.
  2. Installation / How to Install — prerequisites and removal steps (several projects pair install with removal, e.g. ViGEm, VirtuaLED, DsHidMini).
  3. FAQ / Frequently Asked Questions — known conflicts and error cases.
  4. Compatibility — controller and Bluetooth device lists where provided (BthPS3, DsHidMini).

If a project has a removal or residue page — AirBender Removal Guide, FireShock Removal Guide, Manual removal of ScpToolkit residue, Fixing an improper removal of HidHide — read it before you install, not after. It tells you what the installer changes and how to reverse it.

Legacy and end-of-life projects

Some documentation exists mainly to migrate away from older tools:

  • ScpToolkit — About, History of SCP, and manual removal of residue. Treat this as a cleanup reference rather than a new install target.
  • ViGEm — End of Life Statement plus install/remove instructions.
  • Shibari — an installation guide ("Shibari Edition") referenced from DsHidMini.
  • FireShock — About and a removal guide.

If you are starting fresh, prefer the actively documented path (DsHidMini, BthPS3, HidHide) over SCP-era tooling.

Supporting research and utilities

Beyond the main projects, the site includes a Research area and smaller utilities:

  • Research — ASUS PG278Q on Linux, CORSAIR GLAIVE RGB native HID Report Descriptor, SIXAXIS/DualShock 3 native HID Report Descriptor, checking your architecture, fixing symbol loading for kernel driver minidump analysis, signing .NET assemblies during build, and vendor/product IDs used by NSS drivers.
  • Utilities — HidGuardian (with a Gen1 installation and "Taming" guide), Identinator, VirtuaLED, VirtualPad, WireShock, and Vicius (with command line arguments, exit codes, logging, and configuration pages).

Use these when you are debugging a driver, verifying a device's report descriptor, or need a specific helper tool rather than a full controller stack.

Practical selection checklist

  1. Identify the controller (DualShock 3, DualShock 4, third-party "Pro Controller") and connection type (USB or Bluetooth).
  2. Identify the goal: native Windows use, XInput compatibility, emulator support (PCSX2/RPCS3), or hiding the device from another app.
  3. Open the matching project's About page, then its compatibility page if one exists.
  4. Read the installation page together with its removal page.
  5. If the project is ScpToolkit or ViGEm, read the history or end-of-life statement first and consider whether a current project covers your case instead.