Date: Fri, 05 Oct 2007 10:04:51 -0400 From: Coleman Kane <cokane@FreeBSD.org> To: Olivier Brisson <oli@unixcraft.org>, x11@freebsd.org Subject: Re: ATI drivers version 6.7.194 Message-ID: <47064483.3050304@FreeBSD.org> In-Reply-To: <20071005123240.GA5428@haribo.unixcraft.org> References: <4704FB61.1080708@FreeBSD.org> <20071004202242.GA1847@haribo.unixcraft.org> <20071005123240.GA5428@haribo.unixcraft.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------080604020400050201030904 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Olivier Brisson wrote: > * Olivier Brisson <oli@unixcraft.org> [071004 22:56]: > >> * Coleman Kane <cokane@freebsd.org> [071004 16:49]: >> >>> Hey, >>> >>> The latest round of fixes for xf86-video-ati came out (6.7.194). >>> >>> I put together the attached patch to the current port for the update. If >>> anyone is still having trouble, try this one out or get the latest out >>> of the repository. Seems to fix some breakage in Xv as well as some LVDS >>> issues. >>> >>> Works fine for me so far! >>> >>> -- >>> Coleman Kane >>> >> Thank you very much for your work, but after patching and >> recompiling xorg with the ati-driver, it still doesn't work right >> for me. I still get a lot of flickering and scrolling Firefox or >> {snip] >> > > The bug has been confirmed by many people here: > > http://bugs.freedesktop.org/show_bug.cgi?id=12490 > > It does not only affect FreeBSD but also Rawhide > (https://bugzilla.redhat.com/show_bug.cgi?id=261021) > and many problems have been reported with single headed radeon > cards. http://bugs.freedesktop.org/show_bug.cgi?id=12490#c1 > > But there seems to be some hope as written here: > http://bugs.freedesktop.org/show_bug.cgi?id=12490#c22 > > I will try to give a try this weekend and test this. Does someone > has some nice hints to use git and build everything? Where should I > be careful? > > Olivier > Last time that I did that, I followed these steps: 1. cd /usr/ports/x11-drivers/xf86-video-ati 2. make extract 3. cd work 4. git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-ati (yields a ./xf86-video-ati directory) 5. cd xf86-video-ati 6. ./autogen.sh 7. cd .. 8. mv xf86-video-ati-6.7.194 xf86-video-ati-6.7.194-orig 9. mv xf86-video-ati xf86-video-ati-6.7.194 10. cd .. 11. make && make deinstall && make install That should install (quick & dirtily) the HEAD revision from git, built from ports. In fact, I just did this on my system and it built fine (minus a bunch of 64-bit pointer printf warnings on my amd64 box). I am attaching a patch that isolates where these are, and fixes the warnings (and the log output) with the properly formatted hex fields for 8-byte pointers on amd64. You should apply this within work/xf86-video-ati-6.7.194/src. Preparing to restart the X server w/ the new driver. -- Coleman Kane --------------080604020400050201030904 Content-Type: text/x-patch; name="radeon_dri.c-64bit-clean.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="radeon_dri.c-64bit-clean.diff" --- radeon_dri.c.orig 2007-10-05 09:45:37.000000000 -0400 +++ radeon_dri.c 2007-10-05 10:01:05.000000000 -0400 @@ -849,7 +849,8 @@ return FALSE; } xf86DrvMsg(pScreen->myNum, X_INFO, - "[agp] %d kB allocated with handle 0x%08x\n", + (sizeof(drm_handle_t) == 8)?"[agp] %d kB allocated with handle 0x%016lx\n": + "[agp] %d kB allocated with handle 0x%08x\n", info->gartSize*1024, info->agpMemHandle); if (drmAgpBind(info->drmFD, @@ -867,7 +868,8 @@ return FALSE; } xf86DrvMsg(pScreen->myNum, X_INFO, - "[agp] ring handle = 0x%08x\n", info->ringHandle); + (sizeof(drm_handle_t) == 8)?"[agp] ring handle = 0x%016lx\n":"[agp] ring handle = 0x%08x\n", + info->ringHandle); if (drmMap(info->drmFD, info->ringHandle, info->ringMapSize, &info->ring) < 0) { @@ -875,7 +877,7 @@ return FALSE; } xf86DrvMsg(pScreen->myNum, X_INFO, - "[agp] Ring mapped at 0x%08lx\n", + (sizeof(void*) == 8)?"[agp] Ring mapped at 0x%016lx\n":"[agp] Ring mapped at 0x%08lx\n", (unsigned long)info->ring); if (drmAddMap(info->drmFD, info->ringReadOffset, info->ringReadMapSize, @@ -885,7 +887,8 @@ return FALSE; } xf86DrvMsg(pScreen->myNum, X_INFO, - "[agp] ring read ptr handle = 0x%08x\n", + (sizeof(drm_handle_t) == 8)?"[agp] ring read ptr handle = 0x%016lx\n": + "[agp] ring read ptr handle = 0x%08x\n", info->ringReadPtrHandle); if (drmMap(info->drmFD, info->ringReadPtrHandle, info->ringReadMapSize, @@ -895,7 +898,8 @@ return FALSE; } xf86DrvMsg(pScreen->myNum, X_INFO, - "[agp] Ring read ptr mapped at 0x%08lx\n", + (sizeof(drm_handle_t) == 8)?"[agp] Ring read ptr mapped at 0x%016lx\n": + "[agp] Ring read ptr mapped at 0x%08x\n", (unsigned long)info->ringReadPtr); if (drmAddMap(info->drmFD, info->bufStart, info->bufMapSize, @@ -905,7 +909,8 @@ return FALSE; } xf86DrvMsg(pScreen->myNum, X_INFO, - "[agp] vertex/indirect buffers handle = 0x%08x\n", + (sizeof(drm_handle_t) == 8)?"[agp] vertex/indirect buffers handle = 0x%016lx\n": + "[agp] vertex/indirect buffers handle = 0x%08x\n", info->bufHandle); if (drmMap(info->drmFD, info->bufHandle, info->bufMapSize, @@ -915,7 +920,8 @@ return FALSE; } xf86DrvMsg(pScreen->myNum, X_INFO, - "[agp] Vertex/indirect buffers mapped at 0x%08lx\n", + (sizeof(drmAddress) == 8)?"[agp] Vertex/indirect buffers mapped at 0x%016lx\n": + "[agp] Vertex/indirect buffers mapped at 0x%08lx\n", (unsigned long)info->buf); if (drmAddMap(info->drmFD, info->gartTexStart, info->gartTexMapSize, @@ -925,7 +931,8 @@ return FALSE; } xf86DrvMsg(pScreen->myNum, X_INFO, - "[agp] GART texture map handle = 0x%08x\n", + (sizeof(drm_handle_t) == 8)?"[agp] GART texture map handle = 0x%016lx\n": + "[agp] GART texture map handle = 0x%08x\n", info->gartTexHandle); if (drmMap(info->drmFD, info->gartTexHandle, info->gartTexMapSize, @@ -958,7 +965,8 @@ return FALSE; } xf86DrvMsg(pScreen->myNum, X_INFO, - "[pci] %d kB allocated with handle 0x%08x\n", + (sizeof(drm_handle_t) == 8)?"[pci] %d kB allocated with handle 0x%016lx\n": + "[pci] %d kB allocated with handle 0x%08x\n", info->gartSize*1024, info->pciMemHandle); RADEONDRIInitGARTValues(info); @@ -970,7 +978,8 @@ return FALSE; } xf86DrvMsg(pScreen->myNum, X_INFO, - "[pci] ring handle = 0x%08x\n", info->ringHandle); + (sizeof(drm_handle_t) == 8)?"[pci] ring handle = 0x%016lx\n":"[pci] ring handle = 0x%08x\n", + info->ringHandle); if (drmMap(info->drmFD, info->ringHandle, info->ringMapSize, &info->ring) < 0) { @@ -991,7 +1000,8 @@ return FALSE; } xf86DrvMsg(pScreen->myNum, X_INFO, - "[pci] ring read ptr handle = 0x%08x\n", + (sizeof(drm_handle_t) == 8)?"[pci] ring read ptr handle = 0x%016lx\n": + "[pci] ring read ptr handle = 0x%08x\n", info->ringReadPtrHandle); if (drmMap(info->drmFD, info->ringReadPtrHandle, info->ringReadMapSize, @@ -1014,7 +1024,8 @@ return FALSE; } xf86DrvMsg(pScreen->myNum, X_INFO, - "[pci] vertex/indirect buffers handle = 0x%08x\n", + (sizeof(drm_handle_t) == 8)?"[pci] vertex/indirect buffers handle = 0x%016lx\n": + "[pci] vertex/indirect buffers handle = 0x%08x\n", info->bufHandle); if (drmMap(info->drmFD, info->bufHandle, info->bufMapSize, @@ -1037,7 +1048,8 @@ return FALSE; } xf86DrvMsg(pScreen->myNum, X_INFO, - "[pci] GART texture map handle = 0x%08x\n", + (sizeof(drm_handle_t) == 8)?"[pci] GART texture map handle = 0x%016lx\n": + "[pci] GART texture map handle = 0x%08x\n", info->gartTexHandle); if (drmMap(info->drmFD, info->gartTexHandle, info->gartTexMapSize, @@ -1065,7 +1077,8 @@ return FALSE; } xf86DrvMsg(pScreen->myNum, X_INFO, - "[drm] register handle = 0x%08x\n", info->registerHandle); + (sizeof(drm_handle_t) == 8)?"[drm] register handle = 0x%016lx\n": + "[drm] register handle = 0x%08x\n", info->registerHandle); return TRUE; } --------------080604020400050201030904--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47064483.3050304>