Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 28

Thread: Patch for fglrx & fc7 64-bit

  1. #11
    Join Date
    Dec 2006
    Posts
    25

    Default

    and it WORKS!
    i owe you a beer

    thank you very much.

  2. #12
    Join Date
    Jul 2007
    Posts
    14

    Default

    Quote Originally Posted by khakhovich View Post
    and it WORKS!
    i owe you a beer

    thank you very much.
    Great - I updated the instructions to give people without 8.39.4 a way to do it. If I have time, I'll whip up a small autopatching program to do it automatically.

  3. #13
    Join Date
    Jul 2007
    Posts
    14

    Default

    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 01:08 PM.

  4. #14
    Join Date
    Sep 2006
    Posts
    14

    Default Works Great!

    Thanks for this. It works great!

  5. #15
    Join Date
    May 2007
    Posts
    44

    Default

    pretty slick knowing to nop out a call to atiddxSave64BitBAR
    /me wonders how long that took you to figure out.

    nice.

  6. #16
    Join Date
    Jul 2007
    Posts
    14

    Default

    Quote Originally Posted by rolz View Post
    pretty slick knowing to nop out a call to atiddxSave64BitBAR
    /me wonders how long that took you to figure out.

    nice.
    Not long, though I'm surprised that it works. I thought that it would fail somehow and I've have to insert a null check in atiddxSave64BitBAR instead, but it's been working for me for many hours now without trouble.

    Funny how that works!

  7. #17
    Join Date
    Jul 2007
    Location
    Seoul, Korea
    Posts
    22

    Default

    It's perfectly work with my machine.

    thanks.

  8. #18

    Default

    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

  9. #19
    Join Date
    May 2007
    Posts
    44

    Default

    Quote Originally Posted by mmastrac View Post
    Not long, though I'm surprised that it works.
    maybe we should try ad random nopping out calls in order to increase performance

    Quote Originally Posted by mmastrac View Post
    insert a null check
    Ah now i think i fully understand what was up cool

  10. #20
    Join Date
    Jul 2007
    Posts
    14

    Default

    Quote Originally Posted by Michael View Post
    Another patch...
    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 12:17 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •