Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Gamers & Players
  • Search

Unreal Tournament Linux Guide: Maximum Game Experience

Having problems getting your favorite Linux game to work? Want to discuss strategies? This is the place!
Post Reply
  • Print view
Advanced search
18 posts • Page 1 of 1
Author
Message
badct\VoiD
n00b
n00b
Posts: 4
Joined: Fri Jun 18, 2004 1:01 pm

Unreal Tournament Linux Guide: Maximum Game Experience

  • Quote

Post by badct\VoiD » Thu Jul 08, 2004 4:38 pm

Playing Unreal Tournament since the beginning in fall 1999, the fun i had and still have with this game is nearly unmatched. In this guide i will describe how to tweak your settings in order to reach and beat the windows performance in graphic, sound and input - and believe me, if this wouldn't be possible, i were still on dual boot. i am one of the guys who give a damn about graphic, counting every frame and millisecond ping.
I will post this guide in the hope to help the few Linux UT gamers out there enjoy their game even more. In this forum i always found a solution for my Linux problems, except for the one that i finally solved myself, presenting the answer in this guide. So let's start.

You have two options playing UT on Linux:

a) With the Loki port

b) or a in a Wine environment.

I guess nine of ten players would say a) due to this "native is always faster" stuff, as did i in the beginning. But the Loki port is in our case the wrong option, even if Loki's old goals should be honored. Remember the complete Wine title: Wine Is Not an Emulator. And according to UT game performance, this is absolutely true. One thing: I am not talking about WineX, i am no fan of this commercial half closed source stuff which you can't get over here in Germany due to credit card payment - including a function reduced cvs version. No, i am talking about vanilla Wine (my version is 20040505), which handles Unreal Tournament quite perfect (i guess WineX will do it too).

But why the hell should i use Wine? Well, here you get the advantages over the port:

- Keeping backspace pressed in the quick console works.

- Game doesn't crash on map change being spec.

- Demo recording and playback works flawlessly.

- Could connect to pure servers without problems.

- Increased frames on netspeed limitations.

- Colors of the OpenGL renderer look way better.

- And most important: These damned sound problems are gone. I got playback issues on ambient sounds (e.g. Pulse Secondary Fire continues playing even after stop pressing the fire button) with this stone old ALAudio.so and crackled sound with the Generic Audio System.

Sounds good? Wanna give it a try? Okay, here we go:

To let Wine work flawlessly and with no input conflicts you have to start a second "pure" X session with no windowmanager loaded. If you want the maximum performance (or every frame counts due to a slow machine), your X resolution has to fit your game resolution. If your default desktop resolution and game resolution are equal, you can skip the next adjustment. Otherwise (like me, Enlightenment Desktop with 1024x768x16 85 Hertz and Unreal Tournament with 800x600x16 100 Hertz), you have to modify your XF86Config / xorg.conf and add a new server layout. This can be done by duplicating the monitor, device, screen and server layout section, change the identifiers for the duplicates and adjust the game resolution in the second screen section.

xorg.conf example:

Code: Select all

Section "Monitor"
  Identifier "Monitor1"
  HorizSync 30-100
  VertRefresh 50-120
  Modeline "640x480_100.00" 43.16 640 680 744 848 480 481 484 509 -HSync +Vsync
  Modeline "800x600_100.00" 68.18 800 848 936 1072 600 601 604 636 -HSync +Vsync
  Modeline "1024x768_85.00" 94.39 1024 1088 1200 1376 768 769 772 807 -HSync +Vsync
EndSection

Section "Monitor"
  Identifier "Monitor2"
  HorizSync 30-100
  VertRefresh 50-120
  Modeline "800x600_100.00" 68.18 800 848 936 1072 600 601 604 636 -HSync +Vsync
EndSection

Section "Device"
  Identifier "Nvidia1"
  Driver "nvidia"
  Option "NoLogo" "1"
EndSection

Section "Device"
  Identifier "Nvidia2"
  Driver "nvidia"
  Option "NoLogo" "1"
EndSection

Section "Screen"
  Identifier  "Screen1"
  Device      "Nvidia1"
  Monitor     "Monitor1"
  DefaultDepth 16
  Subsection "Display"
    Depth 16
    Modes "1024x768_85.00" "800x600_100.00" "640x480_100.00"
    ViewPort 0 0
  EndSubsection
  Subsection "Display"
    Depth 24
    Modes "1024x768_85.00" "800x600_100.00" "640x480_100.00"
    ViewPort 0 0
  EndSubsection
EndSection

Section "Screen"
  Identifier  "Screen2"
  Device      "Nvidia2"
  Monitor     "Monitor2"
  DefaultDepth 16
  Subsection "Display"
    Depth 16
    Modes "800x600_100.00"
    ViewPort 0 0
  EndSubsection
