You are not logged in.
OK, I know I'm probably going to be a little harassed or ignored by this, but I really have to ask it.
I have an integrated Intel graphics card:
nikos@Russell:~$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03)
nikos@Russell:~$ LIBGL_DEBUG=verbose glxinfo | grep render
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri/i965_dri.so
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/nikos/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/nikos/.drirc: No such file or directory.
direct rendering: Yes
OpenGL renderer string: Mesa DRI Intel(R) G41
GL_EXT_vertex_array_bgra, GL_NV_conditional_render,
It's not that it doesn't work well (glxgears gives about 85, the same as my refresh rate), but I'd like it to work better for gaming. I play secondlife and most viewers don't even give me basic shaders, with one exception. This viewer works perfectly, I can play in Ultra graphics, which means my card has the ability to do it.
Thinking that perhaps compiling a SL viewer standalone in my system would give equally good performance, I tried to do it with my favourite viewer, but it fails miserably.
Now, for a short while I used Ubuntu (which I otherwise avoid), in which most viewers worked almost like the above-mentioned Snowglobe, which means acceptably well. So I tried to figure out which driver it used. I tried this, with no progress whatsoever.
Reading this post, I tried i915g and i965. The former gave me no 3d acceleration whatsoever, and the latter works the same as the official xf86-video-intel and mesa from the standard repositories. And there is no i965g any more.
So, I am completely and utterly baffled! Any ideas? I would welcome just about anything.
Last edited by GordonGR (2011-12-11 16:38:42)
Intel(R) Celeron(R) CPU E3400 @ 2.60GHz, x86_64. AURs.
“No one without the knowledge of geometry may enter.“ Plato.
Offline
Well, i915 from mesa is not supposed to work with it I think (however the kernel-side of the driver is the i915 module). Afaik i965g never worked good.
But mesa-full-i965 should be fine.
You can also install some additional development packages from AUR like
glproto-git and dri2proto-git (I think mesa only uses them at compile time)
libdrm-git
xf86-video-intel-git (when feeling adventurous you should add --enable-sna in the PKGBUILD. It's meant for sandybridge but it also gives some speedups in other chips. Also it's disabled by default because it has some problems (X segfault when rotating a screen etc.))
I don't know if secondlife uses S3TC, but you can anyway install libtxc_dxtn and set the variable force_s3tc_enable=true.
Regarding the second life viewers:
You can try ldd on the binary of the game and look whether they require some library found in ubuntu but not in arch.
Also, starting the viewer itself with LIBGL_DEBUG=verbose might give a hint.
฿ 18PRsqbZCrwPUrVnJe1BZvza7bwSDbpxZz
Offline
Cdh, you rock!
Also, starting the viewer itself with LIBGL_DEBUG=verbose might give a hint.
I did that, say with Imprudence, and it gave (among all the usual output)
libGL: OpenDriver: trying /tls/i965_dri.so
libGL: OpenDriver: trying /i965_dri.so
libGL error: dlopen /i965_dri.so failed (/i965_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib64/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/i965_dri.so
libGL error: dlopen /usr/lib64/dri/i965_dri.so failed (/usr/lib64/dri/i965_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib32/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib32/dri/i965_dri.so
libGL error: dlopen /usr/lib32/dri/i965_dri.so failed (/usr/lib32/dri/i965_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib/dri/i965_dri.so
libGL error: dlopen /usr/lib/dri/i965_dri.so failed (/usr/lib/dri/i965_dri.so: cannot open shared object file: No such file or directory)
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL: OpenDriver: trying /tls/swrast_dri.so
libGL: OpenDriver: trying /swrast_dri.so
libGL error: dlopen /swrast_dri.so failed (/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib64/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/swrast_dri.so
libGL error: dlopen /usr/lib64/dri/swrast_dri.so failed (/usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib32/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib32/dri/swrast_dri.so
libGL error: dlopen /usr/lib32/dri/swrast_dri.so failed (/usr/lib32/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/dri/swrast_dri.so
libGL error: dlopen /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL error: unable to load driver: swrast_dri.so
libGL error: reverting to indirect rendering
On the other hand, "LIBGL_DEBUG=verbose snowglobe" gives
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri/i965_dri.so
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/nikos/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/nikos/.drirc: No such file or directory
So I soft linked "/usr/lib/xorg/modules/dri/i965_dri.so" to "/usr/lib32/dri/" and "/usr/lib/dri/" and then "/usr/lib" to "/usr/lib64" for good measure, and IT WORKS! I have basic and atmospheric shaders, which is just as I hoped.
Only in 64bit viewers, though. 32bit viewers report
libGL: OpenDriver: trying /tls/i965_dri.so
libGL: OpenDriver: trying /i965_dri.so
libGL error: dlopen /i965_dri.so failed (/i965_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib64/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/i965_dri.so
libGL error: dlopen /usr/lib64/dri/i965_dri.so failed (/usr/lib64/dri/i965_dri.so: wrong ELF class: ELFCLASS64)
libGL: OpenDriver: trying /usr/lib32/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib32/dri/i965_dri.so
libGL error: dlopen /usr/lib32/dri/i965_dri.so failed (/usr/lib32/dri/i965_dri.so: wrong ELF class: ELFCLASS64)
libGL: OpenDriver: trying /usr/lib/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib/dri/i965_dri.so
libGL error: dlopen /usr/lib/dri/i965_dri.so failed (/usr/lib/dri/i965_dri.so: wrong ELF class: ELFCLASS64)
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL: OpenDriver: trying /tls/swrast_dri.so
libGL: OpenDriver: trying /swrast_dri.so
libGL error: dlopen /swrast_dri.so failed (/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib64/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/swrast_dri.so
libGL error: dlopen /usr/lib64/dri/swrast_dri.so failed (/usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib32/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib32/dri/swrast_dri.so
libGL error: dlopen /usr/lib32/dri/swrast_dri.so failed (/usr/lib32/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/dri/swrast_dri.so
libGL error: dlopen /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL error: unable to load driver: swrast_dri.so
libGL: OpenDriver: trying /tls/swrastg_dri.so
libGL: OpenDriver: trying /swrastg_dri.so
libGL error: dlopen /swrastg_dri.so failed (/swrastg_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib64/dri/tls/swrastg_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/swrastg_dri.so
libGL error: dlopen /usr/lib64/dri/swrastg_dri.so failed (/usr/lib64/dri/swrastg_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib32/dri/tls/swrastg_dri.so
libGL: OpenDriver: trying /usr/lib32/dri/swrastg_dri.so
libGL error: dlopen /usr/lib32/dri/swrastg_dri.so failed (/usr/lib32/dri/swrastg_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib/dri/tls/swrastg_dri.so
libGL: OpenDriver: trying /usr/lib/dri/swrastg_dri.so
libGL error: dlopen /usr/lib/dri/swrastg_dri.so failed (/usr/lib/dri/swrastg_dri.so: cannot open shared object file: No such file or directory)
libGL error: unable to load driver: swrastg_dri.so
libGL error: reverting to indirect rendering
So that part still needs fixing. Are there compatibility libs about… drivers? :-S
Intel(R) Celeron(R) CPU E3400 @ 2.60GHz, x86_64. AURs.
“No one without the knowledge of geometry may enter.“ Plato.
Offline
If you want to run 32bit apps, you need 32bit libs. That's kinda of a "duh" thing. In this case, lib32-intel-dri.
Last edited by Gusar (2011-12-11 16:02:37)
Offline
That's kinda of a "duh" thing. In this case, lib32-intel-dri.
*Sighs* It's always the obvious, isn't it?
So, for the record, I installed lib32-intel-dri, then soft linked "/usr/lib32/xorg/modules/dri/i965_dri.so" to "/usr/lib32/dri/" and I'm good to go.
Thanks a bunch, everyone. Issue solved, and really quick too.
Intel(R) Celeron(R) CPU E3400 @ 2.60GHz, x86_64. AURs.
“No one without the knowledge of geometry may enter.“ Plato.
Offline
Yep, I saw no indication that you run 64 bit above...
Is it normal, that the 64 bit xorg module works for 32 bit programs...? Sounds very strange to me.
Anyway, a PKGBUILD for lib32-mesa-full git for i965 would be something like this: http://ompldr.org/vYm96eQ/PKGBUILD
Not really sure if everything is right in there, but should be.
฿ 18PRsqbZCrwPUrVnJe1BZvza7bwSDbpxZz
Offline
Thanks, I'll give it a look!
I had all 32bit compatibility libraries installed. I guess with all this fiddling I lost them at some point. Doesn't matter. Thanks again.
Intel(R) Celeron(R) CPU E3400 @ 2.60GHz, x86_64. AURs.
“No one without the knowledge of geometry may enter.“ Plato.
Offline