You are not logged in.

#26 2006-04-20 21:10:33

nightfrost
Member
From: Sweden
Registered: 2005-04-16
Posts: 647

Re: aiglx - cvs PKGBUILDs needed

Sorry for being unclear. I mean JGC's xorg 7.0 PKGBUILDs. I've just changed them to use either 7.1RC1 (xorg-server 1.0.99.901, xf86-video-i810 1.6.0), or cvs (mesa, libgl-dri).

Offline

#27 2006-05-03 09:22:35

nightfrost
Member
From: Sweden
Registered: 2005-04-16
Posts: 647

Re: aiglx - cvs PKGBUILDs needed

JGC wrote:

I guess this one will help you out:
http://lists.freedesktop.org/archives/x … 11626.html

Change the file on your system and all should be fine. I'll update glibc somewhere this week.

I'm having compilation issues with the new xorg-server (part of 7.1RC2), and suspecting it might be further glibc issues. So, thought I'd just ask how it's going with glibc 2.4? Can we expect it anytime soon? Thanks.  smile

Offline

#28 2006-05-04 13:55:03

WigglerAway
Member
Registered: 2006-04-30
Posts: 14

Re: aiglx - cvs PKGBUILDs needed

I compiled xserver 1.0.99.902 from http://xorg.freedesktop.org/releases/in … l/xserver/ and with mesa 6.5 but got errors about default colour depth. I think I'm quite close but really don't want to spend any more time on it at this time (I've got uni exams coming up soon). But will pass on any PKGBUILDs/patches I've got if needed

Offline

#29 2006-05-04 14:27:54

nightfrost
Member
From: Sweden
Registered: 2005-04-16
Posts: 647

Re: aiglx - cvs PKGBUILDs needed

I'd be very interested in what you got smile

I shouldn't be playing with these things either right now, as I have to hand in my B.A. thesis in a couple of weeks, but maybe I'll just find some spare time between now and then...

Offline

#30 2006-05-04 18:20:03

WigglerAway
Member
Registered: 2006-04-30
Posts: 14

Re: aiglx - cvs PKGBUILDs needed

This is all based upon current repo xserver and gandalfn's ubuntu builds.  Rather than mesa 6.5 I would also try mesa-cvs from shadowhand's repo and change the PKGBUILD for xorg to reference against it, compiz-cvs can be got from shadowhand's but needs to be built with --strict-binding. Get *protos from shadowhand also. Not sure what changes required it but ubuntu guide recommends getting a cvs version of kernel drm. Also used an updated libgl-dri based upon current repo PKGBUILD. I can email you other PKGBUILDs, can't be bother to cut & paste tongue. I used the same i810 driver as you.

www.compiz.net is a good source of information. Look in the packages section for aiglx patches topic for speed enhancing aiglx patches if you get that far smile

PS. I did my dissertation in 2 days/nights and it came out looking like it :S. Better luck with yours smile

PKGBUILD

# $Id: PKGBUILD,v 1.9 2006/03/20 22:54:55 jgc Exp $
#Maintainer: Jan de Groot <jgc>

pkgname=xorg-server
pkgver=1.0.99.902
pkgrel=1
pkgdesc="X.Org X servers"
url="http://xorg.freedesktop.org"
depends=(gcc libxkbui ncurses libxi libxxf86misc libxfont libxrender libdmx liblbxutil libxaw libxxf86vm xorg-fonts-misc xcursor-themes xkeyboard-config ttf-bitstream-vera xorg-server-utils xorg-utils)
makedepends=(pkgconfig xf86driproto xcmiscproto xtrans bigreqsproto xf86bigfontproto resourceproto evieext damageproto compositeproto)
provides=(x-server)
_mesaver=6.5
source=(${url}/releases/individual/xserver/${pkgname}-${pkgver}.tar.bz2
        http://dl.sourceforge.net/mesa3d/MesaLib-${_mesaver}.tar.bz2
        aiglx-compiz.patch
        stop-glibc-types-error.patch)

