[SOLVED] i915 driver stack slow 3D performance on multilib
SlackwareThis Forum is for the discussion of Slackware Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
my latest mystery with the i915 driver stack: on my Clarkdale machine (i965) Quake 3 runs with 1 frame per second. It used to be OK. For some reason it selects the software renderer. It is a 32 bit application running with multilibs.
I can't tell which of the recent upgrades might be responsible: kernel, xorg, libdrm, mesa or other?
It appears in 64 bit everything is working OK (with the exception of the other i915 issues I'm having).
guest@arnold$ grep Renderer .q3a/baseq3/q3config.cfg
seta r_lastValidRenderer "Software Rasterizer"
guest@arnold$ lstgz drm
guest@arnold$ lstgz intel
guest@arnold$ lstgz mesa
guest@arnold$ ll /dev/dri/card0
crw-rw---- 1 root video 226, 0 Aug 17 00:42 /dev/dri/card0
guest@arnold$ glxinfo | grep render
direct rendering: Yes
OpenGL renderer string: Mesa DRI Intel(R) Ironlake Desktop
guest@arnold$ egrep "(GLX|DRI)" /var/log/Xorg.0.log
[ 12141.285] (==) AIGLX enabled
[ 12141.285] (II) Loading extension GLX
[ 12141.287] (II) Loading extension XFree86-DRI
[ 12141.288] (II) Loading extension DRI2
[ 12141.944] (II) intel(0): [DRI2] Setup complete
[ 12141.944] (II) intel(0): [DRI2] DRI driver: i965
[ 12142.300] (II) intel(0): direct rendering: DRI2 Enabled
[ 12142.314] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
[ 12142.314] (II) AIGLX: enabled GLX_INTEL_swap_event
[ 12142.314] (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control
[ 12142.314] (II) AIGLX: enabled GLX_SGI_make_current_read
[ 12142.314] (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects
[ 12142.314] (II) AIGLX: Loaded and initialized /usr/lib64/xorg/modules/dri/i965_dri.so
[ 12142.314] (II) GLX: Initialized DRI2 GL provider for screen 0
[ 12182.224] (II) AIGLX: Suspending AIGLX clients for VT switch
[ 12268.610] (II) AIGLX: Resuming AIGLX clients after VT switch
guest@arnold$ uname -r
root@arnold$ lspci -vv | head -28 | tail -20
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 12) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. Device 8383
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 16
Region 0: Memory at f7800000 (64-bit, non-prefetchable) [size=4M]
Region 2: Memory at e0000000 (64-bit, prefetchable) [size=256M]
Region 4: I/O ports at cc00 [size=8]
Expansion ROM at <unassigned> [disabled]
Capabilities:  MSI: Enable- Count=1/1 Maskable- 64bit-
Address: 00000000 Data: 0000
Capabilities: [d0] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a4] PCI Advanced Features
AFCap: TP+ FLR+
Kernel driver in use: i915
I tried upgrading mesa to 7.11 but could not get the Slackbuild to work.
Oh, btw, the same software config works great on another machine with nvidia blob.
Does anyone have a hint (other than to dump intel graphics)?
I finally managed to build mesa 7.11 (cf. other thread) but that didn't help. now only xorg itself (at least xf68-video-intel) needs upgrading to be on par with the intel Q3 recommendation. However, I have the feeling all that is barking up the wrong tree.
Well, as you say in the first post, this only happens with 32-bit software, right? Sounds to me like the 32-bit Mesa libraries are not installed/working properly. Did you confirm the 32-bit mesa package was installed initially, and that when you built Mesa 7.11, you had it build the 32-bit libraries and drivers?
yes. Just to rule out any side-effects through multilib i built llvm and mesa-7.11-i486 on my only true 32 bit installation, a P3 which took a few hours for the compilation. ;-)
I then converted the package to mesa-compat32-7.11-x86_64 and installed it together with mesa-7.11-x86_64 on the target machine.
Come to think of it, the software emulation works fine (albeit slow). It just seems the 32 bit application does not get the option of a hardware rasterizer. So maybe the issue is on the turf of the intel driver (which wouldn't totally surprise me) but i have no idea how it all hangs together.