Software Orbiter w/ D3D9 not working on Laptop

dundun92

Member
Joined
Feb 18, 2012
Messages
42
Reaction score
28
Points
18
I am having an issue where the D3D9 client doesnt work on my laptop for orbiter unless its through an external monitor. Orbiter doesnt appear to be recognizing the dedicated GPU (RTX 3050 ti) and instead is just recognizing the iGPU under the video tab of the normal client. If I try and select the D3D9 checkbox, orbiter_ng.exe freezes; if I do it on an external monitor thats HDMI connected to the GPU directly Orbiter recognizes the 3050 and the D3D9 client works fine. Any suggestions?
 

n72.75

Move slow and try not to break too much.
Orbiter Contributor
Addon Developer
Tutorial Publisher
Donator
Joined
Mar 21, 2008
Messages
2,687
Reaction score
1,337
Points
128
Location
Saco, ME
Website
mwhume.space
Preferred Pronouns
he/him
Are you sure your laptop is using 3050 in desktop mode. Might be worth looking at some graphics/performance settings for your computer.
 

dundun92

Member
Joined
Feb 18, 2012
Messages
42
Reaction score
28
Points
18
Are you sure your laptop is using 3050 in desktop mode. Might be worth looking at some graphics/performance settings for your computer.
yes, because I play games like DCS world just fine both on laptop and through HDMI, which definitely would not run well on iGPU. I've used orbiter on many other PCs and never had this issue, other games work fine on the PC.
 

n72.75

Move slow and try not to break too much.
Orbiter Contributor
Addon Developer
Tutorial Publisher
Donator
Joined
Mar 21, 2008
Messages
2,687
Reaction score
1,337
Points
128
Location
Saco, ME
Website
mwhume.space
Preferred Pronouns
he/him
yes, because I play games like DCS world just fine both on laptop and through HDMI, which definitely would not run well on iGPU. I've used orbiter on many other PCs and never had this issue, other games work fine on the PC.
DCS is a much newer program and the automatic switch may work better. My concern is that your computer thinks your using a "desktop" application like MS Word, because of some setting.

What model is your laptop?

Other things to try:
Change your power plan to "max performance" or whatever the equivalent of that is today.
Try "full screen window" or "true full screen" (whichever one your using now, try the other), and see if that fixes the problem.
Look for amything in BIOS settings .
Under Graphics settings, manually add orbiter, and select high performance, and the GPU you want.
 

dundun92

Member
Joined
Feb 18, 2012
Messages
42
Reaction score
28
Points
18
DCS is a much newer program and the automatic switch may work better. My concern is that your computer thinks your using a "desktop" application like MS Word, because of some setting.

What model is your laptop?

Other things to try:
Change your power plan to "max performance" or whatever the equivalent of that is today.
Try "full screen window" or "true full screen" (whichever one your using now, try the other), and see if that fixes the problem.
Look for amything in BIOS settings .
Under Graphics settings, manually add orbiter, and select high performance, and the GPU you want.
Model is HP Victus 15-fa0032dx. Power mode is set to max performance. As for the the full screen options, the problem is that I cant get to the video menu until after I check the d3d9 client box, which is where orbiter freezes and doesnt let me do anything. And I have set it to the proper GPU in the Nvidia control panel for both the launchpad and server exes. Ill try messing in the BIOS to see if I find anything that could help.
 

clipper

Well-known member
Joined
Feb 27, 2018
Messages
256
Reaction score
388
Points
63
And I have set it to the proper GPU in the Nvidia control panel for both the launchpad and server exes. Ill try messing in the BIOS to see if I find anything that could help.
You can check easily if Orbiter is indeed using your dedicated GPU by opening up the task manager and seeing if there's any load on it while it's running (under the Performance tab - should be GPU 0 and GPU 1).

