update to 2.99.917.20230201.b74b67f0f [release 2.99.917.20230201.b74b67f0f-1mamba;Sat Feb 25 2023]

This commit is contained in:
Silvan Calarco 2024-01-05 19:38:28 +01:00
parent 3cdb1cb3b7
commit 77ad73201f
6 changed files with 419 additions and 0 deletions

View File

@ -1,2 +1,4 @@
# xf86-video-intel # xf86-video-intel
Intel video driver for Xorg.

View File

@ -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 <sys/ioctl.h>
#include <sys/fcntl.h>
#include <sys/poll.h>
+#include <sys/stat.h>
#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 <stdlib.h>
#include <stdio.h>
#include <errno.h>
+#include <sys/stat.h>
#include "xorg-server.h"
#include "xf86.h"

267
xf86-video-intel.spec Normal file
View File

@ -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 <silvan.calarco@mambasoft.it>
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 <silvan.calarco@mambasoft.it> 2.99.917.20230201.b74b67f0f-1mamba
- update to 2.99.917.20230201.b74b67f0f
* Sat Feb 19 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 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 <silvan.calarco@mambasoft.it> 2.99.917.20190201git-5mamba
- recompile with --with-default-dri=3
- added arch patch to fix prime support
* Tue Mar 05 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 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 <silvan.calarco@mambasoft.it> 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 <silvan.calarco@mambasoft.it> 2.99.917.20190201git-2mamba
- rebuilt with xorg-server 1.20.4
* Fri Feb 01 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 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 <autodist@mambasoft.it> 2.99.917.20171128git-2mamba
- rebuild with xorg-server 1.19.5
* Tue Nov 28 2017 Silvan Calarco <silvan.calarco@mambasoft.it> 2.99.917.20171128git-1mamba
- update to 2.99.917.20171128git
* Fri Dec 23 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 2.99.917.20161223git-1mamba
- update to 2.99.917.20161223git
* Thu Jan 14 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 2.99.917.20160114git-1mamba
- update to 2.99.917.20160114git
* Sun Dec 13 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 2.99.917-3mamba
- configure Xorg to disable buggy sna support re-enabling uxa by default
* Fri Aug 21 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 2.99.917-2mamba
- rebuilt with xorg-server 1.17.2
* Wed Jan 14 2015 Automatic Build System <autodist@mambasoft.it> 2.99.917-1mamba
- automatic update by autodist
* Fri Oct 10 2014 Automatic Build System <autodist@mambasoft.it> 2.99.916-1mamba
- automatic update by autodist
* Fri Aug 15 2014 Automatic Build System <autodist@mambasoft.it> 2.99.914-1mamba
- automatic update by autodist
* Sat Jun 14 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 2.99.912-1mamba
- update to 2.99.912
* Mon Feb 24 2014 Automatic Build System <autodist@mambasoft.it> 2.99.910-1mamba
- automatic update by autodist
* Sun Dec 29 2013 Automatic Build System <autodist@mambasoft.it> 2.99.906-1mamba
- automatic update by autodist
* Wed Aug 28 2013 Automatic Build System <autodist@mambasoft.it> 2.21.15-1mamba
- automatic update by autodist
* Tue Aug 13 2013 Automatic Build System <autodist@mambasoft.it> 2.21.14-1mamba
- automatic update by autodist
* Wed Jun 26 2013 Automatic Build System <autodist@mambasoft.it> 2.21.10-1mamba
- automatic version update by autodist
* Tue Jun 11 2013 Automatic Build System <autodist@mambasoft.it> 2.21.9-1mamba
- automatic version update by autodist
* Tue May 28 2013 Automatic Build System <autodist@mambasoft.it> 2.21.8-1mamba
- automatic version update by autodist
* Sun Apr 14 2013 Automatic Build System <autodist@mambasoft.it> 2.21.6-1mamba
- automatic version update by autodist
* Fri Mar 22 2013 Automatic Build System <autodist@mambasoft.it> 2.21.5-1mamba
- automatic version update by autodist
* Tue Mar 12 2013 Automatic Build System <autodist@mambasoft.it> 2.21.4-1mamba
- automatic version update by autodist
* Fri Mar 01 2013 Automatic Build System <autodist@mambasoft.it> 2.21.3-1mamba
- automatic version update by autodist
* Wed Jan 23 2013 Automatic Build System <autodist@mambasoft.it> 2.20.19-1mamba
- automatic version update by autodist
* Fri Jan 18 2013 Automatic Build System <autodist@mambasoft.it> 2.20.18-1mamba
- automatic version update by autodist
* Thu Jan 10 2013 Automatic Build System <autodist@mambasoft.it> 2.20.17-1mamba
- automatic version update by autodist
* Fri Nov 16 2012 Automatic Build System <autodist@mambasoft.it> 2.20.13-1mamba
- automatic version update by autodist
* Fri Aug 31 2012 Automatic Build System <autodist@mambasoft.it> 2.20.5-1mamba
- automatic version update by autodist
* Wed Aug 22 2012 Automatic Build System <autodist@mambasoft.it> 2.20.4-1mamba
- automatic version update by autodist
* Mon Aug 13 2012 Automatic Build System <autodist@mambasoft.it> 2.20.3-1mamba
- automatic version update by autodist
* Thu Jun 07 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 2.19.0-2mamba
- automatic update by autodist
* Wed May 30 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 2.19.0-1mamba
- update to 2.19.0
* Fri Feb 17 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 2.15.0-2mamba
- automatic update by autodist
* Sun Jun 19 2011 Automatic Build System <autodist@mambasoft.it> 2.15.0-1mamba
- automatic update by autodist
* Thu Mar 10 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 2.14.0-2mamba
- rebuilt with xorg-server 1.10
* Sun Feb 06 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 2.14.0-1mamba
- update to 2.14.0
* Sun Feb 06 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 2.12.0-3mamba
- rebuilt with xorg-server 1.9.4
* Fri Nov 12 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 2.12.0-2mamba
- rebuilt with xorg-server 1.8.2
* Wed Jun 30 2010 Automatic Build System <autodist@mambasoft.it> 2.12.0-1mamba
- automatic update by autodist
* Wed Jun 09 2010 Automatic Build System <autodist@mambasoft.it> 2.9.1-1mamba
- automatic update to 2.9.1 by autodist
* Fri Feb 26 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 2.9.0-2mamba
- rebuilt for xorg-server 1.7.5
* Thu Oct 15 2009 Automatic Build System <autodist@mambasoft.it> 2.9.0-1mamba
- automatic update by autodist
* Mon Aug 31 2009 Automatic Build System <autodist@mambasoft.it> 2.8.1-1mamba
- automatic update by autodist
* Fri Jul 24 2009 Automatic Build System <autodist@mambasoft.it> 2.8.0-1mamba
- automatic update by autodist
* Sat Jul 18 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.99.902-1mamba
- update to 2.7.99.902
* Sat Jul 18 2009 Silvan Calarco <silvan.calarco@mambasoft.it> -1mamba
- Package created

View File

@ -0,0 +1,26 @@
From ead15550100e32ad08c96be7bde2bfacaac38f64 Mon Sep 17 00:00:00 2001
From: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri, 17 Dec 2010 16:37:55 +0000
Subject: [PATCH] G35 is gen4 and not gen3
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
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

View File

@ -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))

View File

@ -0,0 +1,93 @@
From e85424325911626556fbe5a313c698a5da701163 Mon Sep 17 00:00:00 2001
From: Peter Wu <peter@lekensteyn.nl>
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 <peter@lekensteyn.nl>
---
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