Announcement

Collapse
No announcement yet.

David Airlie Continues With Holiday Improvements For R600g

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

  • #31
    Originally posted by wizard69 View Post
    While i can apprciate the effort i have to wonder if such talent would be better used to support newer hardware? Sometimes you just need to let go of old tech.
    When the HD6870 and HD6850 I have decide to stop working in HTPC and gaming machines, I'll consider that Until then, all improvements are greatly appreciated!

    Originally posted by Michael View Post

    RadeonSI is used by ALL GCN 1.0 and newer graphics cards. RadeonSI is the OpenGL driver.

    AMDGPU is the kernel driver used by all GCN 1.2+ GPUs. Radeon DRM meanwhile is the default DRM driver for pre-GCN-1.2 graphics cards.

    You need Radeon/AMDGPU + RadeonSI for a working system, RadeonSI (or R600g) is just the OpenGL component, not the DRM driver that does mode-setting, memory management, and everything else.
    So just to be sure I understand (never quite got the naming/function down correctly for AMD stuff):

    - GPUs in Linux have (at least) two parts, DRM driver, and OpenGL driver
    - DRM handles memory, mode-setting/resolutions, and other low-level bits of the GPU
    - OpenGL handles 3D-acceleration of software from the host OS to the GPU
    - radeonsi is the OpenGL driver used for GCN 1.0+ GPUs
    - r600 (along with r300 and r200 for older GPUs) is the OpenGL driver used for pre-GCN 1.0 GPUs
    - radeon is the (default) DRM driver used for pre-GCN 1.2 GPUs
    - amdgpu is the DRM driver used for GCN 1.2+ GPUs

    So (assuming the above is right) a Radeon HD 6850 uses the r600 OpenGL driver and radeon DRM driver, while a Radeon R9 380 uses the radeonsi OpenGL driver an amdgpu DRM driver?

    Also, where does the DDX driver fit in? And what does it actually do? Is it for 2D content acceleration?

    On a bit of a related note, maybe an article dedicated to explaining GPU terminology for AMD and other vendor GPUs would be nice
    Last edited by Guest; 08 December 2017, 02:45 AM.

    Comment


    • #32
      So (assuming the above is right) a Radeon HD 6850 uses the r600 OpenGL driver and radeon DRM driver, while a Radeon R9 380 uses the radeonsi OpenGL driver an amdgpu DRM driver?
      That's how I understand it.

      For DDX:
      [For each type of graphics card there is a Device Dependent X (DDX) driver which does initialization, manages the display and performs 2D rendering. XFree86 4.0 introduced a new device driver interface called XAA which should allow XFree86 drivers to be backward compatible with future versions of the X server.

      Each 2D driver has a bit of code to bootstrap the 3D / DRI features.


      So, pre "GCN" GPU's use xf86-video-ati, GCN+ use xf86-video-amdgpu, by default some distributions use modesetting driver for all of them, on Arch, I usually have to install xf86-video-ati manually and to load radeon kernel module for KMS. So in short, it is X.Org driver, and it is kernel driver (radeon, amdgpu).

      From my understanding, when you talk about radeon and amdgpu, you talk about DDX, if you didn't configured your distribution (such as Arch) manually, it is likely you are using modesetting driver by default.

      Comment


      • #33
        Originally posted by chithanh View Post
        Which exact software do you use that depends on hardware fp64?
        Likely none. It's just that w. soft-FP64 support the driver can officially advertise OpenGL 4+ support (if everything else works), which would be nice. Without any override env. variables. Officially we're still at OpenGL 3.3 level with most of these chips.
        In theory these chips (HD 5xxx+ series) should be capable of doing OpenGL4+ (aside the FP64 which is only to be found on the higher end models). But you know all that.

        I once tried w. override, some things worked, but a few things looked borked - until I reverted.

        But I can wait since most things work. And currently, as you are most likely aware , "everyone" is busy recompiling all the systems one owns w. GCC 6.4.0 and PIE support / 17 profile. (I'm so glad I got enough RAM, finally, so I can stuff /var/tmp/portage and the likes into tmpfs for my CF card systems during chroot compiling...)

        Stop TCPA, stupid software patents and corrupt politicians!

        Comment


        • #34
          Originally posted by Espionage724 View Post
          When the HD6870 and HD6850 I have decide to stop working in HTPC and gaming machines, I'll consider that Until then, all improvements are greatly appreciated!



          So just to be sure I understand (never quite got the naming/function down correctly for AMD stuff):

          - GPUs in Linux have (at least) two parts, DRM driver, and OpenGL driver
          - DRM handles memory, mode-setting/resolutions, and other low-level bits of the GPU
          - OpenGL handles 3D-acceleration of software from the host OS to the GPU
          - radeonsi is the OpenGL driver used for GCN 1.0+ GPUs
          - r600 (along with r300 and r200 for older GPUs) is the OpenGL driver used for pre-GCN 1.0 GPUs
          - radeon is the (default) DRM driver used for pre-GCN 1.2 GPUs
          - amdgpu is the DRM driver used for GCN 1.2+ GPUs

          So (assuming the above is right) a Radeon HD 6850 uses the r600 OpenGL driver and radeon DRM driver, while a Radeon R9 380 uses the radeonsi OpenGL driver an amdgpu DRM driver?

          Also, where does the DDX driver fit in? And what does it actually do? Is it for 2D content acceleration?

          On a bit of a related note, maybe an article dedicated to explaining GPU terminology for AMD and other vendor GPUs would be nice
          DDX is accelerating (and enabling) X11 rendering. There's also hopes to move at least GCN1.1 but possibly also GCN1.0 from radeon to amdgpu because architecture isn't that different with GCN. This would enable Vulkan via radv to GCN1.0 and higher. Note, replace OpenGL there with Mesa. Radv which does Vulkan is also part of Mesa
          Last edited by nanonyme; 09 December 2017, 05:44 AM.

          Comment


          • #35
            Originally posted by Espionage724 View Post
            Also, where does the DDX driver fit in? And what does it actually do? Is it for 2D content acceleration?
            Originally posted by nanonyme View Post
            DDX is accelerating (and enabling) X11 rendering.
            As nanonyme said, the DDX driver handles rendering through the X11 API - see link below for a bit more detail. It also handles things like the creation of buffers that you render into, and IIRC those buffers are also used to display images drawn through other APIs like OpenGL. These days most recent apps use the X11 API for window/buffer setup then draw into them using OpenGL, but there are a lot of older apps out there which do all their rendering via the X11 API as well.

            https://www.x.org/releases/X11R7.6/d...hics_functions

            At the risk of over-complicating things, one more useful bit of information to understand is the relationship between X11 and OpenGL I mentioned above. Initially all OpenGL rendering was done through the X11 API as well - which resulted in the X server calling OpenGL to draw into an X11 buffer - but around 1998 a few people got together and proposed the Direct Rendering Interface (DRI) which allowed applications to call OpenGL rendering functions directly while still having the results go into a buffer maintained by the X server. One of the core functions of the DRI was some new kernel code, the Direct Rendering Manager, which kept the OpenGL and X drivers in sync.

            https://en.wikipedia.org/wiki/Direct...Infrastructure


            This pretty much revolutionized Linux & Unix graphics, and opened the door for gaming on Linux. My impression is that it also lit a fire under the Microsoft graphics teams leading to the more streamlined DX versions, but I don't know the MS people involved at the time so can't be sure.

            Originally posted by Espionage724 View Post
            On a bit of a related note, maybe an article dedicated to explaining GPU terminology for AMD and other vendor GPUs would be nice
            I have been periodically maintaining a sticky thread covering AMD GPUs at:

            https://www.phoronix.com/forums/foru...ferent-drivers

            I added a couple of tweaks to the first page but I don't see a good way to make that post current without losing all the history, so think I will copy that first post into a new post (that will go on the last page) and update that instead.
            Last edited by bridgman; 09 December 2017, 11:12 AM.
            Test signature

            Comment


            • #36
              Right, I was just trying to stress the importance of DDX being solely about X11 support. With Wayland it would otherwise not be needed at all if it wasn't for the XWayland compat layer which is essentially running X11 server

              Comment


              • #37
                Yep... glamor worked out really well in that way, since we don't need to be developing new DDX acceleration code for each new HW generation while waiting for X to go away
                Test signature

                Comment

                Working...
                X