On Thu, 2 Apr 2009 22:19:17 +0200 Pongrácz István <pongracz.ist...@gmail.com> wrote:
> Could you explain this GEM technology a little bit more? > I installed gentoo-sources-2.6.29 + lates (2.6.3) intel driver, but I get > half performance than with 2.5.x intel driver. AFAIK you need a fairly recent xorg-server and mesa to use GEM. That's not a problem for me, since I use ebuilds from x11 overlay, but since 2.6.29 kernel hit the main tree already, I suppose all the xorg-related stuff should be sufficiently new, but probably still marked as ~arch. I have the following userspace: x11-base/xorg-server-1.6.0 media-libs/mesa-9999 x11-libs/libdrm-9999 x11-drivers/xf86-video-intel-2.6.99.902 As you can see mesa and libdrm are live ebuilds, but from my experience they are fairly stable. Still prehaps it's best to stick to the main tree if it'll suffice. Then there are some settings. First of all, it's "i915 DRM" kernel setting. I've tried to make it work with kernel modesetting in 29, but sometimes it gives me a black screen on X start, so I don't use it. Check that dri use flag is enabled, but that should be fairly obvious. I have nptl flag enabled too, but dunno if it's related. Then, there's xorg.conf. Mine looks like this (only relevant sections): Section "Module" Load "glx" Load "extmod" Load "record" Load "dbe" Load "dri" Load "xtrap" Load "freetype" EndSection Section "ServerFlags" Option "AIGLX" "True" EndSection Section "Extensions" Option "Composite" "Enable" Option "RENDER" "Enable" EndSection Section "DRI" Mode 0666 EndSection Section "Device" Identifier "IGP" Driver "intel" VendorName "Intel Corporation" BoardName "Mobile GM965/GL960 Integrated Graphics Controller" BusID "PCI:0:2:0" Option "DRI" "true Option "AccelMethod" "EXA" # UXA EndSection I'd suggest trying at least AIGLX flag and DRI / AccelMethod in device (I've seen suggestions to choose UXA method for it's quality at the cost of reduced performance, but never tried myself). With that I get about 60 FPS, but that seems to be expected behavior - you also need to set up dri for more. I've used x11-misc/driconf for setting up .drirc (which I've also copied to /etc/drirc, but that's probably unnecessary for single-user system). In my case, it looks like this: <driconf> <device screen="0" driver="i915"> <application name="Default"> <option name="force_s3tc_enable" value="false" /> <option name="no_rast" value="false" /> <option name="fthrottle_mode" value="2" /> <option name="bo_reuse" value="1" /> <option name="vblank_mode" value="0" /> <option name="allow_large_textures" value="2" /> </application> </device> <device screen="0" driver="i965"> <application name="Default"> <option name="force_s3tc_enable" value="false" /> <option name="no_rast" value="false" /> <option name="fthrottle_mode" value="2" /> <option name="always_flush_cache" value="false" /> <option name="always_flush_batch" value="false" /> <option name="bo_reuse" value="1" /> <option name="vblank_mode" value="0" /> <option name="allow_large_textures" value="2" /> </application> </device> </driconf> And that's probably all I did to set it up, but I might miss something out, because of unreliable memory. The setup works for both 28 and 29 kernels, giving fairly good performance for both native and wine OpenGL games. Before that, 'software' rendering options yielded better results. Hope that helps. I didn't really went into low-level specifics of "how it all works" myself, but planning to examine the topic a bit more closely, someday. -- Mike Kazantsev // fraggod.net
signature.asc
Description: PGP signature