Compare commits

..

19 Commits

Author SHA1 Message Date
Adam Jackson
44d4790006 Prep for modular builds by adding guarded #include "config.h" everywhere. 2005-07-11 02:29:47 +00:00
Adam Jackson
4d18c5309c Bug #3626: _X_EXPORT tags for video and input drivers. 2005-06-25 21:16:54 +00:00
Egbert Eich
82ab7895da Modifying X.Org Xserver DDX to allow to run X with ordinary user
permissions when no access to HW registers is required. For API changes
    which mostly involve the modifications to make the RRFunc (introduced
    with 6.8) more flexible please check Bugzilla #2407. NOTE: This patch
    applies changes to OS specific files for other OSes which I cannot
    test.
2005-01-28 16:12:59 +00:00
Markus Kuhn
077e3dbcf4 Encoding of numerous files changed to UTF-8 2004-12-04 00:43:05 +00:00
Adam Jackson
2327cdd208 Bug #1087: Make sure all the *Weak symbols are documented in the import
list, so the loader knows not to complain about unresolved symbols when
    an optional module isn't loaded. This typically manifests as warnings
    about fbdevHW symbols when the user isn't using the framebuffer
    console.
2004-08-16 09:13:13 +00:00
Adam Jackson
bd1e31bdb5 Bug #962: Remove LoaderSymbol calls introduced by the dlloader work so
DoLoadableServer NO builds work again.
2004-08-03 02:44:20 +00:00
Adam Jackson
1d3246ca0d *really* remove the last call to FillInScreenInfo. i clearly haven't had my
coffee yet this morning...
2004-08-01 18:04:07 +00:00
Adam Jackson
ce86e2a272 Kill off the last fbdevHWFillInScreenInfo user. Noticed by juergbi on IRC. 2004-08-01 16:28:57 +00:00
Adam Jackson
4c1492ac6d Change several LoaderSymbol calls introduced by the bug #400 patch to
*Weak() resolver functions.
2004-07-31 01:21:18 +00:00
Adam Jackson
64ef1f4af1 Bug #400 (partial): Driver fixes for the dlloader. When using dlloader, all
framebuffer formats except cfb and the overlay modes should work, and
    r128 and radeon need to be loaded from the ati driver (both issues to
    be fixed soon). Tested on i740, s3virge, mach64, tdfx, vesa, and vga
    drivers. elfloader users shouldn't be affected.
2004-07-30 20:30:52 +00:00
Eric Anholt
db6514cea0 DRI XFree86-4_3_99_12-merge import 2004-06-16 09:23:04 +00:00
Egbert Eich
1e80fe1bf9 Merging XORG-CURRENT into trunk 2004-04-23 19:31:36 +00:00
Egbert Eich
5d8a0a2e47 Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004 2004-03-14 08:33:20 +00:00
Egbert Eich
69d61895f3 Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004 2004-03-03 12:12:18 +00:00
Egbert Eich
806863c5f6 readding XFree86's cvs IDs 2004-02-26 13:35:52 +00:00
Egbert Eich
595a614cd9 Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004 2004-02-26 09:23:18 +00:00
Egbert Eich
62bec818a1 Importing vendor version xf86-012804-2330 on Thu Jan 29 00:06:33 PST 2004 2004-01-29 08:08:35 +00:00
Kaleb Keithley
48e31aaed2 XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks 2003-11-25 19:28:36 +00:00
Kaleb Keithley
3a00d91359 XFree86 4.3.0.1 2003-11-14 16:48:55 +00:00
2 changed files with 54 additions and 26 deletions

View File

@@ -1,4 +1,4 @@
.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.2 2001/01/27 18:20:47 dawes Exp $
.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.man,v 1.3 2001/10/02 15:57:32 alanh 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 __xservername__ driver for framebuffer devices. This is a non-accelerated
is an XFree86 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 __xconfigfile__(__filemansuffix__) for general configuration
Please refer to XF86Config(__filemansuffix__) for general configuration
details. This section only covers configuration details specific to
this driver.
.PP
@@ -38,8 +38,7 @@ 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 \*q\__xservername__
-scanpci\*q
section. See above for a sample line. You can use "XFree86 -scanpci"
to figure out the correct values.
.PP
The following driver
@@ -57,7 +56,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"
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__),
XFree86(1), XF86Config(__filemansuffix__), xf86config(1), Xserver(1),
X(__miscmansuffix__), fbdevhw(__drivermansuffix__)
.SH AUTHORS
Authors include: Gerd Knorr, Michel Dänzer, Geert Uytterhoeven

View File

