Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] xorg-server: Added patch fixing rotation issue
@ 2024-11-10  8:44 Emru1
  2024-11-12 15:38 ` ahesford
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Emru1 @ 2024-11-10  8:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 919 bytes --]

There is a new pull request by Emru1 against master on the void-packages repository

https://github.com/Emru1/void-packages xorg_patch
https://github.com/void-linux/void-packages/pull/52981

xorg-server: Added patch fixing rotation issue
#### Testing the changes
- I tested the changes in this PR: **YES**

Using this daily on armv7l-musl device. Tested recently on amd64-glibc

#### Local build testing
- I built this PR locally for my native architecture, amd64-glibc
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - armv7l-musl

I've used this patch in #52331, it fixes issues with screen rotation. It would take some time to polish #52331 PR, but parts of it can be used already, I think.

See https://github.com/void-linux/void-packages/pull/52331#issuecomment-2388442204

A patch file from https://github.com/void-linux/void-packages/pull/52981.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-xorg_patch-52981.patch --]
[-- Type: text/x-diff, Size: 7403 bytes --]

From 2ef51eb0c120e5e1097bac027d3c521c5a8240f8 Mon Sep 17 00:00:00 2001
From: Emil Tomczyk <emru@emru.xyz>
Date: Sat, 9 Nov 2024 14:39:04 +0100
Subject: [PATCH] xorg-server: Added patch fixing rotation issue

---
 .../patches/fix-drm-rotation.patch            | 165 ++++++++++++++++++
 srcpkgs/xorg-server/template                  |   2 +-
 2 files changed, 166 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/xorg-server/patches/fix-drm-rotation.patch

diff --git a/srcpkgs/xorg-server/patches/fix-drm-rotation.patch b/srcpkgs/xorg-server/patches/fix-drm-rotation.patch
new file mode 100644
index 00000000000000..c1f6e87acc9971
--- /dev/null
+++ b/srcpkgs/xorg-server/patches/fix-drm-rotation.patch
@@ -0,0 +1,165 @@
+From db9e9d45e8ba73510f11eb9e534c176102f6623e Mon Sep 17 00:00:00 2001
+From: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
+Date: Wed, 9 Jun 2021 20:58:59 +0200
+Subject: [PATCH] modesetting: Fix dirty updates for sw rotation
+
+Rotation is broken for all drm drivers not providing hardware rotation
+support. Drivers that give direct access to vram and not needing dirty
+updates still work but only by accident. The problem is caused by
+modesetting not sending the correct fb_id to drmModeDirtyFB() and
+passing the damage rects in the rotated state and not as the crtc
+expects them. This patch takes care of both problems.
+
+Signed-off-by: Patrik Jakobsson <pjakobsson@suse.de>
+---
+ hw/xfree86/drivers/modesetting/driver.c       | 81 ++++++++++++++-----
+ .../drivers/modesetting/drmmode_display.c     |  2 +-
+ .../drivers/modesetting/drmmode_display.h     |  2 +
+ 3 files changed, 63 insertions(+), 22 deletions(-)
+
+diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c
+index 535f49d1d3..fe3315a9c4 100644
+--- a/hw/xfree86/drivers/modesetting/driver.c
++++ b/hw/xfree86/drivers/modesetting/driver.c
+@@ -515,9 +515,41 @@ GetRec(ScrnInfoPtr pScrn)
+     return TRUE;
+ }
+ 
++static void
++rotate_clip(PixmapPtr pixmap, BoxPtr rect, drmModeClip *clip, Rotation rotation)
++{
++    int w = pixmap->drawable.width;
++    int h = pixmap->drawable.height;
++
++    if (rotation == RR_Rotate_90) {
++	/* Rotate 90 degrees counter clockwise */
++        clip->x1 = rect->y1;
++	clip->x2 = rect->y2;
++	clip->y1 = w - rect->x2;
++	clip->y2 = w - rect->x1;
++    } else if (rotation == RR_Rotate_180) {
++	/* Rotate 180 degrees */
++        clip->x1 = w - rect->x2;
++	clip->x2 = w - rect->x1;
++	clip->y1 = h - rect->y2;
++	clip->y2 = h - rect->y1;
++    } else if (rotation == RR_Rotate_270) {
++	/* Rotate 90 degrees clockwise */
++        clip->x1 = h - rect->y2;
++	clip->x2 = h - rect->y1;
++	clip->y1 = rect->x1;
++	clip->y2 = rect->x2;
++    } else {
++	clip->x1 = rect->x1;
++	clip->x2 = rect->x2;
++	clip->y1 = rect->y1;
++	clip->y2 = rect->y2;
++    }
++}
++
+ static int
+-dispatch_dirty_region(ScrnInfoPtr scrn,
+-                      PixmapPtr pixmap, DamagePtr damage, int fb_id)
++dispatch_dirty_region(ScrnInfoPtr scrn, xf86CrtcPtr crtc,
++		      PixmapPtr pixmap, DamagePtr damage, int fb_id)
+ {
+     modesettingPtr ms = modesettingPTR(scrn);
+     RegionPtr dirty = DamageRegion(damage);
+@@ -532,13 +564,9 @@ dispatch_dirty_region(ScrnInfoPtr scrn,
+         if (!clip)
+             return -ENOMEM;
+ 
+-        /* XXX no need for copy? */
+-        for (i = 0; i < num_cliprects; i++, rect++) {
+-            clip[i].x1 = rect->x1;
+-            clip[i].y1 = rect->y1;
+-            clip[i].x2 = rect->x2;
+-            clip[i].y2 = rect->y2;
+-        }
++        /* Rotate and copy rects into clips */
++        for (i = 0; i < num_cliprects; i++, rect++)
++	    rotate_clip(pixmap, rect, &clip[i], crtc->rotation);
+ 
+         /* TODO query connector property to see if this is needed */
+         ret = drmModeDirtyFB(ms->fd, fb_id, clip, num_cliprects);
+@@ -561,20 +589,31 @@ static void
+ dispatch_dirty(ScreenPtr pScreen)
+ {
+     ScrnInfoPtr scrn = xf86ScreenToScrn(pScreen);
++    xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
+     modesettingPtr ms = modesettingPTR(scrn);
+     PixmapPtr pixmap = pScreen->GetScreenPixmap(pScreen);
+-    int fb_id = ms->drmmode.fb_id;
+-    int ret;
++    uint32_t fb_id;
++    int ret, c, x, y ;
+ 
+-    ret = dispatch_dirty_region(scrn, pixmap, ms->damage, fb_id);
+-    if (ret == -EINVAL || ret == -ENOSYS) {
+-        ms->dirty_enabled = FALSE;
+-        DamageUnregister(ms->damage);
+-        DamageDestroy(ms->damage);
+-        ms->damage = NULL;
+-        xf86DrvMsg(scrn->scrnIndex, X_INFO,
+-                   "Disabling kernel dirty updates, not required.\n");
+-        return;
++    for (c = 0; c < xf86_config->num_crtc; c++) {
++        xf86CrtcPtr crtc = xf86_config->crtc[c];
++        drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
++
++        if (!drmmode_crtc)
++            continue;
++
++	drmmode_crtc_get_fb_id(crtc, &fb_id, &x, &y);
++
++        ret = dispatch_dirty_region(scrn, crtc, pixmap, ms->damage, fb_id);
++        if (ret == -EINVAL || ret == -ENOSYS) {
++            ms->dirty_enabled = FALSE;
++            DamageUnregister(ms->damage);
++            DamageDestroy(ms->damage);
++            ms->damage = NULL;
++            xf86DrvMsg(scrn->scrnIndex, X_INFO,
++                       "Disabling kernel dirty updates, not required.\n");
++            return;
++        }
+     }
+ }
+ 
+@@ -586,7 +625,7 @@ dispatch_dirty_pixmap(ScrnInfoPtr scrn, xf86CrtcPtr crtc, PixmapPtr ppix)
+     DamagePtr damage = ppriv->secondary_damage;
+     int fb_id = ppriv->fb_id;
+ 
+-    dispatch_dirty_region(scrn, ppix, damage, fb_id);
++    dispatch_dirty_region(scrn, crtc, ppix, damage, fb_id);
+ }
+ 
+ static void
+diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c
+index ab352a451d..4ad6170ca1 100644
+--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
++++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
+@@ -627,7 +627,7 @@ drmmode_crtc_can_test_mode(xf86CrtcPtr crtc)
+     return ms->atomic_modeset;
+ }
+ 
+-static Bool
++Bool
+ drmmode_crtc_get_fb_id(xf86CrtcPtr crtc, uint32_t *fb_id, int *x, int *y)
+ {
+     drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
+diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.h b/hw/xfree86/drivers/modesetting/drmmode_display.h
+index 29f9b8f7d7..2a9a915293 100644
+--- a/hw/xfree86/drivers/modesetting/drmmode_display.h
++++ b/hw/xfree86/drivers/modesetting/drmmode_display.h
+@@ -311,6 +311,8 @@ void drmmode_copy_fb(ScrnInfoPtr pScrn, drmmode_ptr drmmode);
+ 
+ int drmmode_crtc_flip(xf86CrtcPtr crtc, uint32_t fb_id, uint32_t flags, void *data);
+ 
++Bool drmmode_crtc_get_fb_id(xf86CrtcPtr crtc, uint32_t *fb_id, int *x, int *y);
++
+ void drmmode_set_dpms(ScrnInfoPtr scrn, int PowerManagementMode, int flags);
+ void drmmode_crtc_set_vrr(xf86CrtcPtr crtc, Bool enabled);
+ 
+-- 
+GitLab
+
diff --git a/srcpkgs/xorg-server/template b/srcpkgs/xorg-server/template
index 372242fafb673c..092b8061de3fce 100644
--- a/srcpkgs/xorg-server/template
+++ b/srcpkgs/xorg-server/template
@@ -1,7 +1,7 @@
 # Template file for 'xorg-server'
 pkgname=xorg-server
 version=21.1.14
-revision=1
+revision=2
 build_style=meson
 configure_args="-Dipv6=true -Dxorg=true -Dxnest=true -Dxephyr=true
  -Dxvfb=true -Dhal=false -Dudev=true -Dxkb_dir=/usr/share/X11/xkb

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xorg-server: Added patch fixing rotation issue
  2024-11-10  8:44 [PR PATCH] xorg-server: Added patch fixing rotation issue Emru1
@ 2024-11-12 15:38 ` ahesford
  2024-11-12 19:41 ` Emru1
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: ahesford @ 2024-11-12 15:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 229 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/52981#issuecomment-2470865717

Comment:
This patch was merged upstream three years ago. Why has it not made it into a release?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xorg-server: Added patch fixing rotation issue
  2024-11-10  8:44 [PR PATCH] xorg-server: Added patch fixing rotation issue Emru1
  2024-11-12 15:38 ` ahesford
