diff --git a/0001-modesetting-use-sw_cursor-when-match-phytium-bmc-car-anolis.patch b/0001-modesetting-use-sw_cursor-when-match-phytium-bmc-car-anolis.patch new file mode 100644 index 0000000000000000000000000000000000000000..da3121a457bda7b450ecba75846dd85f2e99ebc2 --- /dev/null +++ b/0001-modesetting-use-sw_cursor-when-match-phytium-bmc-car-anolis.patch @@ -0,0 +1,47 @@ +From a3718fbc14f52ee383b25f9a362e53a73b454990 Mon Sep 17 00:00:00 2001 +From: xuyan +Date: Tue, 15 Apr 2025 14:27:39 +0800 +Subject: [PATCH] modesetting use sw_cursor when match phytium bmc card + +Signed-off-by: Xu Yan +Signed-off-by: Wang Hao +--- + hw/xfree86/drivers/modesetting/driver.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c +index 535f49d..120b60e 100644 +--- a/hw/xfree86/drivers/modesetting/driver.c ++++ b/hw/xfree86/drivers/modesetting/driver.c +@@ -1062,6 +1062,9 @@ ms_get_drm_master_fd(ScrnInfoPtr pScrn) + return TRUE; + } + ++#define DRM_PHYTIUM_BMC_DEVICE 0x1 ++#define DRM_IOCTL_PHYTIUM_IS_BMC_DEVICE DRM_IO(DRM_COMMAND_BASE + DRM_PHYTIUM_BMC_DEVICE) ++ + static Bool + PreInit(ScrnInfoPtr pScrn, int flags) + { +@@ -1154,10 +1157,17 @@ PreInit(ScrnInfoPtr pScrn, int flags) + if (!xf86SetDefaultVisual(pScrn, -1)) + return FALSE; + +- if (xf86ReturnOptValBool(ms->drmmode.Options, OPTION_SW_CURSOR, FALSE)) { ++ if (1 == drmIoctl(ms->fd, DRM_IOCTL_PHYTIUM_IS_BMC_DEVICE, NULL) || pScrn->is_gpu) { + ms->drmmode.sw_cursor = TRUE; ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, ++ "force dev using SWcursor\n"); ++ } else { ++ if (xf86ReturnOptValBool(ms->drmmode.Options, OPTION_SW_CURSOR, FALSE)) { ++ ms->drmmode.sw_cursor = TRUE; ++ } + } + ++ + ms->cursor_width = 64; + ms->cursor_height = 64; + ret = drmGetCap(ms->fd, DRM_CAP_CURSOR_WIDTH, &value); +-- +2.33.0 + diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index bf7c7a0add4ada99e70900b6097d2bb175e2a697..28bc3345a13ab228565fec944d5c98500be32c75 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -1,4 +1,4 @@ -%define anolis_release 14 +%define anolis_release 6 # X.org requires lazy relocations to work. %undefine _hardened_build %undefine _strict_symbol_defs_build @@ -46,6 +46,8 @@ Patch3: 0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch # https://gitlab.freedesktop.org/xorg/xserver/-/commit/8407181c7dfe14086d99697af0b86120320ab73e Patch4: 0001-ephyr-Fix-incompatible-pointer-type-build-error.patch +Patch5: 0001-modesetting-use-sw_cursor-when-match-phytium-bmc-car-anolis.patch + BuildRequires: bison BuildRequires: flex BuildRequires: gawk @@ -418,6 +420,9 @@ find %{buildroot} -type f -name '*.la' -delete %changelog +* Thu Apr 10 2025 xuyan - 21.1.13-6 +- modesetting-use-sw_cursor-when-match-phytium-bmc-card + * Tue Oct 8 2024 Tingyin Duan - 21.1.13-14 - initial from Fedora Rawhide