Success!! Gentoo + AMD64 + ATI Radeon R350

Problems with the Linux version of Darwinia

Moderators: jelco, bert_the_turtle, Chris, andy, John

john-whitlock
level0
Posts: 3
Joined: Thu Aug 03, 2006 10:29 pm

Success!! Gentoo + AMD64 + ATI Radeon R350

Postby john-whitlock » Fri Aug 04, 2006 3:48 pm

After about three months of trying on and off, I finally got Darwinia to work, and work well, on my system. Unfortunately, I don't remember all the steps, because I tried a lot of things...

The first stumbling block was realizing there was a Linux binary. I was trying to get wine and the Steam install to work, since I already purchased the game through that method. When I did discover the Linux binary (on this forum), it was a huge step forward. I was able to copy the game files from the Steam install, and get it to run. However, the game was painfully slow - maybe 1-2 fps.

I read http://gentoo-wiki.com/HOWTO_ATI_Drivers from top to bottom. It is not being maintained well, but there are some useful hints.

I had to make sure direct rendering was working. I'm using the x11-drivers/ati-drivers (ATI closed-source binary drivers, currently 8.26.18-r1) on x.org X11 7.0. I had to make sure that the Composite extension was disabled (incompatible with direct rendering), and add this bit to xorg.conf:

Code: Select all

Section "dri"
  Group "video"
  Mode 0660
EndSection

This allows everyone in group video to use DRI - which means you have to make sure your user is in that group. It took lots of restarting X, but finally glxinfo showed "direct rendering: Yes". glxgears claims to run at 4600 FPS.

I was led down a blind alley by the FAQ, and had
[code]
export LIBGL_DRIVERS_PATH=/usr/lib32/modules/dri
[code]
running before trying Darwinia. However, I noticed that this path does not actually exist on Gentoo: the dri path is under /usr/lib32/modules/xorg/dri (I suppose so that you can run the original X as well). After some playing around, I thought to see what the value of LIBGL_DRIVERS_PATH was before I started - Gentoo had set it to a reasonable default. I ran Darwinia directly, and suddenly the speed jumped up to what I would expect from hardware acceleration.

Here is the tricky part, that took me quite a while. I remember about setting "UseFastTLS" to 0 in the device section, if there were problems. It was unset, so I thought I was OK. Xorg.0.log showed some unset options, such as:
[code](**) fglrx(0): Option "EnablePrivateBackZ" "off"[/code]
On a whim, I enabled some of these, one at a time. My xorg.conf now looks like this:
[code]
Identifier "aticonfig-Device[0]"
Driver "fglrx"
Option "DesktopSetup" "horizontal"
Option "VideoOverlay" "on"
BusID "PCI:1:0:0"
Option "UseFastTLS" "2"
Option "EnablePrivateBackZ" "on"
[/code]

I have a dual-monitor setup, w/ Xinerama, which is what the DesktopSetup sets. The VideoOVerlay, UseFastTLS, and EnablePrivateBackZ were added by me.

With VideoOverlay, I was able to play movies in full screen w/ hardware scaling. Nothing to do with Darwinia, I think, but useful nonetheless.

With UseFastTLS, Darwinia sped up considerably.

Bfore EnablePrivateBackZ, the display, while fast, was centered on the left edge of my first monitor, so that I could only see half of the game. Once it was enabled, it moved to the proper place.

Finally, I tried running glxgears again, and got this error message:

FGLTexMgr: open of shared memory object failed

This turned out to be mounting options on /dev/shm. I changed the /etc/fstab entry from "nodev,nosuid,noexec" to "defaults", and these messages went away. There was no noticable speed increase, and my system may be less secure, so I don't know if I can recommend this step.

I can't check performance vs. Windows, but finally it is playable on my system! I hope this helps someone else someday...[/code]

Return to “Linux Issues”

Who is online

Users browsing this forum: No registered users and 8 guests