And AFAIK the NVIDIA Control Panel doesn't determine which GPU is used any longer, so the option there is effectively useless now - instead this is handled by Windows itself (at least on W10); this short guide should help you find the relevant option (also if setting which GPU to use doesn't work on orbiter_ng.exe from the main folder, then try setting the orbiter.exe found in Modules/Server instead).
 

dundun92

Member
Joined
Feb 18, 2012
Messages
42
Reaction score
28
Points
18
You can check easily if Orbiter is indeed using your dedicated GPU by opening up the task manager and seeing if there's any load on it while it's running (under the Performance tab - should be GPU 0 and GPU 1).

And AFAIK the NVIDIA Control Panel doesn't determine which GPU is used any longer, so the option there is effectively useless now - instead this is handled by Windows itself (at least on W10); this short guide should help you find the relevant option (also if setting which GPU to use doesn't work on orbiter_ng.exe from the main folder, then try setting the orbiter.exe found in Modules/Server instead).
this is what it gives me as options:
and it still does not work even if I do select high performance
1676574830605.png
 

dundun92

Member
Joined
Feb 18, 2012
Messages
42
Reaction score
28
Points
18
Follow up: forgot I was in low power mode; switched to normal and restarted, and it does now show the 3050 ti under high performance; however, orbiter still isnt recognizing it and crashes like usual
 

misha.physics

Well-known member
Joined
Dec 22, 2021
Messages
343
Reaction score
442
Points
78
Location
Lviv
Preferred Pronouns
he/him
If I try and select the D3D9 checkbox, orbiter_ng.exe freezes
Does this issue still remain?

Can you check if orbiter.exe (with DirectX 7) runs on 3050 Ti? Using MSI Afterburner, for example.

Also try to install DirectX End-User Runtimes (June 2010).

