Hello community, here is the log from the commit of package xf86-video-fbdev for openSUSE:Factory checked in at 2018-06-05 12:51:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xf86-video-fbdev (Old) and /work/SRC/openSUSE:Factory/.xf86-video-fbdev.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xf86-video-fbdev" Tue Jun 5 12:51:58 2018 rev:12 rq:613933 version:0.5.0 Changes: -------- --- /work/SRC/openSUSE:Factory/xf86-video-fbdev/xf86-video-fbdev.changes 2018-05-25 21:35:29.847914666 +0200 +++ /work/SRC/openSUSE:Factory/.xf86-video-fbdev.new/xf86-video-fbdev.changes 2018-06-05 12:51:58.999677950 +0200 @@ -1,0 +2,15 @@ +Mon Jun 4 09:23:55 UTC 2018 - sndir...@suse.com + +- Update to version 0.5.0 + * Compatibility updates for xserver 1.20. +- supersedes the following patches + * U_01-Default-to-32bpp-if-the-console-is-8bpp-and-we-weren-t-told-otherwise.patch + * U_02-Use-own-thunk-functions-instead-of-fbdevHW-Weak.patch + * U_03-Pass-the-pci-device-if-any-through-to-fbdevhw-in-probe-and-preinit.patch + * U_04-Initialize-pci_dev.patch + * U_05-Fix-shadow-fb-allocation-size-v2.patch + * U_11-Remove-dead-pix24bpp-variable.patch + * U_12-Use-shadowUpdate32to24-at-24bpp.patch + * U_13-Use-ifdef-instead-of-if-to-avoid-build-error.patch + +------------------------------------------------------------------- Old: ---- U_01-Default-to-32bpp-if-the-console-is-8bpp-and-we-weren-t-told-otherwise.patch U_02-Use-own-thunk-functions-instead-of-fbdevHW-Weak.patch U_03-Pass-the-pci-device-if-any-through-to-fbdevhw-in-probe-and-preinit.patch U_04-Initialize-pci_dev.patch U_05-Fix-shadow-fb-allocation-size-v2.patch U_11-Remove-dead-pix24bpp-variable.patch U_12-Use-shadowUpdate32to24-at-24bpp.patch U_13-Use-ifdef-instead-of-if-to-avoid-build-error.patch xf86-video-fbdev-0.4.4.tar.bz2 New: ---- xf86-video-fbdev-0.5.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xf86-video-fbdev.spec ++++++ --- /var/tmp/diff_new_pack.QefLjt/_old 2018-06-05 12:51:59.711651873 +0200 +++ /var/tmp/diff_new_pack.QefLjt/_new 2018-06-05 12:51:59.715651726 +0200 @@ -17,21 +17,13 @@ Name: xf86-video-fbdev -Version: 0.4.4 +Version: 0.5.0 Release: 0 Summary: Framebuffer video driver for the Xorg X server License: MIT Group: System/X11/Servers/XF86_4 Url: http://xorg.freedesktop.org/ Source0: http://xorg.freedesktop.org/releases/individual/driver/%{name}-%{version}.tar.bz2 -Patch1: U_01-Default-to-32bpp-if-the-console-is-8bpp-and-we-weren-t-told-otherwise.patch -Patch2: U_02-Use-own-thunk-functions-instead-of-fbdevHW-Weak.patch -Patch3: U_03-Pass-the-pci-device-if-any-through-to-fbdevhw-in-probe-and-preinit.patch -Patch4: U_04-Initialize-pci_dev.patch -Patch5: U_05-Fix-shadow-fb-allocation-size-v2.patch -Patch11: U_11-Remove-dead-pix24bpp-variable.patch -Patch12: U_12-Use-shadowUpdate32to24-at-24bpp.patch -Patch13: U_13-Use-ifdef-instead-of-if-to-avoid-build-error.patch BuildRequires: pkg-config BuildRequires: pkgconfig(fontsproto) BuildRequires: pkgconfig(pciaccess) >= 0.8.0 @@ -59,15 +51,6 @@ %prep %setup -q -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 - %build %configure make %{?_smp_mflags} ++++++ xf86-video-fbdev-0.4.4.tar.bz2 -> xf86-video-fbdev-0.5.0.tar.bz2 ++++++ ++++ 23731 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-fbdev-0.4.4/ChangeLog new/xf86-video-fbdev-0.5.0/ChangeLog --- old/xf86-video-fbdev-0.4.4/ChangeLog 2013-09-23 20:09:00.000000000 +0200 +++ new/xf86-video-fbdev-0.5.0/ChangeLog 2018-05-30 18:32:50.000000000 +0200 @@ -1,3 +1,157 @@ +commit 82aa13d01340236ebb516ea45a9bd78e4fe52b79 +Author: Adam Jackson <a...@redhat.com> +Date: Wed May 30 12:17:13 2018 -0400 + + fbdev 0.5.0 + + Signed-off-by: Adam Jackson <a...@redhat.com> + +commit 67525c485f3b32ce0c9bff250d905852f75dfc1c +Author: Adam Jackson <a...@redhat.com> +Date: Wed May 30 12:31:04 2018 -0400 + + Update for 1.20 ABI + + Signed-off-by: Adam Jackson <a...@redhat.com> + +commit 9af7f81534aa03fe01d88786805b00729ac321e9 +Author: Alan Coopersmith <alan.coopersm...@oracle.com> +Date: Sun Mar 4 17:34:06 2018 -0800 + + Use #ifdef instead of #if to avoid build error + + fbdev.c:491:21: error: #if with no expression + #if HAVE_SHADOW_3224 + ^ + + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + Reviewed-by: Adam Jackson <a...@redhat.com> + +commit e0bce0d017c5e1597aa8269551355e1ddeb3c8fb +Author: Adam Jackson <a...@redhat.com> +Date: Thu Jan 5 14:36:51 2017 -0500 + + Use shadowUpdate32to24 at 24bpp + + Signed-off-by: Adam Jackson <a...@redhat.com> + +commit 3cf99231199bd5bd9e681e85d9da1f9eb736e3e7 +Author: Adam Jackson <a...@redhat.com> +Date: Thu Jan 5 14:14:48 2017 -0500 + + Remove dead pix24bpp variable + + Signed-off-by: Adam Jackson <a...@redhat.com> + +commit 8c03e3474edc826e16524898eaa1195070536ac8 +Author: Mihail Konev <k....@ya.ru> +Date: Thu Jan 26 14:00:22 2017 +1000 + + autogen: add default patch prefix + + Signed-off-by: Mihail Konev <k....@ya.ru> + +commit 39f668420f2615d1642f0b823930738936f90fcd +Author: Emil Velikov <emil.l.veli...@gmail.com> +Date: Mon Mar 9 12:00:52 2015 +0000 + + autogen.sh: use quoted string variables + + Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent + fall-outs, when they contain space. + + Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> + Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + +commit 303f902c76cb951eeb753eec62f98ed97ac100a8 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Tue Jan 24 10:32:07 2017 +1000 + + autogen.sh: use exec instead of waiting for configure to finish + + Syncs the invocation of configure with the one from the server. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Emil Velikov <emil.veli...@collabora.com> + +commit f62731959955bc4e48721ab258cb5e3cd6761d65 +Author: Alan Coopersmith <alan.coopersm...@oracle.com> +Date: Sun Jun 1 21:03:14 2014 -0700 + + autogen.sh: Honor NOCONFIGURE=1 + + See http://people.gnome.org/~walters/docs/build-api.txt + + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + +commit 22f288b4e478e68877cb8e1cc0c470d11d73c0db +Author: Alan Coopersmith <alan.coopersm...@oracle.com> +Date: Sun Jun 1 21:03:13 2014 -0700 + + configure: Drop AM_MAINTAINER_MODE + + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + +commit 2c5eba85740e6a7ced8ada0ee45fdd74e4bca364 +Author: Adam Jackson <a...@redhat.com> +Date: Wed Jan 4 10:30:08 2017 -0500 + + Fix shadow fb allocation size (v2) + + ->bitsPerPixel is rather obviously eight times too large. + + v2: Use ->displayWidth - the pitch - not ->virtualX (Keith Packard) + + Signed-off-by: Adam Jackson <a...@redhat.com> + Reviewed-by: Alex Deucher <alexander.deuc...@amd.com> + +commit 66e7909bfefd93c05aa37d0cadccc5348f0382be +Author: Pascal Terjan <pter...@google.com> +Date: Fri Jan 22 00:26:22 2016 +0000 + + Initialize pci_dev + + Else it is read before initialization if XSERVER_LIBPCIACCESS is not + defined or location.type is not BUS_PCI. + + Noticed when I got a segfault where it was 0x1 while doing some tests on + arm. + + Signed-off-by: Pascal Terjan <pter...@google.com> + Reviewed-by: Emil Velikov <emil.l.veli...@gmail.com> + +commit ae0aeffae6657464f610da13e7b3349d0d97e81b +Author: Adam Jackson <a...@redhat.com> +Date: Mon Aug 11 12:07:54 2014 -0400 + + Pass the pci device (if any) through to fbdevhw in probe and preinit + + Signed-off-by: Adam Jackson <a...@redhat.com> + +commit 2673e727063fe28310836f1e6e9eda552930218a +Author: Adam Jackson <a...@redhat.com> +Date: Wed May 21 09:49:56 2014 -0400 + + Use own thunk functions instead of fbdevHW*Weak + + I plan to remove the Weak functions from a future server. + + Signed-off-by: Adam Jackson <a...@redhat.com> + +commit dd1cf1028c3f0de77d075c4a169011518baab0f4 +Author: Adam Jackson <a...@redhat.com> +Date: Fri Mar 21 12:20:01 2014 -0400 + + Default to 32bpp if the console is 8bpp (and we weren't told otherwise) + + You can still override this on the command line or in the config file. + Without this we'll come up at 8bpp on matroxfb (and probably others), + which among other things breaks the default desktop since gnome-shell + wants GLX and GLX doesn't support pseudocolor anymore. + + Signed-off-by: Adam Jackson <a...@redhat.com> + commit 679ed9a4e6b54227df191c580e3ef641e075db19 Author: Julien Cristau <jcris...@debian.org> Date: Mon Sep 23 20:02:47 2013 +0200 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-fbdev-0.4.4/INSTALL new/xf86-video-fbdev-0.5.0/INSTALL --- old/xf86-video-fbdev-0.4.4/INSTALL 2013-09-23 20:09:00.000000000 +0200 +++ new/xf86-video-fbdev-0.5.0/INSTALL 2018-05-30 18:32:50.000000000 +0200 @@ -1,11 +1,13 @@ Installation Instructions ************************* -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, +Inc. - This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. Basic Installation ================== @@ -13,7 +15,11 @@ Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for -instructions specific to this package. +instructions specific to this package. Some packages provide this +`INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses @@ -42,7 +48,7 @@ you want to change it or regenerate `configure' using a newer version of `autoconf'. -The simplest way to compile this package is: + The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. @@ -53,12 +59,22 @@ 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with - the package. + the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and - documentation. + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the `make install' phase executed with root + privileges. + + 5. Optionally, type `make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior `make install' required + root privileges, verifies that the installation completed + correctly. - 5. You can remove the program binaries and object files from the + 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is @@ -67,8 +83,15 @@ all sorts of other programs in order to regenerate files that came with the distribution. - 6. Often, you can also type `make uninstall' to remove the installed - files again. + 7. Often, you can also type `make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide `make + distcheck', which can by used by developers to test that all other + targets like `make install' and `make uninstall' work correctly. + This target is generally not run by end users. Compilers and Options ===================== @@ -93,7 +116,8 @@ own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. +source code in the directory that `configure' is in and in `..'. This +is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have @@ -120,7 +144,8 @@ By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX'. +`configure' the option `--prefix=PREFIX', where PREFIX must be an +absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you @@ -131,15 +156,46 @@ In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. +you can set and what kinds of files go in them. In general, the +default for these options is expressed in terms of `${prefix}', so that +specifying just `--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to `configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +`make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, `make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +`${prefix}'. Any directories that were specified during `configure', +but not in terms of `${prefix}', must each be overridden at install +time for the entire installation to be relocated. The approach of +makefile variable overrides for each directory variable is required by +the GNU Coding Standards, and ideally causes no recompilation. +However, some platforms have known limitations with the semantics of +shared libraries that end up requiring recompilation when using this +method, particularly noticeable in packages that use GNU Libtool. + + The second method involves providing the `DESTDIR' variable. For +example, `make install DESTDIR=/alternate/directory' will prepend +`/alternate/directory' before all installation names. The approach of +`DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of `${prefix}' +at `configure' time. + +Optional Features +================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. -Optional Features -================= - Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE @@ -152,6 +208,13 @@ you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. + Some packages offer the ability to configure how verbose the +execution of `make' will be. For these packages, running `./configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with `make V=1'; while running `./configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with `make V=0'. + Particular systems ================== @@ -159,10 +222,15 @@ CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: - ./configure CC="cc -Ae" + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. + HP-UX `make' updates targets which have the same time stamps as +their prerequisites, which makes it generally unusable when shipped +generated files such as `configure' are involved. Use GNU `make' +instead. + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `<wchar.h>' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended @@ -174,6 +242,16 @@ ./configure CC="cc -nodtk" + On Solaris, don't put `/usr/ucb' early in your `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in `/usr/bin'. So, if you need `/usr/ucb' +in your `PATH', put it _after_ `/usr/bin'. + + On Haiku, software installed for all users goes in `/boot/common', +not `/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + Specifying the System Type ========================== @@ -189,7 +267,8 @@ where SYSTEM can have one of these forms: - OS KERNEL-OS + OS + KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't @@ -277,7 +356,7 @@ `configure' can determine that directory automatically. `--prefix=DIR' - Use DIR as the installation prefix. *Note Installation Names:: + Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. 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-fbdev-0.4.4/compile new/xf86-video-fbdev-0.5.0/compile --- old/xf86-video-fbdev-0.4.4/compile 2013-09-23 20:03:10.000000000 +0200 +++ new/xf86-video-fbdev-0.5.0/compile 2018-05-30 18:32:45.000000000 +0200 @@ -1,9 +1,9 @@ -#! /bin/sh +#!/bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-10-14.11; # UTC +scriptversion=2016-01-11.22; # UTC -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -255,7 +255,8 @@ echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -342,6 +343,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: 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-fbdev-0.4.4/config.h.in new/xf86-video-fbdev-0.5.0/config.h.in --- old/xf86-video-fbdev-0.4.4/config.h.in 2013-09-23 20:03:09.000000000 +0200 +++ new/xf86-video-fbdev-0.5.0/config.h.in 2018-05-30 18:32:44.000000000 +0200 @@ -35,8 +35,7 @@ /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ +/* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Name of package */ 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-fbdev-0.4.4/configure.ac new/xf86-video-fbdev-0.5.0/configure.ac --- old/xf86-video-fbdev-0.4.4/configure.ac 2013-09-23 20:01:04.000000000 +0200 +++ new/xf86-video-fbdev-0.5.0/configure.ac 2018-05-30 18:32:40.000000000 +0200 @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-fbdev], - [0.4.4], + [0.5.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-fbdev]) AC_CONFIG_SRCDIR([Makefile.am]) @@ -32,7 +32,6 @@ # Initialize Automake AM_INIT_AUTOMAKE([foreign dist-bzip2]) -AM_MAINTAINER_MODE # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS m4_ifndef([XORG_MACROS_VERSION], 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-fbdev-0.4.4/man/fbdev.man new/xf86-video-fbdev-0.5.0/man/fbdev.man --- old/xf86-video-fbdev-0.4.4/man/fbdev.man 2013-08-16 11:25:48.000000000 +0200 +++ new/xf86-video-fbdev-0.5.0/man/fbdev.man 2018-05-30 18:32:40.000000000 +0200 @@ -47,12 +47,14 @@ The framebuffer device to use. Default: /dev/fb0. .TP .BI "Option \*qShadowFB\*q \*q" boolean \*q -Enable or disable use of the shadow framebuffer layer. Default: on. +Enable or disable use of the shadow framebuffer layer. Mandatory for 24bpp +framebuffers on newer servers. Default: on. .TP .BI "Option \*qRotate\*q \*q" string \*q Enable rotation of the display. The supported values are "CW" (clockwise, 90 degrees), "UD" (upside down, 180 degrees) and "CCW" (counter clockwise, -270 degrees). Implies use of the shadow framebuffer layer. Default: off. +270 degrees). Implies use of the shadow framebuffer layer. Disabled for 24bpp +framebuffers. Default: off. .SH "SEE ALSO" __xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__), fbdevhw(__drivermansuffix__) 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-fbdev-0.4.4/missing new/xf86-video-fbdev-0.5.0/missing --- old/xf86-video-fbdev-0.4.4/missing 2013-09-23 20:03:10.000000000 +0200 +++ new/xf86-video-fbdev-0.5.0/missing 2018-05-30 18:32:45.000000000 +0200 @@ -1,9 +1,9 @@ -#! /bin/sh +#!/bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2012-06-26.16; # UTC +scriptversion=2016-01-11.22; # UTC -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 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 @@ -160,7 +160,7 @@ ;; autom4te*) echo "You might have modified some maintainer files that require" - echo "the 'automa4te' program to be rebuilt." + echo "the 'autom4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) @@ -210,6 +210,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: 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-fbdev-0.4.4/src/fbdev.c new/xf86-video-fbdev-0.5.0/src/fbdev.c --- old/xf86-video-fbdev-0.4.4/src/fbdev.c 2013-09-23 20:00:47.000000000 +0200 +++ new/xf86-video-fbdev-0.5.0/src/fbdev.c 2018-05-30 18:32:40.000000000 +0200 @@ -38,6 +38,13 @@ #include <pciaccess.h> #endif +/* for xf86{Depth,FbBpp}. i am a terrible person, and i am sorry. */ +#include "xf86Priv.h" + +#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) > 23 +#define HAVE_SHADOW_3224 +#endif + static Bool debug = 0; #define TRACE_ENTER(str) \ @@ -73,12 +80,6 @@ /* -------------------------------------------------------------------- */ -/* - * This is intentionally screen-independent. It indicates the binding - * choice made in the first PreInit. - */ -static int pix24bpp = 0; - #define FBDEV_VERSION 4000 #define FBDEV_NAME "FBDEV" #define FBDEV_DRIVER_NAME "fbdev" @@ -184,6 +185,7 @@ int lineLength; int rotate; Bool shadowFB; + Bool shadow24; void *shadow; CloseScreenProcPtr CloseScreen; CreateScreenResourcesProcPtr CreateScreenResources; @@ -230,6 +232,35 @@ xf86PrintChipsets(FBDEV_NAME, "driver for framebuffer", FBDevChipsets); } +static Bool +fbdevSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode) +{ + return fbdevHWSwitchMode(pScrn, mode); +} + +static void +fbdevAdjustFrame(ScrnInfoPtr pScrn, int x, int y) +{ + fbdevHWAdjustFrame(pScrn, x, y); +} + +static Bool +fbdevEnterVT(ScrnInfoPtr pScrn) +{ + return fbdevHWEnterVT(pScrn); +} + +static void +fbdevLeaveVT(ScrnInfoPtr pScrn) +{ + fbdevHWLeaveVT(pScrn); +} + +static ModeStatus +fbdevValidMode(ScrnInfoPtr pScrn, DisplayModePtr mode, Bool verbose, int flags) +{ + return fbdevHWValidMode(pScrn, mode, verbose, flags); +} #ifdef XSERVER_LIBPCIACCESS static Bool FBDevPciProbe(DriverPtr drv, int entity_num, @@ -248,18 +279,18 @@ pScrn->entityInstanceList[0]); device = xf86FindOptionValue(devSection->options, "fbdev"); - if (fbdevHWProbe(NULL, device, NULL)) { + if (fbdevHWProbe(dev, device, NULL)) { pScrn->driverVersion = FBDEV_VERSION; pScrn->driverName = FBDEV_DRIVER_NAME; pScrn->name = FBDEV_NAME; pScrn->Probe = FBDevProbe; pScrn->PreInit = FBDevPreInit; pScrn->ScreenInit = FBDevScreenInit; - pScrn->SwitchMode = fbdevHWSwitchModeWeak(); - pScrn->AdjustFrame = fbdevHWAdjustFrameWeak(); - pScrn->EnterVT = fbdevHWEnterVTWeak(); - pScrn->LeaveVT = fbdevHWLeaveVTWeak(); - pScrn->ValidMode = fbdevHWValidModeWeak(); + pScrn->SwitchMode = fbdevSwitchMode; + pScrn->AdjustFrame = fbdevAdjustFrame; + pScrn->EnterVT = fbdevEnterVT; + pScrn->LeaveVT = fbdevLeaveVT; + pScrn->ValidMode = fbdevValidMode; xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "claimed PCI slot %d@%d:%d:%d\n", @@ -372,11 +403,11 @@ pScrn->Probe = FBDevProbe; pScrn->PreInit = FBDevPreInit; pScrn->ScreenInit = FBDevScreenInit; - pScrn->SwitchMode = fbdevHWSwitchModeWeak(); - pScrn->AdjustFrame = fbdevHWAdjustFrameWeak(); - pScrn->EnterVT = fbdevHWEnterVTWeak(); - pScrn->LeaveVT = fbdevHWLeaveVTWeak(); - pScrn->ValidMode = fbdevHWValidModeWeak(); + pScrn->SwitchMode = fbdevSwitchMode; + pScrn->AdjustFrame = fbdevAdjustFrame; + pScrn->EnterVT = fbdevEnterVT; + pScrn->LeaveVT = fbdevLeaveVT; + pScrn->ValidMode = fbdevValidMode; xf86DrvMsg(pScrn->scrnIndex, X_INFO, "using %s\n", dev ? dev : "default device"); @@ -395,6 +426,7 @@ int default_depth, fbbpp; const char *s; int type; + void *pci_dev = NULL; if (flags & PROBE_DETECT) return FALSE; @@ -422,20 +454,53 @@ "xf86RegisterResources() found resource conflicts\n"); return FALSE; } +#else + if (fPtr->pEnt->location.type == BUS_PCI) + pci_dev = fPtr->pEnt->location.id.pci; #endif /* open device */ - if (!fbdevHWInit(pScrn,NULL,xf86FindOptionValue(fPtr->pEnt->device->options,"fbdev"))) + if (!fbdevHWInit(pScrn, pci_dev, + xf86FindOptionValue(fPtr->pEnt->device->options, + "fbdev"))) return FALSE; default_depth = fbdevHWGetDepth(pScrn,&fbbpp); + + if (default_depth == 8) do { + /* trust the command line */ + if (xf86FbBpp > 0 || xf86Depth > 0) + break; + + /* trust the config file's Screen stanza */ + if (pScrn->confScreen->defaultfbbpp > 0 || + pScrn->confScreen->defaultdepth > 0) + break; + + /* trust our Device stanza in the config file */ + if (xf86FindOption(fPtr->pEnt->device->options, "DefaultDepth") || + xf86FindOption(fPtr->pEnt->device->options, "DefaultFbBpp")) + break; + + /* otherwise, lol no */ + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Console is 8bpp, defaulting to 32bpp\n"); + default_depth = 24; + fbbpp = 32; + } while (0); + + fPtr->shadow24 = FALSE; +#ifdef HAVE_SHADOW_3224 + /* okay but 24bpp is awful */ + if (fbbpp == 24) { + fPtr->shadow24 = TRUE; + fbbpp = 32; + } +#endif + if (!xf86SetDepthBpp(pScrn, default_depth, default_depth, fbbpp, Support24bppFb | Support32bppFb | SupportConvert32to24 | SupportConvert24to32)) return FALSE; xf86PrintDepthBpp(pScrn); - /* Get the depth24 pixmap format */ - if (pScrn->depth == 24 && pix24bpp == 0) - pix24bpp = xf86GetBppFromDepth(pScrn, 24); - /* color weight */ if (pScrn->depth > 8) { rgb zeros = { 0, 0, 0 }; @@ -480,12 +545,18 @@ /* use shadow framebuffer by default */ fPtr->shadowFB = xf86ReturnOptValBool(fPtr->Options, OPTION_SHADOW_FB, TRUE); + if (!fPtr->shadowFB && fPtr->shadow24) { + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "24bpp requires shadow framebuffer, forcing\n"); + fPtr->shadowFB = TRUE; + } debug = xf86ReturnOptValBool(fPtr->Options, OPTION_DEBUG, FALSE); /* rotation */ fPtr->rotate = FBDEV_ROTATE_NONE; - if ((s = xf86GetOptValString(fPtr->Options, OPTION_ROTATE))) + s = xf86GetOptValString(fPtr->Options, OPTION_ROTATE); + if (s && !fPtr->shadow24) { if(!xf86NameCmp(s, "CW")) { @@ -606,6 +677,25 @@ return TRUE; } +static void +fbdevUpdate32to24(ScreenPtr pScreen, shadowBufPtr pBuf) +{ +#ifdef HAVE_SHADOW_3224 + shadowUpdate32to24(pScreen, pBuf); +#endif +} + +static void +fbdevUpdateRotatePacked(ScreenPtr pScreen, shadowBufPtr pBuf) +{ + shadowUpdateRotatePacked(pScreen, pBuf); +} + +static void +fbdevUpdatePacked(ScreenPtr pScreen, shadowBufPtr pBuf) +{ + shadowUpdatePacked(pScreen, pBuf); +} static Bool FBDevCreateScreenResources(ScreenPtr pScreen) @@ -614,6 +704,7 @@ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); FBDevPtr fPtr = FBDEVPTR(pScrn); Bool ret; + void (*update)(ScreenPtr, shadowBufPtr); pScreen->CreateScreenResources = fPtr->CreateScreenResources; ret = pScreen->CreateScreenResources(pScreen); @@ -624,9 +715,15 @@ pPixmap = pScreen->GetScreenPixmap(pScreen); - if (!shadowAdd(pScreen, pPixmap, fPtr->rotate ? - shadowUpdateRotatePackedWeak() : shadowUpdatePackedWeak(), - FBDevWindowLinear, fPtr->rotate, NULL)) { + if (fPtr->shadow24) + update = fbdevUpdate32to24; + else if (fPtr->rotate) + update = fbdevUpdateRotatePacked; + else + update = fbdevUpdatePacked; + + if (!shadowAdd(pScreen, pPixmap, update, FBDevWindowLinear, fPtr->rotate, + NULL)) { return FALSE; } @@ -649,6 +746,23 @@ return TRUE; } +static void +fbdevLoadPalette(ScrnInfoPtr pScrn, int num, int *i, LOCO *col, VisualPtr pVis) +{ + fbdevHWLoadPalette(pScrn, num, i, col, pVis); +} + +static void +fbdevDPMSSet(ScrnInfoPtr pScrn, int mode, int flags) +{ + fbdevHWDPMSSet(pScrn, mode, flags); +} + +static Bool +fbdevSaveScreen(ScreenPtr pScreen, int mode) +{ + return fbdevHWSaveScreen(pScreen, mode); +} static Bool FBDevScreenInit(SCREEN_INIT_ARGS_DECL) @@ -738,8 +852,8 @@ fPtr->fbstart = fPtr->fbmem + fPtr->fboff; if (fPtr->shadowFB) { - fPtr->shadow = calloc(1, pScrn->virtualX * pScrn->virtualY * - pScrn->bitsPerPixel); + fPtr->shadow = calloc(1, pScrn->displayWidth * pScrn->virtualY * + ((pScrn->bitsPerPixel + 7) / 8)); if (!fPtr->shadow) { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, @@ -837,7 +951,9 @@ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "display rotated; disabling DGA\n"); xf86DrvMsg(pScrn->scrnIndex, X_INFO, "using driver rotation; disabling " "XRandR\n"); +#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 24 xf86DisableRandR(); +#endif if (pScrn->bitsPerPixel == 24) xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "rotation might be broken at 24 " "bits per pixel\n"); @@ -883,13 +999,12 @@ return FALSE; } flags = CMAP_PALETTED_TRUECOLOR; - if(!xf86HandleColormaps(pScreen, 256, 8, fbdevHWLoadPaletteWeak(), - NULL, flags)) + if(!xf86HandleColormaps(pScreen, 256, 8, fbdevLoadPalette, NULL, flags)) return FALSE; - xf86DPMSInit(pScreen, fbdevHWDPMSSetWeak(), 0); + xf86DPMSInit(pScreen, fbdevDPMSSet, 0); - pScreen->SaveScreen = fbdevHWSaveScreenWeak(); + pScreen->SaveScreen = fbdevSaveScreen; /* Wrap the current CloseScreen function */ fPtr->CloseScreen = pScreen->CloseScreen;