build() {
  cd ${startdir}/src/${pkgname}-${pkgver}
  echo "Applying aiglx-compiz.patch"
  patch -Np1 -i ${startdir}/src/aiglx-compiz.patch || return 1
  echo "Applying stop-glibc-types-error.patch"
  patch -Np0 -i ${startdir}/src/stop-glibc-types-error.patch || return 1

  ./configure --prefix=/usr 
              --with-mesa-source=${startdir}/src/Mesa-${_mesaver} 
              --enable-dri 
              --enable-glx 
              --enable-aiglx 
              --disable-dmx 
              --disable-xvfb 
              --disable-xnest 
              --disable-xorgconfig 
              --disable-xorgcfg 
              --disable-lbx 
              --enable-xorg 
              --enable-xtrap 
              --disable-xprint 
              --sysconfdir=/etc/X11 
              --localstatedir=/var 
              --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 
              --with-rgb-path=/usr/share/X11/rgb 
              --with-xkb-path=/usr/share/X11/xkb 
              --with-xkb-output=/usr/share/X11/xkb/compiled 
              --disable-static
  make || return 1
  make DESTDIR=${startdir}/pkg install || return 1
  find ${startdir}/pkg -name '*.la' -exec rm {} ;
  install -m644 hw/xfree86/parser/xf86{Optrec,Parser}.h 
                ${startdir}/pkg/usr/include/xorg/
  mkdir -p ${startdir}/pkg/etc/X11
  mkdir -p ${startdir}/pkg/var/lib
  mv ${startdir}/pkg/usr/share/X11/xkb/compiled ${startdir}/pkg/var/lib/xkb
  ln -sf /var/lib/xkb ${startdir}/pkg/usr/share/X11/xkb/compiled

  cd ${startdir}/pkg/usr/lib/xorg/modules/extensions
  mv libGLcore.so libGLcore.xorg
  mv libglx.so libglx.xorg
}

stop-glibc-types-error.patch

--- hw/xfree86/os-support/linux/lnx_agp.c.bak   2006-04-11 19:08:13.000000000 +0100
+++ hw/xfree86/os-support/linux/lnx_agp.c       2006-05-02 23:18:54.000000000 +0100
@@ -9,6 +9,7 @@

 /* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_agp.c,v 3.11 2003/04/03 22:47:42 dawes Exp $ */

+#include <linux>
 #ifdef HAVE_XORG_CONFIG_H
 #include <xorg>
 #endif

aiglx-compiz.patch

--- xorg-air-1.0.99.902~/GL/glx/glxcmds.c       2006-05-01 21:50:16.000000000 +0200
+++ xorg-air-1.0.99.902/GL/glx/glxcmds.c        2006-05-01 21:50:56.000000000 +0200
@@ -1271,6 +1271,7 @@
     pGlxPixmap->pGlxScreen = pGlxScreen;
     pGlxPixmap->pScreen = pScreen;
     pGlxPixmap->idExists = True;
+    pGlxPixmap->pDamage = NULL;
     pGlxPixmap->refcnt = 0;

     pGlxPixmap->modes = modes;
--- xorg-air-1.0.99.902~/GL/glx/glxdrawable.h   2006-05-01 21:50:16.000000000 +0200
+++ xorg-air-1.0.99.902/GL/glx/glxdrawable.h    2006-05-01 21:50:56.000000000 +0200
@@ -41,6 +41,8 @@
 **
 */

