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

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

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

Патч: xorg-drv-ati-19.1.0-alt4.patch
Скачать


 .gear/rules                                        |   2 +
 .../tags/72ff1d522c75e5a5b607247a7692751c26a508c3  |  12 +
 .gear/tags/list                                    |   1 +
 .gitlab-ci.yml                                     |  80 +++++
 .gitlab-ci/debian-install.sh                       |  74 +++++
 man/radeon.man                                     |   2 +-
 src/compat-api.h                                   |   6 +
 src/drmmode_display.c                              |   8 +-
 src/drmmode_display.h                              |   2 +-
 src/evergreen_state.h                              |   2 +-
 src/r600_state.h                                   |   2 +-
 src/radeon.h                                       |  16 +-
 src/radeon_dri2.c                                  |   5 +-
 src/radeon_exa.c                                   |   2 +-
 src/radeon_glamor.c                                |   2 +-
 src/radeon_kms.c                                   |  74 ++---
 src/radeon_present.c                               |   6 +
 xorg-drv-ati.spec                                  | 368 +++++++++++++++++++++
 18 files changed, 608 insertions(+), 56 deletions(-)
diff --git a/.gear/rules b/.gear/rules
new file mode 100644
index 00000000..49bbc6e0
--- /dev/null
+++ b/.gear/rules
@@ -0,0 +1,2 @@
+tar: xf86-video-ati-@version@:.
+diff: xf86-video-ati-@version@:. .
diff --git a/.gear/tags/72ff1d522c75e5a5b607247a7692751c26a508c3 b/.gear/tags/72ff1d522c75e5a5b607247a7692751c26a508c3
new file mode 100644
index 00000000..9a522cb8
--- /dev/null
+++ b/.gear/tags/72ff1d522c75e5a5b607247a7692751c26a508c3
@@ -0,0 +1,12 @@
+object b9bd8097e1d2c088b081f1b81799ea3892406214
+type commit
+tag xf86-video-ati-19.1.0
+tagger Michel Dц╓nzer <michel@daenzer.net> 1571156305 +0200
+
+xf86-video-ati-19.1.0
+-----BEGIN PGP SIGNATURE-----
+
+iF0EABECAB0WIQSwn681vpFFIZgJURRaga+OatuyAAUCXaXxUQAKCRBaga+Oatuy
+ANAEAJ9/FcclmTfQj2xupL4APBjHyOmu0ACfeFpT9Y41niSGOJYdoEQ0nv6b2LM=
+=5kY3
+-----END PGP SIGNATURE-----
diff --git a/.gear/tags/list b/.gear/tags/list
new file mode 100644
index 00000000..7f0026bc
--- /dev/null
+++ b/.gear/tags/list
@@ -0,0 +1 @@
+72ff1d522c75e5a5b607247a7692751c26a508c3 xf86-video-ati-19.1.0
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 00000000..f7891323
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,80 @@
+# FDO_DISTRIBUTION_TAG is the tag of the docker image used for the build
+# jobs. If the image doesn't exist yet, the docker-image stage generates it
+# or copies it from upstream (this is all handled by the templates).
+#
+# In order to generate a new image, one should generally change the tag.
+# While removing the image from the registry would also work, that's not
+# recommended except for ephemeral images during development.
+#
+variables:
+  FDO_DISTRIBUTION_VERSION: buster-slim
+  FDO_DISTRIBUTION_EXEC: 'bash .gitlab-ci/debian-install.sh'
+  FDO_DISTRIBUTION_TAG: "2021-05-10"
+  FDO_UPSTREAM_REPO: xorg/driver/xf86-video-ati
+
+include:
+  - project: 'freedesktop/ci-templates'
+    ref: 290b79e0e78eab67a83766f4e9691be554fc4afd
+    file: '/templates/debian.yml'
+
+stages:
+  - docker-image
+  - build
+
+
+container-build:
+  extends:
+    - .fdo.container-build@debian
+  stage: docker-image
+  variables:
+
+
+# The default build instructions
+.default_build:
+  extends:
+    - .fdo.distribution-image@debian
+  stage: build
+  script:
+  - ./autogen.sh
+  - make -j${FDO_CI_CONCURRENT:-4} check V=1
+  variables:
+    CFLAGS: "-pipe -g -O2 -Werror"
+    ACLOCAL_PATH: /usr/local/xserver-$XSERVER_VERSION/share/aclocal
+    PKG_CONFIG_PATH: /usr/local/xserver-$XSERVER_VERSION/lib/pkgconfig
+
+build-distcheck:
+  extends:
+    - .default_build
+  script:
+  - ./autogen.sh
+  - make -j${FDO_CI_CONCURRENT:-4} check V=1
+  - make install V=1
+  - make -j${FDO_CI_CONCURRENT:-4} distcheck
+  variables:
+    XSERVER_VERSION: "1.20"
+
+build-gcc:
+  extends:
+    - .default_build
+  parallel:
+    matrix:
+      - XSERVER_VERSION: ["1.16", "1.17", "1.18", "1.19"]
+
+build-clang:
+  extends:
+    - .default_build
+  parallel:
+    matrix:
+      - XSERVER_VERSION: ["1.20", "1.18", "1.19"]
+  variables:
+    CC: clang
+
+build-noglamor:
+  extends:
+    - .default_build
+  script:
+  - ./autogen.sh --disable-glamor
+  - make -j${FDO_CI_CONCURRENT:-4} check V=1
+  parallel:
+    matrix:
+      - XSERVER_VERSION: ["1.13", "1.14", "1.15"]
diff --git a/.gitlab-ci/debian-install.sh b/.gitlab-ci/debian-install.sh
new file mode 100644
index 00000000..4e528588
--- /dev/null
+++ b/.gitlab-ci/debian-install.sh
@@ -0,0 +1,74 @@
+#!/bin/bash
+
+set -e
+set -o xtrace
+
+echo 'deb-src https://deb.debian.org/debian buster main' >/etc/apt/sources.list.d/deb-src.list
+apt-get update
+
+
+# Ephemeral packages (installed for this script and removed again at the end)
+EPHEMERAL="
+	ca-certificates
+	git
+	"
+
+# libXfont/xserver build dependencies
+apt-get install -y --no-remove \
+	autoconf \
+	automake \
+	build-essential \
+	libtool \
+	pkg-config \
+	$EPHEMERAL
+
+echo 'APT::Get::Build-Dep-Automatic "true";' >>/etc/apt/apt.conf
+apt-get build-dep -y xorg-server
+
+
+git clone https://gitlab.freedesktop.org/xorg/lib/libXfont.git
+cd libXfont
+git checkout libXfont-1.5-branch
+./autogen.sh
+make install-pkgconfigDATA
+cd ..
+rm -rf libXfont
+
+
+git clone https://gitlab.freedesktop.org/xorg/xserver.git
+cd xserver
+
+for VERSION in 1.13 1.14 1.15; do
+    git checkout server-${VERSION}-branch
+    ./autogen.sh --prefix=/usr/local/xserver-$VERSION --enable-dri2
+    make -C include install-nodist_sdkHEADERS
+    make install-headers install-aclocalDATA install-pkgconfigDATA clean
+done
+
+for VERSION in 1.16 1.17 1.18 1.19 1.20; do
+    git checkout server-${VERSION}-branch
+    ./autogen.sh --prefix=/usr/local/xserver-$VERSION --enable-dri2 --enable-dri3 --enable-glamor
+    make -C include install-nodist_sdkHEADERS
+    make install-headers install-aclocalDATA install-pkgconfigDATA clean
+done
+
+cd ..
+rm -rf xserver
+
+
+# xf86-video-ati build dependencies
+apt-get install -y --no-remove \
+	clang \
+	libdrm-dev \
+	libgbm-dev \
+	libgl1-mesa-dev \
+	libpciaccess-dev \
+	libpixman-1-dev \
+	libudev-dev \
+	xutils-dev \
+	x11proto-dev
+
+
+# Remove unneeded packages
+apt-get purge -y $EPHEMERAL
+apt-get autoremove -y --purge
diff --git a/man/radeon.man b/man/radeon.man
index dcebf537..247dcdb7 100644
--- a/man/radeon.man
+++ b/man/radeon.man
@@ -290,7 +290,7 @@ on. If this option is set, the default value of the property is 'on' or 'off'
 accordingly. If this option isn't set, the default value of the property is
 .B auto,
 which means that TearFree is on for rotated outputs, outputs with RandR
-transforms applied and for RandR 1.4 slave outputs, otherwise off.
+transforms applied and for RandR 1.4 secondary outputs, otherwise off.
 .TP
 .BI "Option \*qAccelMethod\*q \*q" "string" \*q
 Chooses between available acceleration architectures.  Valid values are
diff --git a/src/compat-api.h b/src/compat-api.h
index f4e7524f..def6d3e4 100644
--- a/src/compat-api.h
+++ b/src/compat-api.h
@@ -34,4 +34,10 @@
 #define BLOCKHANDLER_ARGS pScreen, pTimeout, pReadmask
 #endif
 
+#if ABI_VIDEODRV_VERSION < SET_ABI_VERSION(25, 2)
+#define current_primary current_master
+#define primary_pixmap master_pixmap
+#define secondary_dst slave_dst
+#endif
+
 #endif
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 0e9e2474..a58f24dd 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -45,7 +45,9 @@
 #include "radeon_glamor.h"
 #include "radeon_reg.h"
 
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1,19,99,1,0)
 #include <dri.h>
+#endif
 
 #include "drmmode_display.h"
 
@@ -720,7 +722,7 @@ drmmode_crtc_prime_scanout_update(xf86CrtcPtr crtc, DisplayModePtr mode,
 		xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list,
 					 ent) {
 			if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) {
-				dirty->slave_dst =
+				dirty->secondary_dst =
 					drmmode_crtc->scanout[scanout_id].pixmap;
 				break;
 			}
@@ -1275,7 +1277,7 @@ drmmode_show_cursor (xf86CrtcPtr crtc)
 	    arg.hot_y = yhot;
 
 	    ret = drmIoctl(pRADEONEnt->fd, DRM_IOCTL_MODE_CURSOR2, &arg);
-	    if (ret == -EINVAL)
+	    if (ret == -1 && errno == EINVAL)
 		use_set_cursor2 = FALSE;
 	    else
 		return;
@@ -1356,7 +1358,7 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix)
 
 	xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) {
 		if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) {
-			PixmapStopDirtyTracking(dirty->src, dirty->slave_dst);
+			PixmapStopDirtyTracking(dirty->src, dirty->secondary_dst);
 			break;
 		}
 	}
diff --git a/src/drmmode_display.h b/src/drmmode_display.h
index 96eaef0a..8cd8a0a6 100644
--- a/src/drmmode_display.h
+++ b/src/drmmode_display.h
@@ -262,7 +262,7 @@ Bool drmmode_wait_vblank(xf86CrtcPtr crtc, drmVBlankSeqType type,
 			 uint64_t *ust, uint32_t *result_seq);
 
 
-miPointerSpriteFuncRec drmmode_sprite_funcs;
+extern miPointerSpriteFuncRec drmmode_sprite_funcs;
 
 
 #endif
diff --git a/src/evergreen_state.h b/src/evergreen_state.h
index 7e54e1c7..34ba87b6 100644
--- a/src/evergreen_state.h
+++ b/src/evergreen_state.h
@@ -350,7 +350,7 @@ extern void *RADEONEXACreatePixmap2(ScreenPtr pScreen, int width, int height,
 				    int *new_pitch);
 extern void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv);
 extern Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix);
-extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **handle_p);
+extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr secondary, void **handle_p);
 extern Bool RADEONEXASetSharedPixmapBacking(PixmapPtr ppix, void *handle);
 
 #endif
diff --git a/src/r600_state.h b/src/r600_state.h
index 34345996..567c3ca2 100644
--- a/src/r600_state.h
+++ b/src/r600_state.h
@@ -321,6 +321,6 @@ extern void *RADEONEXACreatePixmap2(ScreenPtr pScreen, int width, int height,
 				    int *new_pitch);
 extern void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv);
 extern Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix);
-extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **handle_p);
+extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr secondary, void **handle_p);
 extern Bool RADEONEXASetSharedPixmapBacking(PixmapPtr ppix, void *handle);
 #endif
diff --git a/src/radeon.h b/src/radeon.h
index 2c913466..68d7756a 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -182,18 +182,18 @@ typedef enum {
 
 
 static inline ScreenPtr
-radeon_master_screen(ScreenPtr screen)
+radeon_primary_screen(ScreenPtr screen)
 {
-    if (screen->current_master)
-	return screen->current_master;
+    if (screen->current_primary)
+	return screen->current_primary;
 
     return screen;
 }
 
 static inline ScreenPtr
-radeon_dirty_master(PixmapDirtyUpdatePtr dirty)
+radeon_dirty_primary(PixmapDirtyUpdatePtr dirty)
 {
-    return radeon_master_screen(dirty->slave_dst->drawable.pScreen);
+    return radeon_primary_screen(dirty->secondary_dst->drawable.pScreen);
 }
 
 static inline DrawablePtr
@@ -790,8 +790,8 @@ static inline Bool radeon_set_pixmap_bo(PixmapPtr pPix, struct radeon_buffer *bo
 
 static inline struct radeon_buffer *radeon_get_pixmap_bo(PixmapPtr pPix)
 {
-#ifdef USE_GLAMOR
     RADEONInfoPtr info = RADEONPTR(xf86ScreenToScrn(pPix->drawable.pScreen));
+#ifdef USE_GLAMOR
 
     if (info->use_glamor) {
 	struct radeon_pixmap *priv;
@@ -799,7 +799,7 @@ static inline struct radeon_buffer *radeon_get_pixmap_bo(PixmapPtr pPix)
 	return priv ? priv->bo : NULL;
     } else
 #endif
-    {
+    if (info->accelOn) {
 	struct radeon_exa_pixmap_priv *driver_priv;
 	driver_priv = exaGetPixmapDriverPrivate(pPix);
 	return driver_priv ? driver_priv->bo : NULL;
@@ -896,7 +896,7 @@ radeon_pixmap_get_fb(PixmapPtr pix)
 				   handle);
     }
 
-    return *fb_ptr;
+    return fb_ptr ? *fb_ptr : NULL;
 }
 
 
diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
index 66a223d8..17983779 100644
--- a/src/radeon_dri2.c
+++ b/src/radeon_dri2.c
@@ -728,8 +728,9 @@ radeon_dri2_exchange_buffers(DrawablePtr draw, DRI2BufferPtr front, DRI2BufferPt
 {
     struct dri2_buffer_priv *front_priv = front->driverPrivate;
     struct dri2_buffer_priv *back_priv = back->driverPrivate;
-    ScreenPtr screen = draw->pScreen;
-    RADEONInfoPtr info = RADEONPTR(xf86ScreenToScrn(screen));
+#ifdef USE_GLAMOR
+    RADEONInfoPtr info = RADEONPTR(xf86ScreenToScrn(draw->pScreen));
+#endif
     RegionRec region;
     int tmp;
 
diff --git a/src/radeon_exa.c b/src/radeon_exa.c
index 268155ed..320ff992 100644
--- a/src/radeon_exa.c
+++ b/src/radeon_exa.c
@@ -282,7 +282,7 @@ void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv)
     free(driverPriv);
 }
 
-Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **fd_handle)
+Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr seconndary, void **fd_handle)
 {
     struct radeon_exa_pixmap_priv *driver_priv = exaGetPixmapDriverPrivate(ppix);
 
diff --git a/src/radeon_glamor.c b/src/radeon_glamor.c
index f1098381..ccf99941 100644
--- a/src/radeon_glamor.c
+++ b/src/radeon_glamor.c
@@ -366,7 +366,7 @@ radeon_glamor_set_pixmap_bo(DrawablePtr drawable, PixmapPtr pixmap)
 
 
 static Bool
-radeon_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr slave,
+radeon_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr secondary,
 				   void **handle_p)
 {
 	ScreenPtr screen = pixmap->drawable.pScreen;
diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index b3db7c41..62962d61 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -559,8 +559,8 @@ dirty_region(PixmapDirtyUpdatePtr dirty)
 	if (dirty->rotation != RR_Rotate_0) {
 		dstregion = transform_region(damageregion,
 					     &dirty->f_inverse,
-					     dirty->slave_dst->drawable.width,
-					     dirty->slave_dst->drawable.height);
+					     dirty->secondary_dst->drawable.width,
+					     dirty->secondary_dst->drawable.height);
 	} else
 #endif
 	{
@@ -568,7 +568,7 @@ dirty_region(PixmapDirtyUpdatePtr dirty)
 
 	    dstregion = RegionDuplicate(damageregion);
 	    RegionTranslate(dstregion, -dirty->x, -dirty->y);
-	    PixmapRegionInit(&pixregion, dirty->slave_dst);
+	    PixmapRegionInit(&pixregion, dirty->secondary_dst);
 	    RegionIntersect(dstregion, dstregion, &pixregion);
 	    RegionUninit(&pixregion);
 	}
@@ -585,8 +585,8 @@ redisplay_dirty(PixmapDirtyUpdatePtr dirty, RegionPtr region)
 	if (RegionNil(region))
 		goto out;
 
