Your Viper V3 Pro, without Synapse

One 1 MB program writes the settings into the mouse’s own memory.

For Windows 10 and 11. 1.0 MB, no installer, no account. SHA-256 checksum.

The freenapse settings window on the Customize page: a list of the seven buttons with their assignments and a drawing of the mouse with the left button highlighted

Razer Synapse 4 and freenapse, measured on one PC

Side by side on the machine freenapse was written on, with the same Viper V3 Pro on its HyperPolling dongle.

WhatRazer Synapse 4freenapse
Processes11 Electron processes and 2 services1 tray process, or none when you run the CLI once
Memoryabout 1.5 GB10 MB working set
CPU in the backgroundpolls the device and runs game detection constantlyidle, one battery read a minute
On disk220 MB runtime plus modules downloaded per productone file of 1.0 MB
Account and internetrequirednone

DPI, polling rate and buttons, stored in the mouse

Every setting goes to the Viper V3 Pro’s onboard memory, so it survives a reboot and follows the mouse to a PC with nothing installed. How to set them.

DPI
Up to 5 stages, independent X and Y, 100 to 35000 in steps of 1, and the stage the mouse starts on.
Polling rate
125 to 8000 Hz. 4000 and 8000 need the HyperPolling dongle; the tray app can raise the rate only while a game runs.
Buttons
All seven on the normal and Hypershift layers: mouse functions, keys with modifiers, media keys, DPI stage and cycle, Turbo, macros, disabled.
Dynamic Sensitivity
The onboard acceleration curve: Classic, Natural, Jump, or the points you drag yourself.
Sensor
Smart Tracking at 1, 2 or 3 mm, or the asymmetric cut-off with lift-off and landing levels, plus angle correction.
Power and dongle
Idle sleep timeout, low power mode threshold, the dongle’s indicator LED, pairing.

Written to the mouse as you change them

There is no apply button. Each control writes its setting to the mouse the moment it changes and reads it back.

The Performance page: DPI stages with sliders and number boxes, the Dynamic Sensitivity toggle and the polling rate slider from 125 to 8000 Hz
The Performance page, 80 % battery on the device card. If the mouse is asleep the change waits and is written when it wakes.

Built on one mouse, for now

freenapse was written and tested against a single Razer Viper V3 Pro, wired and through its HyperPolling dongle. Those are the only two product ids it writes to.

Any other Razer mouse opens read-only: freenapse status and freenapse probe work, and every write is refused with a message that says how to help.

To add yours, paste the probe output into an issue, then open a pull request with your row in src/device.rs once it is tested on your mouse. CONTRIBUTING.md has the four steps; FEATURES.md lists the rows waiting for an owner.

freenapse probe
freenapse 0.1.0 probe
vendor id 0x1532  product id 0x00c1
table: Razer Viper V3 Pro (wireless) (verified)

mouse firmware        tid 1f 00/81/02  status=02
                      = firmware 1.11
mouse serial          tid 1f 00/82/16  status=02
                      = PM24***********  (masked)
battery level         tid 1f 07/80/02  status=02
                      = 78%
dpi stages            tid 1f 04/86/26  status=02
                      = active 1 of 2: 800/800 1000/1000
polling hyperpolling  tid 1f 00/c0/01  status=02
                      = 1000 Hz
polling classic       tid 1f 00/85/01  no answer (status 05 not supported)
macro storage         tid 1f 06/8e/0e  no answer (status 05 not supported)

Abridged. The real output has every read with its argument bytes, and masks serial numbers by default.

Before you replace Razer Synapse

Is it safe?
freenapse writes the same HID feature reports Synapse does and reads every value back. It cannot read or change the firmware. There is no warranty, and Razer will not support a mouse configured this way.
Can I go back?
Yes. Reinstall Synapse and it rewrites every setting from its own profile. Or delete the config file and run freenapse apply for the defaults.
Do I have to uninstall Synapse?
Quit it at least. While it runs in the background it rewrites the settings it thinks it owns within about fifteen seconds, so anything freenapse sets appears not to stick. How to uninstall it and keep the settings.
Why does a command sometimes get no answer?
The wireless mouse stops answering the dongle after a while idle. Keep moving it while a command runs; the tray app knows this and retries on its own.
Is it a Razer Synapse alternative for every Razer mouse?
No. It is a Razer Synapse alternative for the Viper V3 Pro on Windows, verified on that one mouse. Other Razer mice open read-only until an owner tests them. The guide to Synapse alternatives covers Linux and the other options.

Start with one command

freenapse status        # what the mouse has stored right now
freenapse config        # a config file built from those settings
freenapse apply         # write your edits to the mouse
freenapse autostart on  # tray icon: battery, DPI stage, polling rate

The same file is the tray app when started without arguments, the settings window with freenapse ui, and the CLI with any other command.

Version 0.1.0, released . What changed.

Detail of the Customize page: the mouse drawing with labels for left click, right click, middle click, scroll up, scroll down, forward and back
The button you pick in the list lights up on the drawing. Assignments are stored in the mouse, so they work with no software running.