Compare commits

...

21 Commits

Author SHA1 Message Date
Adam Jackson
fe1fa4c016 Unlibcwrap. Bump server version requirement. Bump to 0.2.0. 2006-04-07 19:02:07 +00:00
gravity
41a763816d Convert manpage to utf-8 2006-01-10 03:22:11 +00:00
Kevin E Martin
332464c43f Update package version for X11R7 release. 2005-12-21 02:30:00 +00:00
Adam Jackson
cf1b33cb4d Stub COPYING files 2005-12-19 16:25:53 +00:00
Kevin E Martin
35c09ae4c4 Update package version number for final X11R7 release candidate. 2005-12-15 00:24:17 +00:00
Kevin E Martin
2e4f3e6a0a Change *man_SOURCES ==> *man_PRE to fix autotools warnings. 2005-12-06 22:48:34 +00:00
Kevin E Martin
8521127ff1 Update package version number for X11R7 RC3 release. 2005-12-03 05:49:33 +00:00
Kevin E Martin
7a37e5db75 Remove extraneous AC_MSG_RESULT. 2005-12-02 02:16:08 +00:00
Adam Jackson
4635b198fb Only build dlloader modules by default. 2005-11-29 23:29:58 +00:00
Alan Coopersmith
91b40b9c63 Change *mandir targets to use new *_MAN_DIR variables set by xorg-macros.m4
update to fix bug #5167 (Linux prefers *.1x man pages in man1 subdir)
2005-11-28 22:04:09 +00:00
Eric Anholt
ff70627427 Add .cvsignores for drivers. 2005-11-21 10:49:12 +00:00
Kevin E Martin
d57ddc84c3 Update package version number for X11R7 RC2 release. 2005-11-09 21:15:15 +00:00
Kevin E Martin
493a1b8b11 Update pkgcheck depedencies to work with separate build roots. 2005-11-01 15:08:52 +00:00
Kevin E Martin
3f11faf88c Update package version number for RC1 release. 2005-10-19 02:48:02 +00:00
Alan Coopersmith
e87f2ee9b1 Use @DRIVER_MAN_SUFFIX@ instead of $(DRIVER_MAN_SUFFIX) in macro
substitutions to work better with BSD make
2005-10-18 00:01:53 +00:00
Adam Jackson
5f77732d9a More 1.7 braindamage: define EXTRA_DIST in terms of @DRIVER_NAME@ instead
of indirectly
2005-10-17 22:57:33 +00:00
Alan Coopersmith
52518e4511 Use sed & cpp to substitute variables in driver man pages 2005-10-17 00:09:02 +00:00
Daniel Stone
a2a75f4dba Numerous spelling and grammar fixes. (Branden Robinson, Debian #099n) 2005-08-26 06:32:45 +00:00
Daniel Stone
28171378a1 Update autogen.sh to one that does objdir != srcdir. 2005-08-18 09:03:46 +00:00
Kevin E Martin
f060ccc1f1 Various changes preparing packages for RC0:
- Verify and update package version numbers as needed
- Implement versioning scheme
- Change bug address to point to bugzilla bug entry form
- Disable loadable i18n in libX11 by default (use --enable-loadable-i18n to
    reenable it)
- Fix makedepend to use pkgconfig and pass distcheck
- Update build script to build macros first
- Update modular Xorg version
2005-07-29 21:22:43 +00:00
Søren Sandmann Pedersen
d0517a40a9 Build system for fbdev driver 2005-07-25 23:50:23 +00:00
12 changed files with 374 additions and 60 deletions

19
.cvsignore Normal file
View File

@@ -0,0 +1,19 @@
Makefile
Makefile.in
*.la
*.lo
aclocal.m4
autom4te.cache
config.guess
config.h
config.h.in
config.log
config.status
config.sub
configure
depcomp
install-sh
libtool
ltmain.sh
missing
stamp-h1

12
COPYING Normal file
View File

@@ -0,0 +1,12 @@
This is a stub file. This package has not yet had its complete licensing
information compiled. Please see the individual source files for details on
your rights to use and modify this software.
Please submit updated COPYING files to the Xorg bugzilla:
https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
All licensing questions regarding this software should be directed at the
Xorg mailing list:
http://lists.freedesktop.org/mailman/listinfo/xorg

51
ChangeLog Normal file
View File

@@ -0,0 +1,51 @@
2006-04-06 Adam Jackson <ajax@freedesktop.org>
* configure.ac:
* src/fbdev.c:
Unlibcwrap. Bump server version requirement. Bump to 0.2.0.
2006-01-09 David Nusinow <gravity-at-freedesktop-dot-org>
* man/fbdev.man:
Convert manpage to utf-8
Bugzilla #1925 <https://bugs.freedesktop.org/show_bug.cgi?id=1925>
2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
* configure.ac:
Update package version for X11R7 release.
2005-12-14 Kevin E. Martin <kem-at-freedesktop-dot-org>
* configure.ac:
Update package version number for final X11R7 release candidate.
2005-12-06 Kevin E. Martin <kem-at-freedesktop-dot-org>
* man/Makefile.am:
Change *man_SOURCES ==> *man_PRE to fix autotools warnings.
2005-12-03 Kevin E. Martin <kem-at-freedesktop-dot-org>
* configure.ac:
Update package version number for X11R7 RC3 release.
2005-12-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
* configure.ac:
Remove extraneous AC_MSG_RESULT.
2005-11-29 Adam Jackson <ajax@freedesktop.org>
* configure.ac:
Only build dlloader modules by default.
2005-11-09 Kevin E. Martin <kem-at-freedesktop-dot-org>
* configure.ac:
Update package version number for X11R7 RC2 release.
2005-11-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
* configure.ac:
Update pkgcheck dependencies to work with separate build roots.

22
Makefile.am Normal file
View File

@@ -0,0 +1,22 @@
# Copyright 2005 Adam Jackson.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# on the rights to use, copy, modify, merge, publish, distribute, sub
# license, and/or sell copies of the Software, and to permit persons to whom
# the Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
# ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
AUTOMAKE_OPTIONS = foreign
SUBDIRS = src man

12
autogen.sh Executable file
View File

@@ -0,0 +1,12 @@
#! /bin/sh
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd $srcdir
autoreconf -v --install || exit 1
cd $ORIGDIR || exit $?
$srcdir/configure --enable-maintainer-mode "$@"

77
configure.ac Normal file
View File

@@ -0,0 +1,77 @@
# Copyright 2005 Adam Jackson.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# on the rights to use, copy, modify, merge, publish, distribute, sub
# license, and/or sell copies of the Software, and to permit persons to whom
# the Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
# ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Process this file with autoconf to produce a configure script
AC_PREREQ(2.57)
AC_INIT([xf86-video-fbdev],
0.2.0,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-fbdev)
AC_CONFIG_SRCDIR([Makefile.am])
AM_CONFIG_HEADER([config.h])
AC_CONFIG_AUX_DIR(.)
AM_INIT_AUTOMAKE([dist-bzip2])
AM_MAINTAINER_MODE
# Checks for programs.
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
AC_PROG_CC
AH_TOP([#include "xorg-server.h"])
AC_ARG_WITH(xorg-module-dir,
AC_HELP_STRING([--with-xorg-module-dir=DIR],
[Default xorg module directory [[default=$libdir/xorg/modules]]]),
[moduledir="$withval"],
[moduledir="$libdir/xorg/modules"])
# Checks for extensions
XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
XORG_DRIVER_CHECK_EXT(XV, videoproto)
# Checks for pkg-config packages
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES])
sdkdir=$(pkg-config --variable=sdkdir xorg-server)
# Checks for libraries.
# Checks for header files.
AC_HEADER_STDC
AC_SUBST([XORG_CFLAGS])
AC_SUBST([moduledir])
DRIVER_NAME=fbdev
AC_SUBST([DRIVER_NAME])
XORG_MANPAGE_SECTIONS
XORG_RELEASE_VERSION
AC_OUTPUT([
Makefile
src/Makefile
man/Makefile
])

2
man/.cvsignore Normal file
View File

@@ -0,0 +1,2 @@
Makefile
Makefile.in

59
man/Makefile.am Normal file
View File

@@ -0,0 +1,59 @@
# $Id$
#
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation.
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the copyright holders shall
# not be used in advertising or otherwise to promote the sale, use or
# other dealings in this Software without prior written authorization
# from the copyright holders.
#
drivermandir = $(DRIVER_MAN_DIR)
driverman_PRE = @DRIVER_NAME@.man
driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@)
EXTRA_DIST = @DRIVER_NAME@.man
CLEANFILES = $(driverman_DATA)
SED = sed
# Strings to replace in man pages
XORGRELSTRING = @PACKAGE_STRING@
XORGMANNAME = X Version 11
MAN_SUBSTS = \
-e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
-e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
-e 's|__xservername__|Xorg|g' \
-e 's|__xconfigfile__|xorg.conf|g' \
-e 's|__projectroot__|$(prefix)|g' \
-e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
-e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \
-e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \
-e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \
-e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g'
SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
.man.$(DRIVER_MAN_SUFFIX):
sed $(MAN_SUBSTS) < $< > $@