@@ -2,9 +2,13 @@
/*
* Authors: Alan Hourihane, <alanh@fairlite.demon.co.uk>
* Michel Dänzer, <michdaen@iiic.ethz.ch>
* Michel Dänzer, <michdaen@iiic.ethz.ch>
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
/* all driver need this */
#include "xf86.h"
#include "xf86_OSproc.h"
@@ -57,6 +61,8 @@ static void * FBDevWindowLinear(ScreenPtr pScreen, CARD32 row, CARD32 offset, in
CARD32 *size, void *closure);
static void FBDevPointerMoved(int index, int x, int y);
static Bool FBDevDGAInit(ScrnInfoPtr pScrn, ScreenPtr pScreen);
static Bool FBDevDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op,
pointer ptr);
enum { FBDEV_ROTATE_NONE=0, FBDEV_ROTATE_CW=270, FBDEV_ROTATE_UD=180, FBDEV_ROTATE_CCW=90 };
@@ -81,7 +87,7 @@ static int pix24bpp = 0;
#define FBDEV_MAJOR_VERSION 0
#define FBDEV_MINOR_VERSION 1
DriverRec FBDEV = {
_X_EXPORT DriverRec FBDEV = {
VERSION,
FBDEV_DRIVER_NAME,
#if 0
@@ -91,7 +97,8 @@ DriverRec FBDEV = {
FBDevProbe,
FBDevAvailableOptions,
NULL,
0
0,
FBDevDriverFunc
};
/* Supported "chipsets" */
@@ -137,7 +144,9 @@ static const char *shadowSymbols[] = {
"shadowInit",
"shadowSetup",
"shadowUpdatePacked",
"shadowUpdatePackedWeak",
"shadowUpdateRotatePacked",
"shadowUpdateRotatePackedWeak",
NULL
};
@@ -158,20 +167,23 @@ static const char *fbdevHWSymbols[] = {
"fbdevHWUnmapVidmem",
/* colormap */
"fbdevHWLoadpalette",
"fbdevHWLoadPalette",
"fbdevHWLoadPaletteWeak",
/* ScrnInfo hooks */
"fbdevHWAdjustFrame",
"fbdevHWEnterVT",
"fbdevHWLeaveVT",
"fbdevHWAdjustFrameWeak",
"fbdevHWEnterVTWeak",
"fbdevHWLeaveVTWeak",
"fbdevHWModeInit",
"fbdevHWRestore",
"fbdevHWSave",
"fbdevHWSaveScreen",
"fbdevHWSwitchMode",
"fbdevHWValidMode",
"fbdevHWSaveScreenWeak",
"fbdevHWSwitchModeWeak",
"fbdevHWValidModeWeak",
"fbdevHWDPMSSet",
"fbdevHWDPMSSetWeak",
NULL
};
@@ -194,7 +206,7 @@ static XF86ModuleVersionInfo FBDevVersRec =
{0,0,0,0}
};
XF86ModuleData fbdevModuleData = { &FBDevVersRec, FBDevSetup, NULL };
_X_EXPORT XF86ModuleData fbdevModuleData = { &FBDevVersRec, FBDevSetup, NULL };
pointer
FBDevSetup(pointer module, pointer opts, int *errmaj, int *errmin)
@@ -203,7 +215,7 @@ FBDevSetup(pointer module, pointer opts, int *errmaj, int *errmin)
if (!setupDone) {
setupDone = TRUE;
xf86AddDriver(&FBDEV, module, 0);
xf86AddDriver(&FBDEV, module, HaveDriverFuncs);
LoaderRefSymLists(afbSymbols, fbSymbols,
shadowSymbols, fbdevHWSymbols, NULL);
return (pointer)1;
@@ -354,11 +366,11 @@ FBDevProbe(DriverPtr drv, int flags)
pScrn->Probe = FBDevProbe;
pScrn->PreInit = FBDevPreInit;
pScrn->ScreenInit = FBDevScreenInit;
pScrn->SwitchMode = fbdevHWSwitchMode;
pScrn->AdjustFrame = fbdevHWAdjustFrame;
pScrn->EnterVT = fbdevHWEnterVT;
pScrn->LeaveVT = fbdevHWLeaveVT;
pScrn->ValidMode = fbdevHWValidMode;
pScrn->SwitchMode = fbdevHWSwitchModeWeak();
pScrn->AdjustFrame = fbdevHWAdjustFrameWeak();
pScrn->EnterVT = fbdevHWEnterVTWeak();
pScrn->LeaveVT = fbdevHWLeaveVTWeak();
pScrn->ValidMode = fbdevHWValidModeWeak();
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"using %s\n", dev ? dev : "default device");
@@ -782,7 +794,8 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
if (fPtr->shadowFB &&
(!shadowSetup(pScreen) || !shadowAdd(pScreen, NULL,
fPtr->rotate ? shadowUpdateRotatePacked : shadowUpdatePacked,
fPtr->rotate ? shadowUpdateRotatePackedWeak()
: shadowUpdatePackedWeak(),
FBDevWindowLinear, fPtr->rotate, NULL)) ) {
xf86DrvMsg(scrnIndex, X_ERROR,
"Shadow framebuffer initialization failed.\n");
@@ -842,12 +855,13 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
return FALSE;
}
flags = CMAP_PALETTED_TRUECOLOR;
if(!xf86HandleColormaps(pScreen, 256, 8, fbdevHWLoadPalette, NULL, flags))
if(!xf86HandleColormaps(pScreen, 256, 8, fbdevHWLoadPaletteWeak(),
NULL, flags))
return FALSE;
xf86DPMSInit(pScreen, fbdevHWDPMSSet, 0);
xf86DPMSInit(pScreen, fbdevHWDPMSSetWeak(), 0);
pScreen->SaveScreen = fbdevHWSaveScreen;
pScreen->SaveScreen = fbdevHWSaveScreenWeak();
/* Wrap the current CloseScreen function */
fPtr->CloseScreen = pScreen->CloseScreen;
@@ -1093,3 +1107,18 @@ FBDevDGAInit(ScrnInfoPtr pScrn, ScreenPtr pScreen)
return (DGAInit(pScreen, &FBDevDGAFunctions,
fPtr->pDGAMode, fPtr->nDGAMode));
}
static Bool
FBDevDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op, pointer ptr)
{
xorgHWFlags *flag;
switch (op) {
case GET_REQUIRED_HW_INTERFACES:
flag = (CARD32*)ptr;
(*flag) = 0;
return TRUE;
default:
return FALSE;
}
}