EndSection

Section "ServerLayout"
  Identifier "ServerLayout1"
  Screen "Screen1"
  InputDevice "Mouse1" "CorePointer"
  InputDevice "Keyboard1" "CoreKeyboard"
EndSection

Section "ServerLayout"
  Identifier "ServerLayout2"
  Screen "Screen2"
  InputDevice "Mouse1" "CorePointer"
  InputDevice "Keyboard1" "CoreKeyboard"
EndSection

As you can see, ServerLayout2 represents the preferred game settings.

Now it's time to test the second X Server:
Switch to your second console pressing <Ctrl>+<Alt>+<F2> and prompt:

Code: Select all

X -a 1 -gamma 2.5 [-layout ServerLayout2] :1
Parameters:

-a 1
This deactivates the mouse acceleration. A 'must-have' for professional aiming.

-gamma 2.5
You want to see your opponents, right?

-layout ServerLayout2
If you have modified your X config file with a second layout, this is the way to use it.

:1
Display on second X Server.

The second server should start, you should only see a desktop with a black / white pattern and your mouse: The perfect gaming environment (i love X!). Maybe you put the above command in a script and call it startx-2 or whatever. You can switch to your first X session pressing <Ctrl>+<Alt>+<F7>, to your second with <Ctrl>+<Alt>+<F8>.

If things work like they should, it's time to install Unreal Tournament. Insert the Game-CD, mount and install it with

Code: Select all

wine Setup.exe
into your Wine environment. Done with that, upgrade to version 436 (not 451!), you can get it here:
ftp://ftp.infogrames.net/patches/ut/utpatch436.exe

Code: Select all

wine utpatch436.exe
Next install BonusPack 1 and 4. If you find them somewhere pure zipped (not .umod or zipped .umod), get them. Otherwise, you'll need the UMOD Extractor (http://www.acordero.org/download/UMODExtractor20.zip).

Code: Select all

wine UMODExtractor.exe 
Copy the extracted files into your Unreal Tournament directory. Okay, now we have Unreal Tournament 436 and the two most important Bonus Packs installed. Time to get the right performance with the right OpenGL renderer from here:
http://www.badct.de/dlredir.php3?id=1193&type=file


Copy the OpenGLDrv.dll from the archive into your Unreal Tournament/System directory. Now we adjust the UnrealTournament.ini.

A very important aspect is to set

Code: Select all

[Engine.Engine]
GameRenderDevice=OpenGLDrv.OpenGLRenderDevice 
and

Code: Select all

UseDirectInput=False 
in the [WinDrv.WindowsClient]. If you want maximum performance, here are the optimal [WinDrv.WindowsClient] and [OpenGLDrv.OpenGLRenderDevice] settings (be warned: you will lose nearly all eye-candy, it's optimized for "professional" gaming):

Code: Select all

[WinDrv.WindowsClient]
WindowedViewportX=640
WindowedViewportY=480
WindowedColorBits=16
FullscreenViewportX=800
FullscreenViewportY=600
FullscreenColorBits=16
Brightness=1.000000
MipFactor=1.000000
UseDirectDraw=True
UseJoystick=False
CaptureMouse=True
StartupFullscreen=True
CurvedSurfaces=False
LowDetailTextures=True
ScreenFlashes=False
NoLighting=False
SlowVideoBuffering=True
DeadZoneXYZ=True
DeadZoneRUV=False
InvertVertical=False
ScaleXYZ=1000.000000
ScaleRUV=2000.000000
MinDesiredFrameRate=999.000000
Decals=False
NoDynamicLights=True
UseDirectInput=False
ParticleDensity=0
NoFractalAnim=True
SkinDetail=High
TextureDetail=Low

[OpenGLDrv.OpenGLRenderDevice]
UseTNT=False
UseGammaExtension=False
UseModulatedGamma=False
UseS3TC=False
MinDepthBits=16
MaxLogUOverV=8
MaxLogVOverU=8
UseMultiTexture=True
UsePalette=True
UseAlphaPalette=False
ShareLists=False
AlwaysMipmap=False
DoPrecache=False
Translucency=False
VolumetricLighting=False
ShinySurfaces=False
Coronas=False
HighDetailActors=False
DetailTextures=False
UseTrilinear=False 
In the [Galaxy.GalaxyAudioSubsystem] section you can safely reduce the Latency to 20 for faster audio playback (remember: every millisecond counts!) and further increase performance with UseDigitalMusic=False.

Here is the more or less important part of my Wine config file, if you have problems:

Code: Select all

[x11drv]
"AllocSystemColors" = "100"
"PrivateColorMap" = "N"
"PerfectGraphics" = "N"
"Display" = ":1.0"
"Managed" = "N"
"UseDGA" = "Y"
"UseXShm" = "Y"
"DXGrab" = "Y"
"DesktopDoubleBuffered" = "Y"
"TextCP" = "0"
"Synchronous" = "N"
Time to start the game. Set the display to the second X Session,

Code: Select all

export DISPLAY=:1
and change to your Unreal Tournament/System directory. Here we go:

Code: Select all

wine UnrealTournament.exe 


(Note: Do NEVER start the game with

Code: Select all

wine /path/to/unreal/tournament/system/directory/UnrealTournament.exe
You will lose lots of frames! In my case, watching a black wall, the fps were decreased by 100!

Now switch with <Ctrl>+<Alt>+<F8> to the game, select the OpenGL Renderer (if the Startup Screen shows up) and enjoy.

Some statistics (my machine is an Athlon XP 3000+ with 512 MB DDR RAM, NVIDIA GeForce4 TI4200, SoundBlaster LIVE! and NForce2 chipset, running kernel 2.6.7-mm4):

- DM-Deck16][ flyby 230 to 1180 fps (average about 400).

- DM-Deck16][ 16 player bot match in no situation below 100 fps.

- With ISDN Netspeed 6500 online always 110 fps.

Unreal Tournament Windows - Linux Comparison:

- Graphic: UT is heavily CPU bound. While running a second X Server without windowmanager and no background programs, Linux outperforms a perfectly optimized Windows by about 10-30 frames per second on my machine.

- Audio: Wine flawlessly controls the Windows DirectSound library, Windows and Linux are quite equal(in Linux you can drop the Latency to 20, in Windows 2000 you have to increase it to 60 to avoid scratched sound). There may be a difference on a 5.1 system, but i have none.

- Input: You have to get used to the Linux mouse handling, but it's way more precise then Windows. Try it out (proud owner of a Microsoft IntelliMouse Explorer 3.0 and Natural Keyboard, Microsoft hardware rocks!): Repeat a circle movement with your crosshair, the circle should be as small as possible - the Linux circle is much smoother (by same sensitivity according to field of view rotation).

- Network: The Windows ping of my ISDN AVM Fritz!Card PCI is on millisecond exact the same like with Linux, using pppd and the capi interface.

Well, that against the common sentence "Linux is no gaming platform".

Now the solution to an important UT Problem, concerning Single Player:

The game is way too fast on modern machines.

You can do a very nice workaround by starting a server with

Code: Select all

wine ucc server [mapname]
with mapname e.g. dm-deck16][, dm-turbine aso. Now start the regular game and connect to your local server via Unreal Tournament console:

Code: Select all

open 127.0.0.1:7777 


You should set the NetServerMaxTickrate and LanServerMaxTickrate in the UnrealTournament.ini [IpDrv.TcpNetDriver] for your server to at least 35, to get a smooth gaming experience.

Hint: If you want to train offline or play a warmup with internet conditions, you can start the server with

Code: Select all

wine ucc server [mapname]?PktLag=X
where X is the simulated ping increase in milliseconds. You should play with the value until you get your online ping, check via F6. Don't forget to adjust your netspeed!

Okay folks, that's it. We're done. Several aspects of this guide can be transfered to every other game and i hope at least some of you can take use out of it. With Unreal Tournament now working flawlessly on Linux, Doom3 can come.

See ya on battlefield.

void
Last edited by badct\VoiD on Thu Jul 08, 2004 6:13 pm, edited 1 time in total.
l8er
Top
apeitheo
Apprentice
Apprentice
Posts: 222
Joined: Fri Jan 09, 2004 3:47 am

  • Quote

Post by apeitheo » Thu Jul 08, 2004 5:37 pm

Hmm, I always wanted to play Unreal Tournament on Linux, and the native port, requires a 3dfx card, or does it work with nVidia? I don't know, I just tried the demo. Thanks for the guide. :D
Top
neenee
Veteran
Veteran
User avatar
Posts: 1786
Joined: Sun Jul 20, 2003 12:15 pm

  • Quote

Post by neenee » Thu Jul 08, 2004 5:53 pm

the native port works fine with nvidia, since it can use opengl.
Top
FirechilD
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 120
Joined: Tue Oct 21, 2003 5:47 pm
Location: Germany - NRW

  • Quote

Post by FirechilD » Thu Jul 08, 2004 10:04 pm

workes nice :D

the only thing i need now is a program wich manages keychanges (i play with the good old unreal numpad wich isnt working with wine or the native version ;))
somebody knows such a programm or maybe a funktion wich i havent expired yet?
The worst foe lies within the self...
Top
ardnut
Tux's lil' helper
Tux's lil' helper
Posts: 94
Joined: Sun Feb 01, 2004 11:33 am
Contact:
Contact ardnut
Website

  • Quote

Post by ardnut » Fri Jul 09, 2004 6:39 am

So when switching to the second instance of X (without window manager. etc...) does this remove the first instance from memory so that you then see the performance increase? is that how it works?, just curious.
Top
solarium_rider
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 88
Joined: Mon Jun 23, 2003 3:49 am
Location: San Francisco
Contact:
Contact solarium_rider
Website

  • Quote

Post by solarium_rider » Sun Jul 25, 2004 9:26 pm

FirechilD wrote:workes nice :D

the only thing i need now is a program wich manages keychanges (i play with the good old unreal numpad wich isnt working with wine or the native version ;))
somebody knows such a programm or maybe a funktion wich i havent expired yet?
If you turn number lock off, numpad should work.
Top
FirechilD
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 120
Joined: Tue Oct 21, 2003 5:47 pm
Location: Germany - NRW

  • Quote

Post by FirechilD » Mon Jul 26, 2004 1:31 pm

solarium_rider wrote: If you turn number lock off, numpad should work.
ah, sometimes its just too easy ;)
The worst foe lies within the self...
Top
bulletman
Tux's lil' helper
Tux's lil' helper
Posts: 126
Joined: Thu Jul 04, 2002 4:21 pm

  • Quote

Post by bulletman » Mon Jul 26, 2004 9:28 pm

I had to launch the X session like so:

Code: Select all

X -a 1 -gamma 2.5 -layout ServerLayout2 :1
Thanks for the write up.

Stephen
Top
Shovas
n00b
n00b
Posts: 73
Joined: Fri May 23, 2003 2:16 am

  • Quote

Post by Shovas » Thu Oct 14, 2004 5:20 am

Very, very nice write-up on tweaking Unreal Tournament. It made me actually mess with XFree86Config again. 8O

I'm suitably impressed, but I have to agree with ardnut, I suppose the advantage of using the second X display could be improved by killing the first X display.

Perhaps running a tiny window manager on the second X display in order to start the games running?
Top
Jimboberella
Guru
Guru
User avatar
Posts: 358
Joined: Wed Jun 19, 2002 11:32 pm
Location: Brisbane/Australia
Contact:
Contact Jimboberella
Website

  • Quote

Post by Jimboberella » Thu Oct 14, 2004 10:51 pm

Thanks for this, I am going to try it with retail Tac-Ops (built on UT) which I have not played since I went linux only.

Will let you know what the result is.
Top
Shovas
n00b
n00b
Posts: 73
Joined: Fri May 23, 2003 2:16 am

  • Quote

Post by Shovas » Fri Oct 15, 2004 1:40 am

It does take a little hacking, and I find it more comfortable to at least have a WM going, but it's kinda worth. I'm very surprised I'm getting average 35fps(not exact, but it feels very playable which is most important), 32bpp, 800x600 with Unreal Tournament.

I decided to get a lightweight WM going and IceWM is currently an okay option.

I made a little script called ~/bin/gaming-X that simple runs:

Code: Select all

#!/bin/sh

export DISPLAY=:1
X -a 1 -gamma 1.5 -layout 'Gaming Server Layout' :1 &
icewm &
Be sure to first logout of your main X display and then boot up a tiny WM for gaming. Just lovely.

Can anyone recommend a decently configurable but tiny WM?

Oh, here's a good resource for XFree ModeLine's. I was able to setup my oddball and very rare Imago 17SX perfectly:
http://xtiming.sourceforge.net
And, here's my XFree86Config file for reference:

Code: Select all

# **********************************************************************
# Module section -- this  section  is used to specify
# which dynamically loadable modules to load.
# **********************************************************************
#
Section "Module"
        Load        "dbe"       # Double buffer extension
        SubSection  "extmod"
                Option    "omit xfree86-dga"   # don't initialise the DGA extension
        EndSubSection
        Load        "type1"
        Load        "speedo"
        Load        "freetype"
        Load        "xtt"
        Load       "glx"
EndSection

# **********************************************************************
# Files section.  This allows default font and rgb paths to be set
# **********************************************************************

Section "Files"
        RgbPath "/usr/X11R6/lib/X11/rgb"
        FontPath   "/usr/X11R6/lib/X11/fonts/local/"
        FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
        FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
        FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
        FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
        FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"
        FontPath   "/usr/X11R6/lib/X11/fonts/TrueType/"
        FontPath   "/usr/X11R6/lib/X11/fonts/freefont/"
        FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"
        FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"
        FontPath        "/usr/share/fonts/corefonts"
        FontPath        "/usr/share/fonts/freefont"
EndSection

# **********************************************************************
# Server flags section.
# **********************************************************************

Section "ServerFlags"
        Option          "DefaultServerLayout"  "Workstation Server Layout"
EndSection

# **********************************************************************
# Input devices
# **********************************************************************

# **********************************************************************
# Core keyboard's InputDevice section
# **********************************************************************

Section "InputDevice"
        Identifier      "Keyboard1"
        Driver  "Keyboard"
        Option "AutoRepeat" "500 30"
        Option "XkbRules"       "xfree86"
        Option "XkbModel"       "pc104"
        Option "XkbLayout"      "us"
EndSection


# **********************************************************************
# Core Pointer's InputDevice section
# **********************************************************************

Section "InputDevice"
        Identifier      "Mouse1"
        Driver          "mouse"
        Option          "Protocol"      "IMPS/2"
        Option          "Device"        "/dev/input/mice"
        Option          "Buttons"       "5"
        Option          "ZAxisMapping"  "4 5"
        Option          "Resolution"    "256"
EndSection

# **********************************************************************
# Monitor section
# **********************************************************************

Section "Monitor"
        Identifier      "Imago 17SX"
        HorizSync       30-64
        VertRefresh     50-85
        vendorname      "Imago"
        modelname       "1280x1024, 60Hz"
        Gamma           1.50
        #Option         "DPMS" "true"
        Modeline        "1280x1024@60" 114.98 1280 1312 1744 1776 1024 1045 1055 1076
        Modeline        "1280x960@60" 105.68 1280 1312 1712 1744 960 979 989 1009
        Modeline        "1024x768@75" 85.67 1024 1056 1376 1408 768 782 792 807
        Modeline        "1024x768@70" 78.40 1024 1056 1352 1384 768 783 792 807
        Modeline        "1024x768@60" 64.56 1024 1056 1296 1328 768 783 791 807
        Modeline        "800x600@85" 58.29 800 832 1048 1080 600 611 620 631
        Modeline        "800x600@75" 49.85 800 832 1016 1048 600 611 619 631
        Modeline        "800x600@72" 47.60 800 832 1008 1040 600 612 619 631
        Modeline        "800x600@60" 38.43 800 832 976 1008 600 612 618 631
        Modeline        "640x480@85" 36.11 640 672 808 840 480 489 496 505
        Modeline        "640x480@75" 31.15 640 672 784 816 480 489 495 505
        Modeline        "640x480@73" 30.08 640 672 784 816 480 489 495 505
        Modeline        "640x480@60" 24.11 640 672 760 792 480 490 495 505
EndSection

Section "Monitor"
        Identifier      "Testing Imago 17SX"
        HorizSync       30-64
        VertRefresh     50-85
        vendorname      "Imago"
        modelname       "1280x1024, 60Hz"
        Modeline        "1280x1024@60" 114.98 1280 1312 1744 1776 1024 1045 1055 1076
        Modeline        "1280x960@60" 105.68 1280 1312 1712 1744 960 979 989 1009
        Modeline        "1024x768@75" 85.67 1024 1056 1376 1408 768 782 792 807
        Modeline        "1024x768@70" 78.40 1024 1056 1352 1384 768 783 792 807
        Modeline        "1024x768@60" 64.56 1024 1056 1296 1328 768 783 791 807
        Modeline        "800x600@85" 58.29 800 832 1048 1080 600 611 620 631
        Modeline        "800x600@75" 49.85 800 832 1016 1048 600 611 619 631
        Modeline        "800x600@72" 47.60 800 832 1008 1040 600 612 619 631
        Modeline        "800x600@60" 38.43 800 832 976 1008 600 612 618 631
        Modeline        "640x480@85" 36.11 640 672 808 840 480 489 496 505
        Modeline        "640x480@75" 31.15 640 672 784 816 480 489 495 505
        Modeline        "640x480@73" 30.08 640 672 784 816 480 489 495 505
        Modeline        "640x480@60" 24.11 640 672 760 792 480 490 495 505
EndSection

# **********************************************************************
# Graphics device section
# **********************************************************************

Section "Device"
        Identifier  "Voodoo3"
        Driver      "tdfx"
        vendorname "3Dfx"
        boardname "3Dfx Voodoo3 16MB"
        #Option "NoAccel"
EndSection

Section "Device"
        Identifier  "VirgeGX"
        Driver      "s3virge"
        Option "XVideo" "false"
        Option "slow_edodram" "on" #*
        #Option "fpm_vram" "off"
        Option "slow_dram" # | fast_dram" #*
        #Option "early_ras_precharge|late_ras_precharge"
        #Option "set_mclk" "integer"
        #Option "set_refclk" "integer"
        Option "NoAccel"
        #Option "UseFB"
        #Option  "fifo_aggressive|fifo_moderate|fifo_conservative"
        Option "pci_burst" "true" #*
        Option "pci_retry" "true" #*
        #
        vendorname "S3"
        boardname "S3 Virge/GX"
