Hello all,
I'm experiencing an issue, that in one form or another, I've been working on for over a solid month to resolve. My end goal is to run World of Warcraft on Linux, as to make a long story short, I can't install Windows on the computer I'm using for WoW. I first tried to use Cedega with Fedora Core 4, and it was then that I identified this persistant issue:
When World of Warcraft loads, somewhere between the time it first renders the game world after the loading screen, and a few minutes into play, the game will freeze hard, requiring me to CTRL+ALT+BACKSPACE to get out of the process, sometimes requiring me to hard power down.
I half-resolved this issue for the time being by setting
Code: Select all
Option "KernelModuleParm" "agplock=0"
in xorg.conf. However, due to numerous other headaches, I abandoned Fedora and haven't looked back. There were very annoying issues that I spent way too much time on with several people trying just to get a patched version of Wine running, as well as a few specific Fedora issues relating to game performance as a whole, and it never happened. Suffice it to say, Gentoo's been much nicer to me than anything else I've tried, and I am sticking with it. Gentoo certainly is offering me the most flexibility in troubleshooting towards achieving my end goal.
However, this one issue has persistantly followed me through thick and thin to Gentoo. A few caveats to the situation, are:
- Setting
Code: Select all
Option "KernelModuleParm" "agplock=0"
in xorg.conf circumvents the issue, however, it absolutely kills framerates in OpenGL mode when running either Wine 0.9.8 or Cedega 5.1 or 5.0.3.
- Direct3D mode can be used with an okay framerate in Cedega, however, there is a bug present that causes the game to freeze for about a second at a time when a new spell or quick-loading effect is loaded, which greatly hinders gameplay. Direct3D mode looks discolored in Wine.
- A decent framerate is restored, in both Wine and Cedega's OpenGL modes, by exporting the filter extention
that's documented in many HowTo's,
however, doing this greatly increases graphical corruption, distorted textures, horrendous screen tearing, etc, to the point of unplayability.
- I am using an ATI Radeon X600 PCI express card. I'm not sure how a PCI express card should be configured in relation to many of these settings - that would be a huge help. Many of these default xorg.conf settings appear to be tuned for use with AGP, and I can find nothing that shows what's needed to ensure PCI-X support in xorg.conf. (Please don't post a blanket response that says something along the lines of "Just buy an nVidia card." - This isn't an option for me right now, aside from this issue appearing to be being non-hardware related due to its variance.)
- I am basically 100% sure that my kernel is configured properly with PCI express support, and with the correct documented settings to enable Direct Rendering with FGLRX. Direct Rendering is working... just with some caveats.
- Direct Rendering is showing as
enabled in glxinfo.
- I'm using the latest closed-source ATI binaries, but I wouldn't think the open source DRI drivers would offer any more support, especially for PCI-X, would it?
I could really use a hand, if anyone has any advice at all, I'll be glad to explore it. What would
greatly help, would be if I could find, or someone could point me in the direction of documentation regarding the ATI specific xorg.conf settings. I cannot find documentation on many of the available options anywhere. I will paste my xorg.conf file below, and you will notice most of what I'm referring to in the video adapter's device section, all the commented options. These options are added when creating an initial xorg.conf file with 'aticonfig'.
I'm using the latest closed-source ATI binaries, but I wouldn't think the open source DRI drivers would offer any more support, especially for PCI-X, would it?
At this point,
I need a direction to go in. Does anything out there think I'd have more luck with a previous version of Wine? Up to this point, I've spent a solid month on this, but I can't rest until I know beyond the shadow of a doubt that it's 100% impossible, or, it works.

This issue feels like a massive lock that I have to determine the combination for in xorg.conf.
If anyone has any thoughts as to how I might get around using 'agplock=0', or, where I could find documentation regarding these illusive settings, I would be eternally grateful. Many thanks to all, Gentoo's certainly where I'm pitching my tent. Nothing else has been so flexible to be finely tuned to my machine, and so scalable to try different avenues in my troubleshooting. A thousand thanks to the wonderful community out there!
-----
My xorg.conf:
=========
Code: Select all
Section "ServerLayout"
#Screen "Screen0"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
RgbPath "/usr/lib/X11/rgb"
ModulePath "/usr/lib/modules"
FontPath "/usr/share/fonts/misc/"
FontPath "/usr/share/fonts/TTF/"
FontPath "/usr/share/fonts/Type1/"
FontPath "/usr/share/fonts/CID/"
FontPath "/usr/share/fonts/75dpi:unscaled/"
FontPath "/usr/share/fonts/100dpi:unscaled/"
EndSection
Section "Module"
Load "extmod"
Load "dri"
Load "dbe"
Load "record"
Load "xtrap"
Load "glx"
Load "type1"
Load "freetype"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
EndSection
Section "Monitor"
Identifier "Monitor0"
DisplaySize 650.24 406
EndSection
Section "Device"
Identifier "Adapter0"
Driver "fglrx"
BusID "PCI:1:0:0"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
### [arg]: arg optional
Option "NoAccel" "False"
Option "SWcursor" "False"
#Option "Dac6Bit" # [<bool>]
#Option "Dac8Bit" # [<bool>]
Option "BusType" "PCIE"
#Option "CPPIOMode" # [<bool>]
#Option "CPusecTimeout" # <i>
#Option "AGPMode" # <i>
Option "AGPFastWrite" "False"
#Option "AGPSize" # <i>
#Option "GARTSize" # <i>
#Option "RingSize" # <i>
#Option "BufferSize" # <i>
#Option "EnableDepthMoves" # [<bool>]
Option "EnablePageFlip" "True"
#Option "NoBackBuffer" # [<bool>]
#Option "DRIReinit" # [<bool>]
#Option "PanelOff" # [<bool>]
#Option "DDCMode" # [<bool>]
#Option "MonitorLayout" # [<str>]
#Option "IgnoreEDID" # [<bool>]
#Option "UseFBDev" # [<bool>]
#Option "VideoKey" # <i>
#Option "MergedFB" # [<bool>]
#Option "CRT2HSync" # [<str>]
#Option "CRT2VRefresh" # [<str>]
#Option "CRT2Position" # [<str>]
#Option "MetaModes" # [<str>]
#Option "MergedDPI" # [<str>]
#Option "NoMergedXinerama" # [<bool>]
#Option "MergedXineramaCRT2IsScreen0" # [<bool>]
#Option "DisplayPriority" # [<str>]
#Option "PanelSize" # [<str>]
#Option "ForceMinDotClock" # <freq>
Option "RenderAccel" "True"
#Option "SubPixelOrder" # [<str>]
#Option "ShowCache" # [<bool>]
Option "DynamicClocks" "False"
#Option "VGAAccess" # [<bool>]
#Option "LVDSProbePLL" # [<bool>]
#Option "ReverseDDC" # [<bool>]
#Option "BIOSHotkeys" # [<bool>]
Option "UseInternalAGPGART" "False"
Option "UseFastTLS" "2" #<-- Added
Option "KernelModuleParm" "agplock=0; maxlockedmem=256" #<-- Added
Option "BlockSignalsOnLock" "False" #<-- Added
#Option "ForcePCIMode" "True" #<-- Added (Deprecated? Replaced by Option BusType?)
EndSection
Section "Screen"
Identifier "Screen0"
Device "Adapter0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1200" "1680x1050" "1600x1200"
Viewport 0 0
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection