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
[-- Attachment #1 --]
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
[-- Attachment #2 --]
--- 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;
}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47064483.3050304>
