RTSRV(1)
π RTSRV(1) π
okay so this is the rtsrv page from the BRL-CAD manual set β the remote ray-tracing worker situation. buckle up bestie, we're distributing a render π
β¨ NAME β¨
rtsrv β the remote ray-tracing worker for the remrt distributed renderer. yes that's her job title π
πΈ SYNOPSIS πΈ
rtsrv [-d] [-S token] [-x hex_flags] [-X hex_flags] control-host tcp-port [cmd]
rtsrv [-d] [-S token] -I ipc-addr
π¦ DESCRIPTION π¦
okay so rtsrv is literally the worker process of the remrt(1) distributed ray-tracing system. she connects to a running remrt dispatcher, receives the name of a BRL-CAD .g geometry database plus the view parameters over the network via libpkg(3), ray-traces the pixel ranges she's been assigned using librt(3), and sends the resulting pixels back to the dispatcher. many rtsrv instances can run at once β no cap β and remrt hands each one a non-overlapping range of scan-lines and reassembles the results into the final image. it's giving teamwork, it's giving main character energy π
rtsrv is normally launched automatically by remrt, either on remote hosts via ssh(1) or as a local child over an inherited IPC channel (that's the -I form). but she can also be started by hand so that machines unreachable by SSH can still join a render. inclusive queen π«Ά
in the network form, rtsrv opens a TCP connection to control-host on tcp-port and then services protocol messages from remrt: she opens the named .g database locally, prepares the requested object tree(s), applies each view matrix, and ray-traces the assigned scan-lines, returning each completed block of pixels to the dispatcher. when remrt signals end-of-work the connection is closed and rtsrv exits. periodt π
unless -d is given, rtsrv daemonizes after connecting on POSIX systems: she forks, detaches from the controlling terminal, redirects standard I/O to the null device, and drops to the lowest scheduling priority. steps requiring POSIX-only APIs are skipped on Windows. (windows girlies, you're exempt from the fork behavior π)
if the optional cmd argument is supplied, rtsrv sends that single string to the remrt dispatcher as a command and exits immediately without ray tracing β which is honestly such a convenient way to drive a running remrt session remotely. lowkey iconic π₯
β OPTIONS β
-dβ Debug (foreground) mode. disables daemonization sortsrvstays in the foreground. repeat the flag (-d -d) to raise the verbosity of the protocol tracing written to standard error. more-d, more yapping π-Stoken β session authentication token: the 64-character (256-bit) hex token printed to standard error byremrtat startup. it gets appended to the version handshake soremrtcan confirm the worker belongs to this session. whenremrtauto-launches workers it adds this flag for you β supply it by hand only for manually started workers that must present the token generated by a runningremrtsession. it's the friendship bracelet that proves you belong π-xhex_flags β set thelibrtdebug flags (same meaning as the-xflag ofrt(1)).-Xhex_flags β set the optical-shader debug flags (same meaning as the-Xflag ofrt(1)). note the capital X, bestie, they're different flags, do NOT mix them up π-Iipc-addr β connect over the local IPC channel at ipc-addr instead of opening a TCP socket. used internally whenremrtspawns a worker on the same machine; no control-host or tcp-port is given in this form. if omitted, the address may instead be inherited through thePKG_ADDRenvironment variable. β¨- control-host β hostname or IP address of the machine running
remrt. where she's headed πΊοΈ - tcp-port β TCP port on which
remrtis listening.remrttries4446first and counts upward if that port is busy; it prints the chosen port to standard error. so like, check stderr, she told you π - cmd β optional single command string to send to the
remrtdispatcher, after whichrtsrvexits without ray tracing. drive-by command delivery, slay π
π EXAMPLES π
Example 1. Add manual workers to a remrt session
# On the dispatcher host, start remrt and note the port + session token:
remrt -o output.pix scene.g all < scene.rt
# On any reachable machine, attach a foreground worker to that session:
rtsrv -d -S 3f8a1c0b...e4 dispatcher.example.com 4446
starts remrt (which prints its listening port and session token), then attaches an rtsrv worker to it. launch several rtsrv processes against the same dispatcher to spread the render across additional CPUs and hosts. more workers = more speed = more slay π§
Example 2. Drive a running remrt remotely
rtsrv dispatcher.example.com 4446 status
sends the status command to the remrt instance on port 4446 of dispatcher.example.com and exits, without performing any ray tracing. this is equivalent to typing status at the interactive remrt prompt. chef's kiss, no notes π
π SEE ALSO π
remrt(1), rt(1), ssh(1), brlcad(1), mged(1), librt(3), libpkg(3), pix(5)
like, go read all of them. iykyk π
πΈ AUTHOR πΈ
BRL-CAD Team β the collective, the iconique π«Ά
π COPYRIGHT π
this software is Copyright (c) 1989-2026 by the United States Government as represented by U.S. Army Research Laboratory. yes the government owns this and yes that's a long-running copyright era, we respect the legacy π
π BUG REPORTS π
reports of bugs or problems should be submitted via electronic mail to devs@brlcad.org. don't suffer in silence bestie, tell the devs π
ngl if something's acting cursed, that's a bug, and bugs go to the email above. fr fr.
okay that's the whole page!! source/version is BRL-CAD, and this is the rtsrv(1) page out of that set β copyright range 1989-2026. go forth and distribute that render, bestie π
β¨π¦
π¦ where this page comes from
- nixpkgs unstable: brlcad 7.44.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms