tirdc (tirdc) wrote,

New Dumping Tool HOWTO

Jerome Glisse (glisse) has been hacking lately on his radeondump tool. It can be used to easily dump indexed registers[1] of a Radeon card. He developed it on a Mac G5 and wanted to see how it works for other users. Yesterday he asked Oliver McFadden (z3ro) on IRC if he could create dumps from fglrx and r300. Currently running it isn't easy for an "end user" but if you want to, do the following:

  • Get libpciaccess and do the normal ./configure && make && make install with it. Depending on you distribution (i.e. gentoo) you might want to run make install --prefix=/usr to install it.

  • Get radeondump and compile it using cmake . and after that finished run make.

That will give you 2 tools:

  1. radeondump: The tool to dump registers

  2. dcomp: The tool to compare dumps

Now you are ready to go. To get reproducible and sane results, you need to run the tool multiple times. In software testing it's a good habit to remember the test procedure. Since that tool needs many different dumps (at least 5) to eliminate useless registers, a recommend procedure would look like:

  • cold boot your system

  • load fglrx

  • dump registers using: radeondump -d fglrx (Note: Your screen might flicker and the system might hang. Be careful!)

  • start X

  • dump registers

  • switch to terminal by pressing ALT CTRL F1

  • dump registers

  • switch back to X by pressing ALT CTRL F7

  • dump

  • start glxgears and stop it

  • dump

  • run tuxracer, play a few seconds, quit

  • dump

  • run quake 3 demo, play a few seconds, quit

  • dump

  • run browser, quit

  • dump

  • run java application, quit

  • dump

Wider variety of applications might improve the dumps. Now you should repeat that test in the same order for R300 from mesa git. The only difference should be that you load radeon instead of fglrx and that you use radeondump -d r300.

Once you are done with that, you got several fglrx-id-number and r300-id-number files. In the same directory run dcomp r300 fglrx (the order of arguments is important). Now you got a file names fglrx_r300.diff. This file might look like complete none-sense to you, but for others it holds valuable information. Jerome Glisse (glisse) might be interested in that file or if the tool failed for you. Please ask on IRC if someone wants to take a look at that file. Oliver McFadden (z3ro) uploaded an example file.

[1]: Jerome Glisse (glisse) explained that index registers cannot be accessed directly. You got to write the address of the register to a special register. The hardware than enables access to that register and you can read it. This must be done for reading and writing these registers.

  • Update dri-log Android app

    I'd like to announce an update for the dri-log Android app users, the mobile version the DRI IRC log. The app recently gained with a complete…

  • Clover moves to the main mesa repository

    Until now Clover was developed in a separate git repository (and some forks on github as well). But today Francisco Jerez started preparing to add…

  • DRI-log Android App

    Did you ever wonder what is discussed between graphics hardware developers? If so, you might have found the IRC Logs. It is a handy and small web…

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded