ROARD(1)
πΈ ROARD(1) β System Manager's Manual: roard πΈ
okay bestie, welcome to the roard page, aka the manual for the RoarAudio sound server. yes this is long. no we are not skipping anything. grab a snack, we're doing this together π
β¨ NAME β¨
roard β the RoarAudio sound server, periodt.
β¨ SYNOPSIS β¨
roard [OPTIONS]...
β¨ DESCRIPTION β¨
so roard is THE most common RoarAudio sound server, like the main character of the whole RoarAudio setup. it's the central component, the glue, the girlboss holding everything together. what it does is mix up all the different audio streams coming from its clients and send them out to its outputs. and bestie, those outputs can be soundcards, monitoring clients, streaming servers, and more. it's giving versatility π
β¨ GENERAL OPTIONS β¨
heads up: this list is incomplete! so don't come for me if there's more.
--helpβ prints some help text. cute, simple, iconic.--daemonβ dips into the background after startup. main character leaves the room quietly.--realtimeβ asks for higher priority. can be used multiple times (go off, stack it).--memlock LEVELβ sets the default memory locking level to LEVEL.
valid levels are:
noneβ no memory is locked at all. zero. nada.lowβ only very few (important) objects get locked in memory.mediumβ few (important) objects get locked in memory.highβ many objects get locked in memory.nearlyallβ all known objects get locked in memory.nearlyallsysβ all known objects get locked in memory, but also pages provided by the system like stack and heap.allcurβ all currently used pages get locked in memory.allβ all pages get locked in memory, including future allocated pages.defaultβ use defaults (this is the default).
β οΈ real talk: a higher memlock level may result in memory allocation problems at runtime and even segfauls on some systems (VM killed processes). check your current system limits before altering this value. like, actually check. π
--watchdogβ enables the watchdog. this will terminate the daemon if something bad happened and it halted.--watchdog-time TIMEβ sets the watchdog time to TIME, in ms.--pidfile PIDFILEβ asks the server to use the given pidfile. this one is recommended π«Ά--sysclocksyncβ messures the exact audio clock frequency based on system time. obsolete.
β¨ SERVER INFO β¨
--location LOCβ sets the lion-readable location of the server. examples:livingroom,room 32.--description DESCβ sets the lion-readable description of the server. examples:Stereo,UKW Transmitter.--contact CONTACTβ sets contact information for the server.--serial SERIALβ sets the serial number for this device or server. normally this is only used by embedded systems.--uiurl UIURLβ sets the URL of the user interface for this device or server. again, normally only used by embedded systems. it's common to set this to a URL of type HTTP, but all protocols are considered valid. yes, that includesssh,telnetand others. valid is valid β¨
β¨ STARTUP AND SHUTDOWN β¨
--startβ start a new server.--stopβ stop the currently running server. see also--shutdown.--restartβ stop the currently running server and start up a new server. glow up moment.--shutdownβ terminates the currently running server after the last client has quit. this is the most clean way to shut down a running server, because it does not kick any clients. do not confuse this with--terminate.--terminateβ auto terminates the new server after the last client has quit. and do not confuse this one with--shutdown. they are different girls, okay?--script-postdown Sβ run script S after server shutdown. the script gets passed to a shell, so any shell feature can be used within the string. sky's the limit bestie π
β¨ STANDBY MODE β¨
--standbyβ start in standby mode.--auto-standbyβ go into standby mode if no streams are active. it just knows when to chill π
β¨ LOGGING β¨
--verboseβ increment the verbosity level. can be used multiple times. the more the merrier.--log-syslogβ log to syslog.
β¨ PLUGINS β¨
--plugin-load FILENAMEβ load the given plugin.--plugin-args ARGSβ arguments for the plugin. (must be given before the--plugin-load) β order matters, don't play yourself.--list-pluginsβ list loaded plugins.
β¨ SECURITY β¨
--chroot DIRβ chroots to the given directory. this improves the security. normally this needs root privileg's.
β¨ USER AND GROUPS β¨
--setgidβ sets GroupID to the audio group as specified via-G.--setuidβ sets UserID to the audio user as specified via-U.-G GROUPβ sets the group for the UNIX Domain Socket (default:audio). you need the permittions to change the GID.-U USERβ sets the user for the UNIX Domain Socket (default: do not set). you need the permittions to change the UID β normally only root has that π
β¨ AUTH OPTIONS β¨
the following options control the access rights of connections. some of them take an access level, and the access level is one from the following list:
noneβ used to disable an authentication method.identedβ used internally. should not be used.conctlβ the client is only allowed to do some basic operations, only affecting its own connection.guestβ guest access (read only). the client may list resources but not alter them.userβ normal user. the client may create and alter most resources.pwruserβ Power User. the client can create and alter all resources and do all operations, except operations which would break the POSIX right system. the user is not allowed to control the server itself, like terminating it, or alter (system) resources with the rights of the user runnungroard. this is the access level a fully trusted user in a multi user setup should have.allβ the client can do everything. this includes operations which may alter system resources (like files) with the rights of the user runningroard. this accesslevel should be given to the user in case of a single user setup, or root, or some administrator in a multi user setup. big power, handle responsibly π--guest-acclev ACCESSLEVELβ sets the access level for guest connections. set to"none"to disable guest access.--trust-acclev ACCESSLEVELβ sets the access level for clients authenticated by trust auth. set to"none"to disable trust auth.--trust-rootβ trust root user.--no-trust-rootβ do not trust root user.--authfile-gen FILEβ generate a new authfile with a fresh cookie. fresh out the oven π--authfile-load FILEβ load all keys from a given authfile.--authfile-type TYPEβ sets the type for the authfile.--authfile-acclev ACCLEVβ sets the access level for the given authfile.--new-authfileβ add another authfile.
β¨ AUDIO OPTIONS β¨
--rate RATE,-R RATEβ set server sample rate.--bits BITS,-B BITSβ set server bits.--chans CHANNELS,-C CHANNELSβ set server channels.--aiprofile PROFILEβ use an existing audio profile.
β¨ GENERAL STREAM OPTIONS β¨
--stream-flagsβ sets default flags for a given stream direction. examples:play=-meta,bidir=+antiecho.
β¨ DRIVER OPTIONS β¨
--list-driverβ shows a list of all available drivers.--driver,-dβ this option is obsolete. use-oinstead.--device,-Dβ this option is obsolete. use-Oinstead.--odriver,-oβ set the output driver. to get a list of all drivers use--list-driver.--odevice,-Oβ set the device for the output driver. possible devices depend on the driver. they may be a path to a device node or a hostname. use--list-driverto get a hint.-oOβ sets options for the new stream. see STREAM OPTIONS.-oNβ adds another output.-oPβ marks the output primary.
β¨ SOURCE OPTIONS β¨
--list-sourcesβ list all supported sources.--source,-sβ adds a source of the given type.-Sβ sets the device or filename for the source. type may depend on the source type.-sOβ sets options for the current source.-sNβ adds another source.-sPβ marks the source as primary. if the source reaches EOF,roardwill quit automatically. dramatic much? π
β¨ HARDWARE MIXER OPTIONS β¨
--list-mixersβ list all supported hardware mixers.--mixer,-mβ add a hardware mixer of given type.-Mβ sets the device used for the hardware mixer.-mOβ sets options for the hardware mixer. see MIXER OPTIONS.-mNβ adds another hardware mixer.-mPβ marks the mixer primary.
β¨ CODEC FILTER β¨
--list-cfβ list all supported codecfilters and codecs.
β¨ MIDI OPTIONS β¨
--midi-no-consoleβ disable console based MIDI synth.--midi-console-enableβ enables console based MIDI synth.--midi-consoleβ sets device for MIDI console. example:/dev/console.--ssynth-enableβ enables simple software synth.--ssynth-disableβ disables simple software synth.
β¨ LIGHT CONTROL OPTIONS β¨
--light-channelsβ sets the number of light channels. examples:512,1024. mood lighting but make it technical β¨
β¨ RADIO DATA SYSTEM OPTIONS β¨
--rds-piβ sets the Programme Identification (PI).--rds-psβ sets the Programme Service Name (PS).--rds-ptyβ sets the Programme Type (PTY).--rds-tpβ sets the Traffic Programme (TP) flag.--rds-ctβ enables sending of RDS Clock Time (CT).
β¨ X11 OPTIONS β¨
--x11-display,--displayβ sets the display to use.--x11β enable X11 support.
okay bestie that's part one, and we are NOT done yet β more is coming, so don't go anywhere π
π NETWORK OPTIONS π
okay bestie, this is the whole "how does roard even talk to people" section and honestly it's giving main character energy π
--tcp,-tβ sets defaults for TCP/IP Socket. classic, iconic, the OG way to be reachable π«Ά-4,-6β use IPv4 or IPv6 mode. pick your internet era, no wrong answers β¨-64β tries to downgrade IPv6 sockets into IPv4 sockets. like, it wants to be v4, let it live π«--unix,-uβ sets defaults for UNIX Domain Socket.--decnet,-nβ sets defaults for DECnet Socket. yes decnet, it's a whole vintage vibe, we love a throwback π--port,-pβ sets the port the server should listen on.--bind,-b,--sockβ sets the hostname or path the server should listen on.--list-protoβ list supported protocols. window shopping, but for protocols π--protoβ sets the protocol used for the listening socket.--proto-dir,--proto-rate,--proto-bits,--proto-codec,--proto-chans,--proto-aiprofileβ set stream parameters for protocols needing stream options. Defaults to server defaults. (yes that's six flags in one breath, we're efficient π )--list-profilesβ list supported profiles.--proto-profileβ use the given profile for the listening socket.
--new-sockβ adds a new listening socket. more sockets, more friends, periodt β¨--no-listenβ do not listen for new clients (only useful for relaing, impleys--terminate).--client-fhFH β expects a client on the given FH. This may be useful with--no-listen.--close-fhFH β close the given FH. This is not useful for endusers but used internaly.--jumbo-mtuβ sets the MTU for Jambo Packets. jumbo, jambo, same energy fr fr π
π§ OPENSLP OPTIONS π§
--slpβ enable OpenSLP support.
π§ STREAM OPTIONS π§
the way that these are literally the settings for every single stream... obsessed. here's the whole squad π
rateβ sets the sample rate.channelsβ sets the number of channels.bitsβ sets the number of bits per sample.codecβ sets the codec.blocksβ sets the number of memory blocks that should be used by the devices. Most devices only support a few values or don't support this option at all. If this option or the specifyed value is not supported by the device this is not handled as fatal error.blocksizeβ sets the size of the memory blocks used by the device. Most devices only support a few values or don't support this option at all. If this option or the specifyed value is not supported by the device this is not handled as fatal error.metaβ sets the meta flag.syncβ sets the sync flag.primaryβ marks this stream as primary. main character stream, obviously πcleanmetaβ sets the cleanmeta flag.autoconfβ sets the autoconf flag. This flag is not supported by all drivers. If the flag is set and the devices does not support this there is no fatal error if the device could be opend with defaults.- Example:
rate=44100,bits=16,channels=2,codec=pcm,sync
like. look at her. comma-separated and everything ππ
ποΈ MIXER OPTIONS ποΈ
primaryβ makes this stream as primary.autoconfβ sets the autoconf flag.passmixerβ sets the passmixer flag.nameβ sets the name for the device.subsβ sets list of subdevices. This is driver specific.
π ENVIRONMENT VARIABLES π
the vibes the server reads from the air around it, iykyk π¦
HOMEβ the users home directory.ROAR_SERVERβ the address of the listening server. This may be in form ofhost:portfor TCP/IP connections and/path/to/sockfor UNIX Domain Sockets.ROAR_DRIVERβ the driver to select. Same as-d.ROAR_DEVICEβ the device to select. Same as-D.
π BUGS π
There are lots of bugs...
ngl that's the whole section. she said what she said and she was honest about it π iconic transparency fr fr
π SEE ALSO π
roar-config(1), roarcat(1), roarcat2sock(1), roarcatad(1), roarctl(1), roarfilt(1), roarfish(1), roarmon(1), roarsockconnect(1), roartypes(1), roarvorbis(1), RoarAudio(7).
go read those too bestie, they're all in the group chat π«Άβ¨
π HISTORY π
For history information see RoarAudio(7).
and that's the whole page, bestie!! πβ¨ this one's from the RoarAudio crew, dated October 2010, and it's the ROARD(1) page β so go forth, configure your server, and slay π
ππΈ
π¦ where this page comes from
- ubuntu jammy: roaraudio 1.0~beta12-4 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms