RAZER-DAEMON(8)

NAME
openrazer-daemon - Razer Service to manage razer devices in userspace

SYNOPSIS
openrazer-daemon [OPTION]...

DESCRIPTION
openrazer-daemon is a userspace service which is designed to be an intermediary between userspace programs and the razer drivers. It will provide some higher level functions to allow similar operation to the Windows Razer Synapse program. This service is designed to be started by xdg-autostart as a session service.

The service has the functionality to sync effects between multiple devices, perform on-the-fly macro recording and playback and reimplements the FN+Keys logic so they work when macro_keys are enabled. The service can also perform various ripple effects, it can turn off the devices when the screensaver is active and also optionally store key metrics to provide usage heatmaps.

Note, that all paths shown as defaults, eg $HOME/.local/share/ or $HOME/.config/ can be changed with the XDG Base Directory specification variables: $XDG_CONFIG_HOME, $XDG_DATA_HOME and $XDG_RUNTIME_DIR.

OPTIONS

-v, --verbose
    Enable logging of DEBUG messages to the log file and screen if running in foreground mode.

-F, --foreground
    Run the dameon in the foreground and don't fork. This also enables sending the logging output to the screen as well as the log file.

-r, --respawn
    Stop any existing daemon first, if one is running.

-s, --stop
    Gracefully stop the existing daemon.

--config=config_file
    Specifies the location of the config file. If this is not provided it will default to $HOME/.config/openrazer/razer.conf and create it if needed from the example config.

--run-dir=run_directory
    Tells the daemon what directory is its run directory, the directory it will change to once started. It will default to $XDG_RUNTIME_DIR, if not set it falls back to $HOME/.local/share/openrazer/.

--log-dir=log_directory
    This argument decides where the log directory will be, the daemon itself will handle log rotation as it's a user session service. The daemon will default to $HOME/.local/share/openrazer/logs/ for its log directory.

--test-dir=test_dir
    If provided the daemon will operate in test-driver mode in which it exposes devices that aren't physically connected. Use scripts/create_fake_device.py or scripts/setup_fake_devices.sh to create the directory structure.

DOCUMENTATION

The full and most up-to-date documentation can be found on our GitHub repository here https://github.com/openrazer/openrazer .

BUGS

This daemon makes use of the EVIOCGRAB ioctl which will get exclusive access of the keyboard's event files in /dev/input. Whilst the service has exclusive access to the event files other programs will not receive any key presses, this is required to make FN act like a modifier. Using macro_keys is considered experimental as whilst it works it is still largely untested. If FN is held the service will grab the file and then release it when FN is released, there is a race condition where if FN is held and another key presses immediatly after the keypress event will leak to the system and programs will see its being held and not released (and spam the key).

SEE ALSO
razer.conf(5), https://github.com/openrazer/openrazer