---
title: "prman"
canonical: "https://rmanwiki-26.pixar.com/space/REN26/19661967/prman"
format: markdown
---
### Description

Pixar's RenderMan renderer is invoked using the prman executable. To render a file containing a scene description in RIB format, simply use:

`prman frame.rib
`

It is often convenient to store options, camera specifications, and the world block in separate files. prman will process multiple RIB files in the order given:

`prman options.rib camera.rib world.rib
`

If no RIB file names are given, then prman will read stdin for RIB input.  


---

### Synopsis

`prman [options] [file1 [file2 ...]]
`


---

### Options

**help**

Print the usage message.

**version**

Causes the renderer to print its version information before rendering begins. When given as the only argument, prman will print its version and then exit immediately.

**cwd** *path*

Sets current working directory to 'path'.

**progress**

Causes the renderer to print a progress indicator to the terminal during rendering.

**Progress**

Same as '-progress' but with each progress update on a new line.

**recover** *[0|1]*

In conjunction with a display driver that supports checkpointing, this parameter causes the renderer to check for a partially completed output image and attempt to render only the remainder of that image. Use "-recover 1" to enable the restart, 0 to disable.

**t** *=N* or *:N*

Controls prman's multithreading capabilities, where N specifies the target number of local CPUs consumed by the renderer. By default, when no -t option is given, threading is controlled by:

> Macro (legacy-content)

When -t is given, it can take these forms:

> Macro (legacy-content)

**woff** *msgid,...*

Turns off Xcpt warnings (e.g. prman -woff R50006 test.rib).

**catrib** *[outfile|-] [-ascii] [-binary] [-gzip]*

Copies ASCII and/or binary RIB data from the specified file to an output file, possibly converting its format. The format of the output file is specified by command line options, -ascii and -binary, or by the RIFORMAT environment variable. Compression is enabled on the output file by the command line option -gzip, or by the RICOMPRESSION environment variable. For more information, see the catrib documentation.

**capture ** *outfile*

Copies all RIB as it is rendered by prman. This will expand all procedural primitives and convert them to ReadArchive statements in the outfile. Each procedural primitive will have a unique, machine-generated filename that is placed within a machine-generated directory.

> ⚠️ With relative paths,
> ⚠️ 
> ⚠️ `prman -capture capture/foo.rib full.rib
> ⚠️ `
> ⚠️ 
> ⚠️ will create the subdirectory /capture and place foo.rib and all of the procprim ribs into that directory. All of the files will have the relative path baked into them. Therefore, don't do this:
> ⚠️ 
> ⚠️ `$ cd capture
> ⚠️ $ prman foo.rib
> ⚠️ `
> ⚠️ 
> ⚠️ Do this:
> ⚠️ 
> ⚠️ `$ prman capture/foo.rib`

**res ** *x y[:par]*

Overrides the format in the RIB file with (xres, yres) resolution and optional pixel aspect ratio.

**crop ** *xmin xmax ymin ymax*

Overrides the [crop window](https://renderman.atlassian.net/wiki/display/REN26/The+Viewing+Transformation) specified in the RIB file.

**maxsamples** *i*

Override the Raytrace hider [maxsamples](https://renderman.atlassian.net/wiki/display/REN26/Renderer+Options).

**pixelvariance ** *f*

Override [pixel variance](https://renderman.atlassian.net/wiki/display/REN26/Renderer+Options) specified in the RIB file.

**incremental ** *i* ** **

Override raytrace hider incremental setting.

**bucketorder ** *s* ** **

Override bucket order. The string value must be one of: "horizontal", "vertical", "zigzag-x", "zigzag-y", "spacefill", "random", "spiral".

**hider ** *s*

Override hider.

**d** *dispType*

Override display type. For example, "prman -d it foo.rib"

**logfile** *file*

This overrides the log file. Logger can print to stdout/stderr (default) or be redirected with this flag.

**loglevel ***0..4*

This specifies the level of log output verbosity. Possible levels are 0 - None 1 - Severe 2 - Errors 3 - Warnings 4 - Info

**statsfile ***file*

Override stats XML file and set statslevel=1 (old stats)

**statslevel ***0..2*

Override stats level (old stats)

**memorylimit** *f*

Overrides the [rendermemory](https://renderman.atlassian.net/wiki/display/REN26/Renderer+Options) Option set in the RIB file (Linux-only).

**checkpoint ***t[,t]*

Set checkpoint interval and optional exit time

**statsconfig ***file*

Set the stats configuration file (default: 'stats.ini')

**statsdebuglevel ***i*

Override stats system log level

**variant ***s*

Run the XPU renderer with one of: "xpu", "xpucpu", or "xpugpu"

**xpu**: enable combined rendering across the CPU and default GPU  
**xpucpu**: enable rendering on the CPU only  
**xpugpu**: enable rendering on the default GPU only

**rifmarker ***m1*

Adds a marker for Rif chain edits (see below).

**rif  ***plugin [-rifargs arg arg... -rifend] [more rif blocks]*

Instructs the renderer to load a chain of Rif plugins. Arguments can be passed to the plugins via the -rifarg command line argument, where -rifend delineates the end of the arguments for a given plugin.

**allowrifedits**

Allow rif editing

*file1* *[file2...]*

The names of input RIB files to render. Files are processed sequentially, as shown in the Description section, above. Note: 'file' can be a named file or '-' to represent stdin/stdout  


---

# Signals

On Linux and macOS, prman will listen for the HUP and USR1 signals.  If checkpointing was enabled for the render then when prman receives a HUP signal it will attempt to write a checkpoint and continue rendering.  If it receives the USR1 it will write a checkpoint and then begin an orderly shutdown.  This is similar to the behavior with the internal checkpoint interval and exitat parameters, but allows these to be externally triggered such as by a pipeline queuing system.  The Windows operating system does not support these signals, so this feature is not available on that platform.