EndSection

Section "Device"
        Identifier  "SiS730"
        Driver      "sis"
        vendorname "SiS"
        boardname "SiS 730 8MB Shared"
        #Option "NoAccel"
EndSection

Section "Device"
        Identifier      "TNT2"
        Driver          "nvidia" # Driver "nv" for built-in driver
        vendorname      "nVidia"
        boardname       "nVidia TNT2/16MB"
        #Option         "NoAccel"
EndSection

Section "Device"
        Identifier      "Radeon7000"
        Driver          "radeon"
        vendorname      "Radeon"
        boardname       "ATI Radeon 7000/64MB"
        Option          "AGPMode" "4"
        Option          "EnableDepthMoves" "on"
        Option          "EnablePageFlip" "on"
        Option          "AGPFastWrite" "yes"
        Option          "ShadowFB" "false"
        Option          "UseFBDev" "false"
        Option          "Capabilities" "0x00000000"
        Option          "UseFastTLS" "true"
        Option          "BlockSignalsOnLock" "on"
        Option          "UseInternalAGPGART" "no"
        Option          "ForceGenericCPU" "no"
EndSection

Section "Device"
        Identifier      "Geforce2MX400"
        Driver          "nvidia"
        vendorname      "nVidia"
        boardname       "nVidia Geforce2 MX400/64MB"
        Option          "NoLogo" "true"
        Option          "RenderAccel" "false"           #* No performance increase, but enabled for fun
        #Option         "NvAGP" "1"                     #* Nvidia default is AGPGART anyway
        #Option         "AGPMode" "4"                   #* Not used by driver
        #Option         "EnableDepthMoves" "on"         #* Not used by driver
        #Option         "EnablePageFlip" "on"           #* Not used by driver
        #Option         "AGPFastWrite" "yes"            #* Not used by driver
        #Option         "ShadowFB" "false"              #* Not used by driver
        #Option         "UseFBDev" "false"              #* Not used by driver
        #Option         "Capabilities" "0x00000000"     #* Not used by driver
        #Option         "UseFastTLS" "true"             #* Not used by driver
        #Option         "BlockSignalsOnLock" "on"       #* Not used by driver
        #Option         "UseInternalAGPGART" "no"       #* Not used by driver
        #Option         "ForceGenericCPU" "no"          #* Not used by driver
EndSection


# **********************************************************************
# Screen sections
# **********************************************************************

Section "Screen"
        Identifier      "Workstation Screen"
        Device          "Geforce2MX400"
        Monitor         "Imago 17SX"
        DefaultDepth    24
        Option          "BackingStore"

        Subsection "Display"
                Depth       8
                Modes       "1024x768" "800x600" "640x480"
                ViewPort    0 0
        EndSubsection
        Subsection "Display"
                Depth       16
                Modes       "1024x768" "800x600" "640x480"
                ViewPort    0 0
        EndSubsection
        Subsection "Display"
                Depth       24
                Modes       "1024x768" "800x600" "640x480"
                ViewPort    0 0
        EndSubsection
        Subsection "Display"
                Depth       32
                Modes       "1024x768" "800x600" "640x480"
                ViewPort    0 0
        EndSubsection
EndSection

Section "Screen"
        Identifier      "Gaming Screen"
        Device          "Geforce2MX400"
        Monitor         "Imago 17SX"
        DefaultDepth    24
        Subsection "Display"
                Depth           16
                Modes           "1024x768" "800x600" "640x480"
                ViewPort        0 0
        EndSubsection
        Subsection "Display"
                Depth           24
                Modes           "1024x768" "800x600" "640x480"
                ViewPort        0 0
        EndSubsection
EndSection

Section "Screen"
        Identifier      "Testing Screen"
        Device          "Geforce2MX400"
        Monitor         "Testing Imago 17SX"
        DefaultDepth    24
        Subsection "Display"
                Depth           8
                Modes           "1024x768" "800x600" "640x480"
                ViewPort        0 0
        EndSubsection
        Subsection "Display"
                Depth           16
                Modes           "1024x768" "800x600" "640x480"
                ViewPort        0 0
        EndSubsection
        Subsection "Display"
                Depth           24
                Modes           "1024x768" "800x600" "640x480"
                ViewPort        0 0
        EndSubsection
        Subsection "Display"
                Depth           32
                Modes           "1024x768" "800x600" "640x480"
                ViewPort        0 0
        EndSubsection

EndSection


# **********************************************************************
# ServerLayout sections.
# **********************************************************************

Section "ServerLayout"
        Identifier      "Workstation Server Layout"
        Screen          "Workstation Screen"
        InputDevice     "Mouse1" "CorePointer"
        InputDevice     "Keyboard1" "CoreKeyboard"
EndSection

Section "ServerLayout"
        Identifier      "Gaming Server Layout"
        Screen          "Gaming Screen"
        InputDevice     "Mouse1" "CorePointer"
        InputDevice     "Keyboard1" "CoreKeyboard"
EndSection

Section "ServerLayout"
        Identifier      "Testing Server Layout"
        Screen          "Testing Screen"
        InputDevice     "Mouse1" "CorePointer"
        InputDevice     "Keyboard1" "CoreKeyboard"
EndSection
Top
Jimboberella
Guru
Guru
User avatar
Posts: 358
Joined: Wed Jun 19, 2002 11:32 pm
Location: Brisbane/Australia
Contact:
Contact Jimboberella
Website

  • Quote

Post by Jimboberella » Sat Oct 16, 2004 6:07 am

This to works with Tactical Ops Assult on Terror (AOT) retail
Top
Shovas
n00b
n00b
Posts: 73
Joined: Fri May 23, 2003 2:16 am

  • Quote

Post by Shovas » Sun Nov 14, 2004 3:35 am

Here's something interesting I found for those with low system specs. I'm talking about a Duron 750, 512MB ram, and a Geforce2 MX400/64MB.

If you think you're already getting low FPS at 640x480, 800x600 and Medium or Low detail levels and using 16bpp, you may be surprised what happens when you try upping the ante just for fun.

I first started by taking off all the details levels, decals, dynamic lighting, etc., thinking I would improve performance but no matter what I did, I would always find that "big" scenes(multiple levels, lots of polygons at different planes) would bog down to about 16-20 FPS.

So, just for the fun of I enabled all the detail levels again and found that same "big scene" spot was still at 16-20FPS. So, okay, no gain and no loss upping the detail levels.

Then I cranked up the resolution to 1024x768. No degradation in performance. That kind of blew me away, so I figured I try out 1280x1024@60hz(which I never use because of the refresh). Reconfigured xorg.conf, restarted, and a quite enjoyable game ensued. In passageways and low-polygon areas, FPS is around 30-40. Again in the big scenes, it goes down to 16-20fps, but I've never seen it dip below 16.

That irked me, so I figured I've gone this far why not try 32bpp. Now, my card can't handle true 32bpp, apparently, but it can handle 24bpp masquerading as 32bpp(and it definitely looks better than 16bpp). I bumped it up and guess what? No performance degradation. This is entirely anecdotal but I think it's even more stable in the 30-40fps range in the passageways, with a slightly higher FPS(37 vs. 30fps).

So, moral of the story? Even though you only have half acceptable frame rates doesn't mean you can't get glorious looking graphics. Don't ask me why, but it works on my setup.
Top
Shovas
n00b
n00b
Posts: 73
Joined: Fri May 23, 2003 2:16 am

  • Quote

Post by Shovas » Sun Nov 14, 2004 4:22 am

