Hardware (GPU and processor) question, related to gaming

I have an MSI SKU Cyborg 15 A12VF, with Intel Core i7 and hybrid Intel/Nvidia GPU. For more than a week now, I’ve been trying my best to make it run on the Nvidia GPU.

But: is this really going to improve performance? Can’t the Intel (default) GPU handle demanding games (graphic-wise)? Is it really useful to spend energy trying to force my laptop to use Nvidia (which is the source of a lot of issues)?

I don’t now anything about hardware in general and GPUs in particular. What’s your opinion on this, everyone?

For now, I want to play Mirror’s Edge Catalyst on Steam, which works without Nvidia and I can’t get any sound with Nvidia… Is the headake worth it?

Thanks!

A few years ago, I got my first dual GPU laptop and, personally, found the work necessary to get the GPU to work all the time was a little more effort than it was worth at that time. My second one was easier to figure out and I learned a lot, so maybe it was worth it for learning.

It really depends, as far as I can tell, on how computing heavy the game/program is and what you care about while playing. If you’re happy with the performance, that’s what matters most, not using a specific piece of hardware.

I usually to use my GPU to offload heavy processing from computationally heavy mathematical modelling; i.e. I use my GPU like an extra processor when I’m asking a lot from a computational complexity perspective.
I usually game without worrying about switching, but I game pretty rarely and with pretty simple games (no Steam, just Linux native mostly).
That said, I do find my separate GPU gives me some ‘prettier’ graphics in certain games if I bother with it. Most games I play are not complex enough in the graphics department for this to matter. A select few things look different, like the flow of water through a virtual river, or something. But I’m happy without it.

From what I’ve heard, games like first person shooters, and some modern titles seem to depend more heavily on having a separate GPU. Again, I have no experience with these kind of games, but I know kind of a lot about computation theory. The basic idea is: If the game is computationally complex enough, the point of the GPU becomes the same as what I use mine for: offloading some of the processes to another unit so the main CPU can keep up with the rest of the tasks. At that level, you’d see the performance of the game degrade (freeze, not save, load slowly) if it was overloading the CPU&Integrated GPU. And then, you might want to fight with it to get the separate GPU to work.
An i7 is a pretty high end processor, so it will likely be able to handle quite a bit without pushing it to its limits; you’d notice if/when you did.

In your shoes, I’d play my games in the way they work, not worry too much, and probably keep dabbling with the GPU just to see if I could get it working eventually. Sometimes you quit for a while, and a kernel update or something comes out or somebody has a bright idea and you can get it working later.

Cheers,
SisPenguin

Thanks for the explaination.

In Windows, I believe the hybrid GPU can switch from one GPU to the other in case of overload. By chance, is there such a thing in openSUSE, once the correct drivers are installed? Because, I don’t feel like forcing games to use exclusively on one GPU rather than the other is likely to improve performance in the end…

@ultome It’s not about overload, it’s about the GPU features with the d(escrete)GPU [Nvidia] and the i(ntegrated)GPU [Intel].

The correct drivers are installed for you GPU(s) it’s just a matter of how ‘you decide’ you want to use them as apposed to the Windows way of how ‘We decide’ you shall use them…

I think based on your recent experiences, a re-install is probably the easiest way, taking small steps during both the install part and well as initial configuration will get things working for you.

1 Like

Malcom is correct, of course. It’s not actually about ‘overload’, though I usually explain it that way to give the broad overview if someone hasn’t had a lot of experience with processors. If you want more details, they’re below.

The biggest physical difference between GPUs and CPUs is that GPUs are specialized for parallel processing. What does that mean? It means that they are specialized for doing computing that involves a lot of arithmetic calculations and not as much memory access.
For a super simple example:
Take a river. If you’re trying to make a river seem realistic in a computer game, one way to do it is by modelling the flow of water via a vector field. Imagine trying to calculate the position of a droplet of water in the river, first it starts at location 0, then you have some value about the distance it travels every second (call it d). So if it’s at 0 to start, it’s at 0+d, an then 0+d+d…and so on. (I’m skipping the calculus, linear algebra, and the conversion to binary here). That’s a lot of addition, but honestly not much memory. We don’t need to store much to follow this droplet of water. If we want to follow lots of droplets of water to make a whole river, we would want to be able to calculate the position of all those droplets at the same time. To do that, a discrete/separate GPU can send each calculation to one of thousands of processors optimized for doing arithmetic without using the memory that much. (Discrete GPUs often have on the order of 2000-10000 computation units, aka ‘cores’ or ‘shading units’, so they can do that many calculations simultaneously).
An integrated/onboard GPU also is a little GPU built in with the CPU, but, due to physical space constraints, it can’t have as many of the GPU-type specialized units. So, it can’t model as many droplets of water at the same time. This means that it would ‘render’ your graphics less well. If you demand as many calculations from the integrated chip, it actually can do them, but it will have do to them sequentially (the first 500, store those, then do the second 500, for instance), this can appear as ‘lag’ or ‘freezing’ in game while it completes all the 10,000 calculations. (an integrated GPU usually has around 200-700 ‘cores’). Consequently, people may turn down the graphics settings and feel it’s a lower quality graphical experience.

Forcing games to use the discrete GPU does ‘improve performance’ because it enhances the ability of to parallel process, thereby allowing more calculations to be done at the same time. At least, if doing as many calculations as possible at once matches your definition of ‘performance’. Unless for some reason the discrete GPU has fewer processors than the integrated one (i.e. you have a really old GPU and new CPU, which you don’t), the discrete GPU will be able to do more calculations in parallel. If your definition of performance matches this, then it’s an automatic improvement. If your definition of performance is to be able to play games not necessarily how it looks or how fast it’s working, then it really doesn’t matter.

Malcolm also hit on the crux of the Windows/Linux difference for most of us: Linux is more about you doing what you want with your hardware (i.e. I want to run math on my GPU, because that’s what it’s good at). Windows is a bit more about someone else deciding what is best for you to do with your hardware (i.e. my GPU should make pictures pretty because that is what it says it should do on the box).

So, long winded, but now you have more details.

Cheers,
SisPenguin

3 Likes

Very clear. Thanks for the time you spent to explain this to me.

So:

…this is the next step for me then.

No problem!
And yes, that sounds like a logical thing to do for you. Just play the game as it works and enjoy it. When you have some time to mess around with things, uninstall every Nvidia related thing, and try again from the ground up. Or, sometime when you’re doing a full blown distribution upgrade might be a nice time to try it again. The good thing about having the integrated GPU is it means you don’t have to make ‘play game’ depend on ‘get Nvidia to work’, you can play the game while trying to figure the rest out.

1 Like