Announcement

Collapse
No announcement yet.

AMD Radeon HD 7970 On Linux

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #41
    Originally posted by curaga View Post
    With the official push as an "equal co-processor" it becomes possible and in some cases desirable to run something entirely (or almost entirely) there.

    This is compute though, not graphics.
    I'm trying to do something similar and can't wait for the HD7xxx ISA manual in particular. I'll try and get the source out as ASAP but I actually have code *running* on the card itself using the UVD microprocessor (a Tensilica Xtensa); although it's only an HD2400 - see the link below. Sorry if slightly off-topic (probably more relevant on an electronics forum).

    *Note* New EDAboard thread at www.edaboard.com/thread236934.html I've managed to interface an AMD Radeon HD 2400 graphics card to a STM32 microcontroller. The GPU features an I2C bus 'backdoor' allowing registers to be read/written from the microcontroller. This provides full access without using PCI Express, however the reference clock is still required (and does not need to be 100MHz), so I've taken it from the on board xtal. AMD's open-source AtomBIOS parser is used to configure the card. The undocumented Radeon UVD (Unified Video Decoder) block is setup and custom firmware drawing a spinning cube is executed by the 32-bit Xtensa CPU present in the UVD. Firmware is compressed using LZMA to reduce transfer time. Preemptive multitasking is supported on the Xtensa using a port of FreeRTOS. Note that 3D rendering is done in hardware with full TCL based on open-source code from the Linux kernel and AMD's r600_demo example. The vertex shader implements a matrix multiplication and the pixel shader simply passes pixel data unmodified. I also have texture mapping working. Total boot time after power-up is 3 seconds. Absolutely no PC required, you can run it from batteries! Current consumption of the entire project is 700mA @ 12V, and roughly 400mA @ 5V (the GPU itself draws 150mA @3.3V).

    Comment


    • #42
      There is no support for the HD 7970 in the closed source drivers until today. Please update this article as it is one of the first hits on a web search.

      It actually made me buy the card as an early adapter and might save others some money if it would be corrected.

      Comment


      • #43
        Originally posted by thammi View Post
        There is no support for the HD 7970 in the closed source drivers until today. Please update this article as it is one of the first hits on a web search.

        It actually made me buy the card as an early adapter and might save others some money if it would be corrected.
        Why Im not suprised?!

        I won?t be calling names on you though, it is not your fault.







        But, seriously, when nvidia rolled out their 2xx series (210-240) support was .. absent, for at least two months

        Comment


        • #44
          Try this :



          I haven't had a chance to test it myself and the KB page is still WIP, but it should include support for HD 7970.
          Test signature

          Comment


          • #45
            Interesting, from the version number that driver must be from december. Also 12-1 supports all ids (and more) than this driver does, so maybe only the control file is different...
            Last edited by Kano; 27 January 2012, 09:10 PM.

            Comment


            • #46
              Yes and no. I expect this would be a driver branch that ended in December and was used to get last minute SI fixes out the door more quickly than we could in a regular release. Later drivers would support other new hardware but wouldn't necessarily have the SI-specific changes.

              We would have had to lock the driver down in December in order for boards to be on shelves in time for a January launch.
              Test signature

              Comment


              • #47
                Yes seems to be specifiy for that card, but i really dont get it why aticonfig uses the same limited ids as the control file. Basically fglrx is a generic driver similar to the oss radeon one...

                Comment


                • #48
                  This is getting into philosophical questions, but if you take a generic driver, make lots of changes for one specific chip and do lots of testing for one specific chip but don't test for regression failures on all the other chips, is that specific branch still a generic driver ?

                  Based on what you are saying about aticonfig IDs, it sounds like we decided the answer was "no".
                  Test signature

                  Comment


                  • #49
                    Basically there are 2 checks in your driver:

                    -> /etc/ati/control

                    a pretty useless check as it must contain just a whitelist of some pci ids, but when you remove it all you get is an unsupported hardware watermark - i never saw a driver that did not run at all but showed a watermark - usally the driver crashes before or it works. btw. you can simply replace the file by another one which was supported before.

                    -> aticonfig

                    that check is really idiculous as it just does not allow you to configure the driver correctly without doing it the manual way. of course a very short xorg.conf would be enough too or lust like u does: they use a package that overrides the xorg autodetection so it uses fglrx instead. if you really want a whitelist use the same ids as in the fglrxko_pci_ids.h file or just check for 1002 vendor.

                    ALL fglrx drivers are generic, the same as the nvidia ones. They most likely parse your funny atombios and every supported pci id can be parsed from

                    common/lib/modules/fglrx/build_mod/fglrxko_pci_ids.h

                    which i do to too create a whitelist. for nvidia you dont need to do a whitelist, because it is much simpler to use a backlist as old pci ids usually do not change at all and every new device is supported anyway - the only thing that does not show up correctly is the name in the OpenGL version string when you use a new device with an old driver, something thats not really critical. If it does not run at all then you see the crash log anyway (very rare).

                    a little "optical" hint: update your own 1002 vendor string in the pciids database, it looks really bad now...

                    Comment


                    • #50
                      Originally posted by Kano View Post
                      a little "optical" hint: update your own 1002 vendor string in the pciids database, it looks really bad now...
                      Do you mean :



                      What's wrong with it ?
                      Test signature

                      Comment

                      Working...
                      X