this post was submitted on 26 Nov 2024
286 points (98.0% liked)
Games
32701 readers
991 users here now
Welcome to the largest gaming community on Lemmy! Discussion for all kinds of games. Video games, tabletop games, card games etc.
Weekly Threads:
Rules:
-
Submissions have to be related to games
-
No bigotry or harassment, be civil
-
No excessive self-promotion
-
Stay on-topic; no memes, funny videos, giveaways, reposts, or low-effort posts
-
Mark Spoilers and NSFW
-
No linking to piracy
More information about the community rules can be found here.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Even after, some of it is pretty crazy.
Like the driver for controlling one vendor's LED lights had a generic PCI FW updater (or something similar) included that it exposed to user space. This meant a) changing the LED colours or parameters required a firmware update rather than the firmware handling input from the system to adjust colours without new code, and b) other software could use this and just change the bus id of the target to update other firmware willy nilly.
It also had to compete for bus time and sending a full firmware update takes more time than a few colour update parameters. Average case might be ok, but it would make worst case scenarios worse, like OS wants to page in from disk 1 while a game needs to read shader code from disk 2 that it needs to immediately send to the GPU but the led controller decides it's time to switch to the next theme in the list oh and there's some packets that just came in over the network and the audio buffer is getting low. GPU ends up missing a frame deadline for the display engine and your screen goes black for a second while it re-establishes the connection between GPU and monitor.