@ 2024-11-12 19:41 ` Emru1
  2024-12-23 21:42 ` [PR PATCH] [Updated] " Emru1
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Emru1 @ 2024-11-12 19:41 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 158 bytes --]

New comment by Emru1 on void-packages repository

https://github.com/void-linux/void-packages/pull/52981#issuecomment-2471417862

Comment:
I have no idea why

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PR PATCH] [Updated] xorg-server: Added patch fixing rotation issue
  2024-11-10  8:44 [PR PATCH] xorg-server: Added patch fixing rotation issue Emru1
  2024-11-12 15:38 ` ahesford
  2024-11-12 19:41 ` Emru1
@ 2024-12-23 21:42 ` Emru1
  2025-01-17 17:42 ` akemnade
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Emru1 @ 2024-12-23 21:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1021 bytes --]

There is an updated pull request by Emru1 against master on the void-packages repository

https://github.com/Emru1/void-packages xorg_patch
https://github.com/void-linux/void-packages/pull/52981

xorg-server: Added patch fixing rotation issue
#### Testing the changes
- I tested the changes in this PR: **YES**

Using this daily on armv7l-musl device. Tested recently on amd64-glibc

#### Local build testing
- I built this PR locally for my native architecture, amd64-glibc
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - armv7l-musl

I've used this patch in #52331, it fixes issues with screen rotation. It would take some time to polish #52331 PR, but parts of it can be used already, I think.

