Toshaan Bharvani
2 years ago
commit
599da12212
3 changed files with 748 additions and 0 deletions
@ -0,0 +1,409 @@
@@ -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 |
||||
|
@ -0,0 +1,12 @@
@@ -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"); |
@ -0,0 +1,327 @@
@@ -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