Hello everyone,
I desperately need to bring back userland mode setting (UMS) support on my
machine for hardware compatibility reasons. As you probably know, UMS support
was removed some years ago, and a new git branch was created with the
UMS-compatible source code of the driver.
I cloned the UMS branch on my system and tried to build it, but it is very
difficult because of the amomunt of "bit rot" this branch seems to have
experienced. First, it complained about the lack of a "xaa.h", so I grabbed the
XAA header files from the last XAA-supported xorg-server version (1.12) and put
them in /usr/include/xorg.
That let me advance a bit, somehow, but shortly after the start of the second
try, I got other errors (included below). Is there any way in which I could
make this branch compile on a modern Linux distro with a modern xorg version?
radeon_driver.c:3383:6: error: too many arguments to function
‘pScreen->BlockHandler’
(*pScreen->BlockHandler) (BLOCKHANDLER_ARGS);
~^~~~~~~~~~~~~~~~~~~~~~~
radeon_driver.c:3384:27: warning: assignment to ‘ScreenBlockHandlerProcPtr’
{aka ‘void (*)(struct _Screen *, void *)’} from incompatible pointer type void
(*)(struct _Screen *, void *, void *)’ [-Wincompatible-pointer-types]
pScreen->BlockHandler = RADEONBlockHandler;
^
radeon_driver.c: In function ‘RADEONScreenInit’:
radeon_driver.c:3740:12: warning: assignment discards ‘const’ qualifier from
pointer target type [-Wdiscarded-qualifiers]
if ((s = xf86GetOptValString(info->Options, OPTION_SUBPIXEL_ORDER))) {
^
radeon_driver.c:3759:5: warning: implicit declaration of function
‘miInitializeBackingStore’; did you mean ‘InitializeSprite’?
[-Wimplicit-function-declaration]
miInitializeBackingStore(pScreen);
^~~~~~~~~~~~~~~~~~~~~~~~
InitializeSprite
radeon_driver.c:3899:24: warning: assignment to ‘void (*)(struct _Screen *,
void *, void *)’ from incompatible pointer type ‘ScreenBlockHandlerProcPtr’
{aka ‘void (*)(struct _Screen *, void *)’} [-Wincompatible-pointer-types]
info->BlockHandler = pScreen->BlockHandler;
^
radeon_driver.c:3900:27: warning: assignment to ‘ScreenBlockHandlerProcPtr’
{aka ‘void (*)(struct _Screen *, void *)’} from incompatible pointer type void
(*)(struct _Screen *, void *, void *)’ [-Wincompatible-pointer-types]
pScreen->BlockHandler = RADEONBlockHandler;
^
radeon_driver.c: In function ‘RADEONEnterVT’:
radeon_driver.c:6313:3: warning: implicit declaration of function
‘R600LoadShaders’ [-Wimplicit-function-declaration]
R600LoadShaders(pScrn);
^~~~~~~~~~~~~~~
radeon_driver.c: In function ‘RADEONCloseScreen’:
radeon_driver.c:6443:19: warning: passing argument 1 of ‘DamageUnregister’ from
incompatible pointer type [-Wincompatible-pointer-types]
DamageUnregister(&pPix->drawable, info->dri->pDamage);
^~~~~~~~~~~~~~~
In file included from /usr/include/xorg/pixmapstr.h:53,
from /usr/include/xorg/xf86str.h:40,
from radeon.h:46,
from radeon_driver.c:72:
/usr/include/xorg/damage.h:77:29: note: expected ‘DamagePtr’ {aka ‘struct
_damage *’} but argument is of type ‘DrawableRec *’ {aka ‘struct _Drawable *’}
DamageUnregister(DamagePtr pDamage);
~~~~~~~~~~^~~~~~~
radeon_driver.c:6443:2: error: too many arguments to function ‘DamageUnregister’
DamageUnregister(&pPix->drawable, info->dri->pDamage);
^~~~~~~~~~~~~~~~
In file included from /usr/include/xorg/pixmapstr.h:53,
from /usr/include/xorg/xf86str.h:40,
from radeon.h:46,
from radeon_driver.c:72:
/usr/include/xorg/damage.h:77:2: note: declared here
DamageUnregister(DamagePtr pDamage);
^~~~~~~~~~~~~~~~
radeon_driver.c:6497:27: warning: assignment to ‘ScreenBlockHandlerProcPtr’
{aka ‘void (*)(struct _Screen *, void *)’} from incompatible pointer type void
(*)(struct _Screen *, void *, void *)’ [-Wincompatible-pointer-types]
pScreen->BlockHandler = info->BlockHandler;
^
make[2]: *** [Makefile:900: radeon_driver.lo] Error 1
make[2]: Leaving directory '/root/src/xf86-video-ati-ums/src'
make[1]: *** [Makefile:448: all-recursive] Error 1
make[1]: Leaving directory '/root/src/xf86-video-ati-ums'
make: *** [Makefile:380: all] Error 2 Thank you very much!
Nicolás Colla
[email protected]_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx