The card in question: Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) I am starting to face mounting issues as a lot of modern software have started to abandon OpenGL in favor of Vulkan, and if its possible, I just want to try for the learning opportunity

  • wewbull@feddit.uk
    link
    fedilink
    English
    arrow-up
    20
    ·
    23 hours ago

    The rationale for doing this must only be for fun. You’re talking about a project that will take man years, and the price of a new vulkan capable graphics card is $300-400.

    • Artemis_Mystique@lemmy.mlOP
      link
      fedilink
      arrow-up
      2
      arrow-down
      2
      ·
      22 hours ago

      the price of a new vulkan capable graphics card is $300-400

      Do you think I would have any motivation to embark on such a ( admittedly Useless)project if i had that kind of money lying around to spend on a GPU.

      • gianni@lemmy.ca
        link
        fedilink
        English
        arrow-up
        14
        ·
        22 hours ago

        The time it will take you to learn the required skills to build a GPU driver and then the implementation will likely be several years—maybe half a decade.

      • piccolo
        link
        fedilink
        arrow-up
        6
        ·
        22 hours ago

        You can get a modern card capable of vulkan for like $30 off ebay.

        • Jumuta
          link
          fedilink
          arrow-up
          1
          ·
          20 hours ago

          my entire laptop is cheaper than that and mostly supports vulkan

  • dkc@lemmy.world
    link
    fedilink
    English
    arrow-up
    16
    ·
    23 hours ago

    Hey man, I don’t want to discourage you, but this is one of those things where if you have to ask how to do something you’re probably not experienced enough to do it. That being said, as a learning opportunity even if you don’t make it far you’ll still learn a lot about how GPUs work.

    I’d start by looking at any existing drivers you can find and see if you can document or find documentation for the commands fed to the GPU. From there you can look at the Mesa project for examples of converting Vulkan to instructions for specific processors and see if you can get it to all fit together for your project.

      • teawrecks@sopuli.xyz
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        6 hours ago

        Yeah, so the best beginner resource (especially for old hardware) is honestly this old blog series A Trip Through the Graphics Pipeline. But importantly, it was written before modern dx12/vulkan were around, so it will use dx9 terminogy. Also, it’s possible that certain aspects of the vulkan api aren’t possible to faithfully implement to spec with older hardware (while still maintaining reasonable performance, or possibly at all).

        From there, it’s probably best to try and implement a backend for your GPU into the radv mesa driver, so probably go take a look at how other GPUs are done.

        You will need to become familiar with the AMD GPU programming docs, here.

        I’m not going to be one of the naysayers here who says you shouldn’t even try to do this, but as an ex-graphics driver dev, I think you will find pretty quickly that you have your work cut out for you. It would probably be easier to implement a Vulkan-on-OGL translation layer.

        Both GPU hardware and drivers are developed by teams of professionals, each of which is hyper specialized in a few components, because none have the time or ability to be familiar with everything about all components (at least, not while also being effective). I’m not saying you can’t do it, and I’m not saying you wouldn’t learn a LOT doing it, but I am saying that by the time you finish, you could have worked a minimum wage job and purchased a dozen 5090s 😉.

        Edit: and oh right, then there’s reading through the Vulkan spec, which, if it’s your first graphics API, will take months, if not years to digest.

  • 0x01@lemmy.ml
    link
    fedilink
    arrow-up
    5
    ·
    24 hours ago

    That is a tall order, shorter perhaps than writing an opengl driver

    Vulkan is incredibly verbose and well documented, have you looked at the spec?