pouët.net

Windows demos 'runnability'?

category: general [glöplog]
I'm not complaining about party versions now. Perfectly understandable as long as a final arrives. This is a practical question.

I'm trying to run fairly recent PC demos on a fairly standard and fairly recent gaming PC, and it's just not like on other platforms. I've run demos from many platforms recently. It seems that on them, they either work on the computer itself, or work perfectly in emulator, or works with flaws in the emu, or breaks the emu at some point. But almost all of them run.

Windows is different. Games, with DX or OGL and any type of shader model all run fine without me requiring to download some compiler dll. Yet with demos, it's a pretty bad hit-miss ratio. Maybe I can run half of them.

Should I know what to install on top of the things required to run DX/OGL finished products like games, in order to run demos? Should I "shut up and go get d3dblah45.dll" when the demo reports it missing, and why?

I mean, I have a PC with Windows. It runs everything else. Isn't that the platform?

Note that I'm not assuming coders are lazy, nor am I assuming compatibility is hard on Windows. You could tell me I should, and I still just want to know how to run coming demos on my PC instead of watching Youtube.
added on the 2016-02-27 02:22:13 by Photon Photon
Games have installers to fix this for you, demos don't. You'll have to decide for yourself if you think demos should be distributed as installers rather than straight executables.

Typically, the dlls you are missing belong to some specific version of DirectX or the Visual C++ runtime.
You can find the C++ runtime downloads here
added on the 2016-02-27 04:30:10 by lug00ber lug00ber
yeah, usually if you install a recent game all those DLLs just get installed along or even into your C:\WINDOWS\, so it's not like game developers have some top secret way of not using all that junk. Obviously demos could provide all dependent DLLs along with the .EXE but I assume we're tech-savvy enough to deal with that ourselves and avoid adding shitloads of unnecessary MBs to every .ZIP ;)
Quote:
Obviously demos could provide all dependent DLLs along with the .EXE but I assume we're tech-savvy enough to deal with that ourselves and avoid adding shitloads of unnecessary MBs to every .ZIP ;)


amen to that.
added on the 2016-02-27 17:07:44 by ___ ___
compiler dll's again? just download them.

now... i got a worse issue. recently recompiled a lil sh*t from dev on xp64. a tiny framework. 'unsafe' sorta. 'auto flush' resources. now... on 764 the exact same code doesn't work. runs, but crash exits. got it small to not dump huge WER faults that is some garbage. awesome. lol
added on the 2016-02-27 17:48:10 by yumeji yumeji
Another reason why bundling often doesn't get done because you get provided a list of stuff that you can assume that the compomachine has installed.
Combine that with people rarely wanting to even touch the release after the party itself and hope that orgas handily upload it to scene.org and someone has done an YT capture by the time you wake up with a hangover at home. :)

I feel your pain. Been running many PC demo compos for some years along with doing captures for older demos, even demos from just 4 years ago can have their share of issues.
Here are some tips from the top of my head:

=> Check that C++ runtime page. Remember that you might need 32bit/64bit installed separately some times. These fix some issues. Thanks for the tip lug00ber, always used to manually get those!
=> Then there is .NET framework which can be an issue some times (more rare).
=> Install dx9 runtime separately. No, just having dx10/11/etc.. installed that comes with win7 and so on won't do. This is a separate package and installs all the missing d3d9_xx.dll files you might miss. DX 9.0c itself has had tons of "hotfix" additions since the initial release and should be considered a separate branch from dx10 and up.
=> ALWAYS update your GPU drivers to the latest version, very important!
=> Make sure that you run the demo with the right GPU, some demos simply won't run or will throw a bunch of glitches at random. If the .nfo file tells ATi users to go fuck themselves then it's likely to be nvidia only.
=> Some prods require SlimDX, usually these are games and generally more rare to run across.
=> WebGL demos breaks VERY often! Be sure to use the actual browser to run. Usually either Chrome or Firefox. Correct version number increases your chances and remember to allow local files.
=> Some times can help, try compatibility mode or admin mode.
=> For a lot of pre-2009 stuff, you might want to use XP. Especially when it comes to sizetros as people generally skipped vista and coded sizetros with XP in mind. Issues arise when windows thinks that it's trying to be too smart with it's header and whatnot and can cause some issues. Then there is of course 32bit support and better support for legacy modes.
=> Java/flash/etc.. runtimes for more exotic stuff.

Protip: If you can, check archive.org page for the demoparty compo machine specs and installed software. This can especially be helpful with webGL stuff and browser versions break stuff all the time.

Generally the most important bits are: c++ runtimes, GPU drivers and dx9 runtimes.
There are more stuff to list but by that point it's more case by case basis.

Sadly due to constantly evolving hardware and software, just like with DOS stuff, it's near impossible to have a "runs it all" configuration that works stable for say.. 1990 - 2000 stuff.
Although I'd say that with windows you're much more likely to be able to run stuff from 2005 today.
Most recent "biggest" obstacle we have is WinXP-win7 and the end of 16bit support along with what little was left of DOS.

