Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37418610
en ru br
Репозитории ALT
S:2.99.917-alt1.20210115.1
5.1: 2.9.1-alt1
4.1: 2.4.3-alt0.M41.1
www.altlinux.org/Changes

Группа :: Система/X11
Пакет: xorg-drv-intel

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: xorg-drv-intel-2.4.3-alt0.M41.1.patch
Скачать


 .gear/rules                                        |    2 +
 .../tags/a52f80c4aea9406cd065352d622ac5afce1c5f8b  |    6 +
 .gear/tags/list                                    |    1 +
 configure.ac                                       |    2 +-
 src/bios_reader/bios_reader.c                      |   15 +
 src/common.h                                       |    7 +-
 src/i810_driver.c                                  |    4 +
 src/i830_bios.c                                    |   13 +-
 src/i830_driver.c                                  |   13 +-
 src/i830_memory.c                                  |   29 ++
 src/i830_quirks.c                                  |    2 +
 src/i830_video.c                                   |   16 +-
 src/xvmc/Makefile.am                               |    4 +-
 xinf2fdi                                           |   97 ++++++
 xorg-drv-intel.spec                                |  316 ++++++++++++++++++++
 15 files changed, 507 insertions(+), 20 deletions(-)
diff --git a/.gear/rules b/.gear/rules
new file mode 100644
index 0000000..58c588c
--- /dev/null
+++ b/.gear/rules
@@ -0,0 +1,2 @@
+tar: xf86-video-intel-@version@:.
+diff: xf86-video-intel-@version@:. .
diff --git a/.gear/tags/a52f80c4aea9406cd065352d622ac5afce1c5f8b b/.gear/tags/a52f80c4aea9406cd065352d622ac5afce1c5f8b
new file mode 100644
index 0000000..1e2a993
--- /dev/null
+++ b/.gear/tags/a52f80c4aea9406cd065352d622ac5afce1c5f8b
@@ -0,0 +1,6 @@
+object 55e17ecbaddde95cded5cd99ab3fb7e304a05072
+type commit
+tag xf86-video-intel-2.4.3
+tagger Valery Inozemtsev <shrek@altlinux.ru> 1226609840 +0300
+
+xf86-video-intel-2.4.3
diff --git a/.gear/tags/list b/.gear/tags/list
new file mode 100644
index 0000000..d4b0692
--- /dev/null
+++ b/.gear/tags/list
@@ -0,0 +1 @@
+a52f80c4aea9406cd065352d622ac5afce1c5f8b xf86-video-intel-2.4.3
diff --git a/configure.ac b/configure.ac
index 3fb8a0b..7883316 100644
--- a/configure.ac
+++ b/configure.ac
@@ -202,7 +202,7 @@ if test "$DRI" = yes; then
         PKG_CHECK_MODULES(DRI, [libdrm xf86driproto glproto])
         AC_DEFINE(XF86DRI,1,[Enable DRI driver support])
         AC_DEFINE(XF86DRI_DEVEL,1,[Enable developmental DRI driver support])
-	PKG_CHECK_MODULES(DRI_MM, [libdrm >= 2.4.0],[DRI_MM=yes], [DRI_MM=no])
+	DRI_MM=no
 	if test "x$DRI_MM" = xyes; then
 		AC_DEFINE(XF86DRI_MM,1,[Extended DRI memory management])
 	fi
diff --git a/src/bios_reader/bios_reader.c b/src/bios_reader/bios_reader.c
index dbcd150..d43d8f9 100644
--- a/src/bios_reader/bios_reader.c
+++ b/src/bios_reader/bios_reader.c
@@ -180,6 +180,19 @@ static void dump_lvds_options(void *data)
     printf("\tPFIT mode: %d\n", options->pfit_mode);
 }
 
+static void dump_lvds_ptr_data(void *data, unsigned char *base)
+{
+    struct bdb_lvds_lfp_data_ptrs *ptrs = data;
+
+    struct lvds_fp_timing *fp_timing =
+	(struct lvds_fp_timing *)(base + ptrs->ptr[panel_type].fp_timing_offset);
+
+    printf("LVDS timing pointer data:\n");
+
+    printf("\tpanel type %02i: %dx%d\n", panel_type, fp_timing->x_res,
+	   fp_timing->y_res);
+}
+
 static void dump_lvds_data(void *data, unsigned char *base)
 {
     struct bdb_lvds_lfp_data *lvds_data = data;
@@ -274,6 +287,8 @@ int main(int argc, char **argv)
     dump_general_definitions(find_section(bdb, BDB_GENERAL_DEFINITIONS));
     dump_lvds_options(find_section(bdb, BDB_LVDS_OPTIONS));
     dump_lvds_data(find_section(bdb, BDB_LVDS_LFP_DATA), bdb);
+    dump_lvds_ptr_data(find_section(bdb, BDB_LVDS_LFP_DATA_PTRS),
+		       (unsigned char *)bdb);
 
     return 0;
 }
diff --git a/src/common.h b/src/common.h
index f2ae502..98d4c9f 100644
--- a/src/common.h
+++ b/src/common.h
@@ -323,6 +323,11 @@ extern int I810_DEBUG;
 #define PCI_CHIP_Q45_G_BRIDGE	0x2E10
 #endif
 
+#ifndef PCI_CHIP_G41_G
+#define PCI_CHIP_G41_G		0x2E32
+#define PCI_CHIP_G41_G_BRIDGE	0x2E30
+#endif
+
 #if XSERVER_LIBPCIACCESS
 #define I810_MEMBASE(p,n) (p)->regions[(n)].base_addr
 #define VENDOR_ID(p)      (p)->vendor_id
@@ -355,7 +360,7 @@ extern int I810_DEBUG;
 #define IS_I945G(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I945_G)
 #define IS_I945GM(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I945_GM || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I945_GME)
 #define IS_GM45(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_GM45_GM)
-#define IS_G4X(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_IGD_E_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_G45_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_Q45_G)
+#define IS_G4X(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_IGD_E_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_G45_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_Q45_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_G41_G)
 #define IS_I965GM(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_GM || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_GME)
 #define IS_I965G(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_G35_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_Q || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I946_GZ || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_GM || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_GME || IS_GM45(pI810) || IS_G4X(pI810))
 #define IS_G33CLASS(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_G33_G ||\
diff --git a/src/i810_driver.c b/src/i810_driver.c
index 8540646..36b6474 100644
--- a/src/i810_driver.c
+++ b/src/i810_driver.c
@@ -156,6 +156,7 @@ static const struct pci_id_match intel_device_match[] = {
    INTEL_DEVICE_MATCH (PCI_CHIP_IGD_E_G, 0 ),
    INTEL_DEVICE_MATCH (PCI_CHIP_G45_G, 0 ),
    INTEL_DEVICE_MATCH (PCI_CHIP_Q45_G, 0 ),
+   INTEL_DEVICE_MATCH (PCI_CHIP_G41_G, 0 ),
     { 0, 0, 0 },
 };
 
@@ -212,6 +213,7 @@ static SymTabRec I810Chipsets[] = {
    {PCI_CHIP_IGD_E_G,		"Intel Integrated Graphics Device"},
    {PCI_CHIP_G45_G,		"G45/G43"},
    {PCI_CHIP_Q45_G,		"Q45/Q43"},
+   {PCI_CHIP_G41_G,		"G41"},
    {-1,				NULL}
 };
 
@@ -245,6 +247,7 @@ static PciChipsets I810PciChipsets[] = {
    {PCI_CHIP_IGD_E_G,		PCI_CHIP_IGD_E_G,	RES_SHARED_VGA},
    {PCI_CHIP_G45_G,		PCI_CHIP_G45_G,		RES_SHARED_VGA},
    {PCI_CHIP_Q45_G,		PCI_CHIP_Q45_G,		RES_SHARED_VGA},
+   {PCI_CHIP_G41_G,		PCI_CHIP_G41_G,		RES_SHARED_VGA},
    {-1,				-1, RES_UNDEFINED }
 };
 
@@ -812,6 +815,7 @@ I810Probe(DriverPtr drv, int flags)
 	    case PCI_CHIP_IGD_E_G:
 	    case PCI_CHIP_G45_G:
 	    case PCI_CHIP_Q45_G:
