Announcement

Collapse
No announcement yet.

Patch for fglrx & fc7 64-bit

Collapse
This topic is closed.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    and it WORKS!
    i owe you a beer

    thank you very much.

    Comment


    • #12
      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.

      Comment


      • #13
        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, 12:08 PM.

        Comment


        • #14
          Works Great!

          Thanks for this. It works great!

          Comment


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

            nice.

            Comment


            • #16
              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!

              Comment


              • #17
                It's perfectly work with my machine.

                thanks.

                Comment


                • #18
                  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
                  Michael Larabel
                  http://www.michaellarabel.com/

                  Comment


                  • #19
                    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

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

                    Comment


                    • #20
                      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, 11:17 AM.

                      Comment

                      Working...
                      X