From 77ad73201feadfc781820bc24f642076eadc5b58 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 5 Jan 2024 19:38:28 +0100 Subject: [PATCH] update to 2.99.917.20230201.b74b67f0f [release 2.99.917.20230201.b74b67f0f-1mamba;Sat Feb 25 2023] --- README.md | 2 + xf86-video-intel-2.99.917-glibc-2.22.patch | 20 ++ xf86-video-intel.spec | 267 ++++++++++++++++++ xorg-drv-video-intel-2.14.0-Mesa-7.10.patch | 26 ++ ...el-2.99.917.20190201git-x86-buildfix.patch | 11 + ....99.917.20190201git-xorg-server-1.20.patch | 93 ++++++ 6 files changed, 419 insertions(+) create mode 100644 xf86-video-intel-2.99.917-glibc-2.22.patch create mode 100644 xf86-video-intel.spec create mode 100644 xorg-drv-video-intel-2.14.0-Mesa-7.10.patch create mode 100644 xorg-drv-video-intel-2.99.917.20190201git-x86-buildfix.patch create mode 100644 xorg-drv-video-intel-2.99.917.20190201git-xorg-server-1.20.patch diff --git a/README.md b/README.md index 0c55c80..5e66e6e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # xf86-video-intel +Intel video driver for Xorg. + diff --git a/xf86-video-intel-2.99.917-glibc-2.22.patch b/xf86-video-intel-2.99.917-glibc-2.22.patch new file mode 100644 index 0000000..de5e0f9 --- /dev/null +++ b/xf86-video-intel-2.99.917-glibc-2.22.patch @@ -0,0 +1,20 @@ +--- xf86-video-intel-2.99.917/src/sna/sna_driver.c.orig 2015-08-21 20:26:06.645816812 +0200 ++++ xf86-video-intel-2.99.917/src/sna/sna_driver.c 2015-08-21 20:26:18.937848700 +0200 +@@ -60,6 +60,7 @@ + #include + #include + #include ++#include + #include "i915_drm.h" + + #ifdef HAVE_VALGRIND +--- xf86-video-intel-2.99.917/src/uxa/intel_driver.c.orig 2015-08-21 20:27:55.583083909 +0200 ++++ xf86-video-intel-2.99.917/src/uxa/intel_driver.c 2015-08-21 20:28:11.215119570 +0200 +@@ -44,6 +44,7 @@ + #include + #include + #include ++#include + + #include "xorg-server.h" + #include "xf86.h" diff --git a/xf86-video-intel.spec b/xf86-video-intel.spec new file mode 100644 index 0000000..5a3cb72 --- /dev/null +++ b/xf86-video-intel.spec @@ -0,0 +1,267 @@ +%define xorg_ver %(pkg-config xorg-server --modversion|cut -d. -f 1-2) +%define gittag %(echo %version | cut -d. -f5) +Name: xf86-video-intel +Version: 2.99.917.20230201.b74b67f0f +Release: 1mamba +Summary: Intel video driver for X.Org +Group: System/X11 +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: https://www.x.org/wiki/ +Source: http://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel.git/master@%{gittag}/xf86-video-intel-%{version}.tar.bz2 +#Source: ftp://x.org/pub/individual/driver/xf86-video-intel-%{version}.tar.bz2 +Patch0: xorg-drv-video-intel-2.14.0-Mesa-7.10.patch +Patch1: xf86-video-intel-2.99.917-glibc-2.22.patch +Patch2: xorg-drv-video-intel-2.99.917.20190201git-x86-buildfix.patch +Patch3: xorg-drv-video-intel-2.99.917.20190201git-xorg-server-1.20.patch +License: MIT +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libX11-devel +BuildRequires: libXScrnSaver-devel +BuildRequires: libXcursor-devel +BuildRequires: libXdamage-devel +BuildRequires: libXext-devel +BuildRequires: libXfixes-devel +BuildRequires: libXinerama-devel +BuildRequires: libXrandr-devel +BuildRequires: libXrender-devel +BuildRequires: libXtst-devel +BuildRequires: libXvMC-devel +BuildRequires: libdrm-devel +BuildRequires: libpciaccess-devel +BuildRequires: libpixman-devel +BuildRequires: libudev-devel +BuildRequires: libxcb-devel +BuildRequires: libxcb-util-devel +BuildRequires: libxshmfence-devel +## AUTOBUILDREQ-END +BuildRequires: xorg-server-devel >= 21.1.3-1mamba +BuildRequires: xorg-proto-devel +Provides: xorgdrvvideo +Requires: xorg-server >= %{xorg_ver} +Requires: xorg-server <= %{xorg_ver}.255 +Provides: xorg-drv-video-intel +Obsoletes: xorg-drv-video-intel < 2.99.917.20230201 + +%description +Intel video driver for Xorg. + +%package devel +Summary: Devel files for the Intel video driver for Xorg +Group: Development/Libraries +Requires: %{name} == %{?epoch:%epoch:}%{version}-%{release} + +%description devel +Devel files for the Intel video driver for Xorg. + +%debug_package + +%prep +%setup -q -n xf86-video-intel-%{version} +#%patch0 -p1 +%patch1 -p1 +%ifarch %{ix86} +#%patch2 -p1 +%endif +#%patch3 -p1 +NOCONFIGURE=1 ./autogen.sh + +%build +%configure \ + --enable-kms-only \ + --with-default-dri=3 + +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +install -d -m0755 %{buildroot}%{_sysconfdir}/X11/xorg.conf.d +cat > %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/20-intel.conf.sna << _EOF +Section "Device" + Identifier "Intel Graphics" + Driver "intel" + Option "AccelMethod" "sna" + Option "TearFree" "true" + Option "DRI" "3" +EndSection +_EOF + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files +%defattr(-,root,root) +%{_sysconfdir}/X11/xorg.conf.d/20-intel.conf.sna +%{_bindir}/intel-virtual-output +#%{_libdir}/libI810XvMC.so.* +%{_libdir}/libIntelXvMC.so.* +%{_libdir}/xorg/modules/drivers/* +%{_libexecdir}/xf86-video-intel-backlight-helper +%{_datadir}/polkit-1/actions/org.x.xf86-video-intel.backlight-helper.policy +%{_mandir}/man4/intel.4* +%{_mandir}/man4/intel-virtual-output.4* + +%files devel +%defattr(-,root,root) +%{_libdir}/libIntelXvMC.so + +%changelog +* Sat Feb 25 2023 Silvan Calarco 2.99.917.20230201.b74b67f0f-1mamba +- update to 2.99.917.20230201.b74b67f0f + +* Sat Feb 19 2022 Silvan Calarco 2.99.917.20210115git.31486f40f8-1mamba +- update to 2.99.917.20210115git.31486f40f8 +- rebuilt by autoport with build requirements: xorg-server-devel>=21.1.3-1mamba + +* Tue Mar 05 2019 Silvan Calarco 2.99.917.20190201git-5mamba +- recompile with --with-default-dri=3 +- added arch patch to fix prime support + +* Tue Mar 05 2019 Silvan Calarco 2.99.917.20190201git-4mamba +- don't install 20-intel.conf by default or non-intel servers won't start + +* Sun Mar 03 2019 Silvan Calarco 2.99.917.20190201git-3mamba +- reconfigure to use sna and set DRI == 3 (seems to fix desktop flickering problems) + +* Sun Mar 03 2019 Silvan Calarco 2.99.917.20190201git-2mamba +- rebuilt with xorg-server 1.20.4 + +* Fri Feb 01 2019 Silvan Calarco 2.99.917.20190201git-1mamba +- update to 2.99.917.20190201git +- remove AccelMethod uxa workaround causing problems since recent Mesa + +* Thu Dec 07 2017 Automatic Build System 2.99.917.20171128git-2mamba +- rebuild with xorg-server 1.19.5 + +* Tue Nov 28 2017 Silvan Calarco 2.99.917.20171128git-1mamba +- update to 2.99.917.20171128git + +* Fri Dec 23 2016 Silvan Calarco 2.99.917.20161223git-1mamba +- update to 2.99.917.20161223git + +* Thu Jan 14 2016 Silvan Calarco 2.99.917.20160114git-1mamba +- update to 2.99.917.20160114git + +* Sun Dec 13 2015 Silvan Calarco 2.99.917-3mamba +- configure Xorg to disable buggy sna support re-enabling uxa by default + +* Fri Aug 21 2015 Silvan Calarco 2.99.917-2mamba +- rebuilt with xorg-server 1.17.2 + +* Wed Jan 14 2015 Automatic Build System 2.99.917-1mamba +- automatic update by autodist + +* Fri Oct 10 2014 Automatic Build System 2.99.916-1mamba +- automatic update by autodist + +* Fri Aug 15 2014 Automatic Build System 2.99.914-1mamba +- automatic update by autodist + +* Sat Jun 14 2014 Silvan Calarco 2.99.912-1mamba +- update to 2.99.912 + +* Mon Feb 24 2014 Automatic Build System 2.99.910-1mamba +- automatic update by autodist + +* Sun Dec 29 2013 Automatic Build System 2.99.906-1mamba +- automatic update by autodist + +* Wed Aug 28 2013 Automatic Build System 2.21.15-1mamba +- automatic update by autodist + +* Tue Aug 13 2013 Automatic Build System 2.21.14-1mamba +- automatic update by autodist + +* Wed Jun 26 2013 Automatic Build System 2.21.10-1mamba +- automatic version update by autodist + +* Tue Jun 11 2013 Automatic Build System 2.21.9-1mamba +- automatic version update by autodist + +* Tue May 28 2013 Automatic Build System 2.21.8-1mamba +- automatic version update by autodist + +* Sun Apr 14 2013 Automatic Build System 2.21.6-1mamba +- automatic version update by autodist + +* Fri Mar 22 2013 Automatic Build System 2.21.5-1mamba +- automatic version update by autodist + +* Tue Mar 12 2013 Automatic Build System 2.21.4-1mamba +- automatic version update by autodist + +* Fri Mar 01 2013 Automatic Build System 2.21.3-1mamba +- automatic version update by autodist + +* Wed Jan 23 2013 Automatic Build System 2.20.19-1mamba +- automatic version update by autodist + +* Fri Jan 18 2013 Automatic Build System 2.20.18-1mamba +- automatic version update by autodist + +* Thu Jan 10 2013 Automatic Build System 2.20.17-1mamba +- automatic version update by autodist + +* Fri Nov 16 2012 Automatic Build System 2.20.13-1mamba +- automatic version update by autodist + +* Fri Aug 31 2012 Automatic Build System 2.20.5-1mamba +- automatic version update by autodist + +* Wed Aug 22 2012 Automatic Build System 2.20.4-1mamba +- automatic version update by autodist + +* Mon Aug 13 2012 Automatic Build System 2.20.3-1mamba +- automatic version update by autodist + +* Thu Jun 07 2012 Silvan Calarco 2.19.0-2mamba +- automatic update by autodist + +* Wed May 30 2012 Silvan Calarco 2.19.0-1mamba +- update to 2.19.0 + +* Fri Feb 17 2012 Silvan Calarco 2.15.0-2mamba +- automatic update by autodist + +* Sun Jun 19 2011 Automatic Build System 2.15.0-1mamba +- automatic update by autodist + +* Thu Mar 10 2011 Silvan Calarco 2.14.0-2mamba +- rebuilt with xorg-server 1.10 + +* Sun Feb 06 2011 Silvan Calarco 2.14.0-1mamba +- update to 2.14.0 + +* Sun Feb 06 2011 Silvan Calarco 2.12.0-3mamba +- rebuilt with xorg-server 1.9.4 + +* Fri Nov 12 2010 Silvan Calarco 2.12.0-2mamba +- rebuilt with xorg-server 1.8.2 + +* Wed Jun 30 2010 Automatic Build System 2.12.0-1mamba +- automatic update by autodist + +* Wed Jun 09 2010 Automatic Build System 2.9.1-1mamba +- automatic update to 2.9.1 by autodist + +* Fri Feb 26 2010 Silvan Calarco 2.9.0-2mamba +- rebuilt for xorg-server 1.7.5 + +* Thu Oct 15 2009 Automatic Build System 2.9.0-1mamba +- automatic update by autodist + +* Mon Aug 31 2009 Automatic Build System 2.8.1-1mamba +- automatic update by autodist + +* Fri Jul 24 2009 Automatic Build System 2.8.0-1mamba +- automatic update by autodist + +* Sat Jul 18 2009 Silvan Calarco 2.7.99.902-1mamba +- update to 2.7.99.902 + +* Sat Jul 18 2009 Silvan Calarco -1mamba +- Package created diff --git a/xorg-drv-video-intel-2.14.0-Mesa-7.10.patch b/xorg-drv-video-intel-2.14.0-Mesa-7.10.patch new file mode 100644 index 0000000..aa1f35d --- /dev/null +++ b/xorg-drv-video-intel-2.14.0-Mesa-7.10.patch @@ -0,0 +1,26 @@ +From ead15550100e32ad08c96be7bde2bfacaac38f64 Mon Sep 17 00:00:00 2001 +From: Chris Wilson +Date: Fri, 17 Dec 2010 16:37:55 +0000 +Subject: [PATCH] G35 is gen4 and not gen3 + +Signed-off-by: Chris Wilson +--- + src/intel_module.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/intel_module.c b/src/intel_module.c +index 898e697..528ecf4 100644 +--- a/src/intel_module.c ++++ b/src/intel_module.c +@@ -315,7 +315,7 @@ void intel_detect_chipset(ScrnInfoPtr scrn, + break; + case PCI_CHIP_G35_G: + chipset->name = "G35"; +- chipset->info = &intel_g33_info; ++ chipset->info = &intel_i965_info; + break; + case PCI_CHIP_I965_Q: + chipset->name = "965Q"; +-- +1.7.2.3 + diff --git a/xorg-drv-video-intel-2.99.917.20190201git-x86-buildfix.patch b/xorg-drv-video-intel-2.99.917.20190201git-x86-buildfix.patch new file mode 100644 index 0000000..83370fa --- /dev/null +++ b/xorg-drv-video-intel-2.99.917.20190201git-x86-buildfix.patch @@ -0,0 +1,11 @@ +--- xf86-video-intel-2.99.917.20190201git/src/sna/compiler.h.orig 2019-02-02 11:00:04.774049260 +0100 ++++ xf86-video-intel-2.99.917.20190201git/src/sna/compiler.h 2019-02-02 11:00:13.204089663 +0100 +@@ -32,7 +32,7 @@ + #define likely(expr) (__builtin_expect (!!(expr), 1)) + #define unlikely(expr) (__builtin_expect (!!(expr), 0)) + #define noinline __attribute__((noinline)) +-#define force_inline inline __attribute__((always_inline)) ++#define force_inline inline + #define fastcall __attribute__((regparm(3))) + #define must_check __attribute__((warn_unused_result)) + #define constant __attribute__((const)) diff --git a/xorg-drv-video-intel-2.99.917.20190201git-xorg-server-1.20.patch b/xorg-drv-video-intel-2.99.917.20190201git-xorg-server-1.20.patch new file mode 100644 index 0000000..ca79478 --- /dev/null +++ b/xorg-drv-video-intel-2.99.917.20190201git-xorg-server-1.20.patch @@ -0,0 +1,93 @@ +From e85424325911626556fbe5a313c698a5da701163 Mon Sep 17 00:00:00 2001 +From: Peter Wu +Date: Mon, 13 Aug 2018 22:59:50 +0200 +Subject: [PATCH xf86-video-intel] SNA: fix PRIME output support since xserver + 1.20 + +Since xorg-server 1.20, an external monitor would remain blank when used +in a PRIME output slave setup. Only a cursor was visible. The cause is +"Make PixmapDirtyUpdateRec::src a DrawablePtr" in xserver, the "src" +pointer might point to the root window (created by the server) instead +of a pixmap (as created by xf86-video-intel). Use get_drawable_pixmap to +handle both cases. + +When built with -fsanitize=address, the following test will trigger a +heap-buffer-overflow error due to to_sna_from_pixmap receiving a window +instead of a pixmap. + +Test on a hybrid graphics laptop (Intel + modesetting/nouveau): + + xrandr --setprovideroutputsource modesetting Intel + xrandr --output DP-1-1 --mode 2560x1440 # should not crash + glxgears # should display gears on both screens + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100086 +Signed-off-by: Peter Wu +--- +Tested with xserver 1.20.1 with ASAN enabled. Survives multiple +resolution changes, works with a Plasma desktop session, it seems +stable. Something like this patch is required to make multi-monitor +setups usable in a hybrid graphics setting with Xorg 1.20. +--- + src/sna/sna_accel.c | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c +index 2f669bcf..80b116a3 100644 +--- a/src/sna/sna_accel.c ++++ b/src/sna/sna_accel.c +@@ -17510,7 +17510,11 @@ static bool has_offload_slaves(struct sna *sna) + PixmapDirtyUpdatePtr dirty; + + xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) { ++#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC ++ assert(dirty->src == &sna->front->drawable); ++#else + assert(dirty->src == sna->front); ++#endif + if (RegionNotEmpty(DamageRegion(dirty->damage))) + return true; + } +@@ -17671,7 +17675,11 @@ static void sna_accel_post_damage(struct sna *sna) + if (RegionNil(damage)) + continue; + ++#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC ++ src = get_drawable_pixmap(dirty->src); ++#else + src = dirty->src; ++#endif + dst = dirty->slave_dst->master_pixmap; + + region.extents.x1 = dirty->x; +@@ -17922,9 +17930,15 @@ migrate_dirty_tracking(PixmapPtr old_front, PixmapPtr new_front) + PixmapDirtyUpdatePtr dirty, safe; + + xorg_list_for_each_entry_safe(dirty, safe, &screen->pixmap_dirty_list, ent) { ++#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC ++ assert(dirty->src == &old_front->drawable); ++ if (dirty->src != &old_front->drawable) ++ continue; ++#else + assert(dirty->src == old_front); + if (dirty->src != old_front) + continue; ++#endif + + DamageUnregister(&dirty->src->drawable, dirty->damage); + DamageDestroy(dirty->damage); +@@ -17939,7 +17953,11 @@ migrate_dirty_tracking(PixmapPtr old_front, PixmapPtr new_front) + } + + DamageRegister(&new_front->drawable, dirty->damage); ++#ifdef HAS_DIRTYTRACKING_DRAWABLE_SRC ++ dirty->src = &new_front->drawable; ++#else + dirty->src = new_front; ++#endif + } + #endif + } +-- +2.18.0 +