and it WORKS!
i owe you a beer
thank you very much.
UPDATE: Looks like a problem with permissions on /tmp. The X server starts fine, but gdm keeps cycling it because it couldn't start and ends up locking it up. After fixing the permissions, everything starts again.![]()
Last edited by mmastrac; 07-30-2007 at 11:08 AM.
Thanks for this. It works great!
pretty slick knowing to nop out a call to atiddxSave64BitBAR
/me wonders how long that took you to figure out.
nice.
It's perfectly work with my machine.
thanks.
Another patch...
Hi Michael!
Try this:
DRIVER=/usr/lib64/xorg/modules/drivers/fglrx_drv.so
TMPDRV=/tmp/fglrx_drv.so
cp $DRIVER $TMPDRV
for x in $(objdump -d $DRIVER|awk '/callq/&&/atiddxSave64BitBAR@plt/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do
sed -i "s/$x/\x90\x90\x90\x90\x90/g" $TMPDRV
done
cp --remove-destination $TMPDRV $DRIVER
Just a tiny mod of
http://www.rage3d.com/board/showpost...87&postcount=6
I guess it can patch any driver with that function name. Btw. the diff between 32+64 bit is call for 32 and callq for 64. Therefore the hack I posted above works with 32+64 bit as call matches callq too. It is funny to try this as you can remove the control file as someone found out to get a logo that way too. When you use Kanotix or Ubuntu Desktop live cds (32+64 bit) you can force this patching with -y option for 8.39.4 (current default). Of course i dont add the fedora hack as it is not usefull for debian at the moment.
Ciao
Jörg
What's funny is that there's a bunch of NOPped out code in ATI's latest around the signature stuff. Maybe they just cleared out the check instead of releasing new drivers.
BTW, I think his solution is a bit better - it also allows patching of multiple calls (and doesn't require my manual step). Neat idea to use objdump|awk to drive sed, in any case.
I'll update my original post to point at that one.
Last edited by mmastrac; 07-31-2007 at 10:17 AM.