Announcement

Collapse
No announcement yet.

An Effort Making An Open-Source Radeon Video BIOS

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

  • #31
    Originally posted by duby229 View Post
    I know you see things through jaded colored lenses, so please don't take this the wrong way.... But that is not what happened exactly.
    Erm?

    Originally posted by duby229 View Post
    Radeonhd should never have been born in the first place.
    And why is that?

    Originally posted by duby229 View Post
    SuSe should never have been contracted to begin with.
    Maybe that is because SuSE wasn't contracted? SuSE has been a long time technology partner of AMD. In this relationship, AMD and SuSE agree to do part of the engineering where AMD pays, and SuSE implements, on a 50/50% payment basis, ensuring that both parties get a proper solution and get an equal say. A SuSE engineer got contacted by his former department lead, and one thing led to the other. ATI didn't want a free driver, or did not want more control by AMD. AMD like the strength of the SuSE proposal, and got real lucky that the top display driver developer was at SuSE, ready to beat expectations and actually produce a free driver, despite ATIs reluctance. Without me, egbert and matthias at SuSE, ATI would've killed the open source graphics driver stone dead.

    Originally posted by duby229 View Post
    Bridgman supported radeonhd as his recommendation for a long time even after it became irrelevant. I remember specifically several flamewars where he was supporting radeonhd when he clearly shouldnt have been
    Bridgman stated a lot of things. If he had stated anything else than the above, he would've been in even more trouble with AMD. His actions were what counted.


    Originally posted by duby229 View Post
    The fact is that whether you like it or not radeonhd was a waste of time and effort from the very beginning.
    Check the above.

    Originally posted by duby229 View Post
    Radeon outpaced it at every single step of the way.
    It did not. Radeon made the noise, radeonhd did the hard engineering. Radeon happily took the painstakingly gained knowledge from radeonhd _all_ the time.

    Originally posted by duby229 View Post
    It worked better and faster AND was more stable and reliable.
    This is definitely not true for the general case. It might have been so in your specific situation, but that is what happens when idiots fork a project. Bugs do not get fixed on both projects, they only get fixed on one or the other.

    Originally posted by duby229 View Post
    I can't begin to tell you how much GCC hated radeonhd. It was a bitch to compile, mostly because of the coding style was incorrect form.
    Now this is definitely bullshit.

    Originally posted by duby229 View Post
    While you insisted on banging modesetting registers directly with radeonhd, radeon was already working and had moved on to acceleration.
    No. Radeon copied the hard bits from RadeonHD, those hard bits were the many things that AtomBIOS did not do, or did not do properly. Then, they enabled the existing 2D acceleration for r300 on r500 and it just worked.

    Originally posted by duby229 View Post
    radeonhd was just a waste of time.
    Find out who rendered the first triangle on R600. And then try again.

    Comment


    • #32
      Originally posted by eisenhart View Post
      I dont interpret Atombios tables. I dump the tables simply to the c-structs and let execute the AMDs atom interpreter these (its still byte code) tables.

      There is not only Atomtables in ROM. There is also int 10h and VBE code. In the end of build process you get a valid PCI option rom binary.

      I could flash it to the card.

      But its faster to test it using qemu:
      qemu-system-x86_64 -cpu host -enable-kvm -vga none -device vfio-pci,x-vga=on,host=1:00.0,romfile=vgabios.rom -m 1024 -cdrom centos6.3.iso
      This does not sound as if you are producing something that you can call free or open source software.

      In any case, radeonHD would've limited the amount of real work on this to only doing the board specific things. Like ASICInit, which brings up the whole board (clocks, memory controller, power management, etc), so that modesetting can be done. The amount of work needed to replace that with proper code would've been overseeable for individual boards, but impossible to do for _all_ boards, unless enough users found the time and inclination to do so.

      Comment


      • #33
        Check this file out: http://cgit.freedesktop.org/xorg/dri...deo-ati-6.14.6

        It even has every symbol prepended with RHD, making sure that loading radeon and radeonhd (which would be needed for pre-r500 hw) together would crash badly.

        Comment


        • #34
          Originally posted by libv View Post
          This does not sound as if you are producing something that you can call free or open source software.

          In any case, radeonHD would've limited the amount of real work on this to only doing the board specific things. Like ASICInit, which brings up the whole board (clocks, memory controller, power management, etc), so that modesetting can be done. The amount of work needed to replace that with proper code would've been overseeable for individual boards, but impossible to do for _all_ boards, unless enough users found the time and inclination to do so.
          EDIT: There isnt unfree code, no atom tables in source tree. YOU download the source, YOU dump the tables, YOU generate the option rom.

          It depends on atom tables. Its free like radeon driver which depends on atom tables. Its ok for me.

          You can modyfy the interpreter, byte code, tables, Vbe code.


          You are free to convert the byte code to c-code/assembler/perl, its not too hard.
          Last edited by eisenhart; 28 July 2013, 12:11 PM.

          Comment


          • #35
            Originally posted by blackiwid View Post
            First it cant hurt. 2nd NSA Scandal. could somebody say me if you coulld implement a nsa backdoor into such a firmware and 2nd question, if not, could you do it in a driver like the proprietary nvidia driverblob or the one from amd?
            Firmware, I guess you can't (at least on the video card), drivers, yes, anything that has root privileges, which kernel drivers (like a part of the graphics one) has got.

            Originally posted by mmstick View Post
            None of that really sounds realistic to me. It's just a BIOS for a graphics card. It has nothing to do with anything other than 'basic input/out' functions for the card itself. The only reason I could think of for a custom BIOS is to enable disabled features (FireGL features on RadeonHD? They are literally the same cards). Or maybe a tool that allows you to create a custom BIOS with whatever voltages/frequencies you want. I still see no reason for this.
            You could disable features you don't use (for example, I've never in my life used either DVI on the desltop or HDMI in general, so I might as well disable their support), for possible performance gains. This said, I don't think you gain anything perceivable, so no point in doing so.

            Originally posted by Edogaa View Post
            To scratch an itch or enforce their philosophy. Some random guy who may be doing something cool or not doesn't need a reason that you agree with or not.
            ^THIS.
            The guy hurts no one. I don't know if I'd take the risk of flashing my video cards, but if he achieves anything cool, even better for him and whoever is interested on this.

            Comment


            • #36
              Originally posted by eisenhart View Post
              EDIT: There isnt unfree code, no atom tables in source tree. YOU download the source, YOU dump the tables, YOU generate the option rom.

              It depends on atom tables. Its free like radeon driver which depends on atom tables. Its ok for me.

              You can modyfy the interpreter, byte code, tables, Vbe code.


              You are free to convert the byte code to c-code/assembler/perl, its not too hard.
              Hrm, will have a deeper look tonight then

              Comment


              • #37
                Originally posted by wargames View Post
                LOL! If the NSA wanted to monitor your communications they wouldn't need to patch the firmware of your graphics card. They have access to technology that you have never ever heard about.
                they cant break physics so there are some things you can say it is possible or not. Of course if you are classified as a top terrorist or something similar and they want to attack you specificly you are fucked anyway.
                The point is "if the nsa wanted to monitor your communications", ?hh really did you live under a rock last 2 months? is the name Snowden a Name you heard something. we know now that they not only want but do monitor all of our communications completly.

                So I find it good to have a system a person needs to hack not a automatic rootkit that uploads any data I dont want to. Or in other cases maybe transforms a smartphone into a spy-phone with live audio upload if some wrong words fall or something.
                Yes they want to get as much data from us as possible, no not from terrorists, from anybody especialy from the terror-state germany. And that has nothing or not much to do with anti-terror they officialy state that they do industrial espionage.

                If I think like you, they have won and they succeded a total survalence state or world, as example it makes even less sense to try to make a business or soemthing because I have lost from the start point.
                Prism makes the world basicly pointless. you play a game against a system with marked dice.

                And if they want they can even send a drone and shoot you out of the world, because you do anything they dont like.
                And the american people are cool with that it seems. No 100mio people on the street what would be a proper reaction.

                Comment


                • #38
                  PRISM can be beat

                  Originally posted by blackiwid View Post
                  Prism makes the world basicly pointless. you play a game against a system with marked dice.
                  PRISM and the NSA are not infinately powerful. PRISM is a program in which cooperating corporate servers like Facebook, Google, and Microsoft allow the NSA to run code on their hardware or added hardware. Remember, these corporations are among the owners of the US government, standing over the law, not under the law. Therefore, this is as logical for them as it is for activists I work with to ask me to do a forensic examination of a computer that has been accessed by a suspected snitch.

                  Only "Upstream" as Snowden's take called it, not PRISM, can read data that does not go through companies cooperating with PRISM (Snowden gave us that list, too) by sniffing unencrypted packets. I have heard that Snowden has claimed the NSA can't even beat SSL, thus the reason for PRISM in the first place, to read data after decryption.

                  You can blind the NSA to content by using end to end encryption, so corporate email and other servers never get the plaintext. NSA will keep those packets forever, but never be able to make sense of them without a quantum computer. You can use Tor to deny Google an IP address to associate with your searches, thus keeping PRISM from serving it to the NSA.

                  At the very least, you should close all accounts and sever all business relations with Facebook, Google, Youtube, Gmail, Yahoo, MSN and any other corporation appearing on Snowden's list. Use them only with no account and through Tor (so they can't identify you directly), with NoScript (so they can't bypass Tor), and with all their ad servers blocked (so they can't make money off you while trying to sell you out-and so those servers can't track you).

                  If you run a monetized blog and want to protect your users, "proxy" serve all ads through your own server, preventing users from being externally logged, then don't log IP addresses yourself. Banners could embed locally-served copies of the images directly into the page, so all content comes only from your server and no external server can be used against your users by a third party. If you run a "high-value target," activist website, do not consider trying to make money off it, it's just too dangerous. If nothing else, the checking account would prove ownership of the account!

                  GPG, Tor, NoScript, Ghostery, and your /etc/hosts file can combine to drive a spear point right into the Eye of Sauron!

                  Comment


                  • #39
                    You really have not got a clue, do you?

                    Originally posted by mmstick View Post
                    It is done.....you can simply hack an existing BIOS to change the clocks/voltages to be permanent in the firmware itself rather than using software to overclock after booting. Some enthusiast PC gamers do this sort of thing.
                    You are talking about changing default initialization values. This is just hex editing and changing some values, call it tweaking. While it could be useful to fix certain bugs, you are still left with many many possible bugs that aren't triggered by a simple change in value.

                    RadeonHD driver? That obsolete open source Linux driver?
                    The big difference between RadeonHD and radeon was, that radeon relied on the atombios to change things, while radeonHD ignored the bios and talked to the registers directly. E.g. a bios in software

                    Do you have any proof of your last statement whatsoever? You can't just 'reimplement a BIOS in software'.
                    Just look at any phoronix article talking about RadeonHD. But I kinda gave you that in the reply above. So yes, yes you can reimplement a bios in software. Besides the fact that a bios is just software too, getting loaded by the CPU from flash instead of a harddisk, what do you think coreboot is? A bios-replacement, written in C.

                    The BIOS is there to stay in the middle between the GPU and the driver. All communications have to go through this BIOS, else there wouldn't be much point in making a BIOS.
                    No it doesn't have to stay there, and no, no communications have to go through the bios. All hardware, every single bit of hardware works based on registers. You write a value to a register and the devices changes its behavior. A small example: Lets say you have 1 pin on the CPU, a GPIO pin. That GPIO pin is controlled and configured via a few registers. Register 1 makes it an input or output port, register 2 turns it on or off. So doing something like reg1=output; reg2=on makes the GPIO output a 'high' signal. Toggling reg2 on/off/on/off via some loop, creates some sort of clock.

                    Now this can change from CPU to CPU. Pin 1 may be configured using register 20 on CPUx, and register 200 on CPUy. Pin 1 can be a GPIO on CPUx and VCC on CPUy. So you can't write a driver to communicate to a CPU (or GPU, its all the same) based on the layout of that single. Your program will have to make different calls on different systems. So here comes the 'bios', a chip specific operating system if you will. The bios can abstract this all and even simplify things for you. YOu only have to say 'pin1=toggle' and the bios will configure the pin and toggle it on/ff constantly.

                    Obviously this is just a very basic example, but read and learn!

                    Do you really think multibillion dollar companies would have their products running on dysfunctional BIOSs?
                    Of course they do. Motherboards are constantly shipped with faulty biosses. Why do you think you can upgrade them in the firstplace. In the bios (also obtainable sepeartly) there's even updates to the CPU microcode, because guess what, those tend to be buggy as well.

                    Videobiosses are relativly simple (compared to the motherboard bios). And any issue in the bios, can simply be worked around in the driver. 'if GPU is r600 talk to these registers specifically else use atmobios function toggle pin1'.

                    So I hope you have been a little more informed about how things happen in the real world. A bios isn't some magical blob that does magical things. It's just a program like any other.

                    Comment


                    • #40
                      Originally posted by dfx. View Post
                      and don't get me started on MB BIOS'es and firmwares on popular accessory devices. so... fuck-yes !
                      I still have a motherboard from BIOSTAR whose only available BIOS is considered beta, and you have to hit a key to continue on boot every time. o_o

                      Edit: actually, even better, coreboot is meant to get rid of the bios, and allow all hardware initialization (or as much as possible) to occur in software (via the kernel, userspace, or whatever).
                      Last edited by Nobu; 28 July 2013, 05:01 PM.

                      Comment

                      Working...
                      X