Announcement

Collapse
No announcement yet.

wine + fglrx ==> Please

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

  • wine + fglrx ==> Please

    I'll be flat out honest, I've not had success with wine & fglrx drivers for years since DX9 days.

    What does a user with the latest ATI Catalyst drivers have to do to get wine to work?

    My Config:
    * Ubuntu Jaunty
    * wine 1.1.27
    * $ fglrxinfo
    Code:
    display: :0.0  screen: 0
    OpenGL vendor string: ATI Technologies Inc.
    OpenGL renderer string: ATI Radeon HD 4870   
    OpenGL version string: 1.4 (2.1.8918)

    While this is a general question, if it helps, here is a specific error from WINE output:
    X Error of failed request: BadMatch (invalid parameter attributes)
    Major opcode of failed request: 136 (GLX)
    Minor opcode of failed request: 5 (X_GLXMakeCurrent)
    Serial number of failed request: 3414
    Current serial number in output stream: 3414

  • #2
    I doubt that fglrx will catch up soon - more likely never. Even UT3 runs with a little wine patch very nice with nvidia - as long as you have got a powerfull card - g92 or better.

    Comment


    • #3
      What do you mean by "catch up"? -- Using the latest fglrx drivers I'm able to run native linux games without issues (Heroes of Newerth, QIII, UT2K4, DoomIII, etc.) --- what is the difference between "OpenGL 2" working on native apps, and "OpenGL 2" not working in WINE? (I quite honestly don't know) ;-)

      Comment


      • #4
        From what I've read, the WINE devs were using nVidia cards, so instead of writing to standards they went and implemented its 3D stuff using a bunch of nVidia-proprietary GL extensions. Complaining about fglrx "catching up" enough to run WINE would be like complaining that Opera needs to catch up to run the windowsupdate site.

        Yeah, let's all just use Windows and IE... it's better!!11</sarcasm>

        Comment


        • #5
          OpenGL version string: 1.4 (2.1.8918)
          whenever you see that, 'unset LIBGL_ALWAYS_INDIRECT'

          I'm not sure why it drops back, I thought it might of been something that I did in setting up compiz but I could never find it.

          Comment


          • #6
            Originally posted by storma View Post
            whenever you see that, 'unset LIBGL_ALWAYS_INDIRECT'

            I'm not sure why it drops back, I thought it might of been something that I did in setting up compiz but I could never find it.
            hey storma, where do you put that?(unset LIBGL_ALWAYS_INDIRECT)

            in the shortcut for the program you trying to use or whatnot?

            Comment


            • #7
              Originally posted by gforum View Post
              hey storma, where do you put that?(unset LIBGL_ALWAYS_INDIRECT)

              in the shortcut for the program you trying to use or whatnot?
              This works!

              The LIBGL_ALWAYS_INDIRECT is an environment variable in your terminal. So before you would run (simplified)
              Code:
              wine $my_game
              You'll want to do:
              Code:
              unset LIBGL_ALWAYS_INDIRECT

              Comment


              • #8
                Actually, could someone from ATI please comment on this "bug"? -- When/How/Why could this environment variable be set?

                It has caused at least some of us some grief, and it would be good to figure out how to avoid this for future users.

                Comment


                • #9
                  What I've gotten into the habit of doing is creating a wrapper script for my games, so it's just a matter of adding it before the line to start the game.

                  Comment


                  • #10
                    Originally posted by storma View Post
                    What I've gotten into the habit of doing is creating a wrapper script for my games, so it's just a matter of adding it before the line to start the game.
                    I've done the same thing (I have a master "game_launcher" script which handles lots of stuff like this, including replacing compiz with metacity), but the point is that we shouldn't have to, and it would be interesting to see the reason for this environment variable being present..

                    Comment


                    • #11
                      umm... ok so this is yet another env, good.
                      now... what does it do exactly?


                      cheers

                      Comment


                      • #12
                        It makes sure your using the fglrx openGL implementation, not mesa. Why it should change back, I'm not sure.

                        Comment


                        • #13
                          Compiz sets that, IIRC.

                          Comment


                          • #14
                            Originally posted by storma View Post
                            It makes sure your using the fglrx openGL implementation, not mesa. Why it should change back, I'm not sure.
                            Not quite. It makes sure that wine applications aren't using indirect rendering, which would still be the fglrx opengl implementation, just with the opengl commands passed through the X server via the glx module.

                            And yes, compiz sets the LIBGL_ALWAYS_INDIRECT variable. However, even after starting X, that variable should only be set for applications spawned by compiz. if you start up a terminal through the normal gnome/kde menu, for example, that variable should be unset.

                            Adam

                            Comment


                            • #15
                              Originally posted by adamk View Post
                              Not quite. It makes sure that wine applications aren't using indirect rendering, which would still be the fglrx opengl implementation, just with the opengl commands passed through the X server via the glx module.

                              And yes, compiz sets the LIBGL_ALWAYS_INDIRECT variable. However, even after starting X, that variable should only be set for applications spawned by compiz. if you start up a terminal through the normal gnome/kde menu, for example, that variable should be unset.

                              Adam
                              This is exactly it. wow. I almost always start my terminal windows with "SUPER+T" (a configured shortcut in compiz). When starting a terminal window this this shortcut (which uses compiz to start to the terminal I'm assuming), that ENV variable LIBGL_ALWAYS_INDIRECT is set to 1. However, if I start the terminal with ALT+F2 and gnome-terminal, this environment variable isn't set.

                              Do we know why compiz sets this? ... trying to think if it's a bug ...

                              Comment

                              Working...
                              X