Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package xf86-video-nouveau for openSUSE:Factory checked in at 2021-02-01 13:25:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xf86-video-nouveau (Old) and /work/SRC/openSUSE:Factory/.xf86-video-nouveau.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xf86-video-nouveau" Mon Feb 1 13:25:12 2021 rev:18 rq:866587 version:1.0.17 Changes: -------- --- /work/SRC/openSUSE:Factory/xf86-video-nouveau/xf86-video-nouveau.changes 2020-06-02 14:32:59.006447770 +0200 +++ /work/SRC/openSUSE:Factory/.xf86-video-nouveau.new.28504/xf86-video-nouveau.changes 2021-02-01 13:25:17.993831522 +0100 @@ -1,0 +2,21 @@ +Mon Jan 25 12:46:54 UTC 2021 - Stefan Dirsch <sndir...@suse.com> + +- no longer set CFLAGS, because "%optflags" is already included in + %configure macro + +------------------------------------------------------------------- +Sun Jan 24 14:40:15 UTC 2021 - Dirk M??ller <dmuel...@suse.com> + +- update to 1.0.17: + * present: fix handling of drmWaitVBlank failures + * drmmode: make event handler leave a note that there are stuck events + * present: don't enable if there's no acceleration + * drmmode: fix screen resize without acceleration + * make error when failing to allocate surface more descriptive + * dri2,present: move in pixmap before getting addresses + * nv4/exa: tiling is unsupported pre-nv10, reduce alignment requirements + * Don't advertise any PRIME offloading capabilities without acceleration + +- spec-cleaner cleanups + +------------------------------------------------------------------- Old: ---- xf86-video-nouveau-1.0.16.tar.bz2 New: ---- xf86-video-nouveau-1.0.17.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xf86-video-nouveau.spec ++++++ --- /var/tmp/diff_new_pack.cZnGWW/_old 2021-02-01 13:25:18.757832720 +0100 +++ /var/tmp/diff_new_pack.cZnGWW/_new 2021-02-01 13:25:18.757832720 +0100 @@ -1,7 +1,7 @@ # # spec file for package xf86-video-nouveau # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,31 +17,30 @@ Name: xf86-video-nouveau +Version: 1.0.17 +Release: 0 +Summary: Accelerated Open Source driver for nVidia cards +License: MIT +Group: System/X11/Servers/XF86_4 +URL: https://nouveau.freedesktop.org/ +Source0: http://xorg.freedesktop.org/releases/individual/driver/%{name}-%{version}.tar.bz2 +Patch0: N_xf86-video-nouveau_nva3-noaccel-info.patch BuildRequires: libtool BuildRequires: pciutils-devel +BuildRequires: pkgconfig BuildRequires: xorg-x11-sdk BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(libdrm) >= 2.4.25 BuildRequires: pkgconfig(libdrm_nouveau) >= 2.4.25 BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(xorg-macros) -Url: http://nouveau.freedesktop.org/wiki/ -Version: 1.0.16 -Release: 0 -Summary: Accelerated Open Source driver for nVidia cards -License: MIT -Group: System/X11/Servers/XF86_4 Requires: xorg-x11-server +Supplements: modalias(xorg-x11-server:pci:v000010DEd*sv*sd*bc03sc*i*) +Supplements: modalias(xorg-x11-server:pci:v000012D2d*sv*sd*bc03sc*i*) Provides: xorg-x11-driver-video-nouveau = %{version} Obsoletes: xorg-x11-driver-video-nouveau < %{version} -ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source0: http://xorg.freedesktop.org/releases/individual/driver/%{name}-%{version}.tar.bz2 -Patch0: N_xf86-video-nouveau_nva3-noaccel-info.patch -Supplements: modalias(xorg-x11-server:pci:v000012D2d*sv*sd*bc03sc*i*) -Supplements: modalias(xorg-x11-server:pci:v000010DEd*sv*sd*bc03sc*i*) - -%x11_abi_videodrv_req +ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le %{arm} aarch64 +%{x11_abi_videodrv_req} %description The nouveau project aims to build high-quality, open source drivers for nVidia @@ -53,15 +52,14 @@ %build autoreconf -fi -%configure CFLAGS="$RPM_OPT_FLAGS" -make %{?_smp_mflags} +%configure +%make_build %install -make install DESTDIR=$RPM_BUILD_ROOT -find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print +%make_install +find %{buildroot} -type f -name "*.la" -delete -print %files -%defattr(-,root,root) %dir %{_libdir}/xorg/modules/drivers %{_libdir}/xorg/modules/drivers/*_drv.so %{_mandir}/man4/* ++++++ xf86-video-nouveau-1.0.16.tar.bz2 -> xf86-video-nouveau-1.0.17.tar.bz2 ++++++ ++++ 5713 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nouveau-1.0.16/ChangeLog new/xf86-video-nouveau-1.0.17/ChangeLog --- old/xf86-video-nouveau-1.0.16/ChangeLog 2019-01-29 05:42:20.000000000 +0100 +++ new/xf86-video-nouveau-1.0.17/ChangeLog 2021-01-23 19:25:03.000000000 +0100 @@ -1,3 +1,112 @@ +commit c39897466573aabd6a3b4e63e8e5fb42ac5971f8 +Author: Ilia Mirkin <imir...@alum.mit.edu> +Date: Sat Jan 23 12:24:42 2021 -0500 + + Bump version to 1.0.17 + + Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> + +commit 7212a2782f3e638acf49de4716656b2ae27c2156 +Author: Ilia Mirkin <imir...@alum.mit.edu> +Date: Sat Aug 15 23:18:22 2020 -0400 + + present: fix handling of drmWaitVBlank failures + + When drmWaitVBlank fails, make sure to remove the event from the queue. + + Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> + +commit 5031100549fb053527a1f11d771e930dec065ced +Author: Ilia Mirkin <imir...@alum.mit.edu> +Date: Sat Aug 15 23:20:53 2020 -0400 + + drmmode: make event handler leave a note that there are stuck events + + We don't really expect to have too many events in the queue. If there + are, then the algorithm we use isn't appropriate. Add a warning when the + queue gets very long, as it's an indication of something having gone + wrong. + + Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> + +commit f833cd0827a73b716cc3af5905015fcb2c7d958d +Author: Ilia Mirkin <imir...@alum.mit.edu> +Date: Sat Jul 18 18:44:58 2020 -0400 + + present: don't enable if there's no acceleration + + All the present logic relies on EXA being used to wrap everything. + Unclear if present could even be used without the other things EXA + enables, but better be safe. + + Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> + +commit 971624406a8ecd85bad8c2e2d1fd26f5d14bae92 +Author: Ilia Mirkin <imir...@alum.mit.edu> +Date: Sat Jul 18 18:40:35 2020 -0400 + + drmmode: fix screen resize without acceleration + + This got broken with commit 86024cee back in 2014! + drmmode_pixmap/nouveau_pixmap expect there to be EXA wrapping around the + pixmap now, which is not there without accel. + + Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> + +commit 5444cabcf0ab5cea614270f1ad1df1e1fccb3c2b +Author: Ilia Mirkin <imir...@alum.mit.edu> +Date: Sat Oct 26 18:36:27 2019 -0400 + + make error when failing to allocate surface more descriptive + + Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> + +commit ef89b3c5ca9b2569ca61a9452d13a93edc832810 +Author: Ilia Mirkin <imir...@alum.mit.edu> +Date: Sat Oct 12 20:13:25 2019 -0400 + + dri2,present: move in pixmap before getting addresses + + First of all, we were not forcing the pixmap to be moved in before + attempting to present it. Secondly, in certain configurations, we avoid + ever backing pixmaps with vram (in GPUs with 32MB of VRAM or less). + + This fixes the observed cases where we ended up assuming that a bo was + backing a pixmap without doing the explicit move-in. + + Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> + +commit 856572319fadeeadf58d782ab6f3f2d230822d67 +Author: Ilia Mirkin <imir...@alum.mit.edu> +Date: Sat Oct 12 16:00:15 2019 -0400 + + nv4/exa: tiling is unsupported pre-nv10, reduce alignment requirements + + Commit 8c8f15c9d3 added increased pitch alignment requirements to handle + nv10-nv40 tiling (which must have a small number * PoT pitch). While + NV4/NV5 do have tiling, this was never supported in nouveau. + + This change enables 1920x1200 resolutions since the maximum surface + pitch has to be strictly less than 8192. The current logic will align + 1920*4 up to 8192 unnecessarily. + + Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> + Cc: Marcin Ko??cielnicki <koria...@0x04.net> + Cc: Francisco Jerez <curroje...@riseup.net> + +commit a5f04582cecb1a649bb46b8af9f2889247788d00 +Author: Carlo Caione <ca...@endlessm.com> +Date: Fri Sep 1 12:47:23 2017 +0200 + + Don't advertise any PRIME offloading capabilities without acceleration + + Acceleration is required even for display offloading. Trying to enable + display offloading without acceleration resulted in a crash. + + https://bugs.freedesktop.org/show_bug.cgi?id=101220 + + Signed-off-by: Carlo Caione <ca...@endlessm.com> + commit ec2b45d1bf4c31c5420b48c213bf9ee1656adf9d Author: Ilia Mirkin <imir...@alum.mit.edu> Date: Mon Jan 28 23:25:58 2019 -0500 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nouveau-1.0.16/compile new/xf86-video-nouveau-1.0.17/compile --- old/xf86-video-nouveau-1.0.16/compile 2019-01-29 05:42:14.000000000 +0100 +++ new/xf86-video-nouveau-1.0.17/compile 2021-01-23 19:24:56.000000000 +0100 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/*) + cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nouveau-1.0.16/configure.ac new/xf86-video-nouveau-1.0.17/configure.ac --- old/xf86-video-nouveau-1.0.16/configure.ac 2019-01-29 05:41:58.000000000 +0100 +++ new/xf86-video-nouveau-1.0.17/configure.ac 2021-01-23 19:24:38.000000000 +0100 @@ -23,8 +23,8 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-nouveau], - [1.0.16], - [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/nouveau], + [1.0.17], + [https://gitlab.freedesktop.org/xorg/driver/xf86-video-nouveau/-/issues/], [xf86-video-nouveau]) AC_DEFINE_UNQUOTED([NV_DRIVER_DATE], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nouveau-1.0.16/m4/libtool.m4 new/xf86-video-nouveau-1.0.17/m4/libtool.m4 --- old/xf86-video-nouveau-1.0.16/m4/libtool.m4 2019-01-29 05:42:05.000000000 +0100 +++ new/xf86-video-nouveau-1.0.17/m4/libtool.m4 2021-01-23 19:24:47.000000000 +0100 @@ -1708,6 +1708,11 @@ lt_cv_sys_max_cmd_len=8192; ;; + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. @@ -2636,11 +2641,11 @@ version_type=darwin need_lib_prefix=no need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + library_names_spec='$libname$release$versuffix$shared_ext $libname$release$major$shared_ext $libname$shared_ext' soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + shrext_cmds='`test .$module = .yes && echo .bundle || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nouveau-1.0.16/missing new/xf86-video-nouveau-1.0.17/missing --- old/xf86-video-nouveau-1.0.16/missing 2019-01-29 05:42:14.000000000 +0100 +++ new/xf86-video-nouveau-1.0.17/missing 2021-01-23 19:24:56.000000000 +0100 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nouveau-1.0.16/src/drmmode_display.c new/xf86-video-nouveau-1.0.17/src/drmmode_display.c --- old/xf86-video-nouveau-1.0.16/src/drmmode_display.c 2019-01-29 05:41:58.000000000 +0100 +++ new/xf86-video-nouveau-1.0.17/src/drmmode_display.c 2021-01-23 19:24:38.000000000 +0100 @@ -159,6 +159,8 @@ .prev = &drmmode_events, }; +static bool warned = false; + static void drmmode_event_handler(int fd, unsigned int frame, unsigned int tv_sec, unsigned int tv_usec, void *event_data) @@ -166,7 +168,10 @@ const uint64_t ust = (uint64_t)tv_sec * 1000000 + tv_usec; struct drmmode_event *e = event_data; + int counter = 0; + xorg_list_for_each_entry(e, &drmmode_events, head) { + counter++; if (e == event_data) { xorg_list_del(&e->head); e->func((void *)(e + 1), e->name, ust, frame); @@ -174,6 +179,12 @@ break; } } + + if (counter > 100 && !warned) { + xf86DrvMsg(0, X_WARNING, + "Event handler iterated %d times\n", counter); + warned = true; + } } void @@ -1545,7 +1556,7 @@ } ppix = screen->GetScreenPixmap(screen); - if (pNv->AccelMethod >= NONE) + if (pNv->AccelMethod > NONE) nouveau_bo_ref(pNv->scanout, &drmmode_pixmap(ppix)->bo); screen->ModifyPixmapHeader(ppix, width, height, -1, -1, pitch, (pNv->AccelMethod > NONE || pNv->ShadowPtr) ? diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nouveau-1.0.16/src/nouveau_dri2.c new/xf86-video-nouveau-1.0.17/src/nouveau_dri2.c --- old/xf86-video-nouveau-1.0.16/src/nouveau_dri2.c 2019-01-29 05:41:58.000000000 +0100 +++ new/xf86-video-nouveau-1.0.17/src/nouveau_dri2.c 2021-01-23 19:24:38.000000000 +0100 @@ -62,7 +62,10 @@ ppix->refcnt++; } else { int bpp; - unsigned int usage_hint = NOUVEAU_CREATE_PIXMAP_TILED; + unsigned int usage_hint = 0; + + if (pNv->Architecture >= NV_ARCH_10) + usage_hint |= NOUVEAU_CREATE_PIXMAP_TILED; /* 'format' is just depth (or 0, or maybe it depends on the caller) */ bpp = round_up_pow2(format ? format : pDraw->depth); @@ -245,9 +248,13 @@ static Bool update_front(DrawablePtr draw, DRI2BufferPtr front) { - int r; - PixmapPtr pixmap; + ScrnInfoPtr scrn = xf86ScreenToScrn(draw->pScreen); + NVPtr pNv = NVPTR(scrn); struct nouveau_dri2_buffer *nvbuf = nouveau_dri2_buffer(front); + struct nouveau_bo *pixmap_bo; + + PixmapPtr pixmap; + int r; if (draw->type == DRAWABLE_PIXMAP) pixmap = (PixmapPtr)draw; @@ -256,8 +263,16 @@ pixmap->refcnt++; + pNv->exa_force_cp = TRUE; exaMoveInPixmap(pixmap); - r = nouveau_bo_name_get(nouveau_pixmap_bo(pixmap), &front->name); + pNv->exa_force_cp = FALSE; + pixmap_bo = nouveau_pixmap_bo(pixmap); + + if (!pixmap_bo) + r = -1; + else + r = nouveau_bo_name_get(pixmap_bo, &front->name); + if (r) { (*draw->pScreen->DestroyPixmap)(pixmap); return FALSE; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nouveau-1.0.16/src/nouveau_present.c new/xf86-video-nouveau-1.0.17/src/nouveau_present.c --- old/xf86-video-nouveau-1.0.16/src/nouveau_present.c 2019-01-29 05:41:58.000000000 +0100 +++ new/xf86-video-nouveau-1.0.17/src/nouveau_present.c 2021-01-23 19:24:38.000000000 +0100 @@ -113,8 +113,19 @@ args.request.signal = (unsigned long)token; while ((ret = drmWaitVBlank(pNv->dev->fd, &args)) != 0) { - if (errno != EBUSY || drmmode_event_flush(crtc->scrn) < 0) + if (errno != EBUSY) { + xf86DrvMsgVerb(crtc->scrn->scrnIndex, X_WARNING, 4, + "PRESENT: Wait for VBlank failed: %s\n", strerror(errno)); + drmmode_event_abort(crtc->scrn, event_id, false); return BadAlloc; + } + ret = drmmode_event_flush(crtc->scrn); + if (ret < 0) { + xf86DrvMsgVerb(crtc->scrn->scrnIndex, X_WARNING, 4, + "PRESENT: Event flush failed\n"); + drmmode_event_abort(crtc->scrn, event_id, false); + return BadAlloc; + } } return Success; @@ -147,12 +158,25 @@ PixmapPtr pixmap, Bool sync_flip) { ScrnInfoPtr scrn = xf86ScreenToScrn(window->drawable.pScreen); + NVPtr pNv = NVPTR(scrn); xf86CrtcPtr crtc = rrcrtc->devPrivate; + struct nouveau_pixmap *priv = nouveau_pixmap(pixmap); if (!scrn->vtSema || !drmmode_crtc_on(crtc) || crtc->rotatedData) return FALSE; - return TRUE; + if (!priv) { + /* The pixmap may not have had backing for low-memory GPUs, or + * if we ran out of VRAM. Make sure it's properly backed for + * flipping. + */ + pNv->exa_force_cp = TRUE; + exaMoveInPixmap(pixmap); + pNv->exa_force_cp = FALSE; + priv = nouveau_pixmap(pixmap); + } + + return priv ? TRUE : FALSE; } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nouveau-1.0.16/src/nv_accel_common.c new/xf86-video-nouveau-1.0.17/src/nv_accel_common.c --- old/xf86-video-nouveau-1.0.16/src/nv_accel_common.c 2019-01-29 05:41:58.000000000 +0100 +++ new/xf86-video-nouveau-1.0.17/src/nv_accel_common.c 2021-01-23 19:24:38.000000000 +0100 @@ -115,7 +115,7 @@ ret = nouveau_bo_new(pNv->dev, flags, 0, *pitch * height, &cfg, bo); if (ret) { - ErrorF("%d\n", ret); + ErrorF("failure to allocate surface %dx%d@%d (pitch %d): %d\n", width, height, bpp, *pitch, ret); return FALSE; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nouveau-1.0.16/src/nv_driver.c new/xf86-video-nouveau-1.0.17/src/nv_driver.c --- old/xf86-video-nouveau-1.0.16/src/nv_driver.c 2019-01-29 05:41:58.000000000 +0100 +++ new/xf86-video-nouveau-1.0.17/src/nv_driver.c 2021-01-23 19:24:38.000000000 +0100 @@ -1082,7 +1082,8 @@ pNv->wfb_enabled = xf86ReturnOptValBool( pNv->Options, OPTION_WFB, FALSE); - pNv->tiled_scanout = TRUE; + if (pNv->Architecture >= NV_ARCH_10) + pNv->tiled_scanout = TRUE; } pNv->ce_enabled = @@ -1371,6 +1372,9 @@ pNv->ShadowFB = TRUE; pNv->wfb_enabled = FALSE; pNv->tiled_scanout = FALSE; + pScrn->capabilities &= ~(RR_Capability_SourceOutput | + RR_Capability_SourceOffload | + RR_Capability_SinkOutput); pScrn->displayWidth = nv_pitch_align(pNv, pScrn->virtualX, pScrn->depth); @@ -1485,7 +1489,7 @@ xf86SetBlackWhitePixels(pScreen); - if (nouveau_present_init(pScreen)) + if (pNv->AccelMethod == EXA && nouveau_present_init(pScreen)) xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Hardware support for Present enabled\n"); else