See https://github.com/void-linux/void-packages/pull/52331#issuecomment-2388442204

https://gitlab.freedesktop.org/xorg/xserver/-/commit/db9e9d45e8ba73510f11eb9e534c176102f6623e

A patch file from https://github.com/void-linux/void-packages/pull/52981.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-xorg_patch-52981.patch --]
[-- Type: text/x-diff, Size: 7403 bytes --]

From f5be7996cc65666a2abbf04bcb69709eb0ba0d97 Mon Sep 17 00:00:00 2001
From: Emil Tomczyk <emru@emru.xyz>
Date: Sat, 9 Nov 2024 14:39:04 +0100
Subject: [PATCH] xorg-server: Added patch fixing rotation issue

---
 .../patches/fix-drm-rotation.patch            | 165 ++++++++++++++++++
 srcpkgs/xorg-server/template                  |   2 +-
 2 files changed, 166 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/xorg-server/patches/fix-drm-rotation.patch

diff --git a/srcpkgs/xorg-server/patches/fix-drm-rotation.patch b/srcpkgs/xorg-server/patches/fix-drm-rotation.patch
new file mode 100644
index 00000000000000..c1f6e87acc9971
--- /dev/null
+++ b/srcpkgs/xorg-server/patches/fix-drm-rotation.patch
@@ -0,0 +1,165 @@
+From db9e9d45e8ba73510f11eb9e534c176102f6623e Mon Sep 17 00:00:00 2001
+From: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
+Date: Wed, 9 Jun 2021 20:58:59 +0200
+Subject: [PATCH] modesetting: Fix dirty updates for sw rotation
+
+Rotation is broken for all drm drivers not providing hardware rotation
+support. Drivers that give direct access to vram and not needing dirty
+updates still work but only by accident. The problem is caused by
+modesetting not sending the correct fb_id to drmModeDirtyFB() and
+passing the damage rects in the rotated state and not as the crtc
+expects them. This patch takes care of both problems.
+
+Signed-off-by: Patrik Jakobsson <pjakobsson@suse.de>
+---
+ hw/xfree86/drivers/modesetting/driver.c       | 81 ++++++++++++++-----
+ .../drivers/modesetting/drmmode_display.c     |  2 +-
+ .../drivers/modesetting/drmmode_display.h     |  2 +
+ 3 files changed, 63 insertions(+), 22 deletions(-)
+
+diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c
+index 535f49d1d3..fe3315a9c4 100644
+--- a/hw/xfree86/drivers/modesetting/driver.c
++++ b/hw/xfree86/drivers/modesetting/driver.c
+@@ -515,9 +515,41 @@ GetRec(ScrnInfoPtr pScrn)
+     return TRUE;
+ }
+ 
++static void
++rotate_clip(PixmapPtr pixmap, BoxPtr rect, drmModeClip *clip, Rotation rotation)
++{
++    int w = pixmap->drawable.width;
++    int h = pixmap->drawable.height;
++
++    if (rotation == RR_Rotate_90) {
++	/* Rotate 90 degrees counter clockwise */
++        clip->x1 = rect->y1;
++	clip->x2 = rect->y2;
++	clip->y1 = w - rect->x2;
++	clip->y2 = w - rect->x1;
++    } else if (rotation == RR_Rotate_180) {
++	/* Rotate 180 degrees */
++        clip->x1 = w - rect->x2;
++	clip->x2 = w - rect->x1;
++	clip->y1 = h - rect->y2;
++	clip->y2 = h - rect->y1;
++    } else if (rotation == RR_Rotate_270) {
++	/* Rotate 90 degrees clockwise */
++        clip->x1 = h - rect->y2;
++	clip->x2 = h - rect->y1;
++	clip->y1 = rect->x1;
++	clip->y2 = rect->x2;
++    } else {
++	clip->x1 = rect->x1;
++	clip->x2 = rect->x2;
++	clip->y1 = rect->y1;
++	clip->y2 = rect->y2;
++    }
++}
++
+ static int
+-dispatch_dirty_region(ScrnInfoPtr scrn,
+-                      PixmapPtr pixmap, DamagePtr damage, int fb_id)
++dispatch_dirty_region(ScrnInfoPtr scrn, xf86CrtcPtr crtc,
++		      PixmapPtr pixmap, DamagePtr damage, int fb_id)
+ {
+     modesettingPtr ms = modesettingPTR(scrn);
+     RegionPtr dirty = DamageRegion(damage);
+@@ -532,13 +564,9 @@ dispatch_dirty_region(ScrnInfoPtr scrn,
+         if (!clip)
+             return -ENOMEM;
+ 
+-        /* XXX no need for copy? */
+-        for (i = 0; i < num_cliprects; i++, rect++) {
+-            clip[i].x1 = rect->x1;
+-            clip[i].y1 = rect->y1;
+-            clip[i].x2 = rect->x2;
+-            clip[i].y2 = rect->y2;
+-        }
++        /* Rotate and copy rects into clips */
++        for (i = 0; i < num_cliprects; i++, rect++)
++	    rotate_clip(pixmap, rect, &clip[i], crtc->rotation);
+ 
+         /* TODO query connector property to see if this is needed */
+         ret = drmModeDirtyFB(ms->fd, fb_id, clip, num_cliprects);
+@@ -561,20 +589,31 @@ static void
+ dispatch_dirty(ScreenPtr pScreen)
+ {
+     ScrnInfoPtr scrn = xf86ScreenToScrn(pScreen);
++    xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
+     modesettingPtr ms = modesettingPTR(scrn);
+     PixmapPtr pixmap = pScreen->GetScreenPixmap(pScreen);
+-    int fb_id = ms->drmmode.fb_id;
+-    int ret;
++    uint32_t fb_id;
++    int ret, c, x, y ;
+ 
+-    ret = dispatch_dirty_region(scrn, pixmap, ms->damage, fb_id);
+-    if (ret == -EINVAL || ret == -ENOSYS) {
+-        ms->dirty_enabled = FALSE;
+-        DamageUnregister(ms->damage);
+-        DamageDestroy(ms->damage);
+-        ms->damage = NULL;
+-        xf86DrvMsg(scrn->scrnIndex, X_INFO,
+-                   "Disabling kernel dirty updates, not required.\n");
+-        return;
++    for (c = 0; c < xf86_config->num_crtc; c++) {
++        xf86CrtcPtr crtc = xf86_config->crtc[c];
++        drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
++
++        if (!drmmode_crtc)
++            continue;
++
++	drmmode_crtc_get_fb_id(crtc, &fb_id, &x, &y);
++
++        ret = dispatch_dirty_region(scrn, crtc, pixmap, ms->damage, fb_id);
++        if (ret == -EINVAL || ret == -ENOSYS) {
++            ms->dirty_enabled = FALSE;
++            DamageUnregister(ms->damage);
++            DamageDestroy(ms->damage);
++            ms->damage = NULL;
++            xf86DrvMsg(scrn->scrnIndex, X_INFO,
++                       "Disabling kernel dirty updates, not required.\n");
++            return;
++        }
+     }
+ }
+ 
+@@ -586,7 +625,7 @@ dispatch_dirty_pixmap(ScrnInfoPtr scrn, xf86CrtcPtr crtc, PixmapPtr ppix)
+     DamagePtr damage = ppriv->secondary_damage;
+     int fb_id = ppriv->fb_id;
+ 
+-    dispatch_dirty_region(scrn, ppix, damage, fb_id);
++    dispatch_dirty_region(scrn, crtc, ppix, damage, fb_id);
+ }
+ 
+ static void
+diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c
+index ab352a451d..4ad6170ca1 100644
+--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
++++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
+@@ -627,7 +627,7 @@ drmmode_crtc_can_test_mode(xf86CrtcPtr crtc)
+     return ms->atomic_modeset;
+ }
+ 
+-static Bool
++Bool
+ drmmode_crtc_get_fb_id(xf86CrtcPtr crtc, uint32_t *fb_id, int *x, int *y)
+ {
+     drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
+diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.h b/hw/xfree86/drivers/modesetting/drmmode_display.h
+index 29f9b8f7d7..2a9a915293 100644
+--- a/hw/xfree86/drivers/modesetting/drmmode_display.h
++++ b/hw/xfree86/drivers/modesetting/drmmode_display.h
+@@ -311,6 +311,8 @@ void drmmode_copy_fb(ScrnInfoPtr pScrn, drmmode_ptr drmmode);
+ 
+ int drmmode_crtc_flip(xf86CrtcPtr crtc, uint32_t fb_id, uint32_t flags, void *data);
+ 
++Bool drmmode_crtc_get_fb_id(xf86CrtcPtr crtc, uint32_t *fb_id, int *x, int *y);
++
+ void drmmode_set_dpms(ScrnInfoPtr scrn, int PowerManagementMode, int flags);
+ void drmmode_crtc_set_vrr(xf86CrtcPtr crtc, Bool enabled);
+ 
+-- 
+GitLab
+
diff --git a/srcpkgs/xorg-server/template b/srcpkgs/xorg-server/template
index a65accaecb44e7..ed331712911975 100644
--- a/srcpkgs/xorg-server/template
+++ b/srcpkgs/xorg-server/template
@@ -1,7 +1,7 @@
 # Template file for 'xorg-server'
 pkgname=xorg-server
 version=21.1.15
-revision=1
+revision=2
 build_style=meson
 configure_args="-Dipv6=true -Dxorg=true -Dxnest=true -Dxephyr=true
  -Dxvfb=true -Dhal=false -Dudev=true -Dxkb_dir=/usr/share/X11/xkb

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xorg-server: Added patch fixing rotation issue
  2024-11-10  8:44 [PR PATCH] xorg-server: Added patch fixing rotation issue Emru1
                   ` (2 preceding siblings ...)
  2024-12-23 21:42 ` [PR PATCH] [Updated] " Emru1
@ 2025-01-17 17:42 ` akemnade
  2025-01-18 16:55 ` ahesford
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: akemnade @ 2025-01-17 17:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 436 bytes --]

New comment by akemnade on void-packages repository

https://github.com/void-linux/void-packages/pull/52981#issuecomment-2598875036

Comment:
looking at that thing again.  I think the reason is that everything else than xwayland and xvfb was dropped after that commit and the non-bugfix next release. The commit is in the branch xwayland-22.1 but not in server-21.1-branch.
So maybe they did not consider the bug fix important enough.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xorg-server: Added patch fixing rotation issue
  2024-11-10  8:44 [PR PATCH] xorg-server: Added patch fixing rotation issue Emru1
                   ` (3 preceding siblings ...)
  2025-01-17 17:42 ` akemnade
@ 2025-01-18 16:55 ` ahesford
  2025-02-16 16:55 ` akemnade
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: ahesford @ 2025-01-18 16:55 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 406 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/52981#issuecomment-2599786915

Comment:
Get upstream to include this patch in a release, or at least find an explanation of why they haven't done so that we can feel comfortable overruling. If there is a compelling reason for upstream not to ship this patch, I'm not inclined to overrule their judgment.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xorg-server: Added patch fixing rotation issue
  2024-11-10  8:44 [PR PATCH] xorg-server: Added patch fixing rotation issue Emru1
                   ` (4 preceding siblings ...)
  2025-01-18 16:55 ` ahesford
@ 2025-02-16 16:55 ` akemnade
  2025-02-16 18:19 ` Emru1
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: akemnade @ 2025-02-16 16:55 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 255 bytes --]

New comment by akemnade on void-packages repository

https://github.com/void-linux/void-packages/pull/52981#issuecomment-2661522921

Comment:
apparently it was cherry-picked by upstream: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1767


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xorg-server: Added patch fixing rotation issue
  2024-11-10  8:44 [PR PATCH] xorg-server: Added patch fixing rotation issue Emru1
                   ` (5 preceding siblings ...)
  2025-02-16 16:55 ` akemnade
@ 2025-02-16 18:19 ` Emru1
  2025-02-28 22:04 ` [PR PATCH] [Closed]: " Emru1
  2025-02-28 22:04 ` Emru1
  8 siblings, 0 replies; 10+ messages in thread
From: Emru1 @ 2025-02-16 18:19 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 509 bytes --]

New comment by Emru1 on void-packages repository

https://github.com/void-linux/void-packages/pull/52981#issuecomment-2661556028

Comment:
https://lists.x.org/archives/xorg/2025-January/061868.html
https://lists.x.org/archives/xorg/2025-February/061869.html
https://lists.x.org/archives/xorg/2025-February/061871.html
https://lists.x.org/archives/xorg/2025-February/061872.html
https://lists.x.org/archives/xorg/2025-February/061874.html
https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1767

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PR PATCH] [Closed]: xorg-server: Added patch fixing rotation issue
  2024-11-10  8:44 [PR PATCH] xorg-server: Added patch fixing rotation issue Emru1
                   ` (6 preceding siblings ...)
  2025-02-16 18:19 ` Emru1
@ 2025-02-28 22:04 ` Emru1
  2025-02-28 22:04 ` Emru1
  8 siblings, 0 replies; 10+ messages in thread
From: Emru1 @ 2025-02-28 22:04 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 866 bytes --]

There's a closed pull request on the void-packages repository

xorg-server: Added patch fixing rotation issue
https://github.com/void-linux/void-packages/pull/52981

Description:
#### Testing the changes
- I tested the changes in this PR: **YES**

Using this daily on armv7l-musl device. Tested recently on amd64-glibc

#### Local build testing
- I built this PR locally for my native architecture, amd64-glibc
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - armv7l-musl

I've used this patch in #52331, it fixes issues with screen rotation. It would take some time to polish #52331 PR, but parts of it can be used already, I think.

See https://github.com/void-linux/void-packages/pull/52331#issuecomment-2388442204

https://gitlab.freedesktop.org/xorg/xserver/-/commit/db9e9d45e8ba73510f11eb9e534c176102f6623e

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xorg-server: Added patch fixing rotation issue
  2024-11-10  8:44 [PR PATCH] xorg-server: Added patch fixing rotation issue Emru1
                   ` (7 preceding siblings ...)
  2025-02-28 22:04 ` [PR PATCH] [Closed]: " Emru1
@ 2025-02-28 22:04 ` Emru1
  8 siblings, 0 replies; 10+ messages in thread
From: Emru1 @ 2025-02-28 22:04 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 256 bytes --]

New comment by Emru1 on void-packages repository

https://github.com/void-linux/void-packages/pull/52981#issuecomment-2691623925

Comment:
https://lists.x.org/archives/xorg/2025-February/061895.html
Looks like it's merged upstream
I'm closing it for now

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-02-28 22:04 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-10  8:44 [PR PATCH] xorg-server: Added patch fixing rotation issue Emru1
2024-11-12 15:38 ` ahesford
2024-11-12 19:41 ` Emru1
2024-12-23 21:42 ` [PR PATCH] [Updated] " Emru1
2025-01-17 17:42 ` akemnade
2025-01-18 16:55 ` ahesford
2025-02-16 16:55 ` akemnade
2025-02-16 18:19 ` Emru1
2025-02-28 22:04 ` [PR PATCH] [Closed]: " Emru1
2025-02-28 22:04 ` Emru1

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).