Difference between revisions of "Smooth Quake in Linux"
*>Fog (→Mouse) |
*>Fog (→Sound) |
||
Line 32: | Line 32: | ||
==Sound== | ==Sound== | ||
+ | '''ezQuake 2.1'''<br> | ||
+ | ezQuake 2.1 has new soundcode for ALSA/OSS/Pulseaudio ported from fodQuake. This will allow you to have other sound sources | ||
+ | than only ezQuake. <br> | ||
+ | *Choose sound driver with '''''s_driver alsa/oss/pulse'''''<br> | ||
+ | *If you are running on a system without pulseaudio and got problems with new ALSA code, you can first try setting ''s_alsa_noworkaround 1'' and do ''s_restart''.<br> | ||
+ | *If that doesn't help, you can switch to the old drivers (called legacy) with ''cl_uselegacydrivers 1'' for ALSA/OSS (still chosen by s_driver). | ||
+ | <br> | ||
+ | '''Information below is for ezQuake versions older than 2.1 ONLY (2.1 and newer versions has new soundcode)''' | ||
* Got software mixing and problems with sound in ezquake? SOLUTION: add +set s_device dmix to command line and don't use local .asoundrc <br> | * Got software mixing and problems with sound in ezquake? SOLUTION: add +set s_device dmix to command line and don't use local .asoundrc <br> | ||
* if you don't get sound at all with those settings try doing these things:<br> | * if you don't get sound at all with those settings try doing these things:<br> |
Revision as of 23:39, 5 March 2011
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) on virtual terminal 12 (you could switch between regular X and 2nd one by pressing ctl+alt+f7 and ctr+alt+f12):
xinit /path/to/your/executable_or_script -- :1 vt12
- 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
To get EVDEV mouse working you will have to make /dev/input/device readable, since we now dont know which device is our mouse,
we just do "chmod +r -R /dev/input/" which must be run as root.
In ezQuake there is a command to check what event the mouse is on, check by typing: in_evdevlist
Set in_mouse 3 and then in_evdevice /dev/input/eventX where X is the number you got from in_evdevlist.
Type in_restart and it should work!
- Striders hz checker, in source and binary
- Logitech mouseprogram http://www.lomoco.org/
- Razer mouseprogram http://www.bu3sch.de/deathadder.php
- Ubuntu howto https://help.ubuntu.com/community/ManyButtonsMouseHowto
Note: If you get laggy/skippy input from the keyboard when using high refresh rate mouse polling, you could try switching keyboard drivers if you want to keep the mouse the way it is. My keyboard frequently ignored my commands when using 1000hz evdev+ evdev keyboard, so I switched them to mouse/kbd X11 drivers and things seem okay now.
Screen
Sound
ezQuake 2.1
ezQuake 2.1 has new soundcode for ALSA/OSS/Pulseaudio ported from fodQuake. This will allow you to have other sound sources
than only ezQuake.
- Choose sound driver with s_driver alsa/oss/pulse
- If you are running on a system without pulseaudio and got problems with new ALSA code, you can first try setting s_alsa_noworkaround 1 and do s_restart.
- If that doesn't help, you can switch to the old drivers (called legacy) with cl_uselegacydrivers 1 for ALSA/OSS (still chosen by s_driver).
Information below is for ezQuake versions older than 2.1 ONLY (2.1 and newer versions has new soundcode)
- 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)
- If sound doesn't work try oss -noalsa -snddev /dev/dsp (1517) or +set s_noalsa 1 +set s_device /dev/dsp in 1754.
- Very good guide to fix soundproblems http://ubuntuforums.org/showthread.php?t=205449&highlight=onboard+sound $$$ link
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 build-essential)
- 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://bu3sch.de/deathadder.php
Razer DeathAdder Mouse configuration tool
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/