+#include <damage>
+
 typedef struct {

     DrawablePtr pDraw;
@@ -49,7 +51,7 @@
     ScreenPtr pScreen;
     Bool idExists;
     int refcnt;
-
+    DamagePtr pDamage;
 } __GLXpixmap;

 struct __GLXdrawable {
--- xorg-air-1.0.99.902~/GL/glx/glxdri.c        2006-05-01 21:50:16.000000000 +0200
+++ xorg-air-1.0.99.902/GL/glx/glxdri.c 2006-05-01 21:50:56.000000000 +0200
@@ -335,13 +335,36 @@
                     int buffer,
                     __GLXpixmap *glxPixmap)
 {
+    RegionPtr  pRegion;
     PixmapPtr  pixmap;
-    int                bpp;
-    Bool       npot;
+    int                bpp, xoff, yoff, width, height;
+    GLenum     target, format, type;

     pixmap = (PixmapPtr) glxPixmap->pDraw;
-    bpp = pixmap->drawable.depth >= 24 ? 4 : 2; /* XXX 24bpp packed, 8, etc */
-
+    if (!glxPixmap->pDamage) {
+        glxPixmap->pDamage = DamageCreate(NULL, NULL, DamageReportNone,
+                                         TRUE, glxPixmap->pScreen, NULL);
+       if (!glxPixmap->pDamage)
+            return BadAlloc;
+
+       DamageRegister ((DrawablePtr) pixmap, glxPixmap->pDamage);
+    } else {
+       pRegion = DamageRegion(glxPixmap->pDamage);
+       if (REGION_NIL(pRegion))
+           return Success;
+    }
+
+    /* XXX 24bpp packed, 8, etc */
+    if (pixmap->drawable.depth >= 24) {
+       bpp = 4;
+       format = GL_BGRA;
+       type = GL_UNSIGNED_BYTE;
+    } else {
+       bpp = 2;
+       format = GL_RGB;
+       type = GL_UNSIGNED_SHORT_5_6_5;
+    }
+
     CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_ROW_LENGTH,
                                        pixmap->devKind / bpp) );
     CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS,
@@ -352,22 +375,27 @@
     if (pixmap->drawable.depth == 24)
         glxFillAlphaChannel(pixmap);

-    npot = !(glxCountBits(pixmap->drawable.width) == 1 &&
-             glxCountBits(pixmap->drawable.height) == 1) /* ||
-             strstr(CALL_GetString(GL_EXTENSIONS,
-                    "GL_ARB_texture_non_power_of_two")) */ ;
-
+    if (!(glxCountBits(pixmap->drawable.width) == 1 &&
+         glxCountBits(pixmap->drawable.height) == 1)
+       /* || strstr(CALL_GetString(GL_EXTENSIONS,
+                    "GL_ARB_texture_non_power_of_two")) */)
+       target = GL_TEXTURE_RECTANGLE_ARB;
+    else
+       target = GL_TEXTURE_2D;
+
     CALL_TexImage2D( GET_DISPATCH(),
-                    ( npot ? GL_TEXTURE_RECTANGLE_ARB : GL_TEXTURE_2D,
+                    ( target,
                       0,
                       bpp == 4 ? 4 : 3,
                       pixmap->drawable.width,
                       pixmap->drawable.height,
                       0,
-                      bpp == 4 ? GL_BGRA : GL_RGB,
-                      bpp == 4 ? GL_UNSIGNED_BYTE : GL_UNSIGNED_SHORT_5_6_5,
+                      format,
+                      type,
                       pixmap->devPrivate.ptr ) );

+    DamageEmpty(glxPixmap->pDamage);
+
     return Success;
 }

--- xorg-air-1.0.99.902~/GL/glx/glxext.c        2006-05-01 21:50:16.000000000 +0200
+++ xorg-air-1.0.99.902/GL/glx/glxext.c 2006-05-01 21:50:56.000000000 +0200
@@ -141,6 +141,10 @@

     pGlxPixmap->idExists = False;
     if (!pGlxPixmap->refcnt) {
+       if (pGlxPixmap->pDamage) {
+           DamageUnregister (pGlxPixmap->pDraw, pGlxPixmap->pDamage);
+           DamageDestroy(pGlxPixmap->pDamage);
+       }
        /*
        ** The DestroyPixmap routine should decrement the refcount and free
        ** only if it's zero.
--- xorg-air-1.0.99.902~/hw/xfree86/dri/dri.c   2006-05-01 21:50:16.000000000 +0200
+++ xorg-air-1.0.99.902/hw/xfree86/dri/dri.c    2006-05-01 21:55:21.000000000 +0200
@@ -1017,6 +1017,7 @@
            pDRIDrawablePriv->pScreen = pScreen;
            pDRIDrawablePriv->refCount = 1;
            pDRIDrawablePriv->drawableIndex = -1;
+            pDRIDrawablePriv->includeInferiors = TRUE;

            /* save private off of preallocated index */
            pWin->devPrivates[DRIWindowPrivIndex].ptr =
@@ -1028,6 +1029,7 @@
               break;
            case 2:
               DRITransitionToSharedBuffers( pScreen );
+               pDRIDrawablePriv->includeInferiors = FALSE;
               break;
            default:
               break;
@@ -1134,6 +1136,7 @@
 {
     DRIScreenPrivPtr    pDRIPriv = DRI_SCREEN_PRIV(pScreen);
     DRIDrawablePrivPtr pDRIDrawablePriv, pOldDrawPriv;
+    RegionPtr          pClipList;
     WindowPtr          pWin, pOldWin;
     int                        i;

@@ -1227,8 +1230,14 @@
 #endif
            *W = (int)(pWin->drawable.width);
            *H = (int)(pWin->drawable.height);
-           *numClipRects = REGION_NUM_RECTS(&pWin->clipList);
-           *pClipRects = (drm_clip_rect_t *)REGION_RECTS(&pWin->clipList);
+
+           if (pDRIDrawablePriv->includeInferiors)
+               pClipList = &pWin->borderClip;
+           else
+               pClipList = &pWin->clipList;
+
+            *numClipRects = REGION_NUM_RECTS(pClipList);
+           *pClipRects = (drm_clip_rect_t *)REGION_RECTS(pClipList);

            if (!*numClipRects && pDRIPriv->fullscreen) {
                                /* use fake full-screen clip rect */
--- xorg-air-1.0.99.902~/hw/xfree86/dri/dristruct.h     2006-01-06 19:06:02.000000000 +0100
+++ xorg-air-1.0.99.902/hw/xfree86/dri/dristruct.h      2006-05-01 21:53:05.000000000 +0200
@@ -53,6 +53,7 @@
     drm_drawable_t             hwDrawable;
     int                        drawableIndex;
     ScreenPtr          pScreen;
+    Bool               includeInferiors;
     int                refCount;
 } DRIDrawablePrivRec, *DRIDrawablePrivPtr;

Edit: errrr..... I just noticed errors in the patches that were still ok syntax but missing crucial strings. Something wierd happened when I copied/pasted. I think I fixed it, but if you get errors building the server I'll send the files via email.

ReEdit: What the frig! The forum keeps chopping out parts of strings between <> tags. These patches won't work, send your email via pm.

Offline

#31 2006-05-04 23:10:13

sh__
Member
Registered: 2005-07-19
Posts: 272

Re: aiglx - cvs PKGBUILDs needed

WigglerAway wrote:

ReEdit: What the frig! The forum keeps chopping out parts of strings between <> tags. These patches won't work, send your email via pm.

You could also upload them to http://arch.pastebin.com

Offline

#32 2006-05-07 22:29:38

nightfrost
Member
From: Sweden
Registered: 2005-04-16
Posts: 647

Re: aiglx - cvs PKGBUILDs needed

Alright! I have now compiled xorg-server 1.0.99.902, and AIGLX + compiz works somewhat, but it's definitely not usable. I haven't had time to play around much with it though.

When I start compiz, the window borders and titlebars dissapear (this happens with XGL as well), I get a hard freeze when doing alt+tab, sometimes windows don't even contain anything. As far as I know, the relevant aiglx patches are included in compiz nowadays, but I'm not sure. I haven't compiled my own version of it, using shadowhand's. Might need to dig into that later.

Another weird thing is that glxinfo says that I have no direct rendering, but glxgears gives a high enough fram rate to believe the report is wrong. However, sometimes when glxgears is running, I get a hard freeze.

Anyway, thanks for the patches. I'll get back with more news.

Offline

#33 2006-05-08 12:15:39

WigglerAway
Member
Registered: 2006-04-30
Posts: 14

Re: aiglx - cvs PKGBUILDs needed

You will need to start compiz with --strict-binding and --indirect-rendering. Are you starting gnome-window-decorator before compiz? Does the Xorg log report any errors on dri?

Again from the ubuntu guys, LIBGL_ALWAYS_INDIRECT environment variable should be set to TRUE for compiz.

Offline

#34 2006-05-08 16:23:54

nightfrost
Member
From: Sweden
Registered: 2005-04-16
Posts: 647

Re: aiglx - cvs PKGBUILDs needed

I think part of the problem is that mesa's a bit messed up right now (I'm compiling everything against mesa-cvs). So I'm gonna wait a couple of days and try again then.

Thanks for the tips though.

Offline

#35 2006-05-18 01:40:55

nightfrost
Member
From: Sweden
Registered: 2005-04-16
Posts: 647

Re: aiglx - cvs PKGBUILDs needed

I have AIGLX working now, more or less. It's not much better than XGL on my machine (855GM). But it's nice to know that it works somewhat for now. Hopefully it'll get better.

The packages I'm using now are:

mesa-cvs
libgl-dri-cvs
xorg-server 1.0.99.903 (RC3)
i810, compiled from git
+ compiz from shadowhand's repo

I'm really tired now, but it if anyone want me to post any PKGBUILD post a reply, and I'll do it tomorrow.

Offline

#36 2006-05-18 01:57:02

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Re: aiglx - cvs PKGBUILDs needed

Oh yeah... Isn't Xorg 7.1 suposed to be out by next week or so?

Offline

#37 2006-05-18 09:26:33

nightfrost
Member
From: Sweden
Registered: 2005-04-16
Posts: 647

Re: aiglx - cvs PKGBUILDs needed

i think it's supposed to be out tomorrow smile

Offline

#38 2006-05-18 10:15:25

kenshinxf
Member
Registered: 2006-03-03
Posts: 13

Re: aiglx - cvs PKGBUILDs needed

nightfrost wrote:

I have AIGLX working now, more or less. It's not much better than XGL on my machine (855GM). But it's nice to know that it works somewhat for now. Hopefully it'll get better.

The packages I'm using now are:

mesa-cvs
libgl-dri-cvs
xorg-server 1.0.99.903 (RC3)
i810, compiled from git
+ compiz from shadowhand's repo

I'm really tired now, but it if anyone want me to post any PKGBUILD post a reply, and I'll do it tomorrow.

good news
could you make a pkgbuild ?

Offline

#39 2006-05-18 10:49:50

nightfrost
Member
From: Sweden
Registered: 2005-04-16
Posts: 647

Re: aiglx - cvs PKGBUILDs needed

Here's some sort of aiglx-overlay.  I'm not sure about dependencies or if anything works at all. Give it a try if you feel heroic.

xorg-server is compiled against mesa 6.5, instead of CVS, because otherwise it would break. I'm not even sure if mesa-cvs + libg-dril-cvs are needed. If you want you could just start by installing mesa 6.5 & libgl-dri 6.5 (just change the pkgver in abs, they will compile cleanly).

Good luck!

Edit:
(forgot the url)
http://naderehvandi.net/arch/aiglx-overlay.tar.gz

Offline

#40 2006-05-20 21:02:15

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Re: aiglx - cvs PKGBUILDs needed

Would be nice to include libdrm-cvs for those who don't use Intel graphics, a PKGBUILD for that is available in the XGL overlay and should probably work with minimal modification.

Edit: Never mind, Xorg 7.1 is officially released on Monday according to OSNews.

Offline

#41 2006-05-21 10:27:32

nightfrost
Member
From: Sweden
Registered: 2005-04-16
Posts: 647

Re: aiglx - cvs PKGBUILDs needed

Gullible Jones wrote:

Would be nice to include libdrm-cvs for those who don't use Intel graphics, a PKGBUILD for that is available in the XGL overlay and should probably work with minimal modification.

Edit: Never mind, Xorg 7.1 is officially released on Monday according to OSNews.

Added libdrm-cvs to the tar ball. I'm not quite sure how it would help though. But it's there now smile

Offline

#42 2006-05-21 12:53:39

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Re: aiglx - cvs PKGBUILDs needed

Wait a minute... You're right, it wouldn't matter if you don't have the CVS version of the drivers too. Right. Never mind. :oops:

*sounds of head banging on keyboard*

Offline

#43 2006-05-21 13:07:17

nightfrost
Member
From: Sweden
Registered: 2005-04-16
Posts: 647

Re: aiglx - cvs PKGBUILDs needed

Gullible Jones wrote:

Wait a minute... You're right, it wouldn't matter if you don't have the CVS version of the drivers too. Right. Never mind. :oops:

*sounds of head banging on keyboard*

Hehe, no worries smile Like you said, this tarball will be useless from monday onwards (hopefully) anyway...

Offline

Board footer

Powered by FluxBB