Announcement

Collapse
No announcement yet.

AMD Linux Kernel Graphics Driver Closing In On 4 Million Lines

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

  • AMD Linux Kernel Graphics Driver Closing In On 4 Million Lines

    Phoronix: AMD Linux Kernel Graphics Driver Closing In On 4 Million Lines

    For quite a while now the modern AMD Linux kernel graphics driver (AMDGPU/AMDKFD code) has been the single largest driver within the mainline Linux kernel code-base. It's been far larger than the other upstream kernel drivers given the complexities of modern GPUs and is only becoming even larger...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Is it really a fair assessment though? I don't know the code at all but I suspect it's really many drivers in one.

    Comment


    • #3
      Why? I thought, that graphics drivers are big, but why intel driver is so much smaller than AMD one?

      Comment


      • #4
        Originally posted by Leinad View Post
        Why? I thought, that graphics drivers are big, but why intel driver is so much smaller than AMD one?
        I'd guess that AMD has a lot more unique products that requires more tweaks / adjustments than Intel.

        Comment


        • #5
          Potentially since Intel came first open-source in the kernel, much of the framework might cater to it better? Whereas AMD's driver needs to provide adapters and shims to bridge.
          I don't know if it shares the same codebase (or parts) with the Windows driver so perhaps there are some layers in there too?
          Last edited by kpedersen; 13 March 2022, 01:34 PM.

          Comment


          • #6
            Originally posted by Devorlon View Post

            I'd guess that AMD has a lot more unique products that requires more tweaks / adjustments than Intel.
            I've just built 5.16.14, there are 179 object files in drivers/gpu/drm/amd/amdgpu/
            with CONFIG_DRM_AMDGPU=m i.e. every possible variant seems to be enabled.

            Comment


            • #7
              implied bloatware?

              Comment


              • #8
                Originally posted by neoe View Post
                implied bloatware?
                Knowing Marek's track record, I doubt that's the case.
                Originally posted by Leinad View Post
                Why? I thought, that graphics drivers are big, but why intel driver is so much smaller than AMD one?
                I get the impression Intel does more in userland; maybe I'm wrong about that though. And like others said, there's just more variety in AMD's stuff. For a long while, Intel didn't have that much variation in their chips, and no AIB partners with such a wide variety of configurations. AMD also has several custom chips that the Linux kernel is compatible with.

                Comment


                • #9
                  Originally posted by Leinad View Post
                  Why? I thought, that graphics drivers are big, but why intel driver is so much smaller than AMD one?
                  Besides AMD's drivers supporting more architectures, they also have those auto-generated header files. To my knowledge, only AMD provides these header files containing all register data and internal documentation. Those header files are massive and account for the majority of the driver lines of code that Michael is quoting. The good news is that the header files are all automatically removed when the driver is actually compiled because they are just documentation for the developers.

                  Comment


                  • #10
                    The majority of LOCs comes from include/asic_reg directory (2.5M LOCs or 2,555,705 to be precise), and I think it's very self-describing what these files are for.

                    Comment

                    Working...
                    X