Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 290153 - app-emulation/emul-linux-x86-xlibs needs to include media-libs/mesa with intel support
Summary: app-emulation/emul-linux-x86-xlibs needs to include media-libs/mesa with inte...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 Linux
: High normal with 1 vote (vote)
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
: 293529 (view as bug list)
Depends on:
Blocks: emul-tracker
  Show dependency tree
 
Reported: 2009-10-22 17:48 UTC by Alan Hourihane
Modified: 2010-01-02 16:27 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alan Hourihane 2009-10-22 17:48:24 UTC
When running a 32bit OpenGL application on i965 hardware, it's slow because it's falling back to software.

The issue is that app-emulation/emul-linux-x86-xlibs-20081109 contains very old mesa binaries and i965 isn't even included in this.
Comment 1 qdii 2009-10-27 00:01:46 UTC
Hello,
this post to confirm what was said previously, using i915 driver.
Shouldn't mesa ebuild compile 32-bit opengl library too when used with "multilibs" USE-flag ?
Comment 2 qdii 2009-10-30 19:02:31 UTC
emul-linux-x86-xlibs-20091004 didn't solve the problem !
Comment 3 infobox.oleg 2009-11-21 23:40:20 UTC
(In reply to comment #1)
> Hello,
> this post to confirm what was said previously, using i915 driver.
> Shouldn't mesa ebuild compile 32-bit opengl library too when used with
> "multilibs" USE-flag ?
> 

Mesa doesn't have multilib use flag.
What is the current status/opinion of amd64 team on this issue?

Oleg
Comment 4 infobox.oleg 2009-11-21 23:42:15 UTC
*** Bug 293529 has been marked as a duplicate of this bug. ***
Comment 5 Alistair 2009-11-24 00:25:31 UTC
(In reply to comment #2)
> emul-linux-x86-xlibs-20091004 didn't solve the problem !
> 

emul-linux-x86-*-20091004 is hardmasked out at the moment for killing puppies apparently -- however I will give this lot a shot to see if it WFM.

  Anyone have suggestions on best way to pull this off?
Comment 6 Alistair 2009-11-24 00:42:03 UTC
(In reply to comment #5)
> (In reply to comment #2)
> > emul-linux-x86-xlibs-20091004 didn't solve the problem !
<snip>
>   Anyone have suggestions on best way to pull this off?
> 

 Okay -- commented emul-linux-x86-* lines out of /usr/portage/profiles/package.mask, 
 then added 
app-emulation/emul-linux-x86-xlibs ~amd64
app-emulation/emul-linux-x86-baselibs ~amd64
 
  to /etc/portage/package.keywords/wine 
(where I have the overrides for my wine build which requires this)

  and emerged.

the emerge complained about a file collision on /usr/lib32/libGLU* , but couldn't find an owner, so proceeded:

This all looks *very* good -- especially since it rather looks like libGLU matches its 64bit companion, and all the dri/*.so drivers appear matched.

 ls -l /usr/lib32/dri/
total 34856
-rwxr-xr-x 1 root root 2163340 Nov 22 16:11 i810_dri.so
-rwxr-xr-x 1 root root 2433836 Nov 22 16:11 i915_dri.so
-rwxr-xr-x 1 root root 2516524 Nov 22 16:11 i965_dri.so
-rwxr-xr-x 1 root root 2249028 Oct  3 14:15 mach64_dri.so
-rwxr-xr-x 1 root root 2298276 Oct  3 14:15 mga_dri.so
-rwxr-xr-x 1 root root 2167108 Oct  3 14:15 r128_dri.so
-rwxr-xr-x 1 root root 2231972 Oct  3 14:15 r200_dri.so
-rwxr-xr-x 1 root root 2232900 Oct  3 14:15 r300_dri.so
-rwxr-xr-x 1 root root 2201156 Oct  3 14:15 radeon_dri.so
-rwxr-xr-x 1 root root 2154724 Oct  3 14:15 s3v_dri.so
-rwxr-xr-x 1 root root 2224996 Oct  3 14:15 savage_dri.so
-rwxr-xr-x 1 root root 2228676 Oct  3 14:15 sis_dri.so
-rwxr-xr-x 1 root root 2006960 Oct  3 14:15 swrast_dri.so
-rwxr-xr-x 1 root root 2220388 Oct  3 14:15 tdfx_dri.so
-rwxr-xr-x 1 root root 2091044 Oct  3 14:15 trident_dri.so
-rwxr-xr-x 1 root root 2158980 Oct  3 14:15 unichrome_dri.so
atonner@lrssbra0240 ~ $ ls -l /usr/lib32/
Display all 574 possibilities? (y or n)
atonner@lrssbra0240 ~ $ ls -l /usr/lib32/x
ls: cannot access /usr/lib32/x: No such file or directory
atonner@lrssbra0240 ~ $ ls -l /usr/lib32/libGL*
-rw-r--r-- 1 root root    723 Nov 23 19:30 /usr/lib32/libGL.la
lrwxrwxrwx 1 root root     30 Nov 23 19:30 /usr/lib32/libGL.so -> ./opengl/xorg-x11/lib/libGL.so
-rw-r--r-- 1 root root    743 Nov 22 16:11 /usr/lib32/libGLU.la
lrwxrwxrwx 1 root root     11 Nov 23 19:30 /usr/lib32/libGLU.so -> libGLU.so.1
lrwxrwxrwx 1 root root     20 Nov 23 19:31 /usr/lib32/libGLU.so.1 -> libGLU.so.1.3.070502
-rwxr-xr-x 1 root root 443920 Oct  3 14:15 /usr/lib32/libGLU.so.1.3.070300
-rwxr-xr-x 1 root root 427564 Nov 22 16:11 /usr/lib32/libGLU.so.1.3.070502
atonner@lrssbra0240 ~ $ ls -l /usr/lib/libGLU*
-rw-r--r-- 1 root root    743 Nov 18 21:53 /usr/lib/libGLU.la
lrwxrwxrwx 1 root root     11 Nov 18 21:53 /usr/lib/libGLU.so -> libGLU.so.1
lrwxrwxrwx 1 root root     20 Nov 18 21:53 /usr/lib/libGLU.so.1 -> libGLU.so.1.3.070502
-rwxr-xr-x 1 root root 436712 Nov 18 21:53 /usr/lib/libGLU.so.1.3.070502

   Currently rebuilding my wine against this since I somehow suspect that the libGL that it finds in /usr/lib32/opengl/ is what it links against -- but I of course am guessing.


Comment 7 Alistair 2009-11-24 00:57:58 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > (In reply to comment #2)
> > > emul-linux-x86-xlibs-20091004 didn't solve the problem !
>

   export LIBGL_DEBUG=verbose
   WINEDBG=+wgl wine /path/to/32bit/game >debuglog.log 2>&1

  I end up whacking myself on head since it seems I left my /usr/lib32/dri/i965_dri.so from a test build in chroot lying around.

Comment 8 Alistair 2009-11-24 01:27:21 UTC
> > > (In reply to comment #2)
> > > > emul-linux-x86-xlibs-20091004 didn't solve the problem !
> >
This ebuild does not include the intel drivers (i810/i915/i965)_dri.so 
and building the intel drivers in a 32bit chroot (chroot built with same portage rules/make.conf as the 64bit parent) ends up with the dlopen of the i965_dri.so complaining about a missing symbol.

If someone were to give me a hint as to what was used in the build of the emul-linux-x86-xlibs I'd be willing to take a shot at building xf86-video-intel to match it and add those ...

   
   From what I can tell here, 32bit binaries on amd64 systems will NOT be able to run opengl on intel chipsets.

   

> 

Comment 9 qdii 2009-11-24 07:49:29 UTC
>    Currently rebuilding my wine against this since I somehow suspect that the
> libGL that it finds in /usr/lib32/opengl/ is what it links against -- but I of
> course am guessing.

Hello. What I did to figure that out is : launch a wine app, and then switch to a console and use "lsof -p `pgrep wine` | grep GL". (Except if you are talking about static link ?)

If there is any test I could do that would be useful, just tell me !
Comment 10 Pacho Ramos gentoo-dev 2009-12-27 10:46:35 UTC
Please try with app-emulation/emul-linux-x86-xlibs-20091226 , it includes current X packages stable on x86
Comment 11 infobox.oleg 2009-12-27 11:45:57 UTC
(In reply to comment #10)
> Please try with app-emulation/emul-linux-x86-xlibs-20091226 , it includes
> current X packages stable on x86
> 

I'm sorry, but for me it is not fixed :-( Please, reopen.

# export LIBGL_DEBUG=verbose
# /opt/chroot32/usr/bin/glxgears

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 error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL: OpenDriver: trying /usr/lib32/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib32/dri/swrast_dri.so
1306 frames in 5.0 seconds = 261.108 FPS

Intel driver is still missing :-( See comment 0.

What is installed:
     Sun Dec 27 12:07:55 2009 >>> app-emulation/emul-linux-x86-baselibs-20091226
     Sun Dec 27 12:08:03 2009 >>> app-emulation/emul-linux-x86-compat-20091226
     Sun Dec 27 12:08:33 2009 >>> app-emulation/emul-linux-x86-xlibs-20091226
     Sun Dec 27 12:14:07 2009 >>> app-emulation/emul-linux-x86-sdl-20091226
     Sun Dec 27 12:14:18 2009 >>> app-emulation/emul-linux-x86-medialibs-20091226
     Sun Dec 27 12:14:30 2009 >>> app-emulation/emul-linux-x86-soundlibs-20091226

Oleg
Comment 12 Pacho Ramos gentoo-dev 2009-12-27 13:35:48 UTC
OK, then we need x11-drivers/xf86-video-intel 32 bits libs in app-emulation/emul-linux-x86-xlibs but depending on a "intel" USE flag being enabled or not since it won't interest to, for example, nvidia users (like me ;-))

Thanks a lot
Comment 13 Pacho Ramos gentoo-dev 2009-12-27 19:03:13 UTC
Per http://bugs.gentoo.org/show_bug.cgi?id=269857#c12 the problem is in 32 bits mesa version not being built with intel support
Comment 14 Pacho Ramos gentoo-dev 2009-12-31 17:01:17 UTC
In new set
Comment 15 infobox.oleg 2010-01-01 22:11:56 UTC
Works nicely now! Thank you very much!

Oleg
Comment 16 Mike Lothian 2010-01-02 01:20:21 UTC
Is there any chance the r600 driver could be added too?
Comment 17 Pacho Ramos gentoo-dev 2010-01-02 14:31:55 UTC
(In reply to comment #16)
> Is there any chance the r600 driver could be added too?
> 

What package provides it on amd64?
Comment 18 Nick Bowler 2010-01-02 16:20:20 UTC
G(In reply to comment #17)
> (In reply to comment #16)
> > Is there any chance the r600 driver could be added too?
> > 
> 
> What package provides it on amd64?

media-libs/mesa, version 7.7 or later.
Comment 19 Pacho Ramos gentoo-dev 2010-01-02 16:27:54 UTC
This is why I was unable to find it (as emul packages are build with current stable)

It will have to wait then for the next emul round, that I expect to prepare near new X stabilization (around mid-february or so)