From f1b85db7960a64d342e7c14ec2ad049d922044d1 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 5 Jan 2024 19:38:50 +0100 Subject: [PATCH] source renamed from xorg-drv-video-nouveau; comment noaccel=1 workaround causing problems seen on dual GPU laptops [release 1.0.17-4mamba;Sun Feb 26 2023] --- README.md | 2 + xf86-video-nouveau.spec | 140 ++++++++++++++++++ ...eo-nouveau-1.0.17-xorg-server-21.1.3.patch | 50 +++++++ 3 files changed, 192 insertions(+) create mode 100644 xf86-video-nouveau.spec create mode 100644 xorg-drv-video-nouveau-1.0.17-xorg-server-21.1.3.patch diff --git a/README.md b/README.md index cb5aca0..5085884 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # xf86-video-nouveau +X.Org accelerated Open Source video driver for nVidia cards. + diff --git a/xf86-video-nouveau.spec b/xf86-video-nouveau.spec new file mode 100644 index 0000000..b8fd3c7 --- /dev/null +++ b/xf86-video-nouveau.spec @@ -0,0 +1,140 @@ +%define xorg_ver %(pkg-config xorg-server --modversion|cut -d. -f 1-2) +Name: xf86-video-nouveau +Version: 1.0.17 +Release: 4mamba +Summary: X.Org accelerated Open Source video driver for nVidia cards +Group: System/X11 +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: https://www.x.org/wiki/ +Source: https://ftp.x.org/archive/individual/driver/xf86-video-nouveau-%{version}.tar.bz2 +Patch0: xorg-drv-video-nouveau-1.0.17-xorg-server-21.1.3.patch +License: MIT +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libdrm-devel +BuildRequires: libudev-devel +## AUTOBUILDREQ-END +BuildRequires: xorg-server-devel >= 21.1.3-1mamba +Requires: xorg-server >= %{xorg_ver} +Requires: xorg-server <= %{xorg_ver}.255 +Provides: xorgdrvvideo +Provides: xorg-drv-video-nouveau +Obsoletes: xorg-drv-video-nouveau < 1.0.17-4mamba + +%description +X.Org accelerated Open Source video driver for nVidia cards. + +%debug_package + +%prep +%setup -q +%patch0 -p1 -b .xorg-server-21.1.3 + +%build +%configure +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +install -d -m0755 %{buildroot}%{_modprobedir} +cat > %{buildroot}%{_modprobedir}/nouveau.conf << __EOF +#options nouveau noaccel=1 +__EOF + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files +%defattr(-,root,root) +%{_modprobedir}/nouveau.conf +%{_libdir}/xorg/modules/drivers/nouveau_drv.so +%{_mandir}/man4/nouveau.4* + +%changelog +* Sun Feb 26 2023 Silvan Calarco 1.0.17-4mamba +- source renamed from xorg-drv-video-nouveau; comment noaccel=1 workaround causing problems seen on dual GPU laptops + +* Thu Jan 19 2023 Silvan Calarco 1.0.17-3mamba +- load driver with noaccel=1 to ensure basic functionalities on nvidia GPUs + +* Sat Feb 19 2022 Automatic Build System 1.0.17-2mamba +- rebuilt by autoport with build requirements: xorg-server-devel>=21.1.3-1mamba + +* Tue Jan 26 2021 Automatic Build System 1.0.17-1mamba +- automatic version update by autodist + +* Sun Mar 03 2019 Silvan Calarco 1.0.16-2mamba +- rebuilt with xorg-server 1.20.4 + +* Fri Feb 01 2019 Automatic Build System 1.0.16-1mamba +- automatic version update by autodist + +* Thu Dec 07 2017 Automatic Build System 1.0.15-2mamba +- rebuild with xorg-server 1.19.5 + +* Sun Aug 13 2017 Automatic Build System 1.0.15-1mamba +- automatic version update by autodist + +* Sat Mar 18 2017 Automatic Build System 1.0.14-1mamba +- automatic version update by autodist + +* Mon Sep 26 2016 Automatic Build System 1.0.13-1mamba +- automatic version update by autodist + +* Fri Jan 15 2016 Silvan Calarco 1.0.12-1mamba +- update to 1.0.12 + +* Fri Aug 21 2015 Silvan Calarco 1.0.11-2mamba +- rebuilt with xorg-server 1.17.2 + +* Wed Mar 04 2015 Silvan Calarco 1.0.11-1mamba +- update to 1.0.11 + +* Sat Jun 14 2014 Automatic Build System 1.0.10-2mamba +- X.org 1.15 rebuild + +* Thu Dec 12 2013 Automatic Build System 1.0.10-1mamba +- automatic update by autodist + +* Mon Aug 12 2013 Automatic Build System 1.0.9-1mamba +- automatic update by autodist + +* Fri Jun 14 2013 Automatic Build System 1.0.8-1mamba +- automatic version update by autodist + +* Sun Mar 31 2013 Automatic Build System 1.0.7-1mamba +- automatic version update by autodist + +* Thu Jan 10 2013 Automatic Build System 1.0.6-1mamba +- automatic version update by autodist + +* Fri Nov 16 2012 Automatic Build System 1.0.4-1mamba +- automatic version update by autodist + +* Wed Oct 10 2012 Silvan Calarco 1.0.2-2mamba +- rebuilt with xorg-server 1.12 + +* Tue Oct 09 2012 Automatic Build System 1.0.2-1mamba +- automatic version update by autodist + +* Thu Jun 07 2012 Silvan Calarco 0.0.16.git20120113-3mamba +- automatic update by autodist + +* Fri Feb 17 2012 Silvan Calarco 0.0.16.git20120113-2mamba +- automatic update by autodist + +* Fri Jan 13 2012 Silvan Calarco 0.0.16.git20120113-1mamba +- update to 0.0.16.git20120113 + +* Fri Jan 13 2012 Silvan Calarco 0.0.16-3mamba +- updated to git 20120113 + +* Tue Aug 09 2011 Silvan Calarco 0.0.16-2mamba +- rebuilt with xorg-server 1.10 + +* Fri Oct 01 2010 Silvan Calarco 0.0.16-1mamba +- package created diff --git a/xorg-drv-video-nouveau-1.0.17-xorg-server-21.1.3.patch b/xorg-drv-video-nouveau-1.0.17-xorg-server-21.1.3.patch new file mode 100644 index 0000000..03d0b80 --- /dev/null +++ b/xorg-drv-video-nouveau-1.0.17-xorg-server-21.1.3.patch @@ -0,0 +1,50 @@ +diff --git a/src/compat-api.h b/src/compat-api.h +index fde2f4b1cfde75875c07bfe13524dc6ba2661382..8a1fcf9be1c5d1ceb48a50f2ed533d93ec7ff4c7 100644 +--- a/src/compat-api.h ++++ b/src/compat-api.h +@@ -102,4 +102,8 @@ + + #endif + ++#if ABI_VIDEODRV_VERSION < SET_ABI_VERSION(25, 2) ++#define secondary_dst slave_dst ++#endif ++ + #endif +diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c +index 55df6f8f11c9e14b1891e5c841faef10c17f0a35..db3b112a2db70f8e902e54aa3af99e51e7d0c6f7 100644 +--- a/src/nouveau_exa.c ++++ b/src/nouveau_exa.c +@@ -157,7 +157,7 @@ nouveau_exa_destroy_pixmap(ScreenPtr pScreen, void *priv) + + #ifdef NOUVEAU_PIXMAP_SHARING + static Bool +-nouveau_exa_share_pixmap_backing(PixmapPtr ppix, ScreenPtr slave, void **handle_p) ++nouveau_exa_share_pixmap_backing(PixmapPtr ppix, ScreenPtr secondary, void **handle_p) + { + struct nouveau_bo *bo = nouveau_pixmap_bo(ppix); + struct nouveau_pixmap *nvpix = nouveau_pixmap(ppix); +diff --git a/src/nv_driver.c b/src/nv_driver.c +index e72a6b65a81119f12f3608295a4547762a866ad7..f9ab4af19361d99d74f580d1ff3f28d49843e8b0 100644 +--- a/src/nv_driver.c ++++ b/src/nv_driver.c +@@ -559,16 +559,16 @@ redisplay_dirty(ScreenPtr screen, PixmapDirtyUpdatePtr dirty) + { + RegionRec pixregion; + +- PixmapRegionInit(&pixregion, dirty->slave_dst); ++ PixmapRegionInit(&pixregion, dirty->secondary_dst); + +- DamageRegionAppend(&dirty->slave_dst->drawable, &pixregion); ++ DamageRegionAppend(&dirty->secondary_dst->drawable, &pixregion); + #ifdef HAS_DIRTYTRACKING_ROTATION + PixmapSyncDirtyHelper(dirty); + #else + PixmapSyncDirtyHelper(dirty, &pixregion); + #endif + +- DamageRegionProcessPending(&dirty->slave_dst->drawable); ++ DamageRegionProcessPending(&dirty->secondary_dst->drawable); + RegionUninit(&pixregion); + } +