Announcement

Collapse
No announcement yet.

Wine problems with new MESA?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by Kano View Post
    @gururise

    fetch the i386 deb of mesa-utils, mc can simply extract the glxinfo, rename it to glxinfo32 an put it at /usr/local/bin. 32 bit glxinfo should have got the same output as the 64 bit one. as your system uses old style libgl for 32 bit you can do the same if needed for 32 bit opengl support. the file to replace would be /usr/lib32/mesa/libGL.so.1.2 from libgl1-mesa-glx package.
    I tried running the 32-bit version of glxinfo, and it failed, saying it couldn't find libGL.so.1

    I ran an strace on the 32-bit glxinfo, and its looking for libGL.so.1 in /usr/lib /lib/i386-linux-gnu/ and a few other places, but it never searches in /usr/lib32/...

    I'm thinking of switching distro's, been having lots of problems with ubuntu lately.

    Comment


    • #12
      No need for strace, just:
      Code:
      ldd /usr/bin/glxinfo32
      should have something like
      Code:
              libGL.so.1 => /usr/lib32/libGL.so.1 (0xf7641000)
      If it says "not found" instead, you need to tell your linker to search in /usr/lib32 instead too I believe.
      Just putting the line
      Code:
      /usr/lib32
      in /etc/ld.so.conf

      Comment


      • #13
        You can also use Google Earth to test if 32-bit Mesa is working. At me, Mint 12 with its stock Mesa, Google Earth works.

        Comment


        • #14
          If it says "not found" instead, you need to tell your linker to search in /usr/lib32 instead too I believe.
          Just putting the line
          Code:
          /usr/lib32
          in /etc/ld.so.conf
          /usr/lib and /usr/lib32 are both in /etc/ld.so.conf.d/biarch-compat.conf

          and ld.so.conf points to the ld.so.conf.d directory:
          Code:
          include /etc/ld.so.conf.d/*.conf
          So it seems my ld.so.conf is set up properly, and it should be picking up libGL.so.1 in the /usr/lib32 directory, but its not for some reason...

          ldd /usr/bin/glxinfo32
          Code:
          	linux-gate.so.1 =>  (0xf77c7000)
          	libGL.so.1 => not found
          	libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7668000)
          	libc.so.6 => /lib32/libc.so.6 (0xf74ed000)
          	libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf74ce000)
          	libdl.so.2 => /lib32/libdl.so.2 (0xf74c9000)
          	/lib/ld-linux.so.2 (0xf77c8000)
          	libXau.so.6 => /usr/lib32/libXau.so.6 (0xf74c5000)
          	libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf74be000)
          Last edited by gururise; 01-10-2012, 11:57 AM.

          Comment


          • #15
            Well, it finds other libraries in /usr/lib32... so why not libGL?
            Maybe doing "file" on the files help?
            Code:
            /usr/lib32/libGL.so.1: symbolic link to `libGL.so.1.2'
            Code:
            /usr/lib32/libGL.so.1.2: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=0xeb074215299bb5838028dffcd3a26abc7c20f512, for GNU/Linux 2.4.20, stripped

            Comment


            • #16
              Well, I figured out why glxinfo32 (32-bit version) was not working..

              I had libGL.so in /usr/lib32, but no libGL.so.1, so I created a symlink, and glxinfo32 started working:

              glxinfo32 | grep ^OpenGL | egrep 'version|renderer'
              Code:
              OpenGL renderer string: Gallium 0.4 on AMD RV730
              OpenGL version string: 1.4 (2.1 Mesa 7.12-devel (git-37240d2 oneiric-oibaf-ppa))
              Here is the output from the 64-bit version:

              glxinfo | grep ^OpenGL | egrep 'version|renderer'
              Code:
              OpenGL renderer string: Gallium 0.4 on AMD RV730
              OpenGL version string: 2.1 Mesa 7.12-devel (git-37240d2 oneiric-oibaf-ppa)
              OpenGL shading language version string: 1.20
              Seems the 32-bit version doesn't display the shading language string.

              Even after fixing the symlink, wine still aborts with the same error:
              wine war3.exe
              Code:
              err:ole:CoCreateInstance apartment not initialised
              err:module:load_builtin_dll failed to load .so lib for builtin L"OPENGL32.dll": libGL.so.1: cannot open shared object file: No such file or directory
              err:module:import_dll Loading library OPENGL32.dll (which is needed by L"C:\\Program Files\\Warcraft III Reign of Chaos & The Frozen Throne\\Game.dll") failed (error c000007a).

              Comment


              • #17
                Originally posted by gururise View Post
                Well, I figured out why glxinfo32 (32-bit version) was not working..

                I had libGL.so in /usr/lib32, but no libGL.so.1, so I created a symlink, and glxinfo32 started working:

                glxinfo32 | grep ^OpenGL | egrep 'version|renderer'
                Code:
                OpenGL renderer string: Gallium 0.4 on AMD RV730
                OpenGL version string: 1.4 (2.1 Mesa 7.12-devel (git-37240d2 oneiric-oibaf-ppa))
                Something is broken, it's only reporting version 1.4 (probably because you're only getting indirect rendering).

                I don't know what package is responsible for the lib32 stuff (dpkg -S /usr/lib32/libGL.so.1 will tell you) but it should probably be reinstalled or updated.

                Comment


                • #18
                  Originally posted by gururise View Post
                  Code:
                  /usr/lib/x86_64-linux-gnu/libGL.so
                  /usr/lib/x86_64-linux-gnu/mesa/libGL.so
                  /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
                  /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2
                  /usr/lib32/libGL.so
                  /usr/lib32/mesa/libGL.so.1
                  /usr/lib32/mesa/libGL.so.1.2
                  Looks like I have the libGL.so in the lib32 dir....
                  Wait, what?
                  /usr/lib32/mesa/?

                  Comment

                  Working...
                  X