Attemping to run ioquake3 without a window manager (linux)

I can run a few applications with:

xinit /bin/someapplication – :1

Firefox, yamagi-quake2 and a few others all work this way, and in the case of quake2, it stopped my window manager from messing with my mouse input, now quake2 is smooth as silk. I’m hoping to do the same thing for quake 3, but when I open ioquake3, the gamma looks wrong and the mouse doesn’t work. Is ioquake3 dependent on a window manager or should this work? Do I need to compile it differently? thank you.

Edit:

r_ignorehwgamma 1 fixed the gamma issue, now on to the more pressing mouse issue…

Hi. What distro and version are you running?

Check out https://wiki.archlinux.org/index.php/gaming#Starting_games_in_a_separate_X_server

You can also try this script, it used to work on Arch Linux some time ago.

#!/bin/bash

calculate first available VT

LVT=fgconsole --next-available

calculate first usable display

XNUM="-1"
SOCK=“something"
while [ ! -z “$SOCK” ]
do
XNUM=$(( $XNUM + 1 ))
SOCK=$(ls -A -1 /tmp/.X11-unix | grep “X$XNUM” )
done
NEWDISP=”:$XNUM"

if [ ! -z “$*” ]

generate exec line if arguments are given

then

test if executable exists

if [ ! -x “$(which $1 2> /dev/null)” ]
then
echo “$1: No such executable!”

if running from X, display zenity dialog:

[ -z “$DISPLAY” ] || zenity --error --text="$1: No such executable!" 2> /dev/null
exit 127
fi

generate exec line

EXECL="$(which $1)“
shift 1
EXECL=”$EXECL $*“
EXECPH=”"

prepare to start new X sessions if no arguments passed

else
EXECL=""
EXECPH="New X session"
fi

if runing from X, display zenity dialog:

[ -z “$DISPLAY” ] || zenity --question --title “Launch?” --text="Will launch “$EXECL$EXECPH”

tty$LVT
X display $NEWDISP

Continue?" 2> /dev/null || exit 1

echo “Will launch “$EXECL$EXECPH” on tty$LVT, X display $NEWDISP…”
[ -z “$DISPLAY” ] && sleep 1s

This flag is used for indication of 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

#xrandr -s 1024x768

##########################################################

main execution

xinit $EXECL – $NEWDISP vt$LVT -nolisten tcp -br &
##########################################################

set our new dislplay

DISPLAY=$NEWDISP

wait some time for X to load

sleep 4s

then we set useful parameters

#xrandr --newmode “1024x768_60.00” 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
#xrandr --addmode DVI-I-2 1024x768_60.00
#xrandr --output DVI-I-2 --mode 1024x768_60.00

bold text is just a comment starring with #

Hi, thanks for the interesting answer. I’m running Crux 3.2 X86_64 on kernel 4.4.30.

I’m mostly confused that it’s not as simple with ioquake3 as it is with my other game (yamagi-quake2) in which I can just do a one-liner, and everything works great. I did manage to fix my gamma issue, but I still have mouse/audio issues when trying to run without a WM. I’ll give your script a try when I get home.

You’ve gotten this script to launch ioquake3 without a desktop/window manager?

It used to work on arch desktop until some upgrade. I was launching it from kde session. If you are running application on separate X server, it doesn’t really matter if You use any DE on other X sessions.