Announcement

Collapse
No announcement yet.

A few questions about GLX version

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

  • A few questions about GLX version

    I'm using kubuntu lucid development branch now.

    I've got R600 card, so I installed (or, more precise, compiled) OSS drivers - libdrm-radeon with radeon experimental api, mesa with r600_dri and xf86-video-ati. The last one is installed because I couldn't compile it, but the one provided by .deb package is quite recent (6.12.99-20090929).

    At first I tried KMS, and it worked quite well. But performance was rather bad, and causes some stutters, etc. So I placed radeon.modeset=0 into grub and I'm now using good-old UMS in DDX driver.

    And here comes the question: here is a fragment of glxinfo:
    server glx vendor string: SGI
    server glx version string: 1.2
    ...
    client glx vendor string: Mesa Project and SGI
    client glx version string: 1.4
    It means that server provides GLX version 1.2. But many applications require some newer functions (like glXCreatePixmap from 1.3). I didn't have such problems with KMS (AFAIK, I didn't notice what GLX version did it provide but one application that used to work for sure now doesn't). Is it possible to get higher GLX version with DDX driver UMS? Or does it require KMS/DRI2?

    Thanks.

  • #2
    You need dri2 for newer versions of glx. Also, 2d performance for r6xx+ cards with kms enabled is much improved with xf86-video-ati from git master.

    Comment


    • #3
      Ok, but as I stated before I can't compile xf86-video-ati from git master. Compilation gives strange errors when compiling radeon_driver.c in included .../extension/dpms.h header (I think it's something about undeclared structs):
      Code:
      In file included from /usr/include/xorg/vgaHW.h:29,
                       from radeon_driver.c:106:
      /usr/include/X11/extensions/dpms.h:40: error: expected ‘)’ before ‘*’ token
      /usr/include/X11/extensions/dpms.h:41: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘DPMSGetVersion’
      /usr/include/X11/extensions/dpms.h:42: error: expected ‘)’ before ‘*’ token
      /usr/include/X11/extensions/dpms.h:43: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘DPMSSetTimeouts’
      /usr/include/X11/extensions/dpms.h:44: error: expected ‘)’ before ‘*’ token
      /usr/include/X11/extensions/dpms.h:45: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘DPMSEnable’
      /usr/include/X11/extensions/dpms.h:46: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘DPMSDisable’
      /usr/include/X11/extensions/dpms.h:47: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘DPMSForceLevel’
      /usr/include/X11/extensions/dpms.h:48: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘DPMSInfo’
      I am using Xorg 1.6.4-2ubuntu6.

      Comment


      • #4
        kms:

        server glx vendor string: SGI
        server glx version string: 1.2
        ------------
        client glx vendor string: Mesa Project and SGI
        client glx version string: 1.4
        ------------
        GLX version: 1.2
        ------------
        OpenGL vendor string: Advanced Micro Devices, Inc.
        OpenGL renderer string: Mesa DRI R600 (RV770 9442) 20090101 TCL DRI2

        Comment


        • #5
          But did you try running GLX 1.3-depended applications? AFAIK GLX 1.1+ is extension-driven (like OpenGL), so GLX version doesn't say what driver supports, because there may be some related extensions that provide the same. Without KMS for me apps say that there are not such functions (like glXCreatePixmap). It affects for example Qt's QGLWidget when I try to blit QPixmap on it.

          And about compilation - I compiled it (with a nasty hack, which declared Display and Status before including vgaHW.h), but with KMS it complains about undefined symbol (without KMS it works just fine). It's time to upgrade X What version should do the best?

          Comment


          • #6
            Ok, I recompiled libdrm and now it works properly. But there are still many GLX 1.3+ functions not implemented yet (although there are more of them then without DRI2), but I think it's because of lack of GL extensions in r600_dri.

            For example kwin with composition enabled complains about unimplemented glX(Create|Destroy)Pixmap and glXQueryDrawable (rendering is also screwed up, some regions of screen disappear from time to time, etc).

            Comment


            • #7
              Originally posted by Wielkie G View Post
              And about compilation - I compiled it (with a nasty hack, which declared Display and Status before including vgaHW.h), but with KMS it complains about undefined symbol (without KMS it works just fine). It's time to upgrade X What version should do the best?
              Why not use xorg-edgers/lucid? It includes Mesa 7.8, xf86-video-ati from git and Xserver 1.8pre.

              Comment


              • #8
                I wanted to do it all by myself. But I'll try those ppa, because with KMS everything is now painfully slow (even slower than before with KMS and ubuntu's xf86-video-ati).

                Comment


                • #9
                  Unexpectedly everything works great, now I have GLX 1.4 and well-working kwin with composition enabled.

                  Comment


                  • #10
                    Originally posted by Wielkie G View Post
                    Unexpectedly everything works great, now I have GLX 1.4 and well-working kwin with composition enabled.
                    glx server version == 1.4 ?

                    Comment

                    Working...
                    X