(I had the same problem with one of my laptops, but unfortunately I don't remember how (or if) I solved it.)
 

dundun92

Member
Joined
Feb 18, 2012
Messages
42
Reaction score
28
Points
18
Does this issue still remain?

Can you check if orbiter.exe (with DirectX 7) runs on 3050 Ti? Using MSI Afterburner, for example.

Also try to install DirectX End-User Runtimes (June 2010).

(I had the same problem with one of my laptops, but unfortunately I don't remember how (or if) I solved it.)
Yes, still havent been able to fix it. I just tried running it and DX7 orbiter doesnt even work/load. I can mess with video settings but starting a scenario crashes it after around 2 seconds of loading. And I have already installed that runtime.
 

misha.physics

Well-known member
Joined
Dec 22, 2021
Messages
343
Reaction score
442
Points
78
Location
Lviv
Preferred Pronouns
he/him
I just tried running it and DX7 orbiter doesnt even work/load.
It seems your problem isn't related to D3D9 Client of Orbiter. So, you run orbiter.exe, launch any scenario, then see the loading screen and get a crash, isn't it? What version of Orbiter are you trying to run?

Maybe some components of Microsoft Visual C++ Redistributable are missing. You can install it too.
 

dundun92

Member
Joined
Feb 18, 2012
Messages
42
Reaction score
28
Points
18
It seems your problem isn't related to D3D9 Client of Orbiter. So, you run orbiter.exe, launch any scenario, then see the loading screen and get a crash, isn't it? What version of Orbiter are you trying to run?

Maybe some components of Microsoft Visual C++ Redistributable are missing. You can install it too.
Im trying to run 2016. Ive tried installing those as well, are there any specific ones needed?
 

misha.physics

Well-known member
Joined
Dec 22, 2021
Messages
343
Reaction score
442
Points
78
Location
Lviv
Preferred Pronouns
he/him
@dundun92, have you used Orbiter before on this laptop? Have you installed any add-ons? It might make sense to use MSI Installer for a clean install and try to run some default scenarios.

As far as I understand you've already tried to set High-performance NVIDIA processor for orbiter.exe in Manage 3D Settings in NVIDIA Control Panel, and it didn't help.

It would be good if someone could check your Orbiter log file.

I don't know about any specific MSVC components.
 

dundun92

Member
Joined
Feb 18, 2012
Messages
42
Reaction score
28
Points
18
@dundun92, have you used Orbiter before on this laptop? Have you installed any add-ons? It might make sense to use MSI Installer for a clean install and try to run some default scenarios.

As far as I understand you've already tried to set High-performance NVIDIA processor for orbiter.exe in Manage 3D Settings in NVIDIA Control Panel, and it didn't help.

It would be good if someone could check your Orbiter log file.

I don't know about any specific MSVC components.
No, I havent used it before on this laptop. This is my first time trying to boot it clean from this laptop. And yes, I have done that. I can link the log if it would be helpful.
This is the log from the ng client
Code:
**** Orbiter.log
000000.000: Build Aug 28 2016 [v.160828]
000000.000: Timer precision: 1e-007 sec
000000.000: Found 0 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]
000000.000: ---------------------------------------------------------------
BaseDir    : D:\Other Games\Orbiter Installs\Orbiter 2016\
ConfigDir  : D:\Other Games\Orbiter Installs\Orbiter 2016\Config\
MeshDir    : D:\Other Games\Orbiter Installs\Orbiter 2016\Meshes\
TextureDir : D:\Other Games\Orbiter Installs\Orbiter 2016\Textures\
HightexDir : D:\Other Games\Orbiter Installs\Orbiter 2016\Textures2\
ScenarioDir: D:\Other Games\Orbiter Installs\Orbiter 2016\Scenarios\
000000.000: ---------------------------------------------------------------
D3D9 DLLs  : C:\Windows\SYSTEM32\d3dx9_43.dll [v 9.29.952.3111]
           : C:\Windows\SYSTEM32\d3d9.dll [v 10.0.19041.2311]
000000.000: ---------------------------------------------------------------
000000.000: Module D3D9Client.dll ........ [Build 211009, API 160828]
This is the log from the normal dx7 client:
Code:
**** Orbiter.log
000000.000: Build Aug 28 2016 [v.160828]
000000.000: Timer precision: 1e-007 sec
000000.000: Found 0 joystick(s)
000000.000: Devices enumerated: 6
000000.000: Devices accepted: 5
000000.000: [ ] RGB Emulation (SW)
000000.000: [ ] Direct3D HAL (HW)
000000.000: [x] Direct3D T&L HAL (HW)
000000.000: [ ] Direct3D HAL (Intel(R) UHD Graphics) (HW)
000000.000: [x] Direct3D T&L HAL (Intel(R) UHD Graphics) (HW)
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]
000000.000:
000000.000: **** Creating simulation session
000000.000: DirectDraw interface OK
000000.000: Direct3D interface OK
000000.000: Graphics: Viewport: Fullscreen 1920 x 1080 x 32
000000.000: Graphics: Hardware T&L capability: Yes
000000.000: Graphics: Z-buffer depth: 32 bit
000000.000: Graphics: Stencil buffer depth: 8 bit
000000.000: Graphics: Active lights supported: 8
000000.000: Loading 15382 records from star database
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 DeltaGlider.dll ....... [Build 160828, API 160828]
000000.000: Module LuaInline.dll ......... [Build 160828, API 160828]
000000.000: Module ShuttleA.dll .......... [Build 160828, API 160828]
000000.000: Module ShuttlePB.dll ......... [Build 160828, API 160828]
000000.000: Finished initialising status
000000.000: Finished initialising camera
000000.000: Finished setting up render state
000000.000: Finished initialising panels
 

dundun92

Member
Joined
Feb 18, 2012
Messages
42
Reaction score
28
Points
18
So, I guess this is less a aolution and more of a workaround, but I just gave up on running through windows and instead tried to get it runing through proton on my linux db... and with some messing around it actually seems to work (at the very least, it loads and spawns, better than windows). I was able to force proton to use the 3050 though steam. I guess just another reason to not like windows lol.

1677887101490.png
 
Top