Smooth Quake in Linux

From QWiki
Revision as of 01:44, 12 October 2009 by *>Moa (→‎Compile ezQuake yourself)

General

Users have reported that running a second x server can give a more responsive quake LINK
Excerpt/Conclusion from the above link:

  • To run your engine in a second X server (which might help on various occasions) change to an used console (eg ctrl+alt+F6):

xinit /path/to/your/executable_or_script -- :1

  • If you want you can also create a new xorg.conf for this new X server and specify it via attaching "-config xorg_qw.conf" in the command line.

xinit /path/to/your/executable_or_script -- :1 -config xorg_qw.conf

  • You can also simply type xinit -- :1 to get an console where you then start the game.

Mouse

  • Guide to change mouse Hz: LINK
  • multithreaded mouse to get more smooth feeling

cat /dev/input/eventX and move mouse if you get some spam in console it should be the right device :)
Use it like this. ./ezquake-gl.glx -mmt -mevdev /dev/input/event2

Screen

Sound

  • Got software mixing and problems with sound in ezquake? SOLUTION: add +set s_device dmix to command line and don't use local .asoundrc
  • if you don't get sound at all with those settings try doing these things:

- add yourself to group 'audio' ($ addgroup username audio) ; then disconnect/reconnect (login)
- $ echo 'ezquake-gl.glx 0 0 direct' > /proc/asound/card0/pcm0p/oss (might need to chmod it first)

Launch ezQuake by clicking on qw:// links in your browser

KDE (untested):

[Protocol]
exec=/path/to/qw/ezquake-gl.glx +qwurl '%u'
protocol=qw
input=none
output=none
helper=true
listing=false
reading=false
writing=false
makedir=false
deleting=false
icon=package
Description=qw
  • Save this code in ${KDEHOME}/share/services/qw.protocol

Adapted from http://ubuntuforums.org/showpost.php?&p=2618481

Gnome (untested):

gconftool-2 -t string -s /desktop/gnome/url-handlers/qw/command exec /path/to/qw/ezquake-gl.glx +qwurl "%s"
gconftool-2 -t bool -s /desktop/gnome/url-handlers/qw/enabled true
gconftool-2 -t bool -s /desktop/gnome/url-handlers/qw/needs_terminal false 

Adapted from http://ubuntuforums.org/showpost.php?&p=2618481

Firefox:

Create a new file containing this:

#!/bin/sh
#
# ezquake launcher script for qw:// links
#
exec /path/to/qw/ezquake-gl.glx +qwurl "$@"
  • Save it as qwconnect.sh and chmod +x it. Place it in your qw folder.
  • In Firefox go to about:config.
  • Rightclick, "new" -> "string": "network.protocol-handler.app.qw" "/path/to/qwconnect.sh"
  • Rightclick, "new" -> "boolean": "network.protocol-handler.external.qw" "true"
  • Rightclick, "new" -> "boolean": "network.protocol-handler.warn-external.qw" "false" (unless you want that "are you sure" box)

Common problems

Unlike Windows, Linux is case-sensitive, which means "PaK0.pAk" and "pak0.pak" are different files. If you just copied the Quake directory from your Windows machine, it's possible that there are some files in upper case. Fortunately, that's easy to fix.

  • change to your main quake directory

e.g. 'cd /home/joe/quakeworld'

  • convert every file in your Quake directory (including all subdirectories) to lowercase, run this little script (by faustov@ryba):
#! /bin/bash
#

Cdir ()
{
for elem in * ; do
        if [[ -d "$elem" ]] ; then 
                mv "$elem" "$(echo $elem | sed -e 's/./\L&/g')" 2> /dev/null
                elem=$(echo $elem | sed -e 's/./\L&/g');
                cd "$elem";
                Cdir;
                cd ..;
        else 
                mv "$elem" "$(echo $elem | sed -e 's/./\L&/g')" 2> /dev/null
        fi;
done;
}

Cdir;

Compile ezQuake yourself

You can use SVN to get the latest development sources and compile ezQuake yourself.

Prerequisites

  • A working Internet connection
  • Installed software
    • SVN (package subversion)
    • gcc, make... and a sane buildsystem (mainly the binutils)
    • bunch of development libs for x11/etc look for something like "libx11-dev" name differs in distros, you also need mesa/alsa/x11 dev files (Debian/Ubuntu packages libglu1-mesa-dev, libasound2-dev...)

Procedure

  • change to your home directory
cd ~ 
  • create a directory to store the source code
mkdir ezqsrc 
  • change to the ezqsrc directory
cd ezqsrc 
  • checkout the code from svn
svn co https://ezquake.svn.sourceforge.net/svnroot/ezquake/trunk/ezquake/  ezquake
  • install some libraries
    • change to libs directory
cd ezquake/libs/linux-x86/
    • invoke a script downloading precompiled versions
 ./download.sh 

Note: there is now a x86_x64 directory too for x86_64 support

    • If you use Debian you may instead:
aptitude install libexpat1-dev liblircclient-dev libjpeg-dev libpcre3-dev libpng-dev libtcl-chiark-1 libz-dev libzip-dev
  • change to the main code directory
cd ../.. 
  • compile the OpenGL binary
make glx 

If everything went smoothly, your freshly compiled binary can be found in release-x86/ezquake-gl.glx

Links

Get masterservers from QuakeServers
Modeline generator http://www.sh.nu/nvidia/gtf.php


* needs clarification >
need to browse through > http://tldp.org/HOWTO/html_single/Quake-HOWTO/

http://quakeworld.nu/forum/viewtopic.php?id=1419 xorg.conf talk. need to wikify
http://quakeworld.nu/forum/viewtopic.php?id=1235 extract info and wikify.

http://woodygates.com/2008/05/get-your-logitech-g5-mouse-to-work-in-ubuntu/