From 10650210e775ab98f1b0bf4bd5292361f1807b0f Mon Sep 17 00:00:00 2001 From: Robert Bragg Date: Mon, 13 Oct 2008 15:23:14 +0000 Subject: Adds support for GEM + DRI2 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 --- meta/conf/distro/include/poky-fixed-revisions.inc | 6 +- .../distro/include/preferred-xorg-versions.inc | 23 +++--- meta/conf/distro/poky.conf | 1 + meta/conf/machine/eee901.conf | 2 +- meta/packages/drm/libdrm_git.bb | 17 ++++ meta/packages/mesa/mesa-dri_7.2.bb | 1 - meta/packages/mesa/mesa-dri_git.bb | 10 ++- .../xorg-driver/xf86-input-keyboard_git.bb | 9 ++ meta/packages/xorg-driver/xf86-input-mouse_git.bb | 9 ++ .../xorg-driver/xf86-input-synaptics_git.bb | 9 ++ .../002_avoid_duplicate_SaveHWState.patch | 12 +++ .../004_reduce_driver_boottime.patch | 95 ++++++++++++++++++++++ .../005_disable_sdvo_TV_port_restoreHW.patch | 31 +++++++ .../006_disable_check_lvds_panelpower_status.patch | 29 +++++++ .../007_disable_tiling_and_enable_UXA.patch | 28 +++++++ .../xorg-driver/xf86-video-intel-dri2_git.bb | 24 ++++++ meta/packages/xorg-proto/dri2proto_1.99.1git.bb | 9 ++ .../packages/xorg-proto/inputproto-native_1.4.4.bb | 3 - .../xorg-proto/inputproto-native_1.9.99.5git.bb | 3 + meta/packages/xorg-proto/inputproto-sdk_1.4.4.bb | 3 - .../xorg-proto/inputproto-sdk_1.9.99.5git.bb | 3 + meta/packages/xorg-proto/inputproto_1.4.4.bb | 6 -- meta/packages/xorg-proto/inputproto_1.9.99.5git.bb | 10 +++ meta/packages/xorg-proto/renderproto-sdk_0.9.3.bb | 3 + meta/packages/xorg-proto/renderproto_0.9.3.bb | 7 ++ meta/packages/xorg-proto/xextproto-native_7.0.3.bb | 3 + meta/packages/xorg-proto/xextproto-sdk_7.0.3.bb | 3 + meta/packages/xorg-proto/xextproto_7.0.3.bb | 6 ++ meta/packages/xorg-proto/xproto-native_7.0.13.bb | 3 + meta/packages/xorg-proto/xproto-sdk_7.0.13.bb | 3 + meta/packages/xorg-proto/xproto_7.0.13.bb | 6 ++ .../xorg-xserver/xserver-xf86-dri-lite.inc | 16 ++-- .../fix_open_max_preprocessor_error.patch | 13 +++ .../xorg-server-disable-dri_sarea.patch | 12 +++ .../xorg-server-enable-dri2.patch | 23 ++++++ .../xserver-xf86-dri-lite/xserver-boottime.patch | 37 +++++++++ .../xorg-xserver/xserver-xf86-dri-lite_1.5.0.bb | 4 + .../xorg-xserver/xserver-xf86-dri-lite_git.bb | 9 ++ 38 files changed, 456 insertions(+), 35 deletions(-) create mode 100644 meta/packages/drm/libdrm_git.bb create mode 100644 meta/packages/xorg-driver/xf86-input-keyboard_git.bb create mode 100644 meta/packages/xorg-driver/xf86-input-mouse_git.bb create mode 100644 meta/packages/xorg-driver/xf86-input-synaptics_git.bb create mode 100755 meta/packages/xorg-driver/xf86-video-intel-dri2/002_avoid_duplicate_SaveHWState.patch create mode 100755 meta/packages/xorg-driver/xf86-video-intel-dri2/004_reduce_driver_boottime.patch create mode 100755 meta/packages/xorg-driver/xf86-video-intel-dri2/005_disable_sdvo_TV_port_restoreHW.patch create mode 100755 meta/packages/xorg-driver/xf86-video-intel-dri2/006_disable_check_lvds_panelpower_status.patch create mode 100755 meta/packages/xorg-driver/xf86-video-intel-dri2/007_disable_tiling_and_enable_UXA.patch create mode 100644 meta/packages/xorg-driver/xf86-video-intel-dri2_git.bb create mode 100644 meta/packages/xorg-proto/dri2proto_1.99.1git.bb delete mode 100644 meta/packages/xorg-proto/inputproto-native_1.4.4.bb create mode 100644 meta/packages/xorg-proto/inputproto-native_1.9.99.5git.bb delete mode 100644 meta/packages/xorg-proto/inputproto-sdk_1.4.4.bb create mode 100644 meta/packages/xorg-proto/inputproto-sdk_1.9.99.5git.bb delete mode 100644 meta/packages/xorg-proto/inputproto_1.4.4.bb create mode 100644 meta/packages/xorg-proto/inputproto_1.9.99.5git.bb create mode 100644 meta/packages/xorg-proto/renderproto-sdk_0.9.3.bb create mode 100644 meta/packages/xorg-proto/renderproto_0.9.3.bb create mode 100644 meta/packages/xorg-proto/xextproto-native_7.0.3.bb create mode 100644 meta/packages/xorg-proto/xextproto-sdk_7.0.3.bb create mode 100644 meta/packages/xorg-proto/xextproto_7.0.3.bb create mode 100644 meta/packages/xorg-proto/xproto-native_7.0.13.bb create mode 100644 meta/packages/xorg-proto/xproto-sdk_7.0.13.bb create mode 100644 meta/packages/xorg-proto/xproto_7.0.13.bb create mode 100644 meta/packages/xorg-xserver/xserver-xf86-dri-lite/fix_open_max_preprocessor_error.patch create mode 100755 meta/packages/xorg-xserver/xserver-xf86-dri-lite/xorg-server-disable-dri_sarea.patch create mode 100755 meta/packages/xorg-xserver/xserver-xf86-dri-lite/xorg-server-enable-dri2.patch create mode 100755 meta/packages/xorg-xserver/xserver-xf86-dri-lite/xserver-boottime.patch (limited to 'meta') diff --git a/meta/conf/distro/include/poky-fixed-revisions.inc b/meta/conf/distro/include/poky-fixed-revisions.inc index d7e0a5a453..eb9f60913f 100644 --- a/meta/conf/distro/include/poky-fixed-revisions.inc +++ b/meta/conf/distro/include/poky-fixed-revisions.inc @@ -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: diff --git a/meta/conf/distro/include/preferred-xorg-versions.inc b/meta/conf/distro/include/preferred-xorg-versions.inc index 29fa815686..887cc31bbc 100644 --- a/meta/conf/distro/include/preferred-xorg-versions.inc +++ b/meta/conf/distro/include/preferred-xorg-versions.inc @@ -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" diff --git a/meta/conf/distro/poky.conf b/meta/conf/distro/poky.conf index efa6845dfc..09d86f1d2e 100644 --- a/meta/conf/distro/poky.conf +++ b/meta/conf/distro/poky.conf @@ -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" diff --git a/meta/conf/machine/eee901.conf b/meta/conf/machine/eee901.conf index f6dbe333aa..54f630d56c 100644 --- a/meta/conf/machine/eee901.conf +++ b/meta/conf/machine/eee901.conf @@ -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 index 0000000000..e05e16bb04 --- /dev/null +++ b/meta/packages/drm/libdrm_git.bb @@ -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 +} diff --git a/meta/packages/mesa/mesa-dri_7.2.bb b/meta/packages/mesa/mesa-dri_7.2.bb index 76a51da382..c96863fd7a 100644 --- a/meta/packages/mesa/mesa-dri_7.2.bb +++ b/meta/packages/mesa/mesa-dri_7.2.bb @@ -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 diff --git a/meta/packages/mesa/mesa-dri_git.bb b/meta/packages/mesa/mesa-dri_git.bb index 6aedeaa1c0..5bd5c7ad71 100644 --- a/meta/packages/mesa/mesa-dri_git.bb +++ b/meta/packages/mesa/mesa-dri_git.bb @@ -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 index 0000000000..d17437db82 --- /dev/null +++ b/meta/packages/xorg-driver/xf86-input-keyboard_git.bb @@ -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 index 0000000000..e1b16788e8 --- /dev/null +++ b/meta/packages/xorg-driver/xf86-input-mouse_git.bb @@ -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 index 0000000000..0bd90eaa4f --- /dev/null +++ b/meta/packages/xorg-driver/xf86-input-synaptics_git.bb @@ -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 index 0000000000..87c2a873eb --- /dev/null +++ b/meta/packages/xorg-driver/xf86-video-intel-dri2/002_avoid_duplicate_SaveHWState.patch @@ -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 index 0000000000..f8c214931e --- /dev/null +++ b/meta/packages/xorg-driver/xf86-video-intel-dri2/004_reduce_driver_boottime.patch @@ -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 index 0000000000..6cdeb3e70f --- /dev/null +++ b/meta/packages/xorg-driver/xf86-video-intel-dri2/005_disable_sdvo_TV_port_restoreHW.patch @@ -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 index 0000000000..b35e43f6ae --- /dev/null +++ b/meta/packages/xorg-driver/xf86-video-intel-dri2/006_disable_check_lvds_panelpower_status.patch @@ -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 index 0000000000..7f60295db2 --- /dev/null +++ b/meta/packages/xorg-driver/xf86-video-intel-dri2/007_disable_tiling_and_enable_UXA.patch @@ -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 index 0000000000..4df2b1cb08 --- /dev/null +++ b/meta/packages/xorg-driver/xf86-video-intel-dri2_git.bb @@ -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 index 0000000000..35b4e1f149 --- /dev/null +++ b/meta/packages/xorg-proto/dri2proto_1.99.1git.bb @@ -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-native_1.4.4.bb b/meta/packages/xorg-proto/inputproto-native_1.4.4.bb deleted file mode 100644 index b6ce61142f..0000000000 --- a/meta/packages/xorg-proto/inputproto-native_1.4.4.bb +++ /dev/null @@ -1,3 +0,0 @@ -require inputproto_${PV}.bb - -inherit native diff --git a/meta/packages/xorg-proto/inputproto-native_1.9.99.5git.bb b/meta/packages/xorg-proto/inputproto-native_1.9.99.5git.bb new file mode 100644 index 0000000000..b6ce61142f --- /dev/null +++ b/meta/packages/xorg-proto/inputproto-native_1.9.99.5git.bb @@ -0,0 +1,3 @@ +require inputproto_${PV}.bb + +inherit native diff --git a/meta/packages/xorg-proto/inputproto-sdk_1.4.4.bb b/meta/packages/xorg-proto/inputproto-sdk_1.4.4.bb deleted file mode 100644 index f0e1985bf9..0000000000 --- a/meta/packages/xorg-proto/inputproto-sdk_1.4.4.bb +++ /dev/null @@ -1,3 +0,0 @@ -require inputproto_${PV}.bb - -inherit sdk diff --git a/meta/packages/xorg-proto/inputproto-sdk_1.9.99.5git.bb b/meta/packages/xorg-proto/inputproto-sdk_1.9.99.5git.bb new file mode 100644 index 0000000000..f0e1985bf9 --- /dev/null +++ b/meta/packages/xorg-proto/inputproto-sdk_1.9.99.5git.bb @@ -0,0 +1,3 @@ +require inputproto_${PV}.bb + +inherit sdk diff --git a/meta/packages/xorg-proto/inputproto_1.4.4.bb b/meta/packages/xorg-proto/inputproto_1.4.4.bb deleted file mode 100644 index e3a8b09f2b..0000000000 --- a/meta/packages/xorg-proto/inputproto_1.4.4.bb +++ /dev/null @@ -1,6 +0,0 @@ -require xorg-proto-common.inc - -PR = "r1" -PE = "1" - -XORG_PN = "inputproto" 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 index 0000000000..5c62eb44da --- /dev/null +++ b/meta/packages/xorg-proto/inputproto_1.9.99.5git.bb @@ -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 index 0000000000..25ab90827f --- /dev/null +++ b/meta/packages/xorg-proto/renderproto-sdk_0.9.3.bb @@ -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 index 0000000000..d4e0983a8b --- /dev/null +++ b/meta/packages/xorg-proto/renderproto_0.9.3.bb @@ -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 index 0000000000..2529e62ca2 --- /dev/null +++ b/meta/packages/xorg-proto/xextproto-native_7.0.3.bb @@ -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 index 0000000000..3b182a02ff --- /dev/null +++ b/meta/packages/xorg-proto/xextproto-sdk_7.0.3.bb @@ -0,0 +1,3 @@ +require xextproto_${PV}.bb + +inherit sdk diff --git a/meta/packages/xorg-proto/xextproto_7.0.3.bb b/meta/packages/xorg-proto/xextproto_7.0.3.bb new file mode 100644 index 0000000000..829d3cbe1e --- /dev/null +++ b/meta/packages/xorg-proto/xextproto_7.0.3.bb @@ -0,0 +1,6 @@ +require xorg-proto-common.inc + +PR = "r1" +PE = "1" + +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 index 0000000000..5dde8a7d4a --- /dev/null +++ b/meta/packages/xorg-proto/xproto-native_7.0.13.bb @@ -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 index 0000000000..1c1a934bb0 --- /dev/null +++ b/meta/packages/xorg-proto/xproto-sdk_7.0.13.bb @@ -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 index 0000000000..1adf55d97a --- /dev/null +++ b/meta/packages/xorg-proto/xproto_7.0.13.bb @@ -0,0 +1,6 @@ +require xorg-proto-common.inc + +PR = "r1" +PE = "1" + +XORG_PN = "xproto" diff --git a/meta/packages/xorg-xserver/xserver-xf86-dri-lite.inc b/meta/packages/xorg-xserver/xserver-xf86-dri-lite.inc index 6caf889d1d..227be4ec0c 100644 --- a/meta/packages/xorg-xserver/xserver-xf86-dri-lite.inc +++ b/meta/packages/xorg-xserver/xserver-xf86-dri-lite.inc @@ -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 index 0000000000..565832eed8 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-xf86-dri-lite/fix_open_max_preprocessor_error.patch @@ -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 index 0000000000..3d2fa1669a --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-xf86-dri-lite/xorg-server-disable-dri_sarea.patch @@ -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 ++//#include + + #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 index 0000000000..7ff3658d0c --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-xf86-dri-lite/xorg-server-enable-dri2.patch @@ -0,0 +1,23 @@ +commit 67b9b3a77a8b86eef03af36a0f4be3a07411efee +Author: Eric Anholt +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 index 0000000000..8e4033e9a3 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-xf86-dri-lite/xserver-boottime.patch @@ -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 diff --git a/meta/packages/xorg-xserver/xserver-xf86-dri-lite_1.5.0.bb b/meta/packages/xorg-xserver/xserver-xf86-dri-lite_1.5.0.bb index bc5aa493e5..c9bd3f9fbe 100644 --- a/meta/packages/xorg-xserver/xserver-xf86-dri-lite_1.5.0.bb +++ b/meta/packages/xorg-xserver/xserver-xf86-dri-lite_1.5.0.bb @@ -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" + diff --git a/meta/packages/xorg-xserver/xserver-xf86-dri-lite_git.bb b/meta/packages/xorg-xserver/xserver-xf86-dri-lite_git.bb index e45702664b..39e286570e 100644 --- a/meta/packages/xorg-xserver/xserver-xf86-dri-lite_git.bb +++ b/meta/packages/xorg-xserver/xserver-xf86-dri-lite_git.bb @@ -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" -- cgit v1.2.3-54-g00ecf