]> code.ossystems Code Review - openembedded-core.git/commitdiff
Adds support for GEM + DRI2
authorRobert Bragg <bob@openedhand.com>
Mon, 13 Oct 2008 15:23:14 +0000 (15:23 +0000)
committerRobert Bragg <bob@openedhand.com>
Mon, 13 Oct 2008 15:23:14 +0000 (15:23 +0000)
DRI2 is disabled by default though since running with metacity-clutter seems
to cause a lock up.

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5484 311d38ba-8fff-0310-9ca6-ca027cbcb966

35 files changed:
meta/conf/distro/include/poky-fixed-revisions.inc
meta/conf/distro/include/preferred-xorg-versions.inc
meta/conf/distro/poky.conf
meta/conf/machine/eee901.conf
meta/packages/drm/libdrm_git.bb [new file with mode: 0644]
meta/packages/mesa/mesa-dri_7.2.bb
meta/packages/mesa/mesa-dri_git.bb
meta/packages/xorg-driver/xf86-input-keyboard_git.bb [new file with mode: 0644]
meta/packages/xorg-driver/xf86-input-mouse_git.bb [new file with mode: 0644]
meta/packages/xorg-driver/xf86-input-synaptics_git.bb [new file with mode: 0644]
meta/packages/xorg-driver/xf86-video-intel-dri2/002_avoid_duplicate_SaveHWState.patch [new file with mode: 0755]
meta/packages/xorg-driver/xf86-video-intel-dri2/004_reduce_driver_boottime.patch [new file with mode: 0755]
meta/packages/xorg-driver/xf86-video-intel-dri2/005_disable_sdvo_TV_port_restoreHW.patch [new file with mode: 0755]
meta/packages/xorg-driver/xf86-video-intel-dri2/006_disable_check_lvds_panelpower_status.patch [new file with mode: 0755]
meta/packages/xorg-driver/xf86-video-intel-dri2/007_disable_tiling_and_enable_UXA.patch [new file with mode: 0755]
meta/packages/xorg-driver/xf86-video-intel-dri2_git.bb [new file with mode: 0644]
meta/packages/xorg-proto/dri2proto_1.99.1git.bb [new file with mode: 0644]
meta/packages/xorg-proto/inputproto-native_1.9.99.5git.bb [moved from meta/packages/xorg-proto/inputproto-native_1.4.4.bb with 100% similarity]
meta/packages/xorg-proto/inputproto-sdk_1.9.99.5git.bb [moved from meta/packages/xorg-proto/inputproto-sdk_1.4.4.bb with 100% similarity]
meta/packages/xorg-proto/inputproto_1.9.99.5git.bb [new file with mode: 0644]
meta/packages/xorg-proto/renderproto-sdk_0.9.3.bb [new file with mode: 0644]
meta/packages/xorg-proto/renderproto_0.9.3.bb [new file with mode: 0644]
meta/packages/xorg-proto/xextproto-native_7.0.3.bb [new file with mode: 0644]
meta/packages/xorg-proto/xextproto-sdk_7.0.3.bb [new file with mode: 0644]
meta/packages/xorg-proto/xextproto_7.0.3.bb [moved from meta/packages/xorg-proto/inputproto_1.4.4.bb with 68% similarity]
meta/packages/xorg-proto/xproto-native_7.0.13.bb [new file with mode: 0644]
meta/packages/xorg-proto/xproto-sdk_7.0.13.bb [new file with mode: 0644]
meta/packages/xorg-proto/xproto_7.0.13.bb [new file with mode: 0644]
meta/packages/xorg-xserver/xserver-xf86-dri-lite.inc
meta/packages/xorg-xserver/xserver-xf86-dri-lite/fix_open_max_preprocessor_error.patch [new file with mode: 0644]
meta/packages/xorg-xserver/xserver-xf86-dri-lite/xorg-server-disable-dri_sarea.patch [new file with mode: 0755]
meta/packages/xorg-xserver/xserver-xf86-dri-lite/xorg-server-enable-dri2.patch [new file with mode: 0755]
meta/packages/xorg-xserver/xserver-xf86-dri-lite/xserver-boottime.patch [new file with mode: 0755]
meta/packages/xorg-xserver/xserver-xf86-dri-lite_1.5.0.bb
meta/packages/xorg-xserver/xserver-xf86-dri-lite_git.bb

index d7e0a5a453c07c5116522f6972fb7a0226e33b84..eb9f60913fd28e5109d9cc6ca8d361aa303b4596 100644 (file)
@@ -154,7 +154,11 @@ SRCREV_pn-usbpath = "3172"
 SRCREV_pn-xserver-kdrive-glamo ?= "a51364e2f23d4b6331c5ed613ce3f7e15f8e540f"
 SRCREV_pn-gsm0710muxd ?= "6fecc78198dd821bbe29efd096bd8fecd855179d"
 SRCREV_pn-gsmd2 ?= "963f34df8fa3ff4b301079dcf86e9acea6b6fe0f"
-SRCREV_pn-metacity-clutter ?= "389ce295417bdd99bf583026f7f1dedae29650da"
+SRCREV_pn-metacity-clutter ?= "b52f1df75af8216b13539431283fd1cfaa33cf51"
+SRCREV_pn-dri2proto ?= "abb1edc487543c26856afdbe6a7e2c088a1e82ee"
+SRCREV_pn-inputproto ?= "2166b77ea60bd9cd87f1311a2e7d461db071cb07"
+SRCREV_pn-inputproto-native ?= "2166b77ea60bd9cd87f1311a2e7d461db071cb07"
+SRCREV_pn-inputproto-sdk ?= "2166b77ea60bd9cd87f1311a2e7d461db071cb07"
 
 #
 # Preferred Versions:
index 29fa815686eaf8c1ee5aa97a313f0716b979f522..887cc31bbced21b19328d8b6ddc402d91429e93c 100644 (file)
@@ -18,9 +18,9 @@ PREFERRED_VERSION_fontsproto-native ?= "2.0.2"
 PREFERRED_VERSION_gccmakedep ?= "1.0.2"
 PREFERRED_VERSION_glproto ?= "1.4.9"
 PREFERRED_VERSION_imake ?= "1.0.2"
-PREFERRED_VERSION_inputproto ?= "1.4.4"
-PREFERRED_VERSION_inputproto-native ?= "1.4.4"
-PREFERRED_VERSION_inputproto-sdk ?= "1.4.3"
+PREFERRED_VERSION_inputproto ?= "1.9.99.5+git${SRCREV}"
+PREFERRED_VERSION_inputproto-native ?= "1.9.99.5+git${SRCREV}"
+PREFERRED_VERSION_inputproto-sdk ?= "1.9.99.5+git${SRCREV}"
 PREFERRED_VERSION_kbproto ?= "1.0.3"
 PREFERRED_VERSION_kbproto-native ?= "1.0.3"
 PREFERRED_VERSION_kbproto-sdk ?= "1.0.3"
@@ -88,8 +88,8 @@ PREFERRED_VERSION_printproto ?= "1.0.4"
 PREFERRED_VERSION_randrproto ?= "1.2.1"
 PREFERRED_VERSION_randrproto-sdk ?= "1.2.1"
 PREFERRED_VERSION_recordproto ?= "1.13.2"
-PREFERRED_VERSION_renderproto ?= "0.9.2"
-PREFERRED_VERSION_renderproto-sdk ?= "0.9.2"
+PREFERRED_VERSION_renderproto ?= "0.9.3"
+PREFERRED_VERSION_renderproto-sdk ?= "0.9.3"
 PREFERRED_VERSION_resourceproto ?= "1.0.2"
 PREFERRED_VERSION_scrnsaverproto ?= "1.1.0"
 PREFERRED_VERSION_trapproto ?= "3.4.3"
@@ -104,14 +104,15 @@ PREFERRED_VERSION_xcmiscproto-native ?= "1.1.2"
 PREFERRED_VERSION_xcmiscproto-sdk ?= "1.1.2"
 PREFERRED_VERSION_xdpyinfo ?= "1.0.2"
 PREFERRED_VERSION_xev ?= "1.0.3"
-PREFERRED_VERSION_xextproto ?= "7.0.2"
-PREFERRED_VERSION_xextproto-native ?= "7.0.2"
-PREFERRED_VERSION_xextproto-sdk ?= "7.0.2"
+PREFERRED_VERSION_xextproto ?= "7.0.3"
+PREFERRED_VERSION_xextproto-native ?= "7.0.3"
+PREFERRED_VERSION_xextproto-sdk ?= "7.0.3"
 PREFERRED_VERSION_xf86bigfontproto ?= "1.1.2"
 PREFERRED_VERSION_xf86bigfontproto-native ?= "1.1.2"
 PREFERRED_VERSION_xf86bigfontproto-sdk ?= "1.1.2"
 PREFERRED_VERSION_xf86dgaproto ?= "2.0.3"
 PREFERRED_VERSION_xf86driproto ?= "2.0.3"
+PREFERRED_VERSION_dri2proto ?= "1.99.1+git${SRCREV}"
 PREFERRED_VERSION_xf86miscproto ?= "0.9.2"
 PREFERRED_VERSION_xf86rushproto ?= "1.1.2"
 PREFERRED_VERSION_xf86vidmodeproto ?= "2.2.2"
@@ -121,9 +122,9 @@ PREFERRED_VERSION_xineramaproto ?= "1.1.2"
 PREFERRED_VERSION_xmodmap ?= "1.0.3"
 PREFERRED_VERSION_xorg-cf-files ?= "1.0.2"
 PREFERRED_VERSION_xprop ?= "1.0.4"
-PREFERRED_VERSION_xproto ?= "7.0.12"
-PREFERRED_VERSION_xproto-native ?= "7.0.12"
-PREFERRED_VERSION_xproto-sdk ?= "7.0.12"
+PREFERRED_VERSION_xproto ?= "7.0.13"
+PREFERRED_VERSION_xproto-native ?= "7.0.13"
+PREFERRED_VERSION_xproto-sdk ?= "7.0.13"
 PREFERRED_VERSION_xproxymanagementprotocol ?= "1.0.2"
 PREFERRED_VERSION_xrandr ?= "1.2.3"
 PREFERRED_VERSION_xrdb ?= "1.0.5"
index efa6845dfc847b62afdfbb2a36c73955c4899977..09d86f1d2e4641d7318b4f016489ba7cba003091 100644 (file)
@@ -79,6 +79,7 @@ PREFERRED_PROVIDER_virtual/libgl ?= "mesa-xlib"
 PREFERRED_PROVIDER_virtual/update-alternatives ?= "update-alternatives-cworth"
 PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-native"
 PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-diet"
+PREFERRED_PROVIDER_xf86-video-intel ?= xf86-video-intel
 
 VIRTUAL-RUNTIME_update-alternatives ?= "update-alternatives-cworth"
 
index f6dbe333aa12dcd252bc3614541f7c0e30694641..54f630d56c4845af3104cfc7480132c3451e5b95 100644 (file)
@@ -17,7 +17,7 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-moblin"
 PREFERRED_PROVIDER_virtual/libx11 = "libx11-trim"
 PREFERRED_PROVIDER_virtual/libgl  = "mesa-dri"
 PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86-dri-lite"
-XSERVER = "xserver-xf86-dri-lite \
+XSERVER ?= "xserver-xf86-dri-lite \
            xf86-input-mouse \
            xf86-input-keyboard \
            xf86-input-synaptics \
diff --git a/meta/packages/drm/libdrm_git.bb b/meta/packages/drm/libdrm_git.bb
new file mode 100644 (file)
index 0000000..e05e16b
--- /dev/null
@@ -0,0 +1,17 @@
+SECTION = "x11/base"
+LICENSE = "MIT"
+SRC_URI = "git://anongit.freedesktop.org/git/mesa/drm;protocol=git"
+PROVIDES = "drm"
+
+S = ${WORKDIR}/git
+
+PR = "r0"
+PV = "2.4.0+git${SRCREV}"
+
+LEAD_SONAME = "libdrm.so"
+
+inherit autotools pkgconfig
+
+do_stage() {
+       autotools_stage_all
+}
index 76a51da382c5b7eda189f2731db9a316e1e8308e..c96863fd7a04be38a6a26265526eaec60bca3847 100644 (file)
@@ -5,7 +5,6 @@ LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes expat"
 
 DEPENDS = "${PROTO_DEPS}  ${LIB_DEPS}"
 
-PE = "1"
 PR = "r4"
 
 # most of our targets do not have DRI so will use mesa-xlib
index 6aedeaa1c0316b60fb5e308abce49577a8526af4..5bd5c7ad7123644958c12a3ed2eb36dfb3be5253 100644 (file)
@@ -5,14 +5,20 @@ LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes expat"
 
 DEPENDS = "${PROTO_DEPS}  ${LIB_DEPS}"
 
-PV = "7.2+git${SRCREV}"
-PR = "r2"
+PV = "7.3.0+git${SRCREV}"
+PR = "r0"
 
+# most of our targets do not have DRI so will use mesa-xlib
 DEFAULT_PREFERENCE = "-1"
 
+# ASUS EeePC 901 has DRI support so use mesa-dri by default
+DEFAULT_PREFERENCE_eee901 = "1"
+
 SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa;protocol=git"
 S = "${WORKDIR}/git"
 
+PACKAGES =+ "${PN}-xprogs"
+
 FILES_${PN} += "${libdir}/dri/*.so"
 FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
 
diff --git a/meta/packages/xorg-driver/xf86-input-keyboard_git.bb b/meta/packages/xorg-driver/xf86-input-keyboard_git.bb
new file mode 100644 (file)
index 0000000..d17437d
--- /dev/null
@@ -0,0 +1,9 @@
+require xf86-input-common.inc
+
+DESCRIPTION = "X.Org X server -- keyboard input driver"
+
+PV = "1.3.1+git${SRCREV}"
+
+SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-keyboard;protocol=git"
+S = "${WORKDIR}/git"
+
diff --git a/meta/packages/xorg-driver/xf86-input-mouse_git.bb b/meta/packages/xorg-driver/xf86-input-mouse_git.bb
new file mode 100644 (file)
index 0000000..e1b1678
--- /dev/null
@@ -0,0 +1,9 @@
+require xf86-input-common.inc
+
+DESCRIPTION = "X.Org X server -- mouse input driver"
+
+PV = "1.3.0+git${SRCREV}"
+
+SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-mouse;protocol=git"
+S = "${WORKDIR}/git"
+
diff --git a/meta/packages/xorg-driver/xf86-input-synaptics_git.bb b/meta/packages/xorg-driver/xf86-input-synaptics_git.bb
new file mode 100644 (file)
index 0000000..0bd90ea
--- /dev/null
@@ -0,0 +1,9 @@
+require xf86-input-common.inc
+
+DESCRIPTION = "X.Org X server -- keyboard input driver"
+
+PV = "0.15.2+git${SRCREV}"
+
+SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-input-synaptics;protocol=git"
+S = "${WORKDIR}/git"
+
diff --git a/meta/packages/xorg-driver/xf86-video-intel-dri2/002_avoid_duplicate_SaveHWState.patch b/meta/packages/xorg-driver/xf86-video-intel-dri2/002_avoid_duplicate_SaveHWState.patch
new file mode 100755 (executable)
index 0000000..87c2a87
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
+--- xf86-video-intel-2.5.96.0/src/i830_driver.c        2008-09-13 06:58:45.000000000 +0800
++++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c    2008-09-25 21:22:08.000000000 +0800
+@@ -1782,7 +1782,7 @@
+       return FALSE;
+    pI830 = I830PTR(pScrn);
+-   pI830->SaveGeneration = -1;
++   pI830->SaveGeneration = serverGeneration;
+    pI830->pEnt = pEnt;
+    pI830->use_drm_mode = drm_mode_setting;
diff --git a/meta/packages/xorg-driver/xf86-video-intel-dri2/004_reduce_driver_boottime.patch b/meta/packages/xorg-driver/xf86-video-intel-dri2/004_reduce_driver_boottime.patch
new file mode 100755 (executable)
index 0000000..f8c2149
--- /dev/null
@@ -0,0 +1,95 @@
+diff -urN xf86-video-intel-2.5.96.0/src/i830_display.c xf86-video-intel-2.5.96.0.new/src/i830_display.c
+--- xf86-video-intel-2.5.96.0/src/i830_display.c       2008-09-11 05:10:10.000000000 +0800
++++ xf86-video-intel-2.5.96.0.new/src/i830_display.c   2008-09-25 21:27:42.000000000 +0800
+@@ -376,7 +376,7 @@
+ i830WaitForVblank(ScrnInfoPtr pScreen)
+ {
+     /* Wait for 20ms, i.e. one cycle at 50hz. */
+-    usleep(30000);
++    usleep(21000);
+ }
+ void
+diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
+--- xf86-video-intel-2.5.96.0/src/i830_driver.c        2008-09-25 21:23:52.000000000 +0800
++++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c    2008-09-25 21:30:13.000000000 +0800
+@@ -2293,7 +2293,7 @@
+ static void
+ i830_dpll_settle(void)
+ {
+-    usleep(10000); /* 10 ms *should* be plenty */
++    usleep(150); /* 10 ms *should* be plenty */
+ }
+ static Bool
+@@ -2315,14 +2315,12 @@
+       xf86OutputPtr   output = xf86_config->output[i];
+       output->funcs->dpms(output, DPMSModeOff);
+    }
+-   i830WaitForVblank(pScrn);
+    
+    /* Disable pipes */
+    for (i = 0; i < xf86_config->num_crtc; i++) {
+       xf86CrtcPtr crtc = xf86_config->crtc[i];
+       crtc->funcs->dpms(crtc, DPMSModeOff);
+    }
+-   i830WaitForVblank(pScrn);
+    if (IS_MOBILE(pI830) && !IS_I830(pI830))
+       OUTREG(LVDS, pI830->saveLVDS);
+@@ -2369,11 +2367,13 @@
+    OUTREG(FPA0, pI830->saveFPA0);
+    OUTREG(FPA1, pI830->saveFPA1);
+    OUTREG(DPLL_A, pI830->saveDPLL_A);
++   POSTING_READ(DPLL_A);
+    i830_dpll_settle();
+    if (IS_I965G(pI830))
+       OUTREG(DPLL_A_MD, pI830->saveDPLL_A_MD);
+    else
+       OUTREG(DPLL_A, pI830->saveDPLL_A);
++   POSTING_READ(DPLL_A);
+    i830_dpll_settle();
+    /* Restore mode config */
+@@ -2409,13 +2409,11 @@
+        DISPPLANE_SEL_PIPE_A) {
+        OUTREG(DSPACNTR, pI830->saveDSPACNTR);
+        OUTREG(DSPABASE, INREG(DSPABASE));
+-       i830WaitForVblank(pScrn);
+    }
+    if ((pI830->saveDSPBCNTR & DISPPLANE_SEL_PIPE_MASK) ==
+        DISPPLANE_SEL_PIPE_A) {
+        OUTREG(DSPBCNTR, pI830->saveDSPBCNTR);
+        OUTREG(DSPBBASE, INREG(DSPBBASE));
+-       i830WaitForVblank(pScrn);
+    }
+    /* See note about pipe programming above */
+@@ -2430,11 +2428,13 @@
+       OUTREG(FPB0, pI830->saveFPB0);
+       OUTREG(FPB1, pI830->saveFPB1);
+       OUTREG(DPLL_B, pI830->saveDPLL_B);
++      POSTING_READ(DPLL_B);
+       i830_dpll_settle();
+       if (IS_I965G(pI830))
+        OUTREG(DPLL_B_MD, pI830->saveDPLL_B_MD);
+       else
+        OUTREG(DPLL_B, pI830->saveDPLL_B);
++      POSTING_READ(DPLL_B);
+       i830_dpll_settle();
+    
+       /* Restore mode config */
+@@ -2468,13 +2468,11 @@
+         DISPPLANE_SEL_PIPE_B) {
+         OUTREG(DSPACNTR, pI830->saveDSPACNTR);
+         OUTREG(DSPABASE, INREG(DSPABASE));
+-        i830WaitForVblank(pScrn);
+       }
+       if ((pI830->saveDSPBCNTR & DISPPLANE_SEL_PIPE_MASK) ==
+         DISPPLANE_SEL_PIPE_B) {
+         OUTREG(DSPBCNTR, pI830->saveDSPBCNTR);
+         OUTREG(DSPBBASE, INREG(DSPBBASE));
+-        i830WaitForVblank(pScrn);
+       }
+    }
diff --git a/meta/packages/xorg-driver/xf86-video-intel-dri2/005_disable_sdvo_TV_port_restoreHW.patch b/meta/packages/xorg-driver/xf86-video-intel-dri2/005_disable_sdvo_TV_port_restoreHW.patch
new file mode 100755 (executable)
index 0000000..6cdeb3e
--- /dev/null
@@ -0,0 +1,31 @@
+diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
+--- xf86-video-intel-2.5.96.0/src/i830_driver.c        2008-09-25 21:32:45.000000000 +0800
++++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c    2008-09-25 21:34:19.000000000 +0800
+@@ -912,6 +912,7 @@
+    if (IS_MOBILE(pI830) && !IS_I830(pI830))
+       i830_lvds_init(pScrn);
++#if 0
+    if (IS_I9XX(pI830)) {
+       if (INREG(SDVOB) & SDVO_DETECTED) {
+        Bool found = i830_sdvo_init(pScrn, SDVOB);
+@@ -931,7 +932,8 @@
+    }
+    if (IS_I9XX(pI830) && IS_MOBILE(pI830))
+       i830_tv_init(pScrn);
+-   
++#endif
++
+    for (o = 0; o < config->num_output; o++)
+    {
+       xf86OutputPtr      output = config->output[o];
+@@ -1612,7 +1614,9 @@
+       PreInitCleanup(pScrn);
+       return FALSE;
+     }
++#if 0
+     RestoreHWState(pScrn);
++#endif
+     /* XXX This should go away, replaced by xf86Crtc.c support for it */
+     pI830->rotation = RR_Rotate_0;
diff --git a/meta/packages/xorg-driver/xf86-video-intel-dri2/006_disable_check_lvds_panelpower_status.patch b/meta/packages/xorg-driver/xf86-video-intel-dri2/006_disable_check_lvds_panelpower_status.patch
new file mode 100755 (executable)
index 0000000..b35e43f
--- /dev/null
@@ -0,0 +1,29 @@
+diff -urN xf86-video-intel-2.5.96.0/src/i830_lvds.c xf86-video-intel-2.5.96.0.new/src/i830_lvds.c
+--- xf86-video-intel-2.5.96.0/src/i830_lvds.c  2008-09-01 05:27:39.000000000 +0800
++++ xf86-video-intel-2.5.96.0.new/src/i830_lvds.c      2008-09-25 21:36:13.000000000 +0800
+@@ -404,10 +404,11 @@
+           dev_priv->backlight_duty_cycle = dev_priv->backlight_max;
+       OUTREG(PP_CONTROL, INREG(PP_CONTROL) | POWER_TARGET_ON);
++#if 0
+       do {
+           pp_status = INREG(PP_STATUS);
+       } while ((pp_status & PP_ON) == 0);
+-
++#endif
+       dev_priv->set_backlight(output, dev_priv->backlight_duty_cycle);
+       dev_priv->dpmsoff = FALSE;
+     } else {
+@@ -420,10 +421,11 @@
+       dev_priv->set_backlight(output, 0);
+       OUTREG(PP_CONTROL, INREG(PP_CONTROL) & ~POWER_TARGET_ON);
++#if 0
+       do {
+           pp_status = INREG(PP_STATUS);
+       } while (pp_status & PP_ON);
+-
++#endif
+       dev_priv->dpmsoff = TRUE;
+     }
+ }
diff --git a/meta/packages/xorg-driver/xf86-video-intel-dri2/007_disable_tiling_and_enable_UXA.patch b/meta/packages/xorg-driver/xf86-video-intel-dri2/007_disable_tiling_and_enable_UXA.patch
new file mode 100755 (executable)
index 0000000..7f60295
--- /dev/null
@@ -0,0 +1,28 @@
+diff -urN xf86-video-intel-2.5.96.0/src/i830_driver.c xf86-video-intel-2.5.96.0.new/src/i830_driver.c
+--- xf86-video-intel-2.5.96.0/src/i830_driver.c        2008-09-27 18:19:07.000000000 +0800
++++ xf86-video-intel-2.5.96.0.new/src/i830_driver.c    2008-09-27 18:20:13.000000000 +0800
+@@ -1511,12 +1511,12 @@
+      * for example. :)
+      */
+     if (!(pI830->accel == ACCEL_NONE)) {
+-#ifdef I830_USE_UXA
+-      pI830->accel = ACCEL_UXA;
+-#endif
+ #ifdef I830_USE_EXA
+       pI830->accel = ACCEL_EXA;
+ #endif
++#ifdef I830_USE_UXA
++      pI830->accel = ACCEL_UXA;
++#endif
+ #if I830_USE_XAA + I830_USE_EXA + I830_USE_UXA >= 2
+       from = X_DEFAULT;
+       if ((s = (char *)xf86GetOptValString(pI830->Options,
+@@ -3106,7 +3106,7 @@
+ #endif
+    /* Enable tiling by default */
+-   pI830->tiling = TRUE;
++   pI830->tiling = FALSE;
+    /* Allow user override if they set a value */
+    if (xf86IsOptionSet(pI830->Options, OPTION_TILING)) {
diff --git a/meta/packages/xorg-driver/xf86-video-intel-dri2_git.bb b/meta/packages/xorg-driver/xf86-video-intel-dri2_git.bb
new file mode 100644 (file)
index 0000000..4df2b1c
--- /dev/null
@@ -0,0 +1,24 @@
+require xf86-video-common.inc
+
+DESCRIPTION = "X.Org X server -- Intel i8xx, i9xx display driver"
+DEPENDS += "virtual/libx11 libxvmc drm dri2proto glproto \
+           virtual/libgl xineramaproto libpciaccess"
+PROVIDES = "xf86-video-intel"
+
+PE = "1"
+PR = "r0"
+PV = "1.5.0+git${SRCREV}"
+
+SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel;protocol=git;branch=dri2 \
+           file://002_avoid_duplicate_SaveHWState.patch;patch=1 \
+           file://004_reduce_driver_boottime.patch;patch=1 \
+           file://005_disable_sdvo_TV_port_restoreHW.patch;patch=1 \
+           file://006_disable_check_lvds_panelpower_status.patch;patch=1 \
+           file://007_disable_tiling_and_enable_UXA.patch;patch=1"
+
+S = "${WORKDIR}/git"
+
+COMPATIBLE_HOST = '(i.86.*-linux)'
+
+EXTRA_OECONF = "--enable-dri --disable-static"
+
diff --git a/meta/packages/xorg-proto/dri2proto_1.99.1git.bb b/meta/packages/xorg-proto/dri2proto_1.99.1git.bb
new file mode 100644 (file)
index 0000000..35b4e1f
--- /dev/null
@@ -0,0 +1,9 @@
+DESCRIPTION = "DRI2 extension headers"
+
+require xorg-proto-common.inc
+
+PV = "1.99.1+git${SRCREV}"
+
+SRC_URI = "git://git.freedesktop.org/git/xorg/proto/dri2proto;protocol=git"
+S = "${WORKDIR}/git"
+
diff --git a/meta/packages/xorg-proto/inputproto_1.9.99.5git.bb b/meta/packages/xorg-proto/inputproto_1.9.99.5git.bb
new file mode 100644 (file)
index 0000000..5c62eb4
--- /dev/null
@@ -0,0 +1,10 @@
+require xorg-proto-common.inc
+
+PR = "r1"
+PE = "1"
+PV = "1.9.99.5+git${SRCREV}"
+
+SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/inputproto;protocol=git"
+S = "${WORKDIR}/git"
+
+XORG_PN = "inputproto"
diff --git a/meta/packages/xorg-proto/renderproto-sdk_0.9.3.bb b/meta/packages/xorg-proto/renderproto-sdk_0.9.3.bb
new file mode 100644 (file)
index 0000000..25ab908
--- /dev/null
@@ -0,0 +1,3 @@
+require renderproto_${PV}.bb
+
+inherit sdk
diff --git a/meta/packages/xorg-proto/renderproto_0.9.3.bb b/meta/packages/xorg-proto/renderproto_0.9.3.bb
new file mode 100644 (file)
index 0000000..d4e0983
--- /dev/null
@@ -0,0 +1,7 @@
+require xorg-proto-common.inc
+
+CONFLICTS = "renderext"
+PR = "r1"
+PE = "1"
+
+XORG_PN = "renderproto"
diff --git a/meta/packages/xorg-proto/xextproto-native_7.0.3.bb b/meta/packages/xorg-proto/xextproto-native_7.0.3.bb
new file mode 100644 (file)
index 0000000..2529e62
--- /dev/null
@@ -0,0 +1,3 @@
+require xextproto_${PV}.bb
+
+inherit native
diff --git a/meta/packages/xorg-proto/xextproto-sdk_7.0.3.bb b/meta/packages/xorg-proto/xextproto-sdk_7.0.3.bb
new file mode 100644 (file)
index 0000000..3b182a0
--- /dev/null
@@ -0,0 +1,3 @@
+require xextproto_${PV}.bb
+
+inherit sdk
similarity index 68%
rename from meta/packages/xorg-proto/inputproto_1.4.4.bb
rename to meta/packages/xorg-proto/xextproto_7.0.3.bb
index e3a8b09f2b5a025a26384560aeb00a9b6c8e2029..829d3cbe1e223ed4fafa01ad6300367da265b480 100644 (file)
@@ -3,4 +3,4 @@ require xorg-proto-common.inc
 PR = "r1"
 PE = "1"
 
-XORG_PN = "inputproto"
+XORG_PN = "xextproto"
diff --git a/meta/packages/xorg-proto/xproto-native_7.0.13.bb b/meta/packages/xorg-proto/xproto-native_7.0.13.bb
new file mode 100644 (file)
index 0000000..5dde8a7
--- /dev/null
@@ -0,0 +1,3 @@
+require xproto_${PV}.bb
+
+inherit native
diff --git a/meta/packages/xorg-proto/xproto-sdk_7.0.13.bb b/meta/packages/xorg-proto/xproto-sdk_7.0.13.bb
new file mode 100644 (file)
index 0000000..1c1a934
--- /dev/null
@@ -0,0 +1,3 @@
+require xproto_${PV}.bb
+
+inherit sdk
diff --git a/meta/packages/xorg-proto/xproto_7.0.13.bb b/meta/packages/xorg-proto/xproto_7.0.13.bb
new file mode 100644 (file)
index 0000000..1adf55d
--- /dev/null
@@ -0,0 +1,6 @@
+require xorg-proto-common.inc
+
+PR = "r1"
+PE = "1"
+
+XORG_PN = "xproto"
index 6caf889d1d91f7781d07cec7d86f01efc080a902..227be4ec0c8a0cb55934ad131fcfdfd6a0574f86 100644 (file)
@@ -1,8 +1,6 @@
 require xserver-xf86-common.inc
 
-PROVIDES += "xserver-xf86-dri-lite"
-
-PROTO_DEPS = "randrproto renderproto fixesproto damageproto xextproto xproto xf86dgaproto xf86miscproto xf86rushproto xf86vidmodeproto xf86bigfontproto compositeproto recordproto resourceproto videoproto scrnsaverproto evieext trapproto xineramaproto fontsproto kbproto inputproto bigreqsproto xcmiscproto glproto xf86driproto dri2proto"
+PROTO_DEPS = "randrproto renderproto fixesproto damageproto xextproto xproto xf86dgaproto xf86miscproto xf86rushproto xf86vidmodeproto xf86bigfontproto compositeproto recordproto resourceproto videoproto scrnsaverproto evieext trapproto xineramaproto fontsproto kbproto inputproto bigreqsproto xcmiscproto glproto"
 
 LIB_DEPS = "pixman mesa-dri libxfont xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess openssl"
 
@@ -12,24 +10,28 @@ RDEPENDS = "hal xorg-minimal-fonts"
 
 FILES_${PN} += "${bindir}/Xorg "
 
-EXTRA_OECONF += "--disable-cfb \
-                 --disable-afb \
-                 --disable-mfb \
+EXTRA_OECONF += "--disable-static \
+                 --disable-acfb \
+                 --disable-ccfb \
+                 --disable-mcfb \
                  --disable-dga \
                  --disable-xinerama \
                  --disable-xf86misc \
                  --disable-xorgcfg \
+                 --disable-record \
                  --disable-dmx \
                  --disable-xnest \
                  --disable-xvfb \
                  --enable-composite \
-                 --enable-dri \
                  --enable-glx-tls \
                  --sysconfdir=/etc/X11 \
                  --localstatedir=/var \
+                 --with-pic \
+                 --with-int10=x86emu \
                  --with-fontdir=/usr/share/fonts/X11 \
                  --with-xkb-output=/var/lib/xkb \
                  ac_cv_file__usr_share_sgml_X11_defs_ent=no"
 
 # Due to mesa-dri
 COMPATIBLE_HOST = '(i.86.*-linux)'
+
diff --git a/meta/packages/xorg-xserver/xserver-xf86-dri-lite/fix_open_max_preprocessor_error.patch b/meta/packages/xorg-xserver/xserver-xf86-dri-lite/fix_open_max_preprocessor_error.patch
new file mode 100644 (file)
index 0000000..565832e
--- /dev/null
@@ -0,0 +1,13 @@
+Index: git/os/osdep.h
+===================================================================
+--- git.orig/os/osdep.h        2008-10-07 18:38:21.000000000 +0100
++++ git/os/osdep.h     2008-10-07 18:39:36.000000000 +0100
+@@ -92,7 +92,7 @@
+  * like sysconf(_SC_OPEN_MAX) is not supported.
+  */
+-#if OPEN_MAX <= 256
++#if 0
+ #define MAXSOCKS (OPEN_MAX - 1)
+ #else
+ #define MAXSOCKS 256
diff --git a/meta/packages/xorg-xserver/xserver-xf86-dri-lite/xorg-server-disable-dri_sarea.patch b/meta/packages/xorg-xserver/xserver-xf86-dri-lite/xorg-server-disable-dri_sarea.patch
new file mode 100755 (executable)
index 0000000..3d2fa16
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN xorg-server-1.5.99.1/hw/xfree86/dri2/dri2.c xorg-server-1.5.99.1.new/hw/xfree86/dri2/dri2.c
+--- xorg-server-1.5.99.1/hw/xfree86/dri2/dri2.c        2008-09-01 03:26:37.000000000 +0800
++++ xorg-server-1.5.99.1.new/hw/xfree86/dri2/dri2.c    2008-09-18 00:28:16.000000000 +0800
+@@ -39,7 +39,7 @@
+ #include "scrnintstr.h"
+ #include "windowstr.h"
+ #include "dri2.h"
+-#include <GL/internal/dri_sarea.h>
++//#include <GL/internal/dri_sarea.h>
+ #include "xf86.h"
diff --git a/meta/packages/xorg-xserver/xserver-xf86-dri-lite/xorg-server-enable-dri2.patch b/meta/packages/xorg-xserver/xserver-xf86-dri-lite/xorg-server-enable-dri2.patch
new file mode 100755 (executable)
index 0000000..7ff3658
--- /dev/null
@@ -0,0 +1,23 @@
+commit 67b9b3a77a8b86eef03af36a0f4be3a07411efee
+Author: Eric Anholt <eric@anholt.net>
+Date:   Thu Sep 11 16:18:17 2008 -0700
+
+    Enable DRI2 build.
+
+diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
+index eff2c31..98d7ec8 100644
+--- a/hw/xfree86/Makefile.am
++++ b/hw/xfree86/Makefile.am
+@@ -4,9 +4,9 @@ if DRI
+ DRI_SUBDIR = dri
+ endif
+-#if DRI2
+-#DRI2_SUBDIR = dri2
+-#endif
++if DRI2
++DRI2_SUBDIR = dri2
++endif
+ if XF86UTILS
+ XF86UTILS_SUBDIR = utils
diff --git a/meta/packages/xorg-xserver/xserver-xf86-dri-lite/xserver-boottime.patch b/meta/packages/xorg-xserver/xserver-xf86-dri-lite/xserver-boottime.patch
new file mode 100755 (executable)
index 0000000..8e4033e
--- /dev/null
@@ -0,0 +1,37 @@
+diff --git a/os/log.c b/os/log.c
+index 0860847..2c46f1a 100644
+--- a/os/log.c
++++ b/os/log.c
+@@ -255,6 +255,32 @@ LogVWrite(int verb, const char *f, va_list args)
+     static char tmpBuffer[1024];
+     int len = 0;
++    struct timeval time;
++    time_t tv_sec;
++    suseconds_t tv_usec;
++    static Bool first = TRUE;
++    static time_t start_tv_sec;
++    static suseconds_t start_usec;
++    int diff_sec, diff_usec;
++
++    gettimeofday(&time, NULL);
++    tv_sec = time.tv_sec;
++    tv_usec = time.tv_usec;
++    if (first == TRUE) {
++        start_tv_sec = tv_sec;
++        start_usec = tv_usec;
++        first = FALSE;
++    }
++    diff_sec = (int)difftime(tv_sec, start_tv_sec);
++    diff_usec = (tv_usec - start_usec);
++    if (diff_usec < 0) {
++        diff_sec--;
++        diff_usec += 1000000;
++    }
++    sprintf(tmpBuffer, "[%d sec: %06d usec]", diff_sec , diff_usec);
++    len = strlen(tmpBuffer);
++    fwrite(tmpBuffer, len, 1, logFile);
++
+     /*
+      * Since a va_list can only be processed once, write the string to a
+      * buffer, and then write the buffer out to the appropriate output
index bc5aa493e51479585b1c34043189434371a6d69c..c9bd3f9fbe6aee6f344ece81469cc25d2cff9c6d 100644 (file)
@@ -3,6 +3,10 @@ require xserver-xf86-dri-lite.inc
 PE = "1"
 PR = "r3"
 
+PROTO_DEPS += "xf86driproto"
+
 SRC_URI += "file://drmfix.patch;patch=1 \
             file://libdri-xinerama-symbol.patch;patch=1 "
 
+EXTRA_OECONF += "--enable-dri"
+
index e45702664bebf5a529062b273079c7d12204e16f..39e286570e94a44cbf812ffedf8a4487de122bbe 100644 (file)
@@ -4,8 +4,17 @@ PE = "1"
 PR = "r2"
 PV = "1.5.0+git${SRCREV}"
 
+PROTO_DEPS += "xf86driproto"
+
 DEFAULT_PREFERENCE = "-1"
 
 SRC_URI = "git://anongit.freedesktop.org/git/xorg/xserver;protocol=git \
+           file://xorg.conf \
            file://libdri-xinerama-symbol.patch;patch=1"
 
+# Misc build failure for master HEAD
+SRC_URI += "file://fix_open_max_preprocessor_error.patch;patch=1"
+
+EXTRA_OECONF += "--enable-dri"
+
+S = "${WORKDIR}/git"