Magmarock: True but the problem is more of the way it's done. In fact the whole Linux method of dealing with dependencies drives me up the wall. With Windows, your .NET's VC++ and DX dll files are just done much better.
DLLs work about the same way as .so files on Linux. It's entirely possible to install the libraries in a similar way on Linux, but this would be limited to a specific group of distros and there may be compatibility issues until the system is updated (just as is the case on Windows with certain redistributables & Windows Update) so noone has bothered to try doing anything like this AFAIK - it's better to just let the system's package manager handle it in the first place.
Magmarock: They are often included in the games installer. You can download them yourself through both Windows update or even manually if you wish to archive them. You can also use tools like VC++ Runtime AIO Installer
Included with game installers, adding +100-300MB with each game. Dependencies on Linux can also be downloaded manually in a variety of ways if you want to archive them (we've gone over this at length numerous times in the past so there's no point going over it yet again).
Installing all required dependencies can be a hassle though, and that's why I made my common dependencies meta-package. A fresh install with system/driver updates & my common dependencies meta-package is enough for most games here to "just work".
Magmarock: these dll packages also have really good forwards and backwards compatibility. In short they are much easier and more consistent to deal with.
It helps that the DLLs provided are rarely (if ever) updated. Microsoft usually just adds another d3dx#_##.dll or d3dcompiler_##.dll.
huan: On linux, those dependencies are libraries with their own licences, some of them "viral" and they'd risk be exposing themselves to legal obligation to supply you with source code if they distributed them as a part of the installation package.
That really depends, in most cases it would only be true for the source code for those particular libraries (although you'd have to check the specific license to be sure).
huan: But there are some tasks that linux isn't good at, and gaming is one of them.
I started using Linux about 6.5 years ago and regularly played games both before and during that time. Even back then things weren't that bad & things have only gotten better (*much* better) since then. That said it's not perfect, but then again neither is Windows... and Windows is going in the opposite direction :p
If things sucked I wouldn't have written my
Linux Mint Beginner's Guide and dumped Windows completely when I built my current system a couple of years ago :p
As for packaging games for Linux,
Ethan Lee wrote a post about that for developers looking to ship Linux games.