6 Replies Latest reply on Feb 23, 2012 11:38 AM by bridgman

    nVidia let me down!

    Rush314
      ATI Are you here fo your geeks?

      Been slowely working on a 64 bit hobby OS...

      On a Phenom II 965BE CPU and a (yes brace yourselves ) geforce gfx card.

      A couple months ago nvidia got all paranoid and stopped with any and all

      technical hardware programming related support. when someone asks about

      for example mode-set registers or get-available-modes registers they now

      refer everyone to vesa.

      SO!

      ATI? are you there?  do you love your geeks?

      Do any of you bare-metal-geeks have any luck from ATI land? I mean has

      ATI or any one here ever helped with register addresses ?

      this may seem like a wierd post. but i just want a happy place to do some video card programming at the low levels. I'm sure there is someone here just like myself!

       

        • nVidia let me down!
          tannergooding

          You should probably check out http://developer.amd.com/documentation/guides/Pages/default.aspx#open_gpu.

          All the register level documentation on AMD graphics processors for chip initialization, displays, and overlays, you will need to start off Graphics programming (and then some) on your OS. If you scroll up on the page, you'll also find AMD chipset documentation, AMD/ATI GPGPU documentation, Architeture Programmer's Manuals, and Developer Guides.

          Good Luck On Your OS!

            • nVidia let me down!
              bridgman

              You can find additional information at http://www.x.org/docs/AMD

              You can also look at the open source driver code :

              X driver : http://cgit.freedesktop.org/xorg/driver/xf86-video-ati

              kernel driver : (look in the kernel source tree under drivers/gpu)

              Display programming code has traditionally been done in the X driver, but over the last year or so has been moving into the kernel driver (aka Kernel ModeSetting).

              Most of the display programming is done using AtomBIOS calls (aka command tables). We haven't yet released display programming guides for the more recent chips (it's a big task because so many of the display output blocks have been completely redesigned) but we are going to try and get at least the basic info out once we have 2D and 3D acceleration for Evergreen out in public.

                • re: nVidia let me down!
                  Rush314

                  hey thank you guys for all your pointers.

                  i got lot's of those docs.

                  i'm really enthused about them.

                  it'll be a couple months before i can get a card to play with.

                  anyone actually using the info for their own programming?

                  they seem kinda dated do those specs work on the newer hardware?

                  • Re: nVidia let me down!
                    vrover

                    Hi,

                     

                    We are doing some work on the E4690, and it would be really helpful to have the docs you mention for setting up the displays, etc.  The data sheet and register manual are very useful

                     

                    We are using a PIC via the SMbus to set up the chip and want to try to port AtomBIOS to it so we can bring up displays when running in a non-x86 system.  Our users require Built In Self Test, and having the ability to show a viable screen on power up is a key step in BIST.

                     

                    Thanks!!

                      • Re: nVidia let me down!
                        bridgman

                        In general the sequence is :

                         

                        - figure out how the chip works by writing and testing open source driver code

                        - push the open source driver code to public repositories (Linux kernel tree, freedesktop.org)

                        - write and release documentation if we have time before the next chip comes along

                         

                        The KMS code in the Linux kernel tree is probably the best reference for setting up displays.