+	    case PCI_CHIP_G41_G:
     	       xf86SetEntitySharable(usedChips[i]);
 
     	       /* Allocate an entity private if necessary */		
diff --git a/src/i830_bios.c b/src/i830_bios.c
index fe55d23..97bf4fa 100644
--- a/src/i830_bios.c
+++ b/src/i830_bios.c
@@ -88,8 +88,8 @@ static void
 parse_panel_data(I830Ptr pI830, struct bdb_header *bdb)
 {
     struct bdb_lvds_options *lvds_options;
-    struct bdb_lvds_lfp_data *lvds_lfp_data;
-    struct bdb_lvds_lfp_data_entry *entry;
+    struct bdb_lvds_lfp_data_ptrs *lvds_lfp_data_ptrs;
+    int timing_offset;
     DisplayModePtr fixed_mode;
     unsigned char *timing_ptr;
 
@@ -104,12 +104,13 @@ parse_panel_data(I830Ptr pI830, struct bdb_header *bdb)
     if (lvds_options->panel_type == 0xff)
 	return;
 
-    lvds_lfp_data = find_section(bdb, BDB_LVDS_LFP_DATA);
-    if (!lvds_lfp_data)
+    lvds_lfp_data_ptrs = find_section(bdb, BDB_LVDS_LFP_DATA_PTRS);
+    if (!lvds_lfp_data_ptrs)
 	return;
 
-    entry = &lvds_lfp_data->data[lvds_options->panel_type];
-    timing_ptr = (unsigned char *)&entry->dvo_timing;
+    timing_offset =
+	lvds_lfp_data_ptrs->ptr[lvds_options->panel_type].dvo_timing_offset;
+    timing_ptr = (unsigned char *)bdb + timing_offset;
 
     fixed_mode = xnfalloc(sizeof(DisplayModeRec));
     memset(fixed_mode, 0, sizeof(*fixed_mode));
diff --git a/src/i830_driver.c b/src/i830_driver.c
index 0a747c1..f9f6836 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -255,6 +255,7 @@ static SymTabRec I830Chipsets[] = {
    {PCI_CHIP_IGD_E_G,		"Intel Integrated Graphics Device"},
    {PCI_CHIP_G45_G,		"G45/G43"},
    {PCI_CHIP_Q45_G,		"Q45/Q43"},
+   {PCI_CHIP_G41_G,		"G41"},
    {-1,				NULL}
 };
 
@@ -282,6 +283,7 @@ static PciChipsets I830PciChipsets[] = {
    {PCI_CHIP_IGD_E_G,		PCI_CHIP_IGD_E_G,	RES_SHARED_VGA},
    {PCI_CHIP_G45_G,		PCI_CHIP_G45_G,		RES_SHARED_VGA},
    {PCI_CHIP_Q45_G,		PCI_CHIP_Q45_G,		RES_SHARED_VGA},
+   {PCI_CHIP_G41_G,		PCI_CHIP_G41_G,		RES_SHARED_VGA},
    {-1,				-1,			RES_UNDEFINED}
 };
 
@@ -1230,6 +1232,9 @@ i830_detect_chipset(ScrnInfoPtr pScrn)
     case PCI_CHIP_Q45_G:
 	chipname = "Q45/Q43";
 	break;
+    case PCI_CHIP_G41_G:
+	chipname = "G41";
+	break;
    default:
 	chipname = "unknown chipset";
 	break;
@@ -1571,7 +1576,7 @@ I830PreInit(ScrnInfoPtr pScrn, int flags)
     * for example. :)
     */
    if (!pI830->noAccel) {
-#ifdef I830_USE_EXA
+#if defined(I830_USE_EXA) && GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) > 3
        pI830->useEXA = TRUE;
 #else
        pI830->useEXA = FALSE;
@@ -3271,7 +3276,7 @@ I830LeaveVT(int scrnIndex, int flags)
    pI830->leaving = TRUE;
 
    if (pI830->devicesTimer)
-      TimerCancel(pI830->devicesTimer);
+      TimerFree(pI830->devicesTimer);
    pI830->devicesTimer = NULL;
 
    i830SetHotkeyControl(pScrn, HOTKEY_BIOS_SWITCH);
@@ -3512,7 +3517,7 @@ I830CloseScreen(int scrnIndex, ScreenPtr pScreen)
    }
 
    if (pI830->devicesTimer)
-      TimerCancel(pI830->devicesTimer);
+      TimerFree(pI830->devicesTimer);
    pI830->devicesTimer = NULL;
 
    DPRINTF(PFX, "\nUnmapping memory\n");
@@ -3648,7 +3653,7 @@ I830PMEvent(int scrnIndex, pmEvent event, Bool undo)
       /* If we had status checking turned on, turn it off now */
       if (pI830->checkDevices) {
          if (pI830->devicesTimer)
-            TimerCancel(pI830->devicesTimer);
+            TimerFree(pI830->devicesTimer);
          pI830->devicesTimer = NULL;
          pI830->checkDevices = FALSE; 
       }
diff --git a/src/i830_memory.c b/src/i830_memory.c
index 0a2faeb..3696aac 100644
--- a/src/i830_memory.c
+++ b/src/i830_memory.c
@@ -154,6 +154,29 @@ i830_get_fence_size(ScrnInfoPtr pScrn, unsigned long size)
 }
 
 static Bool
+i830_check_display_stride(ScrnInfoPtr pScrn, int stride, Bool tiling)
+{
+    I830Ptr pI830 = I830PTR(pScrn);
+    int limit = KB(32);
+
+    /* 8xx spec has always 8K limit, but tests show larger limit in
+       non-tiling mode, which makes large monitor work. */
+    if ((IS_845G(pI830) || IS_I85X(pI830)) && tiling)
+	limit = KB(8);
+
+    if (IS_I915(pI830) && tiling)
+	limit = KB(8);
+
+    if (IS_I965G(pI830) && tiling)
+	limit = KB(16);
+
+    if (stride <= limit)
+	return TRUE;
+    else
+	return FALSE;
+}
+
+static Bool
 i830_bind_memory(ScrnInfoPtr pScrn, i830_memory *mem)
 {
     I830Ptr pI830 = I830PTR(pScrn);
@@ -1189,6 +1212,12 @@ i830_allocate_framebuffer(ScrnInfoPtr pScrn, I830Ptr pI830, BoxPtr FbMemBox,
     else
 	tiling = pI830->tiling;
 
+    if (!i830_check_display_stride(pScrn, pitch, tiling)) {
+	xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Front buffer stride %d kB "
+		"exceed display limit\n", pitch/1024);
+	return NULL;
+    }
+
     /* Attempt to allocate it tiled first if we have page flipping on. */
     if (tiling && IsTileable(pScrn, pitch)) {
 	/* XXX: probably not the case on 965 */
diff --git a/src/i830_quirks.c b/src/i830_quirks.c
index fe6cdd8..7fbdd31 100644
--- a/src/i830_quirks.c
+++ b/src/i830_quirks.c
@@ -286,6 +286,8 @@ static i830_quirk i830_quirk_list[] = {
     { PCI_CHIP_I855_GM, 0x1028, 0x014f, quirk_pipea_force },
     /* Dell Inspiron 510m needs pipe A force quirk */
     { PCI_CHIP_I855_GM, 0x1028, 0x0164, quirk_pipea_force },
+    /* Toshiba Satellite A30 needs pipe A force quirk */
+    { PCI_CHIP_I855_GM, 0x1179, 0xff00 , quirk_pipea_force },
     /* Toshiba Protege R-205, S-209 needs pipe A force quirk */
     { PCI_CHIP_I915_GM, 0x1179, 0x0001, quirk_pipea_force },
     /* Intel 855GM hardware (See LP: #216490) */
diff --git a/src/i830_video.c b/src/i830_video.c
index 486f670..1f6dfaa 100644
--- a/src/i830_video.c
+++ b/src/i830_video.c
@@ -2245,12 +2245,16 @@ I830PutImage(ScrnInfoPtr pScrn,
 	pI830->entityPrivate->XvInUse = i830_crtc_pipe (pPriv->current_crtc);;
     }
 
-    /* Clamp dst width & height to 7x of src (overlay limit) */
-    if(drw_w > (src_w * 7))
-	drw_w = src_w * 7;
+    if (!pPriv->textured) {
+        /* If dst width and height are less than 1/8th the src size, the
+         * src/dst scale factor becomes larger than 8 and doesn't fit in
+         * the scale register. */
+        if(src_w >= (drw_w * 8))
+            drw_w = src_w/7;
 
-    if(drw_h > (src_h * 7))
-	drw_h = src_h * 7;
+        if(src_h >= (drw_h * 8))
+            drw_h = src_h/7;
+    }
 
     /* Clip */
     x1 = src_x;
diff --git a/src/xvmc/Makefile.am b/src/xvmc/Makefile.am
index 345160f..b1b2658 100644
--- a/src/xvmc/Makefile.am
+++ b/src/xvmc/Makefile.am
@@ -7,7 +7,7 @@ libI810XvMC_la_SOURCES = I810XvMC.c \
 libI810XvMC_la_CFLAGS = @WARN_CFLAGS@ @XORG_CFLAGS@ @DRI_CFLAGS@ \
 	-I$(top_srcdir)/src -DTRUE=1 -DFALSE=0
 libI810XvMC_la_LDFLAGS = -version-number 1:0:0
-libI810XvMC_la_LIBADD = @DRI_LIBS@ 
+libI810XvMC_la_LIBADD = @XORG_LIBS@ @DRI_LIBS@ $(XVMCLIB_LIBS)
 
 libIntelXvMC_la_SOURCES = intel_xvmc.c \
 			 intel_xvmc.h \
@@ -24,5 +24,5 @@ libIntelXvMC_la_SOURCES = intel_xvmc.c \
 
 libIntelXvMC_la_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ @XVMCLIB_CFLAGS@ -I$(top_srcdir)/src -DTRUE=1 -DFALSE=0
 libIntelXvMC_la_LDFLAGS = -version-number 1:0:0
-libIntelXvMC_la_LIBADD = @DRI_LIBS@
+libIntelXvMC_la_LIBADD = @XORG_LIBS@ @DRI_LIBS@ $(XVMCLIB_LIBS) -lpthread
 endif
diff --git a/xinf2fdi b/xinf2fdi
new file mode 100755
index 0000000..cc651d0
--- /dev/null
+++ b/xinf2fdi
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+IN_FILE=
+OUT_FILE=
+DRIVER=
+
+add_match()
+{
+	if echo $p_id | grep -q "\;"; then
+		key="int_outof"
+	else
+		key="int"
+	fi
+	cat >> "$OUT_FILE" << EOF
+    <match key="pci.vendor_id" int="$v_id">
+      <match key="pci.product_id" $key="$p_id">
+        <append key="video.x11_driver" type="strlist">$DRIVER</append>
+      </match>
+    </match>
+
+EOF
+
+}
+
+add_ids() {
+	for ids in $IDS; do
+		if [ -z "$v_id" ]; then
+			v_id=${ids/-0x????/}
+			p_id=${ids/0x????-/}
+		else
+			if [ "${ids/-0x????/}" = "$v_id" ]; then
+				if [ -z "$p_id" ]; then
+					p_id=${ids/0x????-/}
+				else
+					p_id="$p_id;${ids/0x????-/}"
+				fi
+			else
+				add_match
+				v_id=${ids/-0x????/}
+				p_id=${ids/0x????-/}
+			fi
+		fi
+	done
+	add_match
+}
+
+add_device() {
+	if [ -n "$IDS" ]; then
+		cat > "$OUT_FILE" << EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<deviceinfo version="0.2">
+  <device>
+
+EOF
+		add_ids
+		cat >> "$OUT_FILE" << EOF
+  </device>
+</deviceinfo>
+EOF
+	fi
+}
+
+PROG="${0##*/}"
+
+TEMP=`getopt -n "$PROG" -o x:f:d: -l xinf:,fdi:,driver: -- "$@"` || exit 1
+eval set -- "$TEMP"
+
+while :; do
+	case "$1" in
+		-x|--xinf)
+			shift
+			IN_FILE="$1"
+			shift
+		;;
+		-f|--fdi)
+			shift
+			OUT_FILE="$1"
+			shift
+		;;
+		-d|--driver)
+			shift
+			DRIVER="$1"
+			shift
+		;;
+		--)
+			shift
+			break
+		;;
+	esac
+done
+
+[ -n "$IN_FILE" ] || exit 1
+[ -n "$OUT_FILE" ] || exit 1
+[ -n "$DRIVER" ] || exit 1
+
+IDS=`sed -ne 's|.*v....\(....\)d....\(....\)sv.*|0x\1-0x\2|p' "$IN_FILE" | sort -u`
+add_device
diff --git a/xorg-drv-intel.spec b/xorg-drv-intel.spec
new file mode 100644
index 0000000..71eb66c
--- /dev/null
+++ b/xorg-drv-intel.spec
@@ -0,0 +1,316 @@
+%define _hwdatadir %_datadir/hwdatabase/videoaliases
+%define _fdidir %_datadir/hal/fdi/policy/10osvendor
+
+Name: xorg-drv-intel
+Version: 2.4.3
+Release: alt0.M41.1
+Serial: 3
+Summary: Intel integrated graphics chipsets
+License: MIT/X11
+Group: System/X11
+Url: http://xorg.freedesktop.org
+Packager: Valery Inozemtsev <shrek@altlinux.ru>
+
+Requires: XORG_ABI_VIDEODRV = %get_xorg_abi_videodrv
+Requires: xorg-dri-intel
+Obsoletes: xorg-x11-drv-i8xx xorg-x11-drv-i810 xorg-x11-drv-intel
+Provides: xorg-x11-drv-i8xx = %serial:7.2.0 xorg-x11-drv-i810 = %serial:%version-%release
+Provides: xorg-x11-drv-intel = %serial:%version-%release
+
+Source: %name-%version.tar
+Patch: %name-%version-%release.patch
+
+BuildRequires: libXvMC-devel libGL-devel xorg-proto-devel xorg-sdk xorg-util-macros
+
+%description
+intel  is  an  Xorg  driver  for  Intel  integrated  graphics
+chipsets.  The driver supports depths 8, 15, 16  and  24.   All  visual
+types are supported in depth 8.  For the i810/i815 other depths support
+the TrueColor and DirectColor visuals.  For the 830M  and  later,  only
+the  TrueColor  visual  is  supported  for  depths greater than 8.  The
+driver supports hardware accelerated 3D via the Direct Rendering Infra-
+structure  (DRI),  but only in depth 16 for the i810/i815 and depths 16
+and 24 for the 830M and later.
+
+%prep
+%setup -q
+%patch -p1
+
+%build
+%autoreconf
+%configure \
+	--with-xserver-source=%_includedir/xorg \
+	--with-xorg-module-dir=%_x11modulesdir \
+	--enable-dri \
+	--disable-static
+
+%make_build
+
+%install
+%make DESTDIR=%buildroot install
+
+mkdir -p %buildroot%_hwdatadir
+sed -ne '/^#def.*_BRIDGE.*/d;s|^#def.*\(PCI_CHIP_.*\)[[:space:]]*0x\([[:xdigit:]]*\)|alias pcivideo:v00008086d0000\U\2\Esv*sd*bc*sc*i* intel\t# \1|p' src/common.h \
+	>> %buildroot%_hwdatadir/intel.xinf
+
+mkdir -p %buildroot%_fdidir
+sh xinf2fdi -x %buildroot%_hwdatadir/intel.xinf -f %buildroot%_fdidir/11-x11-video-intel.fdi -d intel
+
+%triggerin -- xorg-x11-drv-intel <= 3:2.2.1-alt3
+if [ -f %_altdir/%name ]; then
+	[ -x %_sbindir/alternatives-helper ] && %_sbindir/alternatives-helper --remove %name
+fi
+
+%files
+%_libdir/*.so.*
+%_x11modulesdir/drivers/*.so
+%dir %_hwdatadir
+%_hwdatadir/*.xinf
+%_fdidir/11-x11-video-intel.fdi
+%_man4dir/i*.4*
+
+%changelog
+* Fri Nov 14 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.3-alt0.M41.1
+- build for branch 4.1
+
+* Thu Nov 13 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.3-alt1
+- 2.4.3
+
+* Fri Nov 07 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.2-alt9.M41.1
+- build for branch 4.1
+
+* Fri Nov 07 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.2-alt10
+- use LFP data pointers instead of array (close #17811)
+
+* Sun Oct 26 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.2-alt9
+- fixed build with libdrm-2.4.0
+
+* Sun Sep 21 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.2-alt8
+- disabled TTM
+
+* Sat Sep 20 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.2-alt7
+- Pipe A force quirk for Toshiba Satellite A30
+- fixed upscaling limit
+- fixed timer leak
+
+* Mon Sep 15 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.2-alt5.M41.1
+- build for branch 4.1
+
+* Mon Sep 15 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.2-alt6
+- added new option "TTM", TTM disabled by defaults
+
+* Sat Sep 13 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.2-alt5
+- enabled TTM
+
+* Fri Sep 12 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.2-alt4
+- added support for G41 chipset
+
+* Fri Sep 05 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.2-alt3
+- set EXA by defaults
+
+* Wed Aug 27 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.2-alt2
+- requires XORG_ABI_VIDEODRV = 4.1
+
+* Tue Aug 26 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.2-alt1
+- 2.4.2
+
+* Fri Aug 15 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.1-alt1
+- 2.4.1
+
+* Fri Aug 01 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.4.0-alt1
+- 2.4.0
+
+* Wed Jun 18 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.3.2-alt2
+- add support for Intel 4 series chipsets
+
+* Wed Jun 18 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.3.2-alt1
+- 2.3.2
+
+* Mon Jun 02 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.3.1-alt3
+- rename xorg-x11-drv-intel to xorg-drv-intel
+- add requires XORG_ABI_VIDEODRV = 2.0
+
+* Sat May 24 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.3.1-alt2
+- fix/check vt switch
+
+* Mon May 12 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.3.1-alt1
+- 2.3.1
+
+* Sat May 10 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.3.0-alt2
+- xf86-video-intel-2.3-branch 2008-05-10:
+  + fixed freeze on two X start (close #15479)
+
+* Wed Apr 23 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.3.0-alt1
+- 2.3.0
+- XAA by defaults for all chips
+
+* Fri Apr 04 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.2.1-alt4
+- obsoletes xorg-x11-drv-i810
+- convert xinf to fdi
+
+* Thu Mar 27 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.2.1-alt3
+- XAA by defaults for i8xx only
+
+* Tue Mar 25 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.2.1-alt2
+- disable DRI memory manager
+- reset XV after mode switch
+
+* Sat Feb 23 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.2.1-alt1
+- 2.2.1
+
+* Wed Feb 06 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.2.0.90-alt1
+- 2.2.1 pre-release
+
+* Fri Jan 25 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.2.0-alt5
+- fix VT switch
+
+* Sat Jan 05 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:2.2.0-alt4
+- xf86-video-intel-2.2-branch
+
+* Sat Dec 01 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.2.0-alt3
+- removed provides/obsoletes i810
+- fixed intel.xinf
+
+* Sat Nov 17 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.2.0-alt2
+- fix typo in 1920x1080 resolution entry
+
+* Fri Nov 16 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.2.0-alt1
+- 2.2.0
+- drop legacy driver
+
+* Wed Oct 31 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.1.1-alt3
+- added backlight control methods patch (close #13211)
+
+* Mon Sep 10 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.1.1-alt2
+- rebuild with xorg-server-1.4
+
+* Fri Aug 31 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.1.1-alt1
+- 2.1.1
+- legacy driver version 1.6.5
+
+* Thu Aug 09 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.1.0-alt3
+- added 0x8086:0x2562 845G/GL/GE (close #12515)
+
+* Tue Jul 31 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.1.0-alt2
+- generate intel.xinf from common.h
+- added 0x8086:0x5641 PCI_CHIP_I845_G (close #12423)
+
+* Tue Jul 03 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.1.0-alt1
+- 2.1.0
+
+* Tue Jun 19 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.0.0-alt8
+- fix left G33 issues
+- update xinf file
+
+* Wed Jun 06 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.0.0-alt7
+- add support for the G33, Q33, and Q35 chipsets
+
+* Thu May 31 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.0.0-alt6
+- add support for the i945GME, i965GME and i965GLE chipsets
+
+* Fri Apr 27 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.0.0-alt5
+- returned old driver i810
+
+* Fri Apr 27 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.0.0-alt4
+- drop XV patches
+
+* Wed Apr 25 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.0.0-alt3
+- fixed XV on i8xx chipsets
+
+* Tue Apr 24 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.0.0-alt2
+- removed old driver i810
+
+* Fri Apr 20 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:2.0.0-alt1
+- 2.0 release
+
+* Tue Apr 03 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:1.9.94-alt1
+- 2.0RC4
+
+* Tue Mar 27 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:1.9.93-alt1
+- 2.0.RC3
+- update xinf
+
+* Wed Mar 14 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:1.9.92-alt1
+- 2.0RC2
+
+* Thu Jan 11 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:1.7.4-alt1
+- 1.7.4:
+  + Fix bug #8536, i915 BIOS fails when restarting Xserver.
+
+* Wed Dec 13 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.7.3-alt3
+- removed modesetting driver
+
+* Sun Dec 10 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.7.3-alt2
+- added modesetting driver (intel_drv.so) for i9xx
+
+* Thu Dec 07 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.7.3-alt1
+- 1.7.3
+
+* Thu Nov 30 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.7.2-alt4
+- added xf86-video-intel-1.7.2-git-DRM-memory-manager,
+	xf86-video-intel-1.7.2-git-Xv-hang-G965.patch,
+	xf86-video-i810-setcursorposition.diff,
+	xf86-video-i810-update-port-attributes.diff,
+	xf86-video-i810-video-debug.diff
+- added RH patches:
+	xf86-video-intel-1.7.2-rh-i810-match-server-sync-ranges.patch
+
+* Thu Nov 16 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.7.2-alt3
+- rollback to 1.7.2 release
+- added videoaliases file from RH
+
+* Thu Nov 09 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.7.2-alt2
+- GIT snapshot 2006-11-08
+
+* Fri Oct 13 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.7.2-alt1
+- 1.7.2:
+  + suspend/resume regression from 1.5 driver
+
+* Mon Oct 02 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.7.0-alt1
+- 1.7.0
+
+* Tue Aug 29 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.6.5-alt1.git20060829
+- GIT snapshot 2006-08-29
+
+* Fri Aug 11 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.6.5-alt1
+- 1.6.5
+
+* Tue Aug 08 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.6.3-alt1
+- 1.6.3
+
+* Wed Jul 26 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.6.1-alt1
+- 1.6.1
+
+* Sun Jun 04 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.6.0-alt3
+- fix VT switch DRI locking
+
+* Sat May 13 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.6.0-alt2
+- requires xorg-x11-server >= 1.0.99.901
+
+* Thu Apr 20 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.6.0-alt1
+- 1.6.0
+
+* Sun Mar 19 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:1.4.1.3-alt1
+- rollback 1.4.1.3
+
+* Sun Mar 05 2006 Valery Inozemtsev <shrek@altlinux.ru> 2:1.5.2.0-alt1
+- 1.5.2.0 (requires xorg-x11-server >= 1.0.1-alt14)
+
+* Fri Feb 03 2006 Valery Inozemtsev <shrek@altlinux.ru> 2:1.4.1.3-alt1
+- rollback 1.4.1.3 (1.5.0.0 problematic)
+
+* Tue Jan 31 2006 Valery Inozemtsev <shrek@altlinux.ru> 1:1.5.0.0-alt1
+- 1.5.0.0
+
+* Mon Jan 23 2006 Valery Inozemtsev <shrek@altlinux.ru> 1:1.4.1.3-alt2
+- removed files spectre (%%ghost %%_libdir/*.so)
+
+* Wed Dec 28 2005 Valery Inozemtsev <shrek@altlinux.ru> 1:1.4.1.3-alt1
+- Xorg-7.0
+
+* Sun Dec 04 2005 Valery Inozemtsev <shrek@altlinux.ru> 1:1.4.1.1-alt1
+- Xorg-7.0RC3
+
+* Sun Nov 27 2005 Valery Inozemtsev <shrek@altlinux.ru> 1:1.4.1-alt0.1
+- initial release
+
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin