> That is nonsense, otherwise the driver would have to be loaded at boot time,
This is already common - see valorant as an example.
> Which is expensive since you now have to pay for the hardware instead of your customers paying for it, so that too is about profit. I
No, it's about latency. See the absolutely vehement reaction to streaming services for twitch shooters on gaming forums.
> Something has to reconcile those, which might as well be the server rather than the client.
The problem here is that the server is some distance away from all the players. Waiting for a round trip from two players with server frame times could be up to 250ms, so for a better experience, some element of that is usually left up to the client; you can spin that either way, either the shooter gets the advantage, or the defender gets the advantage.
> Most cheats that don't involve a broken game engine are of two flavors
Most game engines are broken. The reality of the situation is that 1) this stuff is _really hard_, and 2) there are tradeoffs to be made at every single step of the process that affect how the game plays and feels. Moving processing to the server means latency, predicting and correcting server-side calculations means rubber banding. Neither of these things feel good in a twitch shooter.
> A) Can be prevented by reducing the information the server sends to the client to the necessary amount to render their current view.
Not just their current view, but everything the client needs to know about the next X ms before it expects its next server update (which might even be adjusted at a later point in time). And that state is just sitting there in memory, waiting to be (ab)used.
> B) cannot be prevented by any means as one could always hook up the output pixels of a GPU to an external computer and an emulated mouse via USB,
The number of people who are willing to do that is drastically smaller than the number of people willing to pay $130 a month for a rootkit that they willing install [0]. As I said in my previous comment, this isn't about eliminating cheating 100% - it's a cat and mouse game. It's about raising the barrier to entry from credit card to specialised hardware.
[0] https://www.skycheats.com/store/category/6-overwatch/
> Neither of those have to do with the client determining "I shot at X" on its own.
Even if you send inputs, and allow for a small amount of correction (because both clients have different representations of the game state at the same time), all it takes is one client to send "I actually did shoot at that guy 50ms ago".