Page 1 of 2 12 LastLast
Results 1 to 10 of 14

Thread: A few questions about GLX version

  1. #1
    Join Date
    Feb 2009
    Location
    Poland
    Posts
    72

    Default 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. #2
    Join Date
    Dec 2007
    Posts
    2,404

    Default

    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.

  3. #3
    Join Date
    Feb 2009
    Location
    Poland
    Posts
    72

    Default

    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.

  4. #4
    Join Date
    Aug 2009
    Posts
    122

    Default

    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

  5. #5
    Join Date
    Feb 2009
    Location
    Poland
    Posts
    72

    Default

    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?

  6. #6
    Join Date
    Feb 2009
    Location
    Poland
    Posts
    72

    Default

    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).

  7. #7
    Join Date
    Jan 2007
    Location
    Germany
    Posts
    2,175

    Default

    Quote 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.

  8. #8
    Join Date
    Feb 2009
    Location
    Poland
    Posts
    72

    Default

    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).

  9. #9
    Join Date
    Feb 2009
    Location
    Poland
    Posts
    72

    Default

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

  10. #10
    Join Date
    Aug 2009
    Posts
    122

    Default

    Quote 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 ?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •