Announcement

Collapse
No announcement yet.

Wine problems with new MESA?

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

  • Wine problems with new MESA?

    For the past few days, I've been unable to play any Wine games on my Ubuntu 11.10 (64-bit) machine running ATI 4670. I keep getting the following error message:

    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
    I read over in the ArchLinux forums that some bugfixes recently introduced into Mesa (dealing with LLVM) has caused this issue. But thats all the information I've been able to dig up. Has anyone else been experiencing this problem, and know of a fix?

  • #2
    I believe in the last few days there were multiple issues:

    1: Seems to only happen on some cards: CFLAGS with -O2 breaking things, but mesa works with -O1.
    Someone, perhaps me, should report this probably...

    2: Some LLVM offset error: https://bugs.freedesktop.org/show_bug.cgi?id=44466
    That is either fixed in master or by compiling with -O1. I don't know.

    3: For a short time mesa failed to build libgl. But that was fixed quickly.

    You may experience 3? How new is your mesa exactly? Do you have the files /usr/lib/libGL.so, /usr/lib/libGL.so.1 and /usr/lib/libGL.so.1.2?

    Comment


    • #3
      Originally posted by ChrisXY View Post
      I believe in the last few days there were multiple issues:

      1: Seems to only happen on some cards: CFLAGS with -O2 breaking things, but mesa works with -O1.
      Someone, perhaps me, should report this probably...

      2: Some LLVM offset error: https://bugs.freedesktop.org/show_bug.cgi?id=44466
      That is either fixed in master or by compiling with -O1. I don't know.

      3: For a short time mesa failed to build libgl. But that was fixed quickly.

      You may experience 3? How new is your mesa exactly? Do you have the files /usr/lib/libGL.so, /usr/lib/libGL.so.1 and /usr/lib/libGL.so.1.2?
      The files /usr/lib/libGL.so, /usr/lib/libGL.so.1 and /usr/lib/libGL.so.1.2 are all missing.

      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
      Any suggestions? I'm using the oibaf PPA; however, even after reverting back to regular Ubuntu (11.10) radeon drivers, I still had this problem.

      Comment


      • #4
        Originally posted by gururise View Post
        The files /usr/lib/libGL.so, /usr/lib/libGL.so.1 and /usr/lib/libGL.so.1.2 are all missing.
        That's not where those files are kept any longer, try /usr/lib/x86_64-linux-gnu/ or something similar, the locate and find commands are your friends.

        No problems with Wine and mesa git here though, I'm guessing your problem is either with Wine itself or the usual buggery that results from Debian/Ubuntu not being properly multiarch yet.

        Comment


        • #5
          Maybe on your system. Archlinux still has sane paths.
          Maybe dpkg -L mesa or something.

          Also try LIBGL_DEBUG=verbose glxgears
          and LIBGL_ALWAYS_SOFTWARE=1 glxgears

          Comment


          • #6
            No problem at all here with Mint 12 and Wine 1.2.3. My Windows programs don't feel laggy, which happens when software rendering is in use. That way I consider Mesa (Nouveau on NV86) working. The proprietary driver works fine as well.

            Comment


            • #7
              Originally posted by ChrisXY View Post
              Maybe on your system. Archlinux still has sane paths.
              Maybe dpkg -L mesa or something.

              Also try LIBGL_DEBUG=verbose glxgears
              and LIBGL_ALWAYS_SOFTWARE=1 glxgears
              He specifically mentioned using Ubuntu.

              Comment


              • #8
                Originally posted by whizse View Post
                That's not where those files are kept any longer, try /usr/lib/x86_64-linux-gnu/ or something similar, the locate and find commands are your friends.

                No problems with Wine and mesa git here though, I'm guessing your problem is either with Wine itself or the usual buggery that results from Debian/Ubuntu not being properly multiarch yet.
                Yeah, thinking it might have something to do with no proper multiarch in Ubuntu 11.10. I'm wondering if anyone else on Ubuntu 11.10 (64-bit) is having problems as well...

                I did find the following files in the /usr/lib/x86_64-linux-gnu directory:
                Code:
                libGL.so  libGLU.a  libGLU.so  libGLU.so.1  libGLU.so.1.3.071200
                OpenGL programs (ie games) seem to work fine on the linux side, so it must either be Wine or something to do with the multiarch as stated above... aaaargh....

                locate libGL.so:
                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....
                Last edited by gururise; 01-09-2012, 05:14 PM.

                Comment


                • #9
                  Originally posted by gururise View Post
                  OpenGL programs (ie games) seem to work fine on the linux side, so it must either be Wine or something to do with the multiarch as stated above... aaaargh....
                  Are you sure that _32-bit_ native games work?

                  Comment


                  • #10
                    @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.

                    Comment


                    • #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

                              Working...
                              X