Anyway.. If you want, I can take a look on some demos if you can give me a list.
added on the 2016-02-27 18:05:44 by oasiz oasiz
strange, i rarely have problems. what obscure demos/intros from pre-2005 do you try to run?
Ignoring Maali's slur and providing examples. Should I have D3Dcompiler47.DLL on my computer in order to run PC demos? Should I have any DLL in any way related to Visual Studio to do so?
added on the 2016-02-27 19:24:11 by Photon Photon
Windows, as far as I know, doesn't ship with a shader compiler for DirectX by default, so yes.
added on the 2016-02-27 20:07:54 by Gargaj Gargaj
And I thought having 5 different configurations in my config.sys to run various PC demos back in the day was complicated!
added on the 2016-02-27 20:09:34 by _-_-__ _-_-__
I don't believe running stuff today is complicated - if you ignore the actual problems residing in the demo code.
added on the 2016-02-27 20:11:16 by Gargaj Gargaj
we'll see, I'm buidling myself a windows machine as we speak, it's been a while since I could check any demo
added on the 2016-02-27 21:14:24 by _-_-__ _-_-__
Installing VC++ and DirectX 9.0 redistributable runtimes usually does the trick.

Also, for pre 2005 stuff use the admin mode in case they don't run.
added on the 2016-02-27 21:24:37 by Defiance Defiance
For some older stuff, you may also need to add an exception for Data Execution Prevention if DEP is globally turned on.
Quote:
Windows, as far as I know, doesn't ship with a shader compiler for DirectX by default, so yes.


As of Windows 8.1, it does.
added on the 2016-02-27 22:00:32 by xTr1m xTr1m
Maybe one of the reasons, why YT streaming of demos becomes more popular: No time needed to get the right binaries or even the right graphics card to run a demo.
added on the 2016-02-27 22:18:29 by Salinga Salinga
Quote:
Should I have D3Dcompiler47.DLL on my computer in order to run PC demos? Should I have any DLL in any way related to Visual Studio to do so?


yes. you should have that 47er. even on old7. it's goodness. the vcr is rather not interesting for sizetro but not bad to have as a quick framework. what i don't get tho is why you not have it at all? devenv ships with libs, so... the default should be installed. mmh...
added on the 2016-02-27 23:12:48 by yumeji yumeji
I'm not running pre 2005 or DX9 demos, stop it. :)

This is not laying blame on Windows demo coders, or make them write installers, or pointing out design issues of DirectX. It's just that I'm aware of things to install for new games (released after old10, even!) and various runtimes all the way back to DX9, and have done so over a year. It seems I cover this broad spectrum of games, but still only about half of the recent demos work.

I'm calling out for a guide to run Windows demos instead of watching Youtube videos. Don't Windows demo coders want that?

I will install DX DLLs from various DX releases, but am I wrong in not going beyond that and why? Is there a criterium for when a Windows demo is considered free of dependencies of the machine on which it was developed? Surely it's not a product until it is?
added on the 2016-02-28 01:05:38 by Photon Photon
Quote:
I'm calling out for a guide to run Windows demos instead of watching Youtube videos. Don't Windows demo coders want that?

I don't care, but at least a cap will look correct, and the same every time.

Seriously though, a lot of (most?) demos don't work at least correctly on my computer either. That includes for an example our own demo Emix, which is about 6 months old. Hooray to driver updates. Also in my experience it's OpenGL that causes far more problems than DX, since at least the DX shader compiler is the same for all GPUs.
added on the 2016-02-28 01:17:34 by noby noby
Quote:
what i don't get tho is why you not have it at all? devenv ships with libs, so... the default should be installed. mmh...

1. You assume everyone has Visual Studio installed.
2. You assume everyone has a specific edition of Visual Studio installed.
Quote:
Quote:
what i don't get tho is why you not have it at all? devenv ships with libs, so... the default should be installed. mmh...

1. You assume everyone has Visual Studio installed.
2. You assume everyone has a specific edition of Visual Studio installed.


i assumed that VS bakes and rebakes most WINDOWS (topic) demos just fine. and...
i assumed 'uptodate' is not a gimmick... but...
added on the 2016-02-28 02:31:27 by yumeji yumeji
Code:dumpbin /imports | grep dll
added on the 2016-02-28 07:39:23 by sol_hsa sol_hsa
Assume demos that works on nvidia only
Assume the lazy coder cant do amd compatible version
Assume glöps
:D
added on the 2016-02-28 10:02:41 by moredhel moredhel
Quote:
i assumed that VS bakes and rebakes most WINDOWS (topic) demos just fine. and...
i assumed 'uptodate' is not a gimmick... but...

Err... Do you say that people should compile the demos themselves? I am confused.
Even then having the latest and best (lol) version of Visual Studio will not always work because older code will sometimes simply not compile on newer (or even older, for that matter) versions of VS. I can understand why not every demo coder would want to include the vsredist packages with all their demos (even though some do it), after all it's relatively simple to find the correct download package.
I hate it when Windows demos I could run before, not that long ago, refuse to run NOW. I'm racking my brains just trying to figure out what's changed since, mostly.
added on the 2016-02-28 13:26:35 by Foebane72 Foebane72

login