NAME¶
primusrun - run an application on a discrete NVIDIA video card
SYNOPSIS¶
primusrun command
DESCRIPTION¶
Primus implements low-overhead local-only client-side OpenGL offloading via GLX
forking.
It is currently intended to be used alongside Bumblebee and provides a drop-in
replacement for optirun (i.e. "primusrun").
VARIABLES¶
The following is a list of environment variables affecting primus library that
may be relevant for end users:
- PRIMUS_SYNC
- Readback-display synchronization method (default: 0)
0: no sync, 1: synced, display previous frame, 2: synced, display latest
frame
- PRIMUS_VERBOSE
- Verbosity level (default: 1)
0: only errors, 1: warnings, 2: profiling
- PRIMUS_DISPLAY
- The secondary Xorg server display number (default: :8)
EXAMPLES¶
- primusrun glxgears -info
- Runs the graphics demo supplied by mesa-utils to confirm whether the
discrete card is being used for GL rendering.
- PRIMUS_VERBOSE=2 primusrun glxgears
- Runs the graphics demo supplied by mesa-utils with verbose output from
primus.
- vblank_mode=0 primusrun glxgears
- Disable vblank synchronisation, typically used for benchmarking
purposes.
ISSUES¶
Since compositing hurts performance, invoking primus when a compositing WM is
active is not recommended. If you need to use primus with compositing and see
flickering or bad performance, synchronizing primus' display thread with the
application's rendering thread may help.
PRIMUS_SYNC=1 primusrun ...
This makes primus display the previously rendered frame. Alternatively, with
PRIMUS_SYNC=2 primus will display the latest rendered frame, trading frame
rate for reduced visual latency.
AUTHOR¶
Primus was created by Alexander Monakov <amonakov@gmail.com>.
This manual page was written by Vincent Cheng <Vincentc1208@gmail.com>,
for the Debian project (and may be used by others).