Problem d3d9 not loading dll in 160828

castle bravo

New member
Joined
Sep 9, 2016
Messages
2
Reaction score
0
Points
0
Hi,
I'm probably missing something obvious, but I have a problem with the latest and greatest versions of orbitersim 160828 on windows 10.
I downloaded the latest version of D3D9Client 2016 Edition R1, Aug 30 2016.

When starting a scenario, I have after some initialisation a crash to desktop.

Here's the log file Orbiter.log:

Code:
**** Orbiter.log
000000.000: Build Aug 28 2016 [v.160828]
000000.000: Timer precision: 3.8313e-007 sec
000000.000: Found 1 joystick(s)
000000.000: Module AtlantisConfig.dll .... [Build 160828, API 160828]
000000.000: Module AtmConfig.dll ......... [Build 160828, API 160828]
000000.000: Module DGConfigurator.dll .... [Build 160828, API 160828]
============================ ERROR: ===========================
Failed loading module Modules\Plugin\D3D9Client.dll (code 126)
[Orbiter::LoadModule | .\Orbiter.cpp | 600]
===============================================================
000000.000: 
000000.000: **** Creating simulation session
000000.000: Module Sun.dll ............... [Build 160828, API 160828]
VSOP87(E) Sun: Precision 1e-006, Terms 554/6634
000000.000: Module Mercury.dll ........... [Build 160828, API 160828]
VSOP87(B) Mercury: Precision 1e-005, Terms 167/7123
000000.000: Module Venus.dll ............. [Build 160828, API 160828]
000000.000: Module VenusAtm2006.dll ...... [Build 160828, API 160828]
VSOP87(B) Venus: Precision 1e-005, Terms 79/1710
000000.000: Module Earth.dll ............. [Build 160828, API 160828]
000000.000: Module EarthAtmJ71G.dll ...... [Build 160828, API 160828]
VSOP87(B) Earth: Precision 1e-008, Terms 2564/2564
000000.000: Module Moon.dll .............. [Build 160828, API 160828]
ELP82: Precision 1e-005, Terms 116/829
000000.000: Module Mars.dll .............. [Build 160828, API 160828]
000000.000: Module MarsAtm2006.dll ....... [Build 160828, API 160828]
VSOP87(B) Mars: Precision 1e-005, Terms 405/6400
000000.000: Module Phobos.dll ............ [Build ******, API 060425]
000000.000: Module Deimos.dll ............ [Build ******, API 060425]
000000.000: Module Galsat.dll ............ [Build 160828, API 160828]
000000.000: Module Jupiter.dll ........... [Build 160828, API 160828]
VSOP87(B) Jupiter: Precision 1e-006, Terms 1624/3625
000000.000: Module Io.dll ................ [Build 160828, API 160828]
000000.000: Module Europa.dll ............ [Build 160828, API 160828]
000000.000: Module Ganymede.dll .......... [Build 160828, API 160828]
000000.000: Module Callisto.dll .......... [Build 160828, API 160828]
000000.000: Module Satsat.dll ............ [Build 160828, API 160828]
000000.000: Module Saturn.dll ............ [Build 160828, API 160828]
VSOP87(B) Saturn: Precision 1e-006, Terms 2904/6365
000000.000: Module Mimas.dll ............. [Build 160828, API 160828]
SATSAT Mimas: Terms 113
000000.000: Module Enceladus.dll ......... [Build 160828, API 160828]
SATSAT Enceladus: Terms 33
000000.000: Module Tethys.dll ............ [Build 160828, API 160828]
SATSAT Tethys: Terms 101
000000.000: Module Dione.dll ............. [Build 160828, API 160828]
SATSAT Dione: Terms 59
000000.000: Module Rhea.dll .............. [Build 160828, API 160828]
SATSAT Rhea: Terms 68
000000.000: Module Titan.dll ............. [Build 160828, API 160828]
SATSAT Titan: Terms 100
000000.000: Module Iapetus.dll ........... [Build 160828, API 160828]
SATSAT Iapetus: Terms 605
000000.000: Module Uranus.dll ............ [Build 160828, API 160828]
VSOP87(B) Uranus: Precision 1e-006, Terms 1827/5269
000000.000: Module Miranda.dll ........... [Build ******, API 060425]
000000.000: Module Ariel.dll ............. [Build ******, API 060425]
000000.000: Module Umbriel.dll ........... [Build ******, API 060425]
000000.000: Module Titania.dll ........... [Build ******, API 060425]
000000.000: Module Oberon.dll ............ [Build ******, API 060425]
000000.000: Module Neptune.dll ........... [Build 160828, API 160828]
VSOP87(B) Neptune: Precision 1e-006, Terms 391/2024
000000.000: Finished initialising world
000000.000: Module Atlantis_SRB.dll ...... [Build 160828, API 160828]
000000.000: Module Atlantis_Tank.dll ..... [Build 160828, API 160828]
000000.000: Module Atlantis.dll .......... [Build 160828, API 160828]
000000.000: ---------------------------------------------------------------
000000.000: >>> WARNING: Obsolete API function used: VESSEL::CreateVariableDragElement
000000.000: At least one active module is accessing an obsolete interface function.
000000.000: Addons which rely on obsolete functions may not be compatible with
000000.000: future versions of Orbiter.
000000.000: ---------------------------------------------------------------
000000.000: Finished initialising status
000000.000: Finished initialising camera

Anyone else with the same problem, of the d3d9.dll not loading? any idea what is happening?

Thanks,
Stéphane
 

turtle91

Active member
Joined
Nov 1, 2010
Messages
319
Reaction score
7
Points
33
"Code 126" looks like a linker error. So the D3D9-module cannot fine the required runtime-libs.
Have you tried to install the VCREDIST package, which can be found in Orbiter's "Install" dir ?

Whatever version you need to run (VXREDIST 2008...2014..I don't know), you can download them from Microsofts website. In any case, you need the 32-bit runtimes...Orbiter and its modules runs in 32 bit.
 

turtle91

Active member
Joined
Nov 1, 2010
Messages
319
Reaction score
7
Points
33
Thanks for the info. I was not sure which exact version is required.
It runs on my system without a problem...but I don't know "why" it is running. :idk:
 

ADSWNJ

Scientist
Addon Developer
Joined
Aug 5, 2011
Messages
1,667
Reaction score
3
Points
38
"Code 126" looks like a linker error. So the D3D9-module cannot fine the required runtime-libs.

Technically not a linker error, as the linker worked flawlessly to make the .DLL. It's a runtime error on DLL launch, where one or more dependent DLL's cannot be found (missing) or cannot be opened (permissions). There's a Microsoft utility (Depends.exe) that can tell you all dependencies for any .EXE or .DLL, and what functions they are looking for in the dependent file.
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,429
Reaction score
680
Points
203
Where do you unload the files to ?
Anywhere. It's an self-extracting installer. Once the files have been extracted, you just run the DXSETUP.exe file and the runtimes will be installed into their proper locations.
 

turtle91

Active member
Joined
Nov 1, 2010
Messages
319
Reaction score
7
Points
33
It's a runtime error on DLL launch, where one or more dependent DLL's cannot be found (missing) or cannot be opened (permissions)
Yes, because the OS "dynamic-linker" cannot open/find the required library/dll.
So the "linker" reports the problem back to the calling application/module/library.

Again, I am not talking about the linker from the build-env...its the default OS linker (ld.so if talking in Unix terms or sdl.dll for Windows).
https://en.wikipedia.org/wiki/Dynamic_linker

However, thanks for the hint with "depends.exe", I will def. give it a try. :thumbup:
 

castle bravo

New member
Joined
Sep 9, 2016
Messages
2
Reaction score
0
Points
0
Thank you all, that was it!
I actually traced it with process monitor, and could see that some dx3d9_42.dll was not being loaded.
Installing the runtimes as DaveS mentioned, it installed multiple version of that dll, and voilà, it works!
I was somehow mislead that dxdiag said "everything is all right", and the error message in the log was not more specific. It was a fresh win10 install, so you basically have to go through that runtimes install step anyway.

Ok, now I go back to enjoy the scenery of some low orbits :)
 

Ripley

Tutorial translator
Donator
Joined
Sep 12, 2010
Messages
3,133
Reaction score
407
Points
123
Location
Rome
Website
www.tuttovola.org
Top