# it can be mistakenly set, for example, when using fglrx+compiz-manager

+

NEWDISP=":10"

−

# Some games will refuse to start if this variable is set.

+

−

# unsetting it should not do any harm, and can be really useful.

+

# this flag is used for indicating unaccessible or broken DRI.

+

# it is set, for example, when using fglrx+compiz-manager

+

# Some games will refuse to start if it is set.

+

# unsetting it should not do any harm, and can be useful.

unset LIBGL_ALWAYS_INDIRECT

unset LIBGL_ALWAYS_INDIRECT

−

# this var can fix jumping pointer with some A4 mice in SDL games

+

#main execution line with automatic full path retrieval.

−

# but it can also generate other glitches. Use only if needed

−

#export SDL_MOUSE_RELATIVE=0

−

−

# main execution line with automatic full path retrieval.

xinit `which $*` -- $NEWDISP &

xinit `which $*` -- $NEWDISP &

Line 29:

Line 32:

sleep 1s

sleep 1s

−

# disable non-linear mouse acceleration

+

# disable annoying non-linear mouse acceleration

xset m 1 0

xset m 1 0

# disable hard-coded default 10m screensaver

# disable hard-coded default 10m screensaver

xset s 0 0

xset s 0 0

+

General principle: set variables before xinit line, and xset parameters after.

General principle: set variables before xinit line, and xset parameters after.

Line 40:

Line 44:

xrun appname

xrun appname

−

--[[User:Psycho zs|Psycho zs]] 09:21, 27 September 2010 (EDT)

+

--[[User:Psycho zs|Psycho zs]] 17:03, 1 October 2010 (EDT)

Revision as of 21:03, 1 October 2010

It may often be handy to run some program in separate X display. I.e. 3D games for gaining performance, or making alt+tab-style switching possible with ctrl+alt+[F7-F12].

The simplest way would be:

xinit appname -- :10

But if you have ~/.xinitrc in place, you should use full path to app to override it. Also there can be some environment variables and X options to pass.
So the smart way would be to pack it all into a wrapper:

#!/bin/bash
#test if file exists, otherwise exit
which $* 2> /dev/null
if [ "$?" != "0" ] ; then
echo "No such executable"
exit 127
fi
# use this display number
NEWDISP=":10"
# this flag is used for indicating unaccessible or broken DRI.
# it is set, for example, when using fglrx+compiz-manager
# Some games will refuse to start if it is set.
# unsetting it should not do any harm, and can be useful.
unset LIBGL_ALWAYS_INDIRECT
#main execution line with automatic full path retrieval.
xinit `which $*` -- $NEWDISP &
#then we set useful parameters
DISPLAY=$NEWDISP
sleep 1s
# disable annoying non-linear mouse acceleration
xset m 1 0
# disable hard-coded default 10m screensaver
xset s 0 0

General principle: set variables before xinit line, and xset parameters after.

Save it as /usr/bin/xrun

After that launching app in separate X display should be as easy as typing