game slowness with Ubuntu, Intel graphics - SOLVED

Linux support forums for Eschalon: Book II
Post Reply
cafn8ed
Pledge
Posts: 2
Joined: September 15th, 2009, 12:38 pm
Location: Kansas, USA

game slowness with Ubuntu, Intel graphics - SOLVED

Post by cafn8ed »

I first downloaded and ran Book 2 on a Windows machine, then later I installed on my linux laptop (Ubuntu 10.04, 64-bit). In linux, some parts of the game were MUCH slower than Windows, while other parts performed similarly. I fiddled with my drivers and settings until I solved the problem, so I thought I'd post what I did here.

The behavior I was seeing was very slow character walking pace, I'd guess half the speed of the Windows version, plus delayed messages showing up in the status panel at the bottom-left. The rest of the game was responsive: mouse movement and clicks, pop up windows for equipment, stats, etc., all operated quickly and normally. The walking speed was killing me, though - it took FOREVER to get across a map, and exploring a forest maze was really painful with all the backtracking I was doing.

I have a Dell laptop with an embedded Intel graphics chip.

Code: Select all

$ lspci
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)
The actual graphics driver is the i915 driver. You can tell if you're using that driver by running a command like this:

Code: Select all

$ lsmod |grep video
video                  20623  1 i915
That last line will say something like "nvidia" or "nouveau" or whatever if you have a different graphics chipset and driver.

I found a long FAQ about i915 performance and one of the hints helped me out. The fix was to add a setting to my xorg.conf file (my XWindows settings file). The problem was that Ubuntu dropped the xorg.conf file by default a version or two ago, so I didn't have anywhere to add my new setting. So here are the steps I did, plus a word of warning at the end.

1. Create an xorg.conf file with my current settings inside.

Code: Select all

$ sudo Xorg :2 -configure
Note: The ":2" is necessary to force this task to run in an alternate display, otherwise Xorg complains that it's already running and can't run again. This way is much easier than rebooting into a text mode.

2. Step 1 will create a new xorg file in your own home directory, called "xorg.conf.new". I edited this file as suggested in the i915 FAQ page, adding a setting to the video device block. After editing, that section looks like this, with my addition at the very end. Your device block may differ slightly, the key is to copy and paste the "AccelMethod" option line into your device block.

Code: Select all

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"                   # [<bool>]
        #Option     "SWcursor"                  # [<bool>]
        #Option     "ColorKey"                  # <i>
        #Option     "CacheLines"                # <i>
        #Option     "Dac6Bit"                   # [<bool>]
        #Option     "DRI"                       # [<bool>]
        #Option     "NoDDC"                     # [<bool>]
        #Option     "ShowCache"                 # [<bool>]
        #Option     "XvMCSurfaces"              # <i>
        #Option     "PageFlip"                  # [<bool>]
        Identifier  "Card0"
        Driver      "intel"
        VendorName  "Intel Corporation"
        BoardName   "Mobile GM965/GL960 Integrated Graphics Controller"
        BusID       "PCI:0:2:0"
        # Added option to boost game performance
        Option      "AccelMethod" "uxa"
EndSection
3. Copy the generated xorg file to the place where it will be used by the system:

Code: Select all

$ sudo cp xorg.conf.new /etc/X11/xorg.conf
4. reboot, try running the game again

A word of caution: Ubuntu dropped use of the xorg.conf file for a reason. Namely, to make the system much more responsive to changes (it configures itself, you don't have to fiddle with the file when you get a new monitor/video card, etc) and the bootup sequence is a hair faster. So when you follow these steps you're backsliding a bit, and you have to remember that you have this file if you ever get new hardware that you need to set up.

If that ever comes up, it's not a big deal, you can just move or rename the xorg.conf file, reboot Ubuntu the default way, and re-run the xorg.conf generator command to take your new hardware into account, then re-apply the change to the video device section.

Hope this helps.
Coffee is my drug of choice.
Post Reply