mirror of
https://github.com/X11Libre/xf86-video-fbdev.git
synced 2026-03-24 09:34:57 +00:00
Compare commits
5 Commits
MODULAR_CO
...
XORG-6_7_0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d41ed22138 | ||
|
|
5dde3dfd1e | ||
|
|
010b0aa643 | ||
|
|
b058394c8c | ||
|
|
bacb9bacd1 |
@@ -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
|
||||
|
||||
29
src/fbdev.c
29
src/fbdev.c
@@ -1,4 +1,4 @@
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.42 2002/10/10 01:35:20 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v 1.44 2003/09/24 02:43:21 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Authors: Alan Hourihane, <alanh@fairlite.demon.co.uk>
|
||||
@@ -29,9 +29,7 @@
|
||||
|
||||
#include "fbdevhw.h"
|
||||
|
||||
#ifdef XvExtension
|
||||
#include "xf86xv.h"
|
||||
#endif
|
||||
|
||||
#define DEBUG 0
|
||||
|
||||
@@ -188,7 +186,7 @@ static XF86ModuleVersionInfo FBDevVersRec =
|
||||
MODULEVENDORSTRING,
|
||||
MODINFOSTRING1,
|
||||
MODINFOSTRING2,
|
||||
XF86_VERSION_CURRENT,
|
||||
XORG_VERSION_CURRENT,
|
||||
FBDEV_MAJOR_VERSION, FBDEV_MINOR_VERSION, 0,
|
||||
ABI_CLASS_VIDEODRV,
|
||||
ABI_VIDEODRV_VERSION,
|
||||
@@ -379,6 +377,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||
int default_depth, fbbpp;
|
||||
const char *mod = NULL, *s;
|
||||
const char **syms = NULL;
|
||||
int type;
|
||||
|
||||
if (flags & PROBE_DETECT) return FALSE;
|
||||
|
||||
@@ -410,7 +409,8 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||
if (!fbdevHWInit(pScrn,NULL,xf86FindOptionValue(fPtr->pEnt->device->options,"fbdev")))
|
||||
return FALSE;
|
||||
default_depth = fbdevHWGetDepth(pScrn,&fbbpp);
|
||||
if (!xf86SetDepthBpp(pScrn, default_depth, default_depth, fbbpp,0))
|
||||
if (!xf86SetDepthBpp(pScrn, default_depth, default_depth, fbbpp,
|
||||
Support24bppFb | Support32bppFb | SupportConvert32to24 | PreferConvert32to24))
|
||||
return FALSE;
|
||||
xf86PrintDepthBpp(pScrn);
|
||||
|
||||
@@ -534,7 +534,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||
xf86SetDpi(pScrn, 0, 0);
|
||||
|
||||
/* Load bpp-specific modules */
|
||||
switch (fbdevHWGetType(pScrn))
|
||||
switch ((type = fbdevHWGetType(pScrn)))
|
||||
{
|
||||
case FBDEVHW_PLANES:
|
||||
mod = "afb";
|
||||
@@ -575,7 +575,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||
return FALSE;
|
||||
default:
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"Fbdev type (%d) not supported yet.");
|
||||
"Fbdev type (%d) not supported yet.", type);
|
||||
return FALSE;
|
||||
}
|
||||
if (mod && xf86LoadSubModule(pScrn, mod) == NULL) {
|
||||
@@ -608,6 +608,7 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
|
||||
VisualPtr visual;
|
||||
int init_picture = 0;
|
||||
int ret,flags,width,height;
|
||||
int type;
|
||||
|
||||
TRACE_ENTER("FBDevScreenInit");
|
||||
|
||||
@@ -685,7 +686,7 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
|
||||
fPtr->fbstart = fPtr->fbmem + fPtr->fboff;
|
||||
}
|
||||
|
||||
switch (fbdevHWGetType(pScrn))
|
||||
switch ((type = fbdevHWGetType(pScrn)))
|
||||
{
|
||||
#ifdef USE_AFB
|
||||
case FBDEVHW_PLANES:
|
||||
@@ -752,7 +753,7 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
|
||||
default:
|
||||
xf86DrvMsg(scrnIndex, X_ERROR,
|
||||
"Internal error: fbdev type (%d) unsupported in"
|
||||
" FBDevScreenInit\n");
|
||||
" FBDevScreenInit\n", type);
|
||||
ret = FALSE;
|
||||
break;
|
||||
}
|
||||
@@ -792,7 +793,8 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
|
||||
FBDevDGAInit(pScrn, pScreen);
|
||||
else {
|
||||
xf86DrvMsg(scrnIndex, X_INFO, "Rotated display, disabling DGA\n");
|
||||
|
||||
xf86DrvMsg(scrnIndex, X_INFO, "Enabling Driver rotation, disabling RandR\n");
|
||||
xf86DisableRandR();
|
||||
if (pScrn->bitsPerPixel == 24)
|
||||
xf86DrvMsg(scrnIndex, X_WARNING, "Rotation might be broken in 24 bpp\n");
|
||||
}
|
||||
@@ -805,7 +807,7 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
|
||||
miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
|
||||
|
||||
/* colormap */
|
||||
switch (fbdevHWGetType(pScrn))
|
||||
switch ((type = fbdevHWGetType(pScrn)))
|
||||
{
|
||||
/* XXX It would be simpler to use miCreateDefColormap() in all cases. */
|
||||
#ifdef USE_AFB
|
||||
@@ -835,7 +837,8 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
|
||||
return FALSE;
|
||||
default:
|
||||
xf86DrvMsg(scrnIndex, X_ERROR,
|
||||
"Internal error: invalid fbdev type (%d) in FBDevScreenInit\n");
|
||||
"Internal error: invalid fbdev type (%d) in FBDevScreenInit\n",
|
||||
type);
|
||||
return FALSE;
|
||||
}
|
||||
flags = CMAP_PALETTED_TRUECOLOR;
|
||||
@@ -850,7 +853,6 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
|
||||
fPtr->CloseScreen = pScreen->CloseScreen;
|
||||
pScreen->CloseScreen = FBDevCloseScreen;
|
||||
|
||||
#ifdef XvExtension
|
||||
{
|
||||
XF86VideoAdaptorPtr *ptr;
|
||||
|
||||
@@ -859,7 +861,6 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
|
||||
xf86XVScreenInit(pScreen,ptr,n);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
TRACE_EXIT("FBDevScreenInit");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user