Yet another treat for those looking to tweak out Unreal Tournament is the 428 patch(yes, we already have 451 so it's all good) and its OpenGL update for S3TC high detail textures. From http://osgaming.net/Downloads/Linux/Ins ... .PATCH.428, in short,
OpenGL renderer

- fixed fogging!
- fixed banding problem in menues
- removed hardcoded max texture size
- added UseAlphaPalette option as a workaround for buggy drivers
- added UseGammaExtension option
- added UseModulatedGamma option
- added Use4444Textures option
- added support for S3TC compressed high quality textures (2nd CD)

So you're going to have to use the OpenGL renderer. I haven't noticed a problem, yet, except for brightness acts differently under OpenGL than the SDLGL driver.

And,
To make use of the S3TC compression feature, patch to 428 and then
manually copy over the files from your Textures directory from your
2nd UT CD to the Textures directory in your INSTALL_DIR/Textures
directory overwriting existing files (except credits.utx).

The patch also contains a replacement file for your UnrealTournament.ini.
You are encourage to use it instead of the original one. If you want to
so simply rename it and copy it to your home directory.

For example:

Code: Select all

$mv INSTALL_DIR/System/UnrealTournament.ini.428
INSTALL_DIR/System/UnrealTournament.ini
$cp INSTALL_DIR/System/UnrealTournament.ini ~/.loki/ut/System
I think I saw a post where someone asked about S3TC high detail texture support and someone answered that the Game Of The Year edition was needed. This isn't true as the second cd of your UT set has the high detail textures under the /Textures/ directory. Simply copy them to the typical Unreal Tournament Gentoo directory(/opt/unreal-tournament/Textures) and you're good to go.

You'll also need to edit ~/.loki/ut/System/UnrealTournament.ini or /opt/unreal-tournament/System/UnrealTournament.ini and change the following lines:
[Engine.Engine]
GameRenderDevice=OpenGLDrv.SDLGLRenderDevice
WindowedRenderDevice=OpenGLDrv.SDLGLRenderDevice
RenderDevice=OpenGLDrv.SDLGLRenderDevice
...to...
[Engine.Engine]
GameRenderDevice=OpenGLDrv.OPENGLRenderDevice
WindowedRenderDevice=OpenGLDrv.OPENGLRenderDevice
RenderDevice=OpenGLDrv.OPENGLRenderDevice
And,
[OpenGLDrv.OpenGLRenderDevice]
UseTNT=1
UseGammaExtension=1
UseModulatedGamma=0
UseS3TC=0
...to...
[OpenGLDrv.OpenGLRenderDevice]
UseTNT=1
UseGammaExtension=1
UseModulatedGamma=0
UseS3TC=1
Textures are noticeably better and, as an added bonus as per my previous post, on my system setup there's no performance degradation. This is well worth the upgrade, I think, to get high detail textures.

Beware the SDLGL and trying to use UseS3TC=1: I tried this and it simply causes UT to use default textures for the high detail textures, from what it seems, as it can't handle the new ones. So, use OPENGL and you should be good to go.
Last edited by Shovas on Mon Jan 17, 2005 4:39 pm, edited 1 time in total.
Top
Shovas
n00b
n00b
Posts: 73
Joined: Fri May 23, 2003 2:16 am

  • Quote

Post by Shovas » Sun Nov 14, 2004 4:49 am

One last tip, for video cards that can handle it, there's a hidden option(not available in the UT GUI) in your ~/.loki/ut/System/UnrealTournament.ini file called UseTrilinear. This will increase your image quality. It didn't appear to affect my system performance but it didn't seem to increase image quality either. Of course my video card may not be able to handle it. Try it for yourself.
Top
Shovas
n00b
n00b
Posts: 73
Joined: Fri May 23, 2003 2:16 am

  • Quote

Post by Shovas » Fri Nov 26, 2004 12:32 am

Setup

Desktop: X + KDE
CPU: AMD Duron 750, AMD Sempron 2500+
Memory: 512MB
Video Card: Geforce2 MX400/64MB

Symptoms

After running applications that make use of OpenGL or perhaps the glx driver(glxgears, unreal-tournament, serious-sam-tfe/tse), at random if you run another program requiring OpenGL or glx in the same session(after having ended the previous application), X will segfault and restart back to the login screen, losing every program you had open.

This happens in KDE.

This happened often and had decent repeatability, even though it wasn't exactly after 1 load or 2 loads. But it always crashed after only a few runs of applications using OpenGl.

Solution

After switching to X+IceWM and doing the same applications over, X has not once segfaulted yet. Perhaps it was KDE segfaulting and causing X to segfault.

Regardless, if you're having these problems, try an alternative WM.
Selah.ca
Consultant; Profile and Portfolio
Top
bennettp
Guru
Guru
User avatar
Posts: 335
Joined: Sun Feb 22, 2004 5:11 am
Location: on my back and tumbling

  • Quote

Post by bennettp » Sat Nov 27, 2004 9:40 pm

Very nice guide. Thanks especially for the "-a 1" option for X.
Registered Linux User #363420
Top
bennettp
Guru
Guru
User avatar
Posts: 335
Joined: Sun Feb 22, 2004 5:11 am
Location: on my back and tumbling

Re: Unreal Tournament Linux Guide: Maximum Game Experience

  • Quote

Post by bennettp » Sat Nov 27, 2004 9:45 pm

badct\VoiD wrote:- Input: You have to get used to the Linux mouse handling, but it's way more precise then Windows. Try it out (proud owner of a Microsoft IntelliMouse Explorer 3.0 and Natural Keyboard, Microsoft hardware rocks!): Repeat a circle movement with your crosshair, the circle should be as small as possible - the Linux circle is much smoother (by same sensitivity according to field of view rotation).
So true: input in linux is a hell of a lot better than in windows. Quick suggestion: before you buy your next mouse, make sure you compare the microsoft products to logitech. I think you'll find the logitech ones better. Also, you won't need to clean the lens as often (I've had mine for about 6 months; havn't needed to clean the lens yet).
Registered Linux User #363420
Top
Post Reply
  • Print view

18 posts • Page 1 of 1

Return to “Gamers & Players”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic