2
\$\begingroup\$

I've recently started to receive reports from users that I game I'm working on isn't rendering properly on AMD GPUs. I'd like to track down the problem and fix it, but I'm a hobby developer just using my own computer and I don't have an AMD GPU.

Do I have any options here besides going out and buying another graphics card? Perhaps some sort of emulator or a cloud compute service with AMD GPUs? I've looked at the major cloud compute providers (AWS, Google Cloud and Azure) but they all seem to offer only Nvidia GPUs.

\$\endgroup\$
4
  • \$\begingroup\$ There was an interesting thread on Twitter recently that I can't find now, speculating this would be an interesting niche for a cloud service: stock a range of different GPUs configured in various driver/OS combinations, allow customers to submit tests, and send them profiling/diagnostic reports after running those tests on their selected models. I don't know of anyone running such a service yet - if anyone finds / decides to start one, please let us all know! \$\endgroup\$
    – DMGregory
    Oct 19, 2017 at 23:45
  • 1
    \$\begingroup\$ Depends on what the problem is - for example, if it's an OpenGL problem, it's well known that AMD OpenGL drivers can be less than stellar, but at the same time more conformant to the specification than NV drivers, so it's possible that you may be doing something illegal that a more lax NV driver is nonetheless accepting. \$\endgroup\$ Oct 20, 2017 at 8:27
  • 1
    \$\begingroup\$ To add to @LeComteduMerde-fou 's comment. There are free OpenGL debuggers that will trap some API errors or MESA 3D. For DirectX you may try the software reference renderer which is a bit more strict in some cases. nVidia (as of 2017) allows things that aren't allowed by OpenGL standard (eg: it accepts/accepted mipmaps for GL_TEXTURE_RECTANGLE, shaders that shouldn't compile due to implicit casting errors...), AMD/ATI is more strict and will reject more API errors (point for AMD/ATI here). It's easy to make an error and have the nVidia driver just go along with it and render fine anyway. \$\endgroup\$ Oct 20, 2017 at 16:14
  • \$\begingroup\$ This page has a lot of examples of common mistake: khronos.org/opengl/wiki/GLSL_:_common_mistakes#NVIDIA_and_Types \$\endgroup\$ Oct 21, 2017 at 2:31

1 Answer 1

4
\$\begingroup\$

No. You will need to find a computer with a matching GPU to test.

You can sometimes get previous-generation graphic cards for cheap (that often still exhibit the same problem) if you ask small computer repair store nicely for a few old, used GFX cards.

They often have some left from customer upgrades that they can't sell because the cards are too old.

Another source are flea markets and classified ads for used computers and parts.

Maybe your local public library or school uses the GPU brand you need and let people run software off USB sticks. They may have rules against that (for good reasons); Check with the library first and don't run the game back on your computer from the USB stick: If they let anyone run any software you don't want to get any viruses back from that computer.

Other than that look into your personal contacts or maybe one of your customers is willing to help.

If it's a shader issue you can make a unit test with just the shader in question to iterate on the issue faster. One might be tech-savvy enough to edit the shader themselves.

Yet another source if there is one in your area would be your local game developer meet up / dev jam session.

Maybe some people at a local LAN party would be willing to help.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .