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]

This commit is contained in:
Silvan Calarco 2024-01-05 19:38:50 +01:00
parent c828b03aad
commit f1b85db796
3 changed files with 192 additions and 0 deletions

View File

@ -1,2 +1,4 @@
# xf86-video-nouveau # xf86-video-nouveau
X.Org accelerated Open Source video driver for nVidia cards.

140
xf86-video-nouveau.spec Normal file
View File

@ -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 <silvan.calarco@mambasoft.it>
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 <silvan.calarco@mambasoft.it> 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 <silvan.calarco@mambasoft.it> 1.0.17-3mamba
- load driver with noaccel=1 to ensure basic functionalities on nvidia GPUs
* Sat Feb 19 2022 Automatic Build System <autodist@mambasoft.it> 1.0.17-2mamba
- rebuilt by autoport with build requirements: xorg-server-devel>=21.1.3-1mamba
* Tue Jan 26 2021 Automatic Build System <autodist@mambasoft.it> 1.0.17-1mamba
- automatic version update by autodist
* Sun Mar 03 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 1.0.16-2mamba
- rebuilt with xorg-server 1.20.4
* Fri Feb 01 2019 Automatic Build System <autodist@mambasoft.it> 1.0.16-1mamba
- automatic version update by autodist
* Thu Dec 07 2017 Automatic Build System <autodist@mambasoft.it> 1.0.15-2mamba
- rebuild with xorg-server 1.19.5
* Sun Aug 13 2017 Automatic Build System <autodist@mambasoft.it> 1.0.15-1mamba
- automatic version update by autodist
* Sat Mar 18 2017 Automatic Build System <autodist@mambasoft.it> 1.0.14-1mamba
- automatic version update by autodist
* Mon Sep 26 2016 Automatic Build System <autodist@mambasoft.it> 1.0.13-1mamba
- automatic version update by autodist
* Fri Jan 15 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 1.0.12-1mamba
- update to 1.0.12
* Fri Aug 21 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 1.0.11-2mamba
- rebuilt with xorg-server 1.17.2
* Wed Mar 04 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 1.0.11-1mamba
- update to 1.0.11
* Sat Jun 14 2014 Automatic Build System <autodist@mambasoft.it> 1.0.10-2mamba
- X.org 1.15 rebuild
* Thu Dec 12 2013 Automatic Build System <autodist@mambasoft.it> 1.0.10-1mamba
- automatic update by autodist
* Mon Aug 12 2013 Automatic Build System <autodist@mambasoft.it> 1.0.9-1mamba
- automatic update by autodist
* Fri Jun 14 2013 Automatic Build System <autodist@mambasoft.it> 1.0.8-1mamba
- automatic version update by autodist
* Sun Mar 31 2013 Automatic Build System <autodist@mambasoft.it> 1.0.7-1mamba
- automatic version update by autodist
* Thu Jan 10 2013 Automatic Build System <autodist@mambasoft.it> 1.0.6-1mamba
- automatic version update by autodist
* Fri Nov 16 2012 Automatic Build System <autodist@mambasoft.it> 1.0.4-1mamba
- automatic version update by autodist
* Wed Oct 10 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 1.0.2-2mamba
- rebuilt with xorg-server 1.12
* Tue Oct 09 2012 Automatic Build System <autodist@mambasoft.it> 1.0.2-1mamba
- automatic version update by autodist
* Thu Jun 07 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 0.0.16.git20120113-3mamba
- automatic update by autodist
* Fri Feb 17 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 0.0.16.git20120113-2mamba
- automatic update by autodist
* Fri Jan 13 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 0.0.16.git20120113-1mamba
- update to 0.0.16.git20120113
* Fri Jan 13 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 0.0.16-3mamba
- updated to git 20120113
* Tue Aug 09 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 0.0.16-2mamba
- rebuilt with xorg-server 1.10
* Fri Oct 01 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 0.0.16-1mamba
- package created

View File

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