Run Neural DSP's Cortex Control editor on Linux under Wine, connected over USB to your Quad Cortex, with no Windows VM.
Warning
Tested only on Ubuntu 26.04 with Wine 10.0 and a Quad Cortex mini. Other distros, Wine versions and the full-size Quad Cortex may work, but nobody has checked yet. Reports are welcome.
Caution
Do not update firmware through Cortex Control under Wine. If an update fails partway, the unit can be left unusable. Update firmware over Wi-Fi on the device itself instead.
By installing or using this project you accept full responsibility for the outcome. It is provided "as is", without warranty of any kind (see LICENSE). The authors and contributors take no responsibility for damaged or unusable ("bricked") devices, failed or interrupted firmware updates, lost presets or other data, voided warranties, or any other damage or loss resulting from its use.
- This is an unofficial community project. It is not affiliated with, endorsed by or supported by Neural DSP. Neural DSP does not support running Cortex Control on Linux and may decline to help with problems caused by it.
- Neural DSP's hardware warranty excludes damage from not following the Owner's Manual. Using unsupported software, and especially updating firmware with it, may put your warranty at risk.
- Back up your presets before using it.
- This project does not include or redistribute Cortex Control. The installer downloads the official Windows installer from Neural DSP's own servers, and you accept Neural DSP's license agreement in its setup wizard as usual.
The installer asks you to type I AGREE to these terms before it does
anything.
| Status | |
|---|---|
| App starts and renders | ✅ |
| Detects and connects to the Quad Cortex mini over USB | ✅ |
| Loading and editing presets | ✅ |
| Window resizing | |
| Firmware updates | ⛔ don't, see above |
| Full-size Quad Cortex | ❓ untested |
- Ubuntu 26.04 (the only tested distro; others may work)
- Wine 10 and winetricks: the installer offers to
apt installthem if they're missing - A GPU with a Vulkan driver (standard Mesa drivers on Intel/AMD are fine; Ubuntu ships them by default)
- A Quad Cortex mini, connected over USB
- Optional:
mingw-w64to build the shim DLL from source. Without it, the installer downloads the prebuilt DLL from this repo's latest release and checks its SHA-256.
Plug in the Quad Cortex, then:
git clone https://github.com/0xteo/cortex-control-linux
cd cortex-control-linux
./install.shNo git? Download cortex-control-linux-<version>.tar.gz from the
latest release (it includes the prebuilt shim),
extract it, and run ./install.sh inside.
The script:
- Installs missing prerequisites (
wine,winetricks,curl) withaptafter asking. - Downloads the official Cortex Control v4.1.0 Windows installer from Neural DSP's download page and checks its SHA-256. This project doesn't host it.
- Opens the official setup wizard in its own Wine prefix. Read and accept Neural DSP's license there, then click through with the defaults.
- Adds DXVK, the cfgmgr32 shim, and a udev rule if your system needs one
(this step asks for
sudo). - Adds a Cortex Control entry to your app menu and a
cortex-controlcommand.
To use an installer you already downloaded, or a newer version (untested),
pass its path: ./install.sh ~/Downloads/"Cortex Control vX.Y.Z.exe".
Everything goes into its own Wine prefix (~/.wine-cortex, override with
CORTEX_PREFIX=...), so your other Wine apps are not affected.
Out of the box, Cortex Control under Wine 10 has two problems:
-
The window is black. The UI is JUCE drawing through Direct2D/Direct3D 11, which Wine's built-in D3D doesn't handle well. The installer adds DXVK (D3D11 on Vulkan) to the prefix, which fixes it.
-
The Quad Cortex is never detected. The app finds devices with hidapi, which calls
CM_Get_Device_Interface_List_SizeWfromcfgmgr32.dllfirst. In Wine 10 that function is a stub that always fails (as isSetupDiOpenDeviceInterfaceW, which is needed to get the device's instance ID), so hidapi sees zero devices.shim/cfgmgr32.cis a small replacementcfgmgr32.dllthat implements those calls on top of theSetupDi*APIs that Wine does implement, and forwards everything else tosetupapilike Wine's own DLL does. It sits next toCortex Control.exeand is enabled by a per-app DLL override, so nothing else in the prefix uses it.
The official setup wizard is also patched up for Wine, without modifying
Neural DSP's installer: Wine draws its "transparent" text labels on the
system button colour instead of the background image, which hides the
wizard's white text. The installer temporarily switches Wine to dark system
colours while the wizard runs, and applies a small Windows Installer
transform (transform/cancel-dark.mst, passed as
TRANSFORMS=) so the Cancel confirmation matches the dark wizard too.
Wine passes the Quad Cortex's vendor HID interface through via /dev/hidraw*,
which needs read/write access for your user. Many distros don't grant that,
so the installer adds
udev/70-neural-dsp-quad-cortex.rules,
which gives the logged-in user access to Neural DSP devices only.
Window opens partly off-screen. Double-click the title bar to maximize it (or resize it), then close the app. It remembers the size.
Device not detected. Give it a few seconds first: Wine brings USB devices up shortly after it starts, and Cortex Control rescans every second. If it still doesn't connect, check that your user can access the HID node:
for h in /sys/class/hidraw/*; do grep -q "Neural DSP" $h/device/uevent && ls -l /dev/$(basename $h); doneThen run the shim's self-test, which looks for the Quad Cortex the same way
Cortex Control does (needs mingw-w64):
make -C shim test-enum.exe
cp shim/test-enum.exe ~/.wine-cortex/drive_c/Program\ Files/Neural\ DSP/Cortex\ Control/
cd ~/.wine-cortex/drive_c/Program\ Files/Neural\ DSP/Cortex\ Control
WINEPREFIX=~/.wine-cortex WINEDLLOVERRIDES=cfgmgr32=n wine test-enum.exeOr launch the app with the shim's logging on:
cd ~/.wine-cortex/drive_c/Program\ Files/Neural\ DSP/Cortex\ Control
WINEPREFIX=~/.wine-cortex CFGSHIM_LOG=1 wine "Cortex Control.exe" 2>&1 | grep cfgshimYou should see a \\?\hid#vid_152a&pid_... line for the Quad Cortex. The
repeated hidraw_device_set_output_report ... Broken pipe errors in Wine's
log are harmless: the device rejects one optional message and everything
else works.
Don't switch Wine to its Wayland driver. Under Wayland the window loses your desktop's title bar, gets a Windows 95-style frame and may get stuck fullscreen. The default X11 driver (XWayland) gives a normal window.
The Quad Cortex mini is a standard USB audio interface (8 in / 8 out, 48 kHz), so audio doesn't need any of this: PipeWire picks it up directly. Tips:
- Switch it to the Pro Audio profile (e.g. in
pavucontrol) so the channels appear as plainAUX0–7instead of a fake 7.1 surround layout. - For a DAW, install
pipewire-jack. On Ubuntu you also needsudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/ && sudo ldconfig. - Headphones with a built-in mic (TRRS plugs) sound hollow and phasey in the headphone jack. Use plain stereo headphones or a TRRS-to-TRS adapter.
./uninstall.shThe scripts and shim are MIT licensed and come with no warranty (see LICENSE). Cortex Control, Quad Cortex and Neural DSP are trademarks of Neural DSP Technologies Oy, which is not involved with this project.