import xorg-x11-drv-fbdev-0.5.0-11.el9
This commit is contained in:
commit
9915c625cd
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
SOURCES/xf86-video-fbdev-0.5.0.tar.bz2
|
1
.xorg-x11-drv-fbdev.metadata
Normal file
1
.xorg-x11-drv-fbdev.metadata
Normal file
@ -0,0 +1 @@
|
||||
8d79ec615cb54436ff96dc94b74775db6dc47aff SOURCES/xf86-video-fbdev-0.5.0.tar.bz2
|
409
SOURCES/0001-mustard-Enable-linking-with-z-now.patch
Normal file
409
SOURCES/0001-mustard-Enable-linking-with-z-now.patch
Normal file
@ -0,0 +1,409 @@
|
||||
From 9a151d87fb084a914ad76f77be78f720448fa201 Mon Sep 17 00:00:00 2001
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Tue, 25 Jan 2022 13:37:14 -0500
|
||||
Subject: [PATCH xf86-video-fbdev] mustard: Enable linking with -z now
|
||||
|
||||
The xfree86 design loads the fb, fbdev, and shadow modules _after_ the
|
||||
driver is loaded, which means we need to dlsym^WLoaderSymbol for the API
|
||||
we need ourselves.
|
||||
---
|
||||
src/fbdev.c | 152 ++++++++++++++++++++++++++++++++++++++--------------
|
||||
1 file changed, 113 insertions(+), 39 deletions(-)
|
||||
|
||||
diff --git a/src/fbdev.c b/src/fbdev.c
|
||||
index e4f66a2..ee3a716 100644
|
||||
--- a/src/fbdev.c
|
||||
+++ b/src/fbdev.c
|
||||
@@ -77,6 +77,75 @@ static Bool FBDevDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op,
|
||||
|
||||
enum { FBDEV_ROTATE_NONE=0, FBDEV_ROTATE_CW=270, FBDEV_ROTATE_UD=180, FBDEV_ROTATE_CCW=90 };
|
||||
|
||||
+static typeof(fbdevHWAdjustFrame) *my_fbdevHWAdjustFrame;
|
||||
+static typeof(fbdevHWDPMSSet) *my_fbdevHWDPMSSet;
|
||||
+static typeof(fbdevHWEnterVT) *my_fbdevHWEnterVT;
|
||||
+static typeof(fbdevHWGetDepth) *my_fbdevHWGetDepth;
|
||||
+static typeof(fbdevHWGetLineLength) *my_fbdevHWGetLineLength;
|
||||
+static typeof(fbdevHWGetName) *my_fbdevHWGetName;
|
||||
+static typeof(fbdevHWGetType) *my_fbdevHWGetType;
|
||||
+static typeof(fbdevHWGetVidmem) *my_fbdevHWGetVidmem;
|
||||
+static typeof(fbdevHWInit) *my_fbdevHWInit;
|
||||
+static typeof(fbdevHWLeaveVT) *my_fbdevHWLeaveVT;
|
||||
+static typeof(fbdevHWLinearOffset) *my_fbdevHWLinearOffset;
|
||||
+static typeof(fbdevHWLoadPalette) *my_fbdevHWLoadPalette;
|
||||
+static typeof(fbdevHWMapVidmem) *my_fbdevHWMapVidmem;
|
||||
+static typeof(fbdevHWModeInit) *my_fbdevHWModeInit;
|
||||
+static typeof(fbdevHWProbe) *my_fbdevHWProbe;
|
||||
+static typeof(fbdevHWRestore) *my_fbdevHWRestore;
|
||||
+static typeof(fbdevHWSave) *my_fbdevHWSave;
|
||||
+static typeof(fbdevHWSaveScreen) *my_fbdevHWSaveScreen;
|
||||
+static typeof(fbdevHWSetVideoModes) *my_fbdevHWSetVideoModes;
|
||||
+static typeof(fbdevHWSwitchMode) *my_fbdevHWSwitchMode;
|
||||
+static typeof(fbdevHWUnmapVidmem) *my_fbdevHWUnmapVidmem;
|
||||
+static typeof(fbdevHWUseBuildinMode) *my_fbdevHWUseBuildinMode;
|
||||
+static typeof(fbdevHWValidMode) *my_fbdevHWValidMode;
|
||||
+
|
||||
+static void
|
||||
+bind_fbdevhw(void)
|
||||
+{
|
||||
+ my_fbdevHWAdjustFrame = LoaderSymbol("fbdevHWAdjustFrame");
|
||||
+ my_fbdevHWDPMSSet = LoaderSymbol("fbdevHWDPMSSet");
|
||||
+ my_fbdevHWEnterVT = LoaderSymbol("fbdevHWEnterVT");
|
||||
+ my_fbdevHWGetDepth = LoaderSymbol("fbdevHWGetDepth");
|
||||
+ my_fbdevHWGetLineLength = LoaderSymbol("fbdevHWGetLineLength");
|
||||
+ my_fbdevHWGetName = LoaderSymbol("fbdevHWGetName");
|
||||
+ my_fbdevHWGetType = LoaderSymbol("fbdevHWGetType");
|
||||
+ my_fbdevHWGetVidmem = LoaderSymbol("fbdevHWGetVidmem");
|
||||
+ my_fbdevHWInit = LoaderSymbol("fbdevHWInit");
|
||||
+ my_fbdevHWLeaveVT = LoaderSymbol("fbdevHWLeaveVT");
|
||||
+ my_fbdevHWLinearOffset = LoaderSymbol("fbdevHWLinearOffset");
|
||||
+ my_fbdevHWLoadPalette = LoaderSymbol("fbdevHWLoadPalette");
|
||||
+ my_fbdevHWMapVidmem = LoaderSymbol("fbdevHWMapVidmem");
|
||||
+ my_fbdevHWModeInit = LoaderSymbol("fbdevHWModeInit");
|
||||
+ my_fbdevHWProbe = LoaderSymbol("fbdevHWProbe");
|
||||
+ my_fbdevHWRestore = LoaderSymbol("fbdevHWRestore");
|
||||
+ my_fbdevHWSave = LoaderSymbol("fbdevHWSave");
|
||||
+ my_fbdevHWSaveScreen = LoaderSymbol("fbdevHWSaveScreen");
|
||||
+ my_fbdevHWSetVideoModes = LoaderSymbol("fbdevHWSetVideoModes");
|
||||
+ my_fbdevHWSwitchMode = LoaderSymbol("fbdevHWSwitchMode");
|
||||
+ my_fbdevHWUnmapVidmem = LoaderSymbol("fbdevHWUnmapVidmem");
|
||||
+ my_fbdevHWUseBuildinMode = LoaderSymbol("fbdevHWUseBuildinMode");
|
||||
+ my_fbdevHWValidMode = LoaderSymbol("fbdevHWValidMode");
|
||||
+}
|
||||
+
|
||||
+static typeof(shadowAdd) *my_shadowAdd;
|
||||
+static typeof(shadowRemove) *my_shadowRemove;
|
||||
+static typeof(shadowSetup) *my_shadowSetup;
|
||||
+static typeof(shadowUpdate32to24) *my_shadowUpdate32to24;
|
||||
+static typeof(shadowUpdatePacked) *my_shadowUpdatePacked;
|
||||
+static typeof(shadowUpdateRotatePacked) *my_shadowUpdateRotatePacked;
|
||||
+
|
||||
+static void
|
||||
+bind_shadow(void)
|
||||
+{
|
||||
+ my_shadowAdd = LoaderSymbol("shadowAdd");
|
||||
+ my_shadowRemove = LoaderSymbol("shadowRemove");
|
||||
+ my_shadowSetup = LoaderSymbol("shadowSetup");
|
||||
+ my_shadowUpdate32to24 = LoaderSymbol("shadowUpdate32to24");
|
||||
+ my_shadowUpdatePacked = LoaderSymbol("shadowUpdatePacked");
|
||||
+ my_shadowUpdateRotatePacked = LoaderSymbol("shadowUpdateRotatePacked");
|
||||
+}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
||||
@@ -235,31 +304,31 @@ FBDevIdentify(int flags)
|
||||
static Bool
|
||||
fbdevSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
|
||||
{
|
||||
- return fbdevHWSwitchMode(pScrn, mode);
|
||||
+ return my_fbdevHWSwitchMode(pScrn, mode);
|
||||
}
|
||||
|
||||
static void
|
||||
fbdevAdjustFrame(ScrnInfoPtr pScrn, int x, int y)
|
||||
{
|
||||
- fbdevHWAdjustFrame(pScrn, x, y);
|
||||
+ my_fbdevHWAdjustFrame(pScrn, x, y);
|
||||
}
|
||||
|
||||
static Bool
|
||||
fbdevEnterVT(ScrnInfoPtr pScrn)
|
||||
{
|
||||
- return fbdevHWEnterVT(pScrn);
|
||||
+ return my_fbdevHWEnterVT(pScrn);
|
||||
}
|
||||
|
||||
static void
|
||||
fbdevLeaveVT(ScrnInfoPtr pScrn)
|
||||
{
|
||||
- fbdevHWLeaveVT(pScrn);
|
||||
+ my_fbdevHWLeaveVT(pScrn);
|
||||
}
|
||||
|
||||
static ModeStatus
|
||||
fbdevValidMode(ScrnInfoPtr pScrn, DisplayModePtr mode, Bool verbose, int flags)
|
||||
{
|
||||
- return fbdevHWValidMode(pScrn, mode, verbose, flags);
|
||||
+ return my_fbdevHWValidMode(pScrn, mode, verbose, flags);
|
||||
}
|
||||
|
||||
#ifdef XSERVER_LIBPCIACCESS
|
||||
@@ -270,6 +339,7 @@ static Bool FBDevPciProbe(DriverPtr drv, int entity_num,
|
||||
|
||||
if (!xf86LoadDrvSubModule(drv, "fbdevhw"))
|
||||
return FALSE;
|
||||
+ bind_fbdevhw();
|
||||
|
||||
pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL);
|
||||
@@ -279,7 +349,7 @@ static Bool FBDevPciProbe(DriverPtr drv, int entity_num,
|
||||
pScrn->entityInstanceList[0]);
|
||||
|
||||
device = xf86FindOptionValue(devSection->options, "fbdev");
|
||||
- if (fbdevHWProbe(dev, device, NULL)) {
|
||||
+ if (my_fbdevHWProbe(dev, device, NULL)) {
|
||||
pScrn->driverVersion = FBDEV_VERSION;
|
||||
pScrn->driverName = FBDEV_DRIVER_NAME;
|
||||
pScrn->name = FBDEV_NAME;
|
||||
@@ -332,7 +402,8 @@ FBDevProbe(DriverPtr drv, int flags)
|
||||
|
||||
if (!xf86LoadDrvSubModule(drv, "fbdevhw"))
|
||||
return FALSE;
|
||||
-
|
||||
+ bind_fbdevhw();
|
||||
+
|
||||
for (i = 0; i < numDevSections; i++) {
|
||||
Bool isIsa = FALSE;
|
||||
Bool isPci = FALSE;
|
||||
@@ -355,7 +426,7 @@ FBDevProbe(DriverPtr drv, int flags)
|
||||
0;
|
||||
|
||||
}
|
||||
- if (fbdevHWProbe(NULL,dev,NULL)) {
|
||||
+ if (my_fbdevHWProbe(NULL,dev,NULL)) {
|
||||
pScrn = NULL;
|
||||
if (isPci) {
|
||||
#ifndef XSERVER_LIBPCIACCESS
|
||||
@@ -459,11 +530,11 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||
pci_dev = fPtr->pEnt->location.id.pci;
|
||||
#endif
|
||||
/* open device */
|
||||
- if (!fbdevHWInit(pScrn, pci_dev,
|
||||
+ if (!my_fbdevHWInit(pScrn, pci_dev,
|
||||
xf86FindOptionValue(fPtr->pEnt->device->options,
|
||||
"fbdev")))
|
||||
return FALSE;
|
||||
- default_depth = fbdevHWGetDepth(pScrn,&fbbpp);
|
||||
+ default_depth = my_fbdevHWGetDepth(pScrn,&fbbpp);
|
||||
|
||||
if (default_depth == 8) do {
|
||||
/* trust the command line */
|
||||
@@ -531,10 +602,10 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||
pScrn->progClock = TRUE;
|
||||
pScrn->rgbBits = 8;
|
||||
pScrn->chipset = "fbdev";
|
||||
- pScrn->videoRam = fbdevHWGetVidmem(pScrn);
|
||||
+ pScrn->videoRam = my_fbdevHWGetVidmem(pScrn);
|
||||
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "hardware: %s (video memory:"
|
||||
- " %dkB)\n", fbdevHWGetName(pScrn), pScrn->videoRam/1024);
|
||||
+ " %dkB)\n", my_fbdevHWGetName(pScrn), pScrn->videoRam/1024);
|
||||
|
||||
/* handle options */
|
||||
xf86CollectOptions(pScrn, NULL);
|
||||
@@ -591,7 +662,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||
/* select video modes */
|
||||
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "checking modes against framebuffer device...\n");
|
||||
- fbdevHWSetVideoModes(pScrn);
|
||||
+ my_fbdevHWSetVideoModes(pScrn);
|
||||
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "checking modes against monitor...\n");
|
||||
{
|
||||
@@ -606,7 +677,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||
}
|
||||
|
||||
if (NULL == pScrn->modes)
|
||||
- fbdevHWUseBuildinMode(pScrn);
|
||||
+ my_fbdevHWUseBuildinMode(pScrn);
|
||||
pScrn->currentMode = pScrn->modes;
|
||||
|
||||
/* First approximation, may be refined in ScreenInit */
|
||||
@@ -618,7 +689,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||
xf86SetDpi(pScrn, 0, 0);
|
||||
|
||||
/* Load bpp-specific modules */
|
||||
- switch ((type = fbdevHWGetType(pScrn)))
|
||||
+ switch ((type = my_fbdevHWGetType(pScrn)))
|
||||
{
|
||||
case FBDEVHW_PACKED_PIXELS:
|
||||
switch (pScrn->bitsPerPixel)
|
||||
@@ -671,6 +742,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
|
||||
FBDevFreeRec(pScrn);
|
||||
return FALSE;
|
||||
}
|
||||
+ bind_shadow();
|
||||
}
|
||||
|
||||
TRACE_EXIT("PreInit");
|
||||
@@ -681,20 +753,20 @@ static void
|
||||
fbdevUpdate32to24(ScreenPtr pScreen, shadowBufPtr pBuf)
|
||||
{
|
||||
#ifdef HAVE_SHADOW_3224
|
||||
- shadowUpdate32to24(pScreen, pBuf);
|
||||
+ my_shadowUpdate32to24(pScreen, pBuf);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
fbdevUpdateRotatePacked(ScreenPtr pScreen, shadowBufPtr pBuf)
|
||||
{
|
||||
- shadowUpdateRotatePacked(pScreen, pBuf);
|
||||
+ my_shadowUpdateRotatePacked(pScreen, pBuf);
|
||||
}
|
||||
|
||||
static void
|
||||
fbdevUpdatePacked(ScreenPtr pScreen, shadowBufPtr pBuf)
|
||||
{
|
||||
- shadowUpdatePacked(pScreen, pBuf);
|
||||
+ my_shadowUpdatePacked(pScreen, pBuf);
|
||||
}
|
||||
|
||||
static Bool
|
||||
@@ -722,7 +794,7 @@ FBDevCreateScreenResources(ScreenPtr pScreen)
|
||||
else
|
||||
update = fbdevUpdatePacked;
|
||||
|
||||
- if (!shadowAdd(pScreen, pPixmap, update, FBDevWindowLinear, fPtr->rotate,
|
||||
+ if (!my_shadowAdd(pScreen, pPixmap, update, FBDevWindowLinear, fPtr->rotate,
|
||||
NULL)) {
|
||||
return FALSE;
|
||||
}
|
||||
@@ -736,7 +808,7 @@ FBDevShadowInit(ScreenPtr pScreen)
|
||||
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
|
||||
FBDevPtr fPtr = FBDEVPTR(pScrn);
|
||||
|
||||
- if (!shadowSetup(pScreen)) {
|
||||
+ if (!my_shadowSetup(pScreen)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -749,19 +821,19 @@ FBDevShadowInit(ScreenPtr pScreen)
|
||||
static void
|
||||
fbdevLoadPalette(ScrnInfoPtr pScrn, int num, int *i, LOCO *col, VisualPtr pVis)
|
||||
{
|
||||
- fbdevHWLoadPalette(pScrn, num, i, col, pVis);
|
||||
+ my_fbdevHWLoadPalette(pScrn, num, i, col, pVis);
|
||||
}
|
||||
|
||||
static void
|
||||
fbdevDPMSSet(ScrnInfoPtr pScrn, int mode, int flags)
|
||||
{
|
||||
- fbdevHWDPMSSet(pScrn, mode, flags);
|
||||
+ my_fbdevHWDPMSSet(pScrn, mode, flags);
|
||||
}
|
||||
|
||||
static Bool
|
||||
fbdevSaveScreen(ScreenPtr pScreen, int mode)
|
||||
{
|
||||
- return fbdevHWSaveScreen(pScreen, mode);
|
||||
+ return my_fbdevHWSaveScreen(pScreen, mode);
|
||||
}
|
||||
|
||||
static Bool
|
||||
@@ -773,6 +845,8 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||
int init_picture = 0;
|
||||
int ret, flags;
|
||||
int type;
|
||||
+ typeof(fbScreenInit) *my_fbScreenInit = LoaderSymbol("fbScreenInit");
|
||||
+ typeof(fbPictureInit) *my_fbPictureInit = LoaderSymbol("fbPictureInit");
|
||||
|
||||
TRACE_ENTER("FBDevScreenInit");
|
||||
|
||||
@@ -786,21 +860,21 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||
pScrn->offset.red,pScrn->offset.green,pScrn->offset.blue);
|
||||
#endif
|
||||
|
||||
- if (NULL == (fPtr->fbmem = fbdevHWMapVidmem(pScrn))) {
|
||||
+ if (NULL == (fPtr->fbmem = my_fbdevHWMapVidmem(pScrn))) {
|
||||
xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"mapping of video memory"
|
||||
" failed\n");
|
||||
return FALSE;
|
||||
}
|
||||
- fPtr->fboff = fbdevHWLinearOffset(pScrn);
|
||||
+ fPtr->fboff = my_fbdevHWLinearOffset(pScrn);
|
||||
|
||||
- fbdevHWSave(pScrn);
|
||||
+ my_fbdevHWSave(pScrn);
|
||||
|
||||
- if (!fbdevHWModeInit(pScrn, pScrn->currentMode)) {
|
||||
+ if (!my_fbdevHWModeInit(pScrn, pScrn->currentMode)) {
|
||||
xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"mode initialization failed\n");
|
||||
return FALSE;
|
||||
}
|
||||
- fbdevHWSaveScreen(pScreen, SCREEN_SAVER_ON);
|
||||
- fbdevHWAdjustFrame(ADJUST_FRAME_ARGS(pScrn, 0, 0));
|
||||
+ my_fbdevHWSaveScreen(pScreen, SCREEN_SAVER_ON);
|
||||
+ my_fbdevHWAdjustFrame(ADJUST_FRAME_ARGS(pScrn, 0, 0));
|
||||
|
||||
/* mi layer */
|
||||
miClearVisualTypes();
|
||||
@@ -834,7 +908,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||
} else if (!fPtr->shadowFB) {
|
||||
/* FIXME: this doesn't work for all cases, e.g. when each scanline
|
||||
has a padding which is independent from the depth (controlfb) */
|
||||
- pScrn->displayWidth = fbdevHWGetLineLength(pScrn) /
|
||||
+ pScrn->displayWidth = my_fbdevHWGetLineLength(pScrn) /
|
||||
(pScrn->bitsPerPixel / 8);
|
||||
|
||||
if (pScrn->displayWidth != pScrn->virtualX) {
|
||||
@@ -862,7 +936,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||
}
|
||||
}
|
||||
|
||||
- switch ((type = fbdevHWGetType(pScrn)))
|
||||
+ switch ((type = my_fbdevHWGetType(pScrn)))
|
||||
{
|
||||
case FBDEVHW_PACKED_PIXELS:
|
||||
switch (pScrn->bitsPerPixel) {
|
||||
@@ -870,7 +944,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||
case 16:
|
||||
case 24:
|
||||
case 32:
|
||||
- ret = fbScreenInit(pScreen, fPtr->shadowFB ? fPtr->shadow
|
||||
+ ret = my_fbScreenInit(pScreen, fPtr->shadowFB ? fPtr->shadow
|
||||
: fPtr->fbstart, pScrn->virtualX,
|
||||
pScrn->virtualY, pScrn->xDpi,
|
||||
pScrn->yDpi, pScrn->displayWidth,
|
||||
@@ -935,7 +1009,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||
}
|
||||
|
||||
/* must be after RGB ordering fixed */
|
||||
- if (init_picture && !fbPictureInit(pScreen, NULL, 0))
|
||||
+ if (init_picture && !my_fbPictureInit(pScreen, NULL, 0))
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
|
||||
"Render extension initialisation failed\n");
|
||||
|
||||
@@ -966,7 +1040,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||
miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
|
||||
|
||||
/* colormap */
|
||||
- switch ((type = fbdevHWGetType(pScrn)))
|
||||
+ switch ((type = my_fbdevHWGetType(pScrn)))
|
||||
{
|
||||
/* XXX It would be simpler to use miCreateDefColormap() in all cases. */
|
||||
case FBDEVHW_PACKED_PIXELS:
|
||||
@@ -1032,10 +1106,10 @@ FBDevCloseScreen(CLOSE_SCREEN_ARGS_DECL)
|
||||
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
|
||||
FBDevPtr fPtr = FBDEVPTR(pScrn);
|
||||
|
||||
- fbdevHWRestore(pScrn);
|
||||
- fbdevHWUnmapVidmem(pScrn);
|
||||
+ my_fbdevHWRestore(pScrn);
|
||||
+ my_fbdevHWUnmapVidmem(pScrn);
|
||||
if (fPtr->shadow) {
|
||||
- shadowRemove(pScreen, pScreen->GetScreenPixmap(pScreen));
|
||||
+ my_shadowRemove(pScreen, pScreen->GetScreenPixmap(pScreen));
|
||||
free(fPtr->shadow);
|
||||
fPtr->shadow = NULL;
|
||||
}
|
||||
@@ -1070,7 +1144,7 @@ FBDevWindowLinear(ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode,
|
||||
if (fPtr->lineLength)
|
||||
*size = fPtr->lineLength;
|
||||
else
|
||||
- *size = fPtr->lineLength = fbdevHWGetLineLength(pScrn);
|
||||
+ *size = fPtr->lineLength = my_fbdevHWGetLineLength(pScrn);
|
||||
|
||||
return ((CARD8 *)fPtr->fbstart + row * fPtr->lineLength + offset);
|
||||
}
|
||||
@@ -1225,7 +1299,7 @@ FBDevDGAAddModes(ScrnInfoPtr pScrn)
|
||||
if (fPtr->lineLength)
|
||||
pDGAMode->bytesPerScanline = fPtr->lineLength;
|
||||
else
|
||||
- pDGAMode->bytesPerScanline = fPtr->lineLength = fbdevHWGetLineLength(pScrn);
|
||||
+ pDGAMode->bytesPerScanline = fPtr->lineLength = my_fbdevHWGetLineLength(pScrn);
|
||||
|
||||
pDGAMode->imageWidth = pMode->HDisplay;
|
||||
pDGAMode->imageHeight = pMode->VDisplay;
|
||||
--
|
||||
2.34.1
|
||||
|
12
SOURCES/BGNoneRoot.patch
Normal file
12
SOURCES/BGNoneRoot.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up xf86-video-fbdev-0.4.3/src/fbdev.c.dma xf86-video-fbdev-0.4.3/src/fbdev.c
|
||||
--- xf86-video-fbdev-0.4.3/src/fbdev.c.dma 2012-07-02 12:46:46.000000000 +0100
|
||||
+++ xf86-video-fbdev-0.4.3/src/fbdev.c 2012-07-02 13:02:40.545956779 +0100
|
||||
@@ -673,6 +673,8 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
|
||||
pScrn->offset.red,pScrn->offset.green,pScrn->offset.blue);
|
||||
#endif
|
||||
|
||||
+ pScreen->canDoBGNoneRoot = 1;
|
||||
+
|
||||
if (NULL == (fPtr->fbmem = my_fbdevHWMapVidmem(pScrn))) {
|
||||
xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"mapping of video memory"
|
||||
" failed\n");
|
327
SPECS/xorg-x11-drv-fbdev.spec
Normal file
327
SPECS/xorg-x11-drv-fbdev.spec
Normal file
@ -0,0 +1,327 @@
|
||||
%global tarball xf86-video-fbdev
|
||||
%global moduledir %(pkg-config xorg-server --variable=moduledir )
|
||||
%global driverdir %{moduledir}/drivers
|
||||
|
||||
Summary: Xorg X11 fbdev video driver
|
||||
Name: xorg-x11-drv-fbdev
|
||||
Version: 0.5.0
|
||||
Release: 11%{?dist}
|
||||
URL: http://www.x.org
|
||||
License: MIT
|
||||
|
||||
Source0: https://www.x.org/pub/individual/driver/%{tarball}-%{version}.tar.bz2
|
||||
|
||||
ExcludeArch: s390 s390x
|
||||
|
||||
Patch0: 0001-mustard-Enable-linking-with-z-now.patch
|
||||
Patch2: BGNoneRoot.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: xorg-x11-server-devel >= 1.10.99.902
|
||||
BuildRequires: autoconf automake libtool
|
||||
|
||||
Requires: Xorg %(xserver-sdk-abi-requires ansic)
|
||||
Requires: Xorg %(xserver-sdk-abi-requires videodrv)
|
||||
|
||||
%description
|
||||
X.Org X11 fbdev video driver.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{tarball}-%{version}
|
||||
%patch0 -p1
|
||||
%patch2 -p1
|
||||
|
||||
%build
|
||||
autoreconf -vif
|
||||
%configure --disable-static
|
||||
make
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
|
||||
# FIXME: Remove all libtool archives (*.la) from modules directory. This
|
||||
# should be fixed in upstream Makefile.am or whatever.
|
||||
find $RPM_BUILD_ROOT -regex ".*\.la$" | xargs rm -f --
|
||||
|
||||
%files
|
||||
%{driverdir}/fbdev_drv.so
|
||||
%{_mandir}/man4/fbdev.4*
|
||||
|
||||
%changelog
|
||||
* Wed Feb 23 2022 Adam Jackson <ajax@redhat.com> - 0.5.0-11
|
||||
- Enable hardened build
|
||||
Resolves: rhbz#2044899
|
||||
|
||||
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 0.5.0-10
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.5.0-9
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
|
||||
* Thu Jan 28 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Thu Nov 5 09:57:16 AEST 2020 Peter Hutterer <peter.hutterer@redhat.com> - 0.5.0-7
|
||||
- Add BuildRequires for make
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed May 30 2018 Adam Jackson <ajax@redhat.com> - 0.5.0-1
|
||||
- fbdev 0.5.0
|
||||
|
||||
* Mon Apr 02 2018 Adam Jackson <ajax@redhat.com> - 0.4.3-30
|
||||
- Rebuild for xserver 1.20
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.3-29
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.3-28
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.3-27
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.3-26
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Thu Sep 29 2016 Hans de Goede <hdegoede@redhat.com> - 0.4.3-25
|
||||
- Rebuild against xserver-1.19
|
||||
|
||||
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.3-24
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Thu Jan 28 2016 Peter Hutterer <peter.hutterer@redhat.com>
|
||||
- Remove unnecessary defattr
|
||||
|
||||
* Wed Jan 20 2016 Peter Hutterer <peter.hutterer@redhat.com>
|
||||
- s/define/global/
|
||||
|
||||
* Wed Jul 29 2015 Dave Airlie <airlied@redhat.com> - 0.4.3-23
|
||||
- 1.15 ABI rebuild
|
||||
|
||||
* Tue Jun 23 2015 Adam Jackson <ajax@redhat.com> - 0.4.3-22
|
||||
- Undefine _hardened_build
|
||||
|
||||
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.3-21
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Wed Feb 11 2015 Hans de Goede <hdegoede@redhat.com> - 0.4.3-20
|
||||
- xserver 1.17 ABI rebuild
|
||||
|
||||
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.3-19
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Mon Jun 16 2014 Hans de Goede <hdegoede@redhat.com> - 0.4.3-18
|
||||
- xserver 1.15.99.903 ABI rebuild
|
||||
|
||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.3-17
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Mon Apr 28 2014 Hans de Goede <hdegoede@redhat.com> - 0.4.3-16
|
||||
- xserver 1.15.99-20140428 git snapshot ABI rebuild
|
||||
|
||||
* Mon Jan 13 2014 Adam Jackson <ajax@redhat.com> - 0.4.3-15
|
||||
- 1.15 ABI rebuild
|
||||
|
||||
* Tue Dec 17 2013 Adam Jackson <ajax@redhat.com> - 0.4.3-14
|
||||
- 1.15RC4 ABI rebuild
|
||||
|
||||
* Wed Nov 20 2013 Adam Jackson <ajax@redhat.com> - 0.4.3-13
|
||||
- 1.15RC2 ABI rebuild
|
||||
|
||||
* Wed Nov 06 2013 Adam Jackson <ajax@redhat.com> - 0.4.3-12
|
||||
- 1.15RC1 ABI rebuild
|
||||
|
||||
* Fri Oct 25 2013 Adam Jackson <ajax@redhat.com> - 0.4.3-11
|
||||
- ABI rebuild
|
||||
|
||||
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.3-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Thu Mar 07 2013 Dave Airlie <airlied@redhat.com> 0.4.3-9
|
||||
- autoreconf for aarch64
|
||||
|
||||
* Thu Mar 07 2013 Peter Hutterer <peter.hutterer@redhat.com> - 0.4.3-8
|
||||
- require xorg-x11-server-devel, not -sdk
|
||||
|
||||
* Thu Mar 07 2013 Peter Hutterer <peter.hutterer@redhat.com> - 0.4.3-7
|
||||
- ABI rebuild
|
||||
|
||||
* Fri Feb 15 2013 Peter Hutterer <peter.hutterer@redhat.com> - 0.4.3-6
|
||||
- ABI rebuild
|
||||
|
||||
* Fri Feb 15 2013 Peter Hutterer <peter.hutterer@redhat.com> - 0.4.3-5
|
||||
- ABI rebuild
|
||||
|
||||
* Thu Jan 10 2013 Adam Jackson <ajax@redhat.com> - 0.4.3-4
|
||||
- ABI rebuild
|
||||
|
||||
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Wed Jul 18 2012 Dave Airlie <airlied@redhat.com> - 0.4.3-2
|
||||
- ABI rebuild
|
||||
|
||||
* Mon Jul 02 2012 Dave Airlie <airlied@redhat.com> 0.4.3-1
|
||||
- upstream 0.4.3 release
|
||||
|
||||
* Thu Apr 05 2012 Adam Jackson <ajax@redhat.com> - 0.4.2-9
|
||||
- RHEL arch exclude updates
|
||||
|
||||
* Sat Feb 11 2012 Peter Hutterer <peter.hutterer@redhat.com> - 0.4.2-8
|
||||
- ABI rebuild
|
||||
|
||||
* Fri Feb 10 2012 Peter Hutterer <peter.hutterer@redhat.com> - 0.4.2-7
|
||||
- ABI rebuild
|
||||
|
||||
* Tue Jan 24 2012 Peter Hutterer <peter.hutterer@redhat.com> - 0.4.2-6
|
||||
- ABI rebuild
|
||||
|
||||
* Wed Jan 04 2012 Peter Hutterer <peter.hutterer@redhat.com> - 0.4.2-5
|
||||
- Rebuild for server 1.12
|
||||
|
||||
* Mon Nov 14 2011 Adam Jackson <ajax@redhat.com> - 0.4.2-4
|
||||
- ABI rebuild
|
||||
|
||||
* Wed Nov 09 2011 ajax <ajax@redhat.com> - 0.4.2-3
|
||||
- ABI rebuild
|
||||
|
||||
* Thu Aug 18 2011 Adam Jackson <ajax@redhat.com> - 0.4.2-2
|
||||
- Rebuild for xserver 1.11 ABI
|
||||
|
||||
* Tue Jun 21 2011 Adam Jackson <ajax@redhat.com> 0.4.2-1
|
||||
- fbdev 0.4.2
|
||||
|
||||
* Wed May 11 2011 Peter Hutterer <peter.hutterer@redhat.com> - 0.4.1-9
|
||||
- Rebuild for server 1.11
|
||||
|
||||
* Tue Mar 01 2011 Peter Hutterer <peter.hutterer@redhat.com> - 0.4.1-8
|
||||
- Rebuild for server 1.10
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.1-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Thu Dec 02 2010 Dave Airlie <airlied@redhat.com> 0.4.1-6
|
||||
- fix bg none root
|
||||
|
||||
* Wed Oct 27 2010 Adam Jackson <ajax@redhat.com> 0.4.1-5
|
||||
- Add ABI requires magic. (#542742)
|
||||
|
||||
* Mon Jul 05 2010 Peter Hutterer <peter.hutterer@redhat.com> - 0.4.1-4
|
||||
- rebuild for X Server 1.9
|
||||
|
||||
* Thu Jan 21 2010 Peter Hutterer <peter.hutterer@redhat.com> - 0.4.1-3
|
||||
- Rebuild for server 1.8
|
||||
|
||||
* Thu Jan 21 2010 Peter Hutterer <peter.hutterer@redhat.com> - 0.4.1-2
|
||||
- Rebuild for server 1.8
|
||||
|
||||
* Tue Aug 04 2009 Dave Airlie <airlied@redhat.com> 0.4.1-1
|
||||
- fbdev 0.4.1
|
||||
|
||||
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-6.1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Wed Jul 15 2009 Adam Jackson <ajax@redhat.com> - 0.4.0-5.1
|
||||
- ABI bump
|
||||
|
||||
* Mon Jun 22 2009 Peter Hutterer <peter.hutterer@redhat.com> 0.4.0-5
|
||||
- fbdev-0.4.0-Make-ISA-optional.patch: to make next patch apply cleanly.
|
||||
- fbdef-0.4.0-Remove-useless-loader-symbol-lists.patch:
|
||||
fix linker error against X server >= 1.6.99.1
|
||||
|
||||
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Mon Dec 22 2008 Dave Airlie <airlied@redhat.com> 0.4.0-3
|
||||
- rebuild for latest server API
|
||||
|
||||
* Thu Oct 30 2008 Bill Nottingham <notting@redhat.com> 0.4.0-2
|
||||
- set canDoBGNoneRoot on driver startup
|
||||
|
||||
* Thu Mar 20 2008 Dave Airlie <airlied@redhat.com> 0.4.0-1
|
||||
- Update to latest upstream release
|
||||
|
||||
* Wed Feb 20 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.3.1-7
|
||||
- Autorebuild for GCC 4.3
|
||||
|
||||
* Fri Jan 18 2008 Dave Airlie <airlied@redhat.com> 0.3.1-6
|
||||
- rebuild for abi change.
|
||||
|
||||
* Tue Nov 13 2007 Adam Jackson <ajax@redhat.com> 0.3.1-5.20071113
|
||||
- Update to git snapshot for pciaccess goodness. Don't ask why a driver
|
||||
that doesn't touch PCI at all needs a PCI update. I don't know either,
|
||||
and thinking about it makes me very sad.
|
||||
- Require xserver 1.4.99.1
|
||||
|
||||
* Wed Aug 22 2007 Adam Jackson <ajax@redhat.com> - 0.3.1-4
|
||||
- Rebuild for PPC toolchain bug
|
||||
|
||||
* Mon Jun 18 2007 Adam Jackson <ajax@redhat.com> 0.3.1-3
|
||||
- Update Requires and BuildRequires. Disown the module directories.
|
||||
|
||||
* Fri Feb 16 2007 Adam Jackson <ajax@redhat.com> 0.3.1-2
|
||||
- ExclusiveArch -> ExcludeArch
|
||||
|
||||
* Fri Jan 05 2007 Adam Jackson <ajax@redhat.com> 0.3.1-1
|
||||
- Update to 0.3.1
|
||||
|
||||
* Mon Aug 28 2006 Jeremy Katz <katzj@redhat.com> - 0.3.0-2
|
||||
- adjust to prefer 32bpp over 24bpp for fbbpp (#204117)
|
||||
|
||||
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com>
|
||||
- rebuild
|
||||
|
||||
* Tue May 23 2006 Adam Jackson <ajackson@redhat.com> 0.3.0-1
|
||||
- Update to 0.3.0 from 7.1.
|
||||
|
||||
* Tue May 16 2006 Adam Jackson <ajackson@redhat.com> 0.2.0-2
|
||||
- Move debugging output from compile-time option to run-time option.
|
||||
|
||||
* Sun Apr 9 2006 Adam Jackson <ajackson@redhat.com> 0.2.0-1
|
||||
- Update to 0.2.0 from 7.1RC1.
|
||||
|
||||
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 0.1.0.5-1.2
|
||||
- bump again for double-long bug on ppc(64)
|
||||
|
||||
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 0.1.0.5-1.1
|
||||
- rebuilt for new gcc4.1 snapshot and glibc changes
|
||||
|
||||
* Wed Jan 18 2006 Mike A. Harris <mharris@redhat.com> 0.1.0.5-1
|
||||
- Updated xorg-x11-drv-fbdev to version 0.1.0.5 from X11R7.0
|
||||
|
||||
* Tue Dec 20 2005 Mike A. Harris <mharris@redhat.com> 0.1.0.4-1
|
||||
- Updated xorg-x11-drv-fbdev to version 0.1.0.4 from X11R7 RC4
|
||||
- Removed 'x' suffix from manpage dirs to match RC4 upstream.
|
||||
|
||||
* Wed Nov 16 2005 Mike A. Harris <mharris@redhat.com> 0.1.0.2-1
|
||||
- Updated xorg-x11-drv-fbdev to version 0.1.0.2 from X11R7 RC2
|
||||
|
||||
* Fri Nov 4 2005 Mike A. Harris <mharris@redhat.com> 0.1.0.1-1
|
||||
- Updated xorg-x11-drv-fbdev to version 0.1.0.1 from X11R7 RC1
|
||||
- Fix *.la file removal.
|
||||
|
||||
* Mon Oct 3 2005 Mike A. Harris <mharris@redhat.com> 0.1.0-1
|
||||
- Update BuildRoot to use Fedora Packaging Guidelines.
|
||||
- Deglob file manifest.
|
||||
- Add alpha/sparc/sparc64 to "ExclusiveArch"
|
||||
|
||||
* Fri Sep 2 2005 Mike A. Harris <mharris@redhat.com> 0.1.0-0
|
||||
- Initial spec file for fbdev video driver generated automatically
|
||||
by my xorg-driverspecgen script.
|
Loading…
Reference in New Issue
Block a user