How the hell do they will work? What do they do? Why do I need to update them for certain games or applications to work? I like to think I know a decent amount about personal computers but I have no idea. There was a game on my computer that wouldn’t play when I opened it and the game would crash every time. I updated my drivers and it ran with no issue. The game never had any updates and I never changed any parts of my computer why did the game randomly stop working with no changes? Why does updating drivers work to fix it and what do they do?
In: 28
The pipeline in how a game talks to your graphics card is a bit complex.
In the old days, developers used to code directly for certain hardware. If you are old enough or have played old games, you might notice that they had options for selecting specific sound cards, video cards, etc. That required a lot of work on the developer’s part, so these days, it goes more like this:
User input -> game engine -> Direct X/OpenGL/Vulkan -> Video driver -> graphics card.
Now, depending on the version of Direct X (or the other APIs), the way the calls are made may differ. Direct X has different ways of doing lighting or example, so the game will tell Direct X: “hey, light up this scene in this way” which then tells the driver what it needs to do which then gets to the actual hardware doing the processing.
There may be bugs in any of these software layers or sometimes, there are new ways of doing things that were not implemented in older drivers. If Direct X and the driver don’t talk the same language, something won’t work. It may not be game crashing, but it does happen.
Considering how many software layers there are, sometimes edge cases will happen too.
Some games will even check for drivers to make sure you’re on a known working version. This happened with Baldur’s Gate 3 for me where it was basically hey: you’re two versions behind, we can’t guarantee the game will work smoothly.
I’ve seen Deliver Us the Moon not like DX12 on AMD video cards until a driver update this year for example. Clearly, the game was making an API call on DX12 that caused some crash to happen.
Latest Answers