-	if (dirty->slave_dst->master_pixmap)
-	    DamageRegionAppend(&dirty->slave_dst->drawable, region);
+	if (dirty->secondary_dst->primary_pixmap)
+	    DamageRegionAppend(&dirty->secondary_dst->drawable, region);
 
 #ifdef HAS_DIRTYTRACKING_ROTATION
 	PixmapSyncDirtyHelper(dirty);
@@ -595,8 +595,8 @@ redisplay_dirty(PixmapDirtyUpdatePtr dirty, RegionPtr region)
 #endif
 
 	radeon_cs_flush_indirect(src_scrn);
-	if (dirty->slave_dst->master_pixmap)
-	    DamageRegionProcessPending(&dirty->slave_dst->drawable);
+	if (dirty->secondary_dst->primary_pixmap)
+	    DamageRegionProcessPending(&dirty->secondary_dst->drawable);
 
 out:
 	DamageEmpty(dirty->damage);
@@ -613,12 +613,12 @@ radeon_prime_scanout_update_abort(xf86CrtcPtr crtc, void *event_data)
 void
 radeon_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty)
 {
-    ScreenPtr master_screen = radeon_dirty_master(dirty);
+    ScreenPtr primary_screen = radeon_dirty_primary(dirty);
     PixmapDirtyUpdatePtr ent;
     RegionPtr region;
 
-    xorg_list_for_each_entry(ent, &master_screen->pixmap_dirty_list, ent) {
-	if (!radeon_dirty_src_equals(dirty, ent->slave_dst))
+    xorg_list_for_each_entry(ent, &primary_screen->pixmap_dirty_list, ent) {
+	if (!radeon_dirty_src_equals(dirty, ent->secondary_dst))
 	    continue;
 
 	region = dirty_region(ent);
@@ -631,45 +631,45 @@ radeon_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty)
 #if HAS_SYNC_SHARED_PIXMAP
 
 static Bool
-master_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
+primary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
 {
-    ScreenPtr master_screen = radeon_dirty_master(dirty);
+    ScreenPtr primary_screen = radeon_dirty_primary(dirty);
 
-    return !!master_screen->SyncSharedPixmap;
+    return !!primary_screen->SyncSharedPixmap;
 }
 
 static Bool
-slave_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
+secondary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
 {
-    ScreenPtr slave_screen = dirty->slave_dst->drawable.pScreen;
+    ScreenPtr secondary_screen = dirty->secondary_dst->drawable.pScreen;
 
-    return !!slave_screen->SyncSharedPixmap;
+    return !!secondary_screen->SyncSharedPixmap;
 }
 
 static void
 call_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty)
 {
-    ScreenPtr master_screen = radeon_dirty_master(dirty);
+    ScreenPtr primary_screen = radeon_dirty_primary(dirty);
 
-    master_screen->SyncSharedPixmap(dirty);
+    primary_screen->SyncSharedPixmap(dirty);
 }
 
 #else /* !HAS_SYNC_SHARED_PIXMAP */
 
 static Bool
-master_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
+primary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
 {
-    ScrnInfoPtr master_scrn = xf86ScreenToScrn(radeon_dirty_master(dirty));
+    ScrnInfoPtr primary_scrn = xf86ScreenToScrn(radeon_dirty_primary(dirty));
 
-    return master_scrn->driverName == scrn->driverName;
+    return primary_scrn->driverName == scrn->driverName;
 }
 
 static Bool
-slave_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
+secondary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty)
 {
-    ScrnInfoPtr slave_scrn = xf86ScreenToScrn(dirty->slave_dst->drawable.pScreen);
+    ScrnInfoPtr secondary_scrn = xf86ScreenToScrn(dirty->secondary_dst->drawable.pScreen);
 
-    return slave_scrn->driverName == scrn->driverName;
+    return secondary_scrn->driverName == scrn->driverName;
 }
 
 static void
@@ -684,12 +684,12 @@ call_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty)
 static xf86CrtcPtr
 radeon_prime_dirty_to_crtc(PixmapDirtyUpdatePtr dirty)
 {
-    ScreenPtr screen = dirty->slave_dst->drawable.pScreen;
+    ScreenPtr screen = dirty->secondary_dst->drawable.pScreen;
     ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
     xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
     int c;
 
-    /* Find the CRTC which is scanning out from this slave pixmap */
+    /* Find the CRTC which is scanning out from this secondary pixmap */
     for (c = 0; c < xf86_config->num_crtc; c++) {
 	xf86CrtcPtr xf86_crtc = xf86_config->crtc[c];
 	drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private;
@@ -714,7 +714,7 @@ radeon_prime_scanout_do_update(xf86CrtcPtr crtc, unsigned scanout_id)
 	if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) {
 	    RegionPtr region;
 
-	    if (master_has_sync_shared_pixmap(scrn, dirty))
+	    if (primary_has_sync_shared_pixmap(scrn, dirty))
 		call_sync_shared_pixmap(dirty);
 
 	    region = dirty_region(dirty);
@@ -727,7 +727,7 @@ radeon_prime_scanout_do_update(xf86CrtcPtr crtc, unsigned scanout_id)
 		radeon_cs_flush_indirect(scrn);
 		RegionCopy(&drmmode_crtc->scanout_last_region, region);
 		RegionTranslate(region, -crtc->x, -crtc->y);
-		dirty->slave_dst = drmmode_crtc->scanout[scanout_id].pixmap;
+		dirty->secondary_dst = drmmode_crtc->scanout[scanout_id].pixmap;
 	    }
 
 	    redisplay_dirty(dirty, region);
@@ -754,7 +754,7 @@ radeon_prime_scanout_update_handler(xf86CrtcPtr crtc, uint32_t frame, uint64_t u
 static void
 radeon_prime_scanout_update(PixmapDirtyUpdatePtr dirty)
 {
-    ScreenPtr screen = dirty->slave_dst->drawable.pScreen;
+    ScreenPtr screen = dirty->secondary_dst->drawable.pScreen;
     ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
     RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn);
     xf86CrtcPtr xf86_crtc = radeon_prime_dirty_to_crtc(dirty);
@@ -818,7 +818,7 @@ radeon_prime_scanout_update(PixmapDirtyUpdatePtr dirty)
 static void
 radeon_prime_scanout_flip(PixmapDirtyUpdatePtr ent)
 {
-    ScreenPtr screen = ent->slave_dst->drawable.pScreen;
+    ScreenPtr screen = ent->secondary_dst->drawable.pScreen;
     ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
     RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn);
     xf86CrtcPtr crtc = radeon_prime_dirty_to_crtc(ent);
@@ -893,11 +893,11 @@ radeon_dirty_update(ScrnInfoPtr scrn)
 		if (screen->isGPU) {
 			PixmapDirtyUpdatePtr region_ent = ent;
 
-			if (master_has_sync_shared_pixmap(scrn, ent)) {
-				ScreenPtr master_screen = radeon_dirty_master(ent);
+			if (primary_has_sync_shared_pixmap(scrn, ent)) {
+				ScreenPtr primary_screen = radeon_dirty_primary(ent);
 
-				xorg_list_for_each_entry(region_ent, &master_screen->pixmap_dirty_list, ent) {
-					if (radeon_dirty_src_equals(ent, region_ent->slave_dst))
+				xorg_list_for_each_entry(region_ent, &primary_screen->pixmap_dirty_list, ent) {
+					if (radeon_dirty_src_equals(ent, region_ent->secondary_dst))
 						break;
 				}
 			}
@@ -921,7 +921,7 @@ radeon_dirty_update(ScrnInfoPtr scrn)
 
 			RegionDestroy(region);
 		} else {
-			if (slave_has_sync_shared_pixmap(scrn, ent))
+			if (secondary_has_sync_shared_pixmap(scrn, ent))
 				continue;
 
 			region = dirty_region(ent);
@@ -1216,7 +1216,7 @@ static void RADEONBlockHandler_KMS(BLOCKHANDLER_ARGS_DECL)
     (*pScreen->BlockHandler) (BLOCKHANDLER_ARGS);
     pScreen->BlockHandler = RADEONBlockHandler_KMS;
 
-    if (!xf86ScreenToScrn(radeon_master_screen(pScreen))->vtSema)
+    if (!xf86ScreenToScrn(radeon_primary_screen(pScreen))->vtSema)
 	return;
 
     if (!pScreen->isGPU)
@@ -2584,7 +2584,7 @@ CARD32 cleanup_black_fb(OsTimerPtr timer, CARD32 now, pointer data)
     xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
     int c;
 
-    if (xf86ScreenToScrn(radeon_master_screen(screen))->vtSema)
+    if (xf86ScreenToScrn(radeon_primary_screen(screen))->vtSema)
 	return 0;
 
     /* Unreference the all-black FB created by RADEONLeaveVT_KMS. After
diff --git a/src/radeon_present.c b/src/radeon_present.c
index 494655c9..d010aa19 100644
--- a/src/radeon_present.c
+++ b/src/radeon_present.c
@@ -254,7 +254,9 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap,
     xf86CrtcPtr xf86_crtc = crtc->devPrivate;
     ScreenPtr screen = window->drawable.pScreen;
     ScrnInfoPtr scrn = xf86_crtc->scrn;
+#ifdef USE_GLAMOR
     struct radeon_pixmap *priv = radeon_get_pixmap_private(pixmap);
+#endif
     xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
     RADEONInfoPtr info = RADEONPTR(scrn);
     PixmapPtr screen_pixmap = screen->GetScreenPixmap(screen);
@@ -278,10 +280,13 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap,
 	return FALSE;
 #endif
 
+#ifdef USE_GLAMOR
     if (priv && priv->fb_failed)
 	return FALSE;
+#endif
 
     if (!radeon_pixmap_get_fb(pixmap)) {
+#ifdef USE_GLAMOR
 	if (!priv)
 	    priv = radeon_get_pixmap_private(pixmap);
 
@@ -291,6 +296,7 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap,
 		       "normal if using PRIME render offloading)\n");
 	    priv->fb_failed = TRUE;
 	}
+#endif
 
 	return FALSE;
     }
diff --git a/xorg-drv-ati.spec b/xorg-drv-ati.spec
new file mode 100644
index 00000000..7b6a6f0a
--- /dev/null
+++ b/xorg-drv-ati.spec
@@ -0,0 +1,368 @@
+Name: xorg-drv-ati
+Version: 19.1.0
+Release: alt4
+Epoch: 4
+Summary: ATI video driver
+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-drv-radeon
+
+Source0: %name-%version.tar
+Patch: %name-%version-%release.patch
+
+BuildRequires(Pre): xorg-sdk
+BuildRequires: libGL-devel libgbm-devel libXext-devel xorg-proto-devel libudev-devel
+
+%description
+ati  is an Xorg wrapper driver for ATI video cards.  It autodetects whether your hardware has a Radeon,
+Rage 128, or Mach64 or earlier class of chipset, and loads the radeon(4), r128(4) driver as appropriate.
+
+The  ati  driver  supports  Radeon, Rage 128, and Mach64 and earlier chipsets by loading those drivers.
+See those manpages for specific cards supported.
+
+%package -n xorg-drv-radeon
+Summary: ATI RADEON video driver
+Group: System/X11
+Requires: XORG_ABI_VIDEODRV = %get_xorg_abi_videodrv
+%ifnarch %e2k armh
+Requires: xorg-dri-radeon
+%endif
+
+%description -n xorg-drv-radeon
+radeon is an Xorg driver for ATI RADEON based video cards. It contains full support for 8, 15, 16 and 24 bit pixel
+depths, dual-head setup, flat panel, hardware 2D acceleration, hardware 3D acceleration, hardware cursor, XV extension,
+and the Xinerama extension.
+
+%prep
+%setup -q
+%patch -p1
+
+%build
+%autoreconf
+%configure \
+	--with-xorg-module-dir=%_x11modulesdir \
+	--disable-static
+
+%make_build
+
+%install
+%make DESTDIR=%buildroot install
+
+%files
+%_x11modulesdir/drivers/ati_drv.so
+%_man4dir/ati.4*
+
+%files -n xorg-drv-radeon
+%_x11modulesdir/drivers/radeon_drv.so
+%_xorgsysconfigdir/*
+%_man4dir/radeon.4*
+
+%changelog
+* Mon Feb 21 2022 Valery Inozemtsev <shrek@altlinux.ru> 4:19.1.0-alt4
+- XORG_ABI_VIDEODRV = 25.2
+
+* Tue Nov 09 2021 Valery Inozemtsev <shrek@altlinux.ru> 4:19.1.0-alt3
+- git snapshot master.5eba006
+
+* Thu Dec 10 2020 Valery Inozemtsev <shrek@altlinux.ru> 4:19.1.0-alt2
+- git snapshot master.8da3e45
+
+* Wed Oct 16 2019 Valery Inozemtsev <shrek@altlinux.ru> 4:19.1.0-alt1
+- 19.1.0
+
+* Wed Mar 20 2019 Valery Inozemtsev <shrek@altlinux.ru> 4:19.0.1-alt1
+- 19.0.1
+
+* Thu Mar 07 2019 Valery Inozemtsev <shrek@altlinux.ru> 4:19.0.0-alt1
+- 19.0.0
+
+* Mon Sep 17 2018 Valery Inozemtsev <shrek@altlinux.ru> 4:18.1.0-alt1
+- 18.1.0
+
+* Thu May 31 2018 Valery Inozemtsev <shrek@altlinux.ru> 4:18.0.1-alt1
+- 18.0.1
+
+* Tue May 22 2018 Michael Shigorin <mike@altlinux.org> 4:7.9.0-alt2
+- E2K: avoid R: xorg-drv-r128 xorg-drv-mach64 (no sense)
+
+* Thu Mar 16 2017 Valery Inozemtsev <shrek@altlinux.ru> 4:7.9.0-alt1
+- 7.9.0
+
+* Thu Dec 01 2016 Valery Inozemtsev <shrek@altlinux.ru> 4:7.8.0-alt1
+- 7.8.0
+
+* Thu Nov 26 2015 Valery Inozemtsev <shrek@altlinux.ru> 4:7.6.1-alt1
+- 7.6.1
+
+* Fri Oct 10 2014 Valery Inozemtsev <shrek@altlinux.ru> 4:7.5.0-alt1
+- 7.5.0
+
+* Thu Jun 26 2014 Valery Inozemtsev <shrek@altlinux.ru> 4:7.4.0-alt1
+- 7.4.0
+
+* Fri Jan 31 2014 Valery Inozemtsev <shrek@altlinux.ru> 4:7.3.0-alt1
+- 7.3.0
+
+* Tue Oct 15 2013 Valery Inozemtsev <shrek@altlinux.ru> 4:7.2.0-alt2
+- enabled glamor
+
+* Wed Aug 07 2013 Valery Inozemtsev <shrek@altlinux.ru> 4:7.2.0-alt1
+- 7.2.0
+
+* Wed Mar 06 2013 Valery Inozemtsev <shrek@altlinux.ru> 4:7.1.0-alt2
+- requires XORG_ABI_VIDEODRV = 14.1
+
+* Fri Feb 01 2013 Valery Inozemtsev <shrek@altlinux.ru> 4:7.1.0-alt1
+- 7.1.0
+
+* Fri Jan 18 2013 Valery Inozemtsev <shrek@altlinux.ru> 4:7.0.0-alt2
+- requires XORG_ABI_VIDEODRV = 13.1
+
+* Tue Nov 06 2012 Valery Inozemtsev <shrek@altlinux.ru> 4:7.0.0-alt1
+- 7.0.0
+
+* Mon Sep 10 2012 Valery Inozemtsev <shrek@altlinux.ru> 4:6.14.6-alt1
+- 6.14.6
+
+* Mon Aug 27 2012 Valery Inozemtsev <shrek@altlinux.ru> 4:6.14.4-alt2
+- requires XORG_ABI_VIDEODRV = 12.1
+
+* Thu Mar 29 2012 Valery Inozemtsev <shrek@altlinux.ru> 4:6.14.4-alt1
+- 6.14.4
+
+* Sun Mar 25 2012 Valery Inozemtsev <shrek@altlinux.ru> 4:6.14.3-alt2
+- requires XORG_ABI_VIDEODRV = 12.0
+
+* Wed Nov 02 2011 Valery Inozemtsev <shrek@altlinux.ru> 4:6.14.3-alt1
+- 6.14.3
+
+* Mon Aug 29 2011 Valery Inozemtsev <shrek@altlinux.ru> 4:6.14.2-alt2
+- requires XORG_ABI_VIDEODRV = 11.0
+
+* Thu May 26 2011 Valery Inozemtsev <shrek@altlinux.ru> 4:6.14.2-alt1
+- 6.14.2
+
+* Thu Apr 28 2011 Valery Inozemtsev <shrek@altlinux.ru> 4:6.14.1-alt2
+- requires XORG_ABI_VIDEODRV = 10.0
+
+* Fri Mar 18 2011 Valery Inozemtsev <shrek@altlinux.ru> 4:6.14.1-alt1
+- 6.14.1
+
+* Fri Feb 04 2011 Valery Inozemtsev <shrek@altlinux.ru> 4:6.14.0-alt1
+- 6.14.0
+
+* Wed Dec 29 2010 Valery Inozemtsev <shrek@altlinux.ru> 4:6.13.2-alt2
+- fixed requires
+
+* Tue Sep 28 2010 Valery Inozemtsev <shrek@altlinux.ru> 4:6.13.2-alt1
+- 6.13.2
+
+* Sun Aug 22 2010 Valery Inozemtsev <shrek@altlinux.ru> 4:6.13.1-alt2
+- requires XORG_ABI_VIDEODRV = 8.0
+
+* Wed Jul 07 2010 Valery Inozemtsev <shrek@altlinux.ru> 4:6.13.1-alt1
+- 6.13.1
+
+* Sat Apr 10 2010 Valery Inozemtsev <shrek@altlinux.ru> 4:6.13.0-alt2
+- added some new pci ids
+
+* Mon Apr 05 2010 Valery Inozemtsev <shrek@altlinux.ru> 4:6.13.0-alt1
+- 6.13.0
+
+* Mon Mar 15 2010 Valery Inozemtsev <shrek@altlinux.ru> 4:6.12.192-alt1
+- 6.13 RC2
+
+* Wed Mar 03 2010 Valery Inozemtsev <shrek@altlinux.ru> 4:6.12.191-alt1
+- 6.13 RC1
+
+* Tue Oct 06 2009 Valery Inozemtsev <shrek@altlinux.ru> 4:6.12.4-alt1
+- 6.12.4
+
+* Thu Sep 10 2009 Valery Inozemtsev <shrek@altlinux.ru> 4:6.12.3-alt1
+- 6.12.3
+
+* Wed Aug 05 2009 Valery Inozemtsev <shrek@altlinux.ru> 4:6.12.2-alt6
+- added some new r7xx pci ids
+
+* Fri Jul 10 2009 Valery Inozemtsev <shrek@altlinux.ru> 4:6.12.2-alt5
+- RV280: Added an AGP quirk
+
+* Mon Jun 29 2009 Valery Inozemtsev <shrek@altlinux.ru> 4:6.12.2-alt4
+- added some missing M96 pci id
+
+* Thu Jun 18 2009 Valery Inozemtsev <shrek@altlinux.ru> 4:6.12.2-alt3
+- added RV740 (HD4770) support
+
+* Sun May 24 2009 Valery Inozemtsev <shrek@altlinux.ru> 4:6.12.2-alt2
+- merged 6.12-branch
+
+* Wed Apr 08 2009 Valery Inozemtsev <shrek@altlinux.ru> 4:6.12.2-alt1
+- 6.12.2
+
+* Thu Mar 19 2009 Valery Inozemtsev <shrek@altlinux.ru> 4:6.12.1-alt1
+- 6.12.1
+
+* Sat Mar 14 2009 Valery Inozemtsev <shrek@altlinux.ru> 4:6.12.0-alt1
+- 6.12.0
+
+* Fri Feb 27 2009 Valery Inozemtsev <shrek@altlinux.ru> 4:6.11.0-alt3
+- RS600: enabled the DRI by default
+
+* Thu Feb 26 2009 Valery Inozemtsev <shrek@altlinux.ru> 4:6.11.0-alt2
+- requires XORG_ABI_VIDEODRV = 5.0
+
+* Thu Feb 19 2009 Valery Inozemtsev <shrek@altlinux.ru> 4:6.11.0-alt1
+- 6.11.0
+
+* Wed Jan 07 2009 Valery Inozemtsev <shrek@altlinux.ru> 4:6.10.0-alt1
+- 6.10.0 release
+
+* Tue Dec 23 2008 Valery Inozemtsev <shrek@altlinux.ru> 4:6.9.0.91-alt1
+- 6.9.1 pre-release
+
+* Mon Sep 22 2008 Valery Inozemtsev <shrek@altlinux.ru> 4:6.9.0-alt3
+- RV770 initial support
+
+* Wed Aug 27 2008 Valery Inozemtsev <shrek@altlinux.ru> 4:6.9.0-alt2
+- requires XORG_ABI_VIDEODRV = 4.1
+
+* Fri Jun 27 2008 Valery Inozemtsev <shrek@altlinux.ru> 4:6.9.0-alt1
+- 6.9.0 release
+
+* Wed Jun 25 2008 Valery Inozemtsev <shrek@altlinux.ru> 4:6.8.192-alt1
+- 6.9.0 RC2
+
+* Fri Jun 13 2008 Valery Inozemtsev <shrek@altlinux.ru> 4:6.8.191-alt1
+- 6.9.0rc1
+
+* Mon Jun 02 2008 Valery Inozemtsev <shrek@altlinux.ru> 4:6.8.0-alt5
+- renamed xorg-x11-drv-{ati,radeon} to xorg-drv-{ati,radeon}
+- added requires XORG_ABI_VIDEODRV = 2.0
+
+* Wed May 14 2008 Valery Inozemtsev <shrek@altlinux.ru> 4:6.8.0-alt4
+- GIT snapshot 2008-05-14 (71fa57f871dba03260dba2180ce1dab44048ac1a)
+  + Add RS600 support
+
+* Fri Apr 18 2008 Valery Inozemtsev <shrek@altlinux.ru> 4:6.8.0-alt3
+- GIT snapshot 2008-04-18 (c5d62fa0e8f52c3264ff9db3ff10cdf5a806bfc0)
+
+* Fri Apr 04 2008 Valery Inozemtsev <shrek@altlinux.ru> 4:6.8.0-alt2
+- added conflicts to %name <= 6.6.3 (close #15230)
+
+* Thu Apr 03 2008 Valery Inozemtsev <shrek@altlinux.ru> 4:6.8.0-alt1
+- 6.8.0 release + git 2008-03-28 (9c62c820ba45ebc14d5f36f5d7885863800b6adb)
+- XAA by defaults for not avivo
+- convert xinf to fdi 
+
+* Sun Mar 23 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:6.8.0-alt3
+- separate packages
+
+* Thu Mar 13 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:6.8.0-alt2
+- 6.8.0 release + git fixes
+- xf86-video-ati-6.7.195-rh-faster-ddc.patch: Speed up X startup by assuming the
+  monitor doesn't need a dead chicken waved over it to get DDC.
+
+* Wed Feb 20 2008 Valery Inozemtsev <shrek@altlinux.ru> 3:6.8.0-alt1
+- 6.8.0
+
+* Fri Dec 21 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:6.7.197-alt1
+- 6.8RC7
+
+* Thu Nov 22 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:6.7.196-alt1
+- 6.8RC6
+
+* Wed Nov 21 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:6.6.3-alt6
+- set XAA by defaults
+
+* Mon Sep 10 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:6.6.3-alt5
+- rebuild for xorg-server-1.4
+
+* Tue Jul 31 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:6.6.3-alt4
+- generate ati.xinf from atipciids.h
+
+* Fri Jan 05 2007 Valery Inozemtsev <shrek@altlinux.ru> 3:6.6.3-alt3
+- fixed %%description
+
+* Sun Nov 19 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:6.6.3-alt2
+- added xf86-video-ati-6.6.3-git-XAA-page-flipping.patch
+
+* Sat Nov 18 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:6.6.3-alt1
+- 6.6.3
+
+* Thu Nov 16 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:6.6.2-alt5
+- added videoaliases file from RH
+
+* Wed Nov 08 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:6.6.2-alt4
+- added RH patches: xf86-video-ati-6.6.2-rh-ati-prefer-radeon-then-r128.patch,
+		    xf86-video-ati-6.6.2-rh-r128-fp-dpms.patch,
+		    xf86-video-ati-6.6.2-rh-r128-missing-xf86ForceHWCursor-symbol-bug168753.patch,
+		    xf86-video-ati-6.6.2-rh-radeon-6.6.1-dotclock-filter.patch,
+		    xf86-video-ati-6.6.2-rh-radeon-6.6.1-use-mtdriver.patch,
+		    xf86-video-ati-6.6.2-rh-radeon-6.6.2-dac-fix.patch,
+		    xf86-video-ati-6.6.2-rh-radeon-6.6.2-pmac-bios.patch,
+		    xf86-video-ati-6.6.2-rh-radeon-6.6.2-usefbdev-patch.patch
+
+* Sun Nov 05 2006 Valery Inozemtsev <shrek@altlinux.ru> 3:6.6.2-alt3
+- rollback to 6.6.2
+- added xf86-video-ati-6.6.2-git-rn50-memmap.patch
+
+* Sun Oct 29 2006 Valery Inozemtsev <shrek@altlinux.ru> 2:6.6.3-alt2
+- added OpenSuSE patches
+
+* Fri Oct 27 2006 Valery Inozemtsev <shrek@altlinux.ru> 2:6.6.3-alt1
+- rollback to 6.6.3
+- added xf86-video-ati-6.6.3-mach64-Use-private-DMA-buffers.patch
+
+* Sun Oct 22 2006 Valery Inozemtsev <shrek@altlinux.ru> 1:6.6.99-alt1.3
+- GIT snapshot 2006-10-22:
+	+ attempt to fix repeat picture acceleration
+
+* Wed Oct 18 2006 Valery Inozemtsev <shrek@altlinux.ru> 1:6.6.99-alt1.2
+- GIT snapshot 2006-10-17
+
+* Fri Oct 06 2006 Valery Inozemtsev <shrek@altlinux.ru> 1:6.6.99-alt1
+- 6.6.99
+
+* Thu Oct 05 2006 Valery Inozemtsev <shrek@altlinux.ru> 1:6.6.2-alt2.git20061003
+- GIT snapshot 2006-10-03
+
+* Mon Sep 18 2006 Valery Inozemtsev <shrek@altlinux.ru> 1:6.6.2-alt2
+- fixup the rn50/m6/m7 memory map problem
+
+* Fri Aug 25 2006 Valery Inozemtsev <shrek@altlinux.ru> 1:6.6.2-alt1
+- 6.6.2
+
+* Fri Jun 16 2006 Valery Inozemtsev <shrek@altlinux.ru> 1:6.6.1-alt1
+- 6.6.1
+
+* Sat May 13 2006 Valery Inozemtsev <shrek@altlinux.ru> 1:6.6.0-alt3
+- CVS snapshot 2006-05-09
+
+* Wed May 03 2006 Valery Inozemtsev <shrek@altlinux.ru> 1:6.6.0-alt2.cvs20060503
+- CVS snapshot 2006-05-03
+
+* Thu Apr 20 2006 Valery Inozemtsev <shrek@altlinux.ru> 1:6.6.0-alt1
+- 6.6.0
+
+* Sun Feb 19 2006 Valery Inozemtsev <shrek@altlinux.ru> 1:6.5.7.3-alt4
+- CVS snapshot 2006-02-17
+
+* Mon Jan 23 2006 Valery Inozemtsev <shrek@altlinux.ru> 1:6.5.7.3-alt3
+- removed memmap_fix patch (problem for Radeon R100 QD)
+
+* Sat Jan 14 2006 Valery Inozemtsev <shrek@altlinux.ru> 1:6.5.7.3-alt2
+- added memmap_fix patch
+
+* Wed Dec 28 2005 Valery Inozemtsev <shrek@altlinux.ru> 1:6.5.7.3-alt1
+- Xorg-7.0
+
+* Sun Dec 04 2005 Valery Inozemtsev <shrek@altlinux.ru> 1:6.5.7.1-alt1
+- Xorg-7.0RC3
+
+* Sun Nov 27 2005 Valery Inozemtsev <shrek@altlinux.ru> 1:6.5.7-alt0.1
+- initial release
+
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin