Fix for glint_drv.so found, all release versions of driver do work now. It was a typical endianess issue.
See Xorg_alanc/X-src-20070227__20070401sun/X-src-20070227/XW_NV/open-src/xserver/xorg/xorg-server-1.2.0/hw/xfree86/common/compiler.h from lines 1699 to 1741: # elif defined(__sparc__) || defined(sparc) /* * Like powerpc, we provide byteswapping and no byteswapping functions * here with byteswapping as default, drivers that don't need byteswapping * should define SPARC_MMIO_IS_BE (perhaps create a generic macro so that we * do not need to use PPC_MMIO_IS_BE and the sparc one in all the same places * of drivers?). */ # define MMIO_IN8(base, offset) xf86ReadMmio8(base, offset) # define MMIO_OUT8(base, offset, val) \ xf86WriteMmio8(base, offset, (CARD8)(val)) # define MMIO_ONB8(base, offset, val) \ xf86WriteMmio8NB(base, offset, (CARD8)(val)) # if defined(SPARC_MMIO_IS_BE) /* No byteswapping */ # define MMIO_IN16(base, offset) xf86ReadMmio16Be(base, offset) # define MMIO_IN32(base, offset) xf86ReadMmio32Be(base, offset) # define MMIO_OUT16(base, offset, val) \ xf86WriteMmio16Be(base, offset, (CARD16)(val)) # define MMIO_OUT32(base, offset, val) \ xf86WriteMmio32Be(base, offset, (CARD32)(val)) # define MMIO_ONB16(base, offset, val) \ xf86WriteMmio16BeNB(base, offset, (CARD16)(val)) # define MMIO_ONB32(base, offset, val) \ xf86WriteMmio32BeNB(base, offset, (CARD32)(val)) # else /* byteswapping is the default */ # define MMIO_IN16(base, offset) xf86ReadMmio16Le(base, offset) # define MMIO_IN32(base, offset) xf86ReadMmio32Le(base, offset) # define MMIO_OUT16(base, offset, val) \ xf86WriteMmio16Le(base, offset, (CARD16)(val)) # define MMIO_OUT32(base, offset, val) \ xf86WriteMmio32Le(base, offset, (CARD32)(val)) # define MMIO_ONB16(base, offset, val) \ xf86WriteMmio16LeNB(base, offset, (CARD16)(val)) # define MMIO_ONB32(base, offset, val) \ xf86WriteMmio32LeNB(base, offset, (CARD32)(val)) # endif # define MMIO_MOVE32(base, offset, val) \ xf86WriteMmio32Be(base, offset, (CARD32)(val)) # else /* !__alpha__ && !__powerpc__ && !__sparc__ */ --->> So # if defined(SPARC_MMIO_IS_BE) /* No byteswapping */ needs to evaluate to true. Here is a working Makefile fix for glint (for MSB ppc and sparc) : CPPFLAGS+= -DPPC_MMIO_IS_BE -DSPARC_MMIO_IS_BE btw, I purchased a few more (so far unsupported/untested) frame buffers, which will arrive soon: Two items XVR-1000 (ffb3 with the java cpu) Expert 3d Expert 3d lite XVR-500 XVR-600 TurboGX, TurboGXPlus (they just arrived yesterday, so I can actually test our cg6 driver now) ~m p.s. I do include your patched wsfb_drv.so now [both patches], but in a location where it is not found by default, it now gets installed to /export/home/bochnig/projects/Xorg_alanc/X-src-20070227__20070401sun/X-src-20070227/XW_NV/proto-sun4-svr4/usr/X11/lib/modules/drivers/opensolaris/wsfb_drv.so (so that it doesn't affect the native drivers during bus scanning by default, but is still available for testing and can be symlinked-over for that purpose) I'm also doing exactly the same with vesa_drv.so and vga_drv.so, which currently don't fully work with any card on sparc, but maybe we can get them flirting with the wildcat chipsets some day, at least the VESA driver ... ?? -- Best regards, Martin Bochnig This message posted from opensolaris.org _______________________________________________ opensolaris-discuss mailing list [EMAIL PROTECTED]