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 - sndirsch@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
+Date: Wed May 30 12:17:13 2018 -0400
+
+ fbdev 0.5.0
+
+ Signed-off-by: Adam Jackson
+
+commit 67525c485f3b32ce0c9bff250d905852f75dfc1c
+Author: Adam Jackson
+Date: Wed May 30 12:31:04 2018 -0400
+
+ Update for 1.20 ABI
+
+ Signed-off-by: Adam Jackson
+
+commit 9af7f81534aa03fe01d88786805b00729ac321e9
+Author: Alan Coopersmith
+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
+ Reviewed-by: Adam Jackson
+
+commit e0bce0d017c5e1597aa8269551355e1ddeb3c8fb
+Author: Adam Jackson
+Date: Thu Jan 5 14:36:51 2017 -0500
+
+ Use shadowUpdate32to24 at 24bpp
+
+ Signed-off-by: Adam Jackson
+
+commit 3cf99231199bd5bd9e681e85d9da1f9eb736e3e7
+Author: Adam Jackson
+Date: Thu Jan 5 14:14:48 2017 -0500
+
+ Remove dead pix24bpp variable
+
+ Signed-off-by: Adam Jackson
+
+commit 8c03e3474edc826e16524898eaa1195070536ac8
+Author: Mihail Konev
+Date: Thu Jan 26 14:00:22 2017 +1000
+
+ autogen: add default patch prefix
+
+ Signed-off-by: Mihail Konev
+
+commit 39f668420f2615d1642f0b823930738936f90fcd
+Author: Emil Velikov
+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
+ Reviewed-by: Peter Hutterer
+ Signed-off-by: Peter Hutterer
+
+commit 303f902c76cb951eeb753eec62f98ed97ac100a8
+Author: Peter Hutterer
+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
+ Reviewed-by: Emil Velikov
+
+commit f62731959955bc4e48721ab258cb5e3cd6761d65
+Author: Alan Coopersmith
+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
+
+commit 22f288b4e478e68877cb8e1cc0c470d11d73c0db
+Author: Alan Coopersmith
+Date: Sun Jun 1 21:03:13 2014 -0700
+
+ configure: Drop AM_MAINTAINER_MODE
+
+ Signed-off-by: Alan Coopersmith
+
+commit 2c5eba85740e6a7ced8ada0ee45fdd74e4bca364
+Author: Adam Jackson
+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
+ Reviewed-by: Alex Deucher
+
+commit 66e7909bfefd93c05aa37d0cadccc5348f0382be
+Author: Pascal Terjan
+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
+ Reviewed-by: Emil Velikov
+
+commit ae0aeffae6657464f610da13e7b3349d0d97e81b
+Author: Adam Jackson
+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
+
+commit 2673e727063fe28310836f1e6e9eda552930218a
+Author: Adam Jackson
+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
+
+commit dd1cf1028c3f0de77d075c4a169011518baab0f4
+Author: Adam Jackson
+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
+
commit 679ed9a4e6b54227df191c580e3ef641e075db19
Author: Julien Cristau
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 `' 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 .
#
# 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 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 , 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
#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;