primusrun - run an application on a discrete NVIDIA video card
Contents
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").
Examples
primusrunglxgears-info
Runs the graphics demo supplied by mesa-utils to confirm whether the discrete card is being used
for GL rendering.
PRIMUS_VERBOSE=2primusrunglxgears
Runs the graphics demo supplied by mesa-utils with verbose output from primus.
vblank_mode=0primusrunglxgears
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=1primusrun...
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.
Name
primusrun - run an application on a discrete NVIDIA video card
Synopsis
primusruncommand
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)