View File

@@ -1,4 +1,4 @@
.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.3 2001/10/02 15:57:32 alanh Exp $
.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.2 2001/01/27 18:20:47 dawes Exp $
.\" shorthand for double quote that works everywhere.
.ds q \N'34'
.TH FBDEV __drivermansuffix__ __vendorversion__
@@ -15,7 +15,7 @@ fbdev \- video driver for framebuffer device
.fi
.SH DESCRIPTION
.B fbdev
is an XFree86 driver for framebuffer devices. This is a non-accelerated
is an __xservername__ driver for framebuffer devices. This is a non-accelerated
driver, the following framebuffer depths are supported: 8, 15, 16, 24.
All visual types are supported for depth 8, and TrueColor visual is
supported for the other depths. Multi-head configurations are supported.
@@ -27,7 +27,7 @@ fbdev uses the os-specific submodule fbdevhw(__drivermansuffix__) to talk
to the kernel
device driver. Currently a fbdevhw module is available for linux.
.SH CONFIGURATION DETAILS
Please refer to XF86Config(__filemansuffix__) for general configuration
Please refer to __xconfigfile__(__filemansuffix__) for general configuration
details. This section only covers configuration details specific to
this driver.
.PP
@@ -38,7 +38,8 @@ driver can pick up the currently used video mode from the framebuffer
driver and will use it if there are no video modes configured.
.PP
For PCI boards you might have to add a BusID line to the Device
section. See above for a sample line. You can use "XFree86 -scanpci"
section. See above for a sample line. You can use \*q\__xservername__
-scanpci\*q
to figure out the correct values.
.PP
The following driver
@@ -56,7 +57,7 @@ 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.
.SH "SEE ALSO"
XFree86(1), XF86Config(__filemansuffix__), xf86config(1), Xserver(1),
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__),
X(__miscmansuffix__), fbdevhw(__drivermansuffix__)
.SH AUTHORS
Authors include: Gerd Knorr, Michel Dänzer, Geert Uytterhoeven
Authors include: Gerd Knorr, Michel Dänzer, Geert Uytterhoeven

6
src/.cvsignore Normal file
View File

@@ -0,0 +1,6 @@
.deps
.libs
Makefile
Makefile.in
*.la
*.lo

32
src/Makefile.am Normal file
View File

@@ -0,0 +1,32 @@
# Copyright 2005 Adam Jackson.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# on the rights to use, copy, modify, merge, publish, distribute, sub
# license, and/or sell copies of the Software, and to permit persons to whom
# the Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
# ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# this is obnoxious:
# -module lets us name the module exactly how we want
# -avoid-version prevents gratuitous .0.0.0 version numbers on the end
# _ladir passes a dummy rpath to libtool so the thing will actually link
# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
AM_CFLAGS = @XORG_CFLAGS@
fbdev_drv_la_LTLIBRARIES = fbdev_drv.la
fbdev_drv_la_LDFLAGS = -module -avoid-version
fbdev_drv_ladir = @moduledir@/drivers
fbdev_drv_la_SOURCES = \
fbdev.c

View File

@@ -9,10 +9,11 @@
#include "config.h"
#endif
#include <string.h>
/* all driver need this */
#include "xf86.h"
#include "xf86_OSproc.h"
#include "xf86_ansic.h"
#include "mipointer.h"
#include "mibstore.h"
@@ -81,14 +82,14 @@ enum { FBDEV_ROTATE_NONE=0, FBDEV_ROTATE_CW=270, FBDEV_ROTATE_UD=180, FBDEV_ROTA
*/
static int pix24bpp = 0;
#define VERSION 4000
#define FBDEV_VERSION 4000
#define FBDEV_NAME "FBDEV"
#define FBDEV_DRIVER_NAME "fbdev"
#define FBDEV_MAJOR_VERSION 0
#define FBDEV_MINOR_VERSION 1
#define FBDEV_MINOR_VERSION 2
_X_EXPORT DriverRec FBDEV = {
VERSION,
FBDEV_VERSION,
FBDEV_DRIVER_NAME,
#if 0
"driver for linux framebuffer devices",
@@ -360,7 +361,7 @@ FBDevProbe(DriverPtr drv, int flags)
if (pScrn) {
foundScreen = TRUE;
pScrn->driverVersion = VERSION;
pScrn->driverVersion = FBDEV_VERSION;
pScrn->driverName = FBDEV_DRIVER_NAME;
pScrn->name = FBDEV_NAME;
pScrn->Probe = FBDevProbe;
@@ -443,7 +444,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
/* We don't currently support DirectColor at > 8bpp */
if (pScrn->depth > 8 && pScrn->defaultVisual != TrueColor) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Given default visual"
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "requested default visual"
" (%s) is not supported at depth %d\n",
xf86GetVisualName(pScrn->defaultVisual), pScrn->depth);
return FALSE;
@@ -462,8 +463,8 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
pScrn->chipset = "fbdev";
pScrn->videoRam = fbdevHWGetVidmem(pScrn);
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Hardware: %s (vidmem: %dk)\n",
fbdevHWGetName(pScrn),pScrn->videoRam/1024);
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "hardware: %s (video memory:"
" %dkB)\n", fbdevHWGetName(pScrn), pScrn->videoRam/1024);
/* handle options */
xf86CollectOptions(pScrn, NULL);
@@ -484,37 +485,37 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
fPtr->shadowFB = TRUE;
fPtr->rotate = FBDEV_ROTATE_CW;
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
"Rotating screen clockwise\n");
"rotating screen clockwise\n");
}
else if(!xf86NameCmp(s, "CCW"))
{
fPtr->shadowFB = TRUE;
fPtr->rotate = FBDEV_ROTATE_CCW;
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
"Rotating screen counter clockwise\n");
"rotating screen counter-clockwise\n");
}
else if(!xf86NameCmp(s, "UD"))
{
fPtr->shadowFB = TRUE;
fPtr->rotate = FBDEV_ROTATE_UD;
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
"Rotating screen upside down\n");
"rotating screen upside-down\n");
}
else
{
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
"\"%s\" is not a valid value for Option \"Rotate\"\n", s);
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"Valid options are \"CW\", \"CCW\" or \"UD\"\n");
"valid options are \"CW\", \"CCW\" and \"UD\"\n");
}
}
/* select video modes */
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Checking Modes against framebuffer device...\n");
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "checking modes against framebuffer device...\n");
fbdevHWSetVideoModes(pScrn);
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Checking Modes against monitor...\n");
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "checking modes against monitor...\n");
{
DisplayModePtr mode, first = mode = pScrn->modes;
@@ -564,30 +565,32 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
break;
default:
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"Unsupported bpp: %d", pScrn->bitsPerPixel);
"unsupported number of bits per pixel: %d",
pScrn->bitsPerPixel);
return FALSE;
}
break;
case FBDEVHW_INTERLEAVED_PLANES:
/* Not supported yet, don't know what to do with this */
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"Interleaved Planes are not supported yet by drivers/fbdev.");
"interleaved planes are not yet supported by the "
"fbdev driver\n");
return FALSE;
case FBDEVHW_TEXT:
/* This should never happen ...
* we should check for this much much earlier ... */
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"Text mode is not supprted by drivers/fbdev.\n"
"Why do you want to run the X in TEXT mode anyway ?");
"text mode is not supported by the fbdev driver\n");
return FALSE;
case FBDEVHW_VGA_PLANES:
/* Not supported yet */
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"EGA/VGA Planes are not supprted yet by drivers/fbdev.");
"EGA/VGA planes are not yet supported by the fbdev "
"driver\n");
return FALSE;
default:
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"Fbdev type (%d) not supported yet.", type);
"unrecognised fbdev hardware type (%d)\n", type);
return FALSE;
}
if (mod && xf86LoadSubModule(pScrn, mod) == NULL) {
@@ -600,7 +603,8 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
/* Load shadow if needed */
if (fPtr->shadowFB) {
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Using \"Shadow Framebuffer\"\n");
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "using shadow"
" framebuffer\n");
if (!xf86LoadSubModule(pScrn, "shadow")) {
FBDevFreeRec(pScrn);
return FALSE;
@@ -635,7 +639,8 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
#endif
if (NULL == (fPtr->fbmem = fbdevHWMapVidmem(pScrn))) {
xf86DrvMsg(scrnIndex,X_ERROR,"Map vid mem failed\n");
xf86DrvMsg(scrnIndex,X_ERROR,"mapping of video memory"
" failed\n");
return FALSE;
}
fPtr->fboff = fbdevHWLinearOffset(pScrn);
@@ -643,7 +648,7 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
fbdevHWSave(pScrn);
if (!fbdevHWModeInit(pScrn, pScrn->currentMode)) {
xf86DrvMsg(scrnIndex,X_ERROR,"Mode init failed\n");
xf86DrvMsg(scrnIndex,X_ERROR,"mode initialization failed\n");
return FALSE;
}
fbdevHWSaveScreen(pScreen, SCREEN_SAVER_ON);
@@ -653,19 +658,23 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
miClearVisualTypes();
if (pScrn->bitsPerPixel > 8) {
if (!miSetVisualTypes(pScrn->depth, TrueColorMask, pScrn->rgbBits, TrueColor)) {
xf86DrvMsg(scrnIndex,X_ERROR,"Set visual types failed\n");
xf86DrvMsg(scrnIndex,X_ERROR,"visual type setup failed"
" for %d bits per pixel [1]\n",
pScrn->bitsPerPixel);
return FALSE;
}
} else {
if (!miSetVisualTypes(pScrn->depth,
miGetDefaultVisualMask(pScrn->depth),
pScrn->rgbBits, pScrn->defaultVisual)) {
xf86DrvMsg(scrnIndex,X_ERROR,"Set visual types failed\n");
xf86DrvMsg(scrnIndex,X_ERROR,"visual type setup failed"
" for %d bits per pixel [2]\n",
pScrn->bitsPerPixel);
return FALSE;
}
}
if (!miSetPixmapDepths()) {
xf86DrvMsg(scrnIndex,X_ERROR,"Set pixmap depths failed\n");
xf86DrvMsg(scrnIndex,X_ERROR,"pixmap depth setup failed\n");
return FALSE;
}
@@ -688,7 +697,7 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
if ((fPtr->shadowmem = shadowAlloc(width, height,
pScrn->bitsPerPixel)) == NULL) {
xf86DrvMsg(scrnIndex,X_ERROR,
"Allocation of shadow memory failed\n");
"allocation of shadow framebuffer memory failed\n");
return FALSE;
}
@@ -705,14 +714,15 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
if (fPtr->rotate)
{
xf86DrvMsg(scrnIndex, X_ERROR,
"Internal error: Rotate not supported for afb\n");
"internal error: rotate not supported for afb\n");
ret = FALSE;
break;
}
if (fPtr->shadowFB)
{
xf86DrvMsg(scrnIndex, X_ERROR,
"Internal error: Shadow framebuffer not supported for afb\n");
"internal error: shadow framebuffer not supported"
" for afb\n");
ret = FALSE;
break;
}
@@ -733,8 +743,9 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
break;
default:
xf86DrvMsg(scrnIndex, X_ERROR,
"Internal error: invalid bpp (%d) in FBDevScreenInit\n",
pScrn->bitsPerPixel);
"internal error: invalid number of bits per"
" pixel (%d) encountered in"
" FBDevScreenInit()\n", pScrn->bitsPerPixel);
ret = FALSE;
break;
}
@@ -743,29 +754,29 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
/* This should never happen ...
* we should check for this much much earlier ... */
xf86DrvMsg(scrnIndex, X_ERROR,
"Internal error: Text mode is not supprted by drivers/fbdev.\n"
"Comment: Why do you want to run the X in TEXT mode anyway ?");
"internal error: interleaved planes are not yet "
"supported by the fbdev driver\n");
ret = FALSE;
break;
case FBDEVHW_TEXT:
/* This should never happen ...
* we should check for this much much earlier ... */
xf86DrvMsg(scrnIndex, X_ERROR,
"Internal error: Text mode is not supprted by drivers/fbdev.\n"
"Comment: Why do you want to run the X in TEXT mode anyway ?");
"internal error: text mode is not supported by the "
"fbdev driver\n");
ret = FALSE;
break;
case FBDEVHW_VGA_PLANES:
/* Not supported yet */
xf86DrvMsg(scrnIndex, X_ERROR,
"Internal error: EGA/VGA Planes are not supprted"
" yet by drivers/fbdev.");
"internal error: EGA/VGA Planes are not yet "
"supported by the fbdev driver\n");
ret = FALSE;
break;
default:
xf86DrvMsg(scrnIndex, X_ERROR,
"Internal error: fbdev type (%d) unsupported in"
" FBDevScreenInit\n", type);
"internal error: unrecognised hardware type (%d) "
"encountered in FBDevScreenInit()\n");
ret = FALSE;
break;
}
@@ -790,7 +801,7 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
/* must be after RGB ordering fixed */
if (init_picture && !fbPictureInit(pScreen, NULL, 0))
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"RENDER extension initialisation failed.\n");
"Render extension initialisation failed\n");
if (fPtr->shadowFB &&
(!shadowSetup(pScreen) || !shadowAdd(pScreen, NULL,
@@ -798,18 +809,20 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
: shadowUpdatePackedWeak(),
FBDevWindowLinear, fPtr->rotate, NULL)) ) {
xf86DrvMsg(scrnIndex, X_ERROR,
"Shadow framebuffer initialization failed.\n");
"shadow framebuffer initialization failed\n");
return FALSE;
}
if (!fPtr->rotate)
FBDevDGAInit(pScrn, pScreen);
else {
xf86DrvMsg(scrnIndex, X_INFO, "Rotated display, disabling DGA\n");
xf86DrvMsg(scrnIndex, X_INFO, "Enabling Driver rotation, disabling RandR\n");
xf86DrvMsg(scrnIndex, X_INFO, "display rotated; disabling DGA\n");
xf86DrvMsg(scrnIndex, X_INFO, "using driver rotation; disabling "
"XRandR\n");
xf86DisableRandR();
if (pScrn->bitsPerPixel == 24)
xf86DrvMsg(scrnIndex, X_WARNING, "Rotation might be broken in 24 bpp\n");
xf86DrvMsg(scrnIndex, X_WARNING, "rotation might be broken at 24 "
"bits per pixel\n");
}
xf86SetBlackWhitePixels(pScreen);
@@ -825,33 +838,41 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
/* XXX It would be simpler to use miCreateDefColormap() in all cases. */
#ifdef USE_AFB
case FBDEVHW_PLANES:
if (!afbCreateDefColormap(pScreen))
if (!afbCreateDefColormap(pScreen)) {
xf86DrvMsg(scrnIndex, X_ERROR,
"internal error: afbCreateDefColormap "
"failed in FBDevScreenInit()\n");
return FALSE;
}
break;
#endif
case FBDEVHW_PACKED_PIXELS:
if (!miCreateDefColormap(pScreen))
if (!miCreateDefColormap(pScreen)) {
xf86DrvMsg(scrnIndex, X_ERROR,
"internal error: miCreateDefColormap failed "
"in FBDevScreenInit()\n");
return FALSE;
}
break;
case FBDEVHW_INTERLEAVED_PLANES:
xf86DrvMsg(scrnIndex, X_ERROR,
"Internal error: invalid fbdev type (interleaved planes)"
" in FBDevScreenInit\n");
"internal error: interleaved planes are not yet "
"supported by the fbdev driver\n");
return FALSE;
case FBDEVHW_TEXT:
xf86DrvMsg(scrnIndex, X_ERROR,
"Internal error: invalid fbdev type (text)"
" in FBDevScreenInit\n");
"internal error: text mode is not supported by "
"the fbdev driver\n");
return FALSE;
case FBDEVHW_VGA_PLANES:
xf86DrvMsg(scrnIndex, X_ERROR,
"Internal error: invalid fbdev type (ega/vga planes)"
" in FBDevScreenInit\n");
"internal error: EGA/VGA planes are not yet "
"supported by the fbdev driver\n");
return FALSE;
default:
xf86DrvMsg(scrnIndex, X_ERROR,
"Internal error: invalid fbdev type (%d) in FBDevScreenInit\n",
type);
"internal error: unrecognised fbdev hardware type "
"(%d) encountered in FBDevScreenInit()\n", type);
return FALSE;
}
flags = CMAP_PALETTED_TRUECOLOR;