mirror of
https://github.com/X11Libre/xf86-video-fbdev.git
synced 2026-03-24 17:45:26 +00:00
Compare commits
3 Commits
xf86-video
...
tracking/x
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7648873250 | ||
|
|
bd09098198 | ||
|
|
7dd8150830 |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -71,8 +71,8 @@ core
|
||||
*.tar.bz2
|
||||
*.tar.gz
|
||||
#
|
||||
# Add & Override patterns for xf86-video-fbdev
|
||||
# Add & Override patterns for xf86-video-fbdev
|
||||
#
|
||||
# Edit the following section as needed
|
||||
# For example, !report.pc overrides *.pc. See 'man gitignore'
|
||||
#
|
||||
#
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
|
||||
drivermandir = $(DRIVER_MAN_DIR)
|
||||
|
||||
|
||||
@@ -14,49 +14,64 @@ fbdev \- video driver for framebuffer device
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
.B fbdev
|
||||
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.
|
||||
is an
|
||||
.B __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.
|
||||
.SH SUPPORTED HARDWARE
|
||||
The
|
||||
The
|
||||
.B fbdev
|
||||
driver supports all hardware where a framebuffer driver is available.
|
||||
fbdev uses the os-specific submodule fbdevhw(__drivermansuffix__) to talk
|
||||
to the kernel
|
||||
device driver. Currently a fbdevhw module is available for linux.
|
||||
fbdev uses the os-specific submodule
|
||||
.BR 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
|
||||
details. This section only covers configuration details specific to
|
||||
this driver.
|
||||
Please refer to
|
||||
.BR __xconfigfile__ (__filemansuffix__)
|
||||
for general configuration details.
|
||||
This section only covers configuration details specific to this driver.
|
||||
.PP
|
||||
For this driver it is not required to specify modes in the screen
|
||||
section of the config file. The
|
||||
For this driver it is not required to specify modes
|
||||
in the screen section of the config file.
|
||||
The
|
||||
.B fbdev
|
||||
driver can pick up the currently used video mode from the framebuffer
|
||||
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.
|
||||
For PCI boards you might have to add a BusID line to the Device section.
|
||||
See above for a sample line.
|
||||
.PP
|
||||
The following driver
|
||||
The following driver
|
||||
.B Options
|
||||
are supported:
|
||||
.TP
|
||||
.BI "Option \*qfbdev\*q \*q" string \*q
|
||||
The framebuffer device to use. Default: /dev/fb0.
|
||||
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. Mandatory for 24bpp
|
||||
framebuffers on newer servers. 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. Disabled for 24bpp
|
||||
framebuffers. Default: off.
|
||||
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.
|
||||
Disabled for 24bpp framebuffers.
|
||||
Default: off.
|
||||
.SH "SEE ALSO"
|
||||
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__),
|
||||
X(__miscmansuffix__), fbdevhw(__drivermansuffix__)
|
||||
.BR __xservername__ (__appmansuffix__),
|
||||
.BR __xconfigfile__ (__filemansuffix__),
|
||||
.BR Xserver (__appmansuffix__),
|
||||
.BR X (__miscmansuffix__),
|
||||
.BR fbdevhw (__drivermansuffix__)
|
||||
.SH AUTHORS
|
||||
Authors include: Gerd Knorr, Michel D\(:anzer, Geert Uytterhoeven
|
||||
|
||||
28
src/fbdev.c
28
src/fbdev.c
@@ -197,7 +197,7 @@ FBDevGetRec(ScrnInfoPtr pScrn)
|
||||
{
|
||||
if (pScrn->driverPrivate != NULL)
|
||||
return TRUE;
|
||||
|
||||
|
||||
pScrn->driverPrivate = XNFcallocarray(sizeof(FBDevRec), 1);
|
||||
return TRUE;
|
||||
}
|
||||
@@ -263,7 +263,7 @@ static Bool FBDevPciProbe(DriverPtr drv, int entity_num,
|
||||
|
||||
if (!xf86LoadDrvSubModule(drv, "fbdevhw"))
|
||||
return FALSE;
|
||||
|
||||
|
||||
pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL);
|
||||
if (pScrn) {
|
||||
@@ -286,7 +286,7 @@ static Bool FBDevPciProbe(DriverPtr drv, int entity_num,
|
||||
pScrn->ValidMode = fbdevValidMode;
|
||||
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
|
||||
"claimed PCI slot %d@%d:%d:%d\n",
|
||||
"claimed PCI slot %d@%d:%d:%d\n",
|
||||
dev->bus, dev->domain, dev->dev, dev->func);
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
|
||||
"using %s\n", device ? device : "default device");
|
||||
@@ -320,12 +320,12 @@ FBDevProbe(DriverPtr drv, int flags)
|
||||
if (flags & PROBE_DETECT)
|
||||
return FALSE;
|
||||
|
||||
if ((numDevSections = xf86MatchDevice(FBDEV_DRIVER_NAME, &devSections)) <= 0)
|
||||
if ((numDevSections = xf86MatchDevice(FBDEV_DRIVER_NAME, &devSections)) <= 0)
|
||||
return FALSE;
|
||||
|
||||
|
||||
if (!xf86LoadDrvSubModule(drv, "fbdevhw"))
|
||||
return FALSE;
|
||||
|
||||
|
||||
for (i = 0; i < numDevSections; i++) {
|
||||
Bool isPci = FALSE;
|
||||
|
||||
@@ -346,7 +346,7 @@ FBDevProbe(DriverPtr drv, int flags)
|
||||
#ifndef XSERVER_LIBPCIACCESS
|
||||
/* XXX what about when there's no busID set? */
|
||||
int entity;
|
||||
|
||||
|
||||
entity = xf86ClaimPciSlot(bus,device,func,drv,
|
||||
0,devSections[i],
|
||||
TRUE);
|
||||
@@ -367,11 +367,11 @@ FBDevProbe(DriverPtr drv, int flags)
|
||||
devSections[i], TRUE);
|
||||
pScrn = xf86ConfigFbEntity(pScrn,0,entity,
|
||||
NULL,NULL,NULL,NULL);
|
||||
|
||||
|
||||
}
|
||||
if (pScrn) {
|
||||
foundScreen = TRUE;
|
||||
|
||||
|
||||
pScrn->driverVersion = FBDEV_VERSION;
|
||||
pScrn->driverName = FBDEV_DRIVER_NAME;
|
||||
pScrn->name = FBDEV_NAME;
|
||||
@@ -383,7 +383,7 @@ FBDevProbe(DriverPtr drv, int flags)
|
||||
pScrn->EnterVT = fbdevEnterVT;
|
||||
pScrn->LeaveVT = fbdevLeaveVT;
|
||||
pScrn->ValidMode = fbdevValidMode;
|
||||
|
||||
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
|
||||
"using %s\n", dev ? dev : "default device");
|
||||
}
|
||||
@@ -571,7 +571,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "checking modes against monitor...\n");
|
||||
{
|
||||
DisplayModePtr mode, first = mode = pScrn->modes;
|
||||
|
||||
|
||||
if (mode != NULL) do {
|
||||
mode->status = xf86CheckModeForMonitor(mode, pScrn->monitor);
|
||||
mode = mode->next;
|
||||
@@ -710,7 +710,7 @@ FBDevShadowInit(ScreenPtr pScreen)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
|
||||
FBDevPtr fPtr = FBDEVPTR(pScrn);
|
||||
|
||||
|
||||
if (!shadowSetup(pScreen)) {
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1006,7 +1006,7 @@ FBDevCloseScreen(ScreenPtr pScreen)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
|
||||
FBDevPtr fPtr = FBDEVPTR(pScrn);
|
||||
|
||||
|
||||
fbdevHWRestore(pScrn);
|
||||
fbdevHWUnmapVidmem(pScrn);
|
||||
if (fPtr->shadow) {
|
||||
@@ -1238,7 +1238,7 @@ static Bool
|
||||
FBDevDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op, pointer ptr)
|
||||
{
|
||||
xorgHWFlags *flag;
|
||||
|
||||
|
||||
switch (op) {
|
||||
case GET_REQUIRED_HW_INTERFACES:
|
||||
flag = (CARD32*)ptr;
|
||||
|
||||
Reference in New Issue
Block a user