Orbiter 2006 on Linux Walkthrough

Gumdrop

Five Year Orbinaut
Joined
Jan 3, 2010
Messages
23
Reaction score
0
Points
0
This is just a little tutorial on how to get Orbiter 2006 up and running on a Linux/GNU distribution. This guide focuses on simplicity and ease. I wrote this tutorial and tested it using Debian Lenny, and so it I believe it should work well for Debian-based Linux/GNU distributions (Ubuntu, etc). I assume you have 3D acceleration drivers installed.

First, one should download Orbiter 2006 to a folder, any will do, but for simplicity I downloaded to my home folder. Open a console, cd to your home folder, and type (or paste):

Code:
cd
Code:
wget http://downloads.sourceforge.net/project/mscorbaddon/Orbiter/06-09-29/orbiter060929_base.zip?use_mirror=cdnetworks-us-1
Wget is a command line download tool included in most distributions. Alternatively, one can download Orbiter 2006 using a web browser.

Also, one needs to download a little script called winetricks. Once again I downloaded to my home folder using wget:

Code:
wget http://www.kegel.com/wine/winetricks
Also, one needs to install wine and cabextract packages. You can do this using a GUI such as Synaptic, Aptitude, Apt-Get, etc. Remember, one must have root powers in order to install packages.

As root:
Code:
apt-get install wine cabextract
The wine package in Debian Lenny is version 1.01. I have not tested this guide on any other versions, but I am optimistic this guide will work on later wine versions.

After the the packages are installed, one may switch back to user mode. Now we must tell winetricks to install the vcrun6 package for wine.

Code:
sh winetricks vcrun6
Now we should extract Orbiter to a folder inside Wine's C drive folder. First, switch to the hidden folder.

Code:
cd ~/.wine/drive_c/
Then, make a directory called Orbiter.

Code:
mkdir Orbiter
Go ahead and change to the home directory and extract Orbiter to your new folder. I used 7-Zip to extract the archive, because it is my favorite.

Code:
7z x orbiter060929_base.zip -o~/.wine/drive_c/Orbiter
Now, according to my tests, you must change to the Orbiter directory to properly run the program.

Code:
cd ~/.wine/drive_c/Orbiter
Now give Orbiter a shot.

Code:
wine orbiter
I recommend you run in a window. Also, do not open any windows inside Orbiter (such as scenario editor, pressing F4, etc) because you will lose your keyboard.

It's slow, but somewhat more stable than I expected. :cheers::probe::cheers:

snapshot1.png
 
Last edited:

orb

O-F Administrator,
News Reporter
Joined
Oct 30, 2009
Messages
14,020
Reaction score
4
Points
0
Hello, and :welcome: to the forums.

You know you could replace "/home/daniel" with "~" (tilde), so for copy-paste people it would also work here? And even shell script installer could be made from it.
 

Gumdrop

Five Year Orbinaut
Joined
Jan 3, 2010
Messages
23
Reaction score
0
Points
0
Hello, and :welcome: to the forums.

You know you could replace "/home/daniel" with "~" (tilde), so for copy-paste people it would also work here? And even shell script installer could be made from it.

Actually, I didn't know. I will update my guide, and I may include a tutorial for the latest OGLA client. The problem with the client is there is no keyboard input....although the OpenGl performance is fantastic.
 
Last edited:

TSPenguin

The Seeker
Joined
Jan 27, 2008
Messages
4,075
Reaction score
4
Points
63
Excellent tutorial. Well done.

Thread moved to tutorial forum
 

Bj

Addon Developer
Addon Developer
Donator
Joined
Oct 16, 2007
Messages
1,886
Reaction score
11
Points
0
Location
USA-WA
Website
www.orbiter-forum.com
Great, to anyone who has done this; whats the FPS differences between Linux and Windows?
 

Gumdrop

Five Year Orbinaut
Joined
Jan 3, 2010
Messages
23
Reaction score
0
Points
0
It's about a 90% decrease in Linux because DirectX is not rendered natively. I could only find it useful for maybe mission planning or what not. I get about 50 FPS using Artlav's OpenGL client, but the OrbiterBETA has a keyboard problem when using Linux.
 

Quix0r

New member
Joined
Jan 10, 2010
Messages
13
Reaction score
0
Points
0
Location
Krefeld
Website
www.ship-simu.org
I have managed to get it running, not all missions/sceneries, but that is fine.

I have the following DLLs downloaded from www.dll-files.com and put in same directory of orbiter.exe (root directory of Orbiter):

msvcirt.dll
mfc70
mfc71
MSVCP70.DLL
MSVCP71.DLL
msvcr70.dll
msvcp71.dll
I have a Quad-Core system with 2.5 GHz each core, 6 GB RAM and GeForce 9500 GT whch gives me even with high-res images a good FPS (playable).

I use FVWM-Crystal and need to set some parameters:

  • Add orbiter.exe as an application. Click on orbiter.exe (still in Applications tab)
  • Click on Graphics
  • Enable: Allow DirectX apps to stop the mouse leaving their window
  • Enable: Emulate a virtual desktop (dimension should match your desktop's)
  • Vertex Shader Support: Hardware
  • Enable: Allow Pixel Shaders
I have try to fix that keyboard focus loose issue: In FVWM Crystal I need to set window focus model to M$ Windows.

Still I have trouble with but they can be "partly-fixed": (the part with inner windows [e.g. press F4] are not fixable with this)

  • Launch orbiter.exe as usual from e.g. xterm
  • Select a scenery (e.g. Delta-Glider -> Cape Caneveral)
  • Wait for the simulation to finish loading
  • Press ALT+TAB to change to the underlaying terminal window (release the keys)
  • Press ALT+TAB again to change back to Orbiter app (release keys)
  • You may not change the view with F1,F2,F8 keys!
  • Press ALT+TAB once again (Orbiter is again selected, not xterm!)
  • You may be able to use your keyboard again
Hope that this someone helps. :)
 
Last edited:

Quix0r

New member
Joined
Jan 10, 2010
Messages
13
Reaction score
0
Points
0
Location
Krefeld
Website
www.ship-simu.org
Not even the Beta Version (2009?), I have also keyboard problems with stable version. I cannot change view with F1/F2/F8 keys. :(
 

weepleman

New member
Joined
Aug 9, 2008
Messages
57
Reaction score
0
Points
0
If anyone is still watching this, I followed these directions, but I still have some errors. I got orbiter to run which is amazing in the first place but there is some stuff wrong with it. First, The MFD's and panels are upside down, and planets textures do not work. Also, none of the gauges like fuel and thrust work. I have tried really hard to get orbiter to work, and this is the closest I have gotten. It is really annoying to get this close and still have orbiter not work!!!!!!
 

computerex

Addon Developer
Addon Developer
Joined
Oct 16, 2007
Messages
1,282
Reaction score
17
Points
0
Location
Florida
Mine always dies with:
Code:
wine: Unhandled page fault on write access to 0x789c4000 at address 0xb7505e96 (thread 0009), starting debugger...                                                                              
Unhandled exception: page fault on write access to 0x789c4000 in 32-bit code (0xb7505e96).
 

cjp

Addon Developer
Addon Developer
Donator
Joined
Feb 7, 2008
Messages
856
Reaction score
0
Points
0
Location
West coast of Eurasia
I finally found time to try this in Ubuntu 9.10, and this is what I got:

Code:
wine: Call from 0x7bc4b240 to unimplemented function msvcrt.dll.??_U@YAPAXI@Z, aborting
wine: Unimplemented function msvcrt.dll.??_U@YAPAXI@Z called at address 0x7bc4b240 (thread 0009), starting debugger...
Unhandled exception: unimplemented function msvcrt.dll.??_U@YAPAXI@Z called in 32-bit code (0x7bc4b240).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:7bc4b240 ESP:00a9e728 EBP:00a9e78c EFLAGS:00000202(   - --  I   - - - )
 EAX:003e90a6 EBX:7bc98ff4 ECX:011c126c EDX:00000000
 ESI:00a9e734 EDI:00000000
Stack dump:
0x00a9e728:  00a9e758 7b83a91e 0000008c 80000100
0x00a9e738:  00000001 00000000 7bc4b240 00000002
0x00a9e748:  003e91a6 003e90a6 00a9e78c 78011fa2
0x00a9e758:  011c0230 7801b58b 00000003 00000e00
0x00a9e768:  011c1238 00000200 7bc356a1 00000000
0x00a9e778:  00000001 00000003 00000200 00000200
Backtrace:
=>0 0x7bc4b240 in ntdll (+0x3b240) (0x00a9e78c)
  1 0x013e000f (0x00a9e7b0)
  2 0x003e5187 in msvcirt (+0x5187) (0x00a9e7e4)
  3 0x00371731 in vsop87 (+0x1731) (0x00a9ea0c)
  4 0x00361759 in sun (+0x1759) (0x00a9eb9c)
  5 0x0049eb8b in orbiter (+0x9eb8b) (0x00cc33f0)
  6 0x00000000 (0x00cc3190)
  7 0x00000000 (0x006c6f53)
  8 0x00000000 (0x00000000)
0x7bc4b240: subl    $4,%esp
Modules:
Module    Address            Debug info    Name (98 modules)
PE      350000-  357000    Deferred        atlantisconfig
PE      360000-  365000    Export          sun
PE      370000-  376000    Export          vsop87
PE      3e0000-  3f1000    Export          msvcirt
PE      400000-  699000    Export          orbiter
PE    10000000-10007000    Deferred        dgconfig
ELF    20000000-20133000    Deferred        wined3d<elf>
  \-PE    20010000-20133000    \               wined3d
ELF    20133000-20136000    Deferred        libxdamage.so.1
ELF    240a9000-240b3000    Deferred        libdrm_intel.so.1
ELF    2e79a000-2e7fe000    Deferred        libgl.so.1
ELF    36549000-367d9000    Deferred        i915_dri.so
ELF    469be000-469c8000    Deferred        libdrm.so.2
ELF    68000000-68019000    Deferred        libpthread.so.0
ELF    68019000-6815e000    Deferred        libc.so.6
ELF    6815e000-68184000    Deferred        libm.so.6
ELF    68184000-6818c000    Deferred        libnss_compat.so.2
ELF    6818c000-681a3000    Deferred        libnsl.so.1
ELF    681a3000-681ae000    Deferred        libnss_nis.so.2
ELF    681ae000-681ba000    Deferred        libnss_files.so.2
ELF    681ba000-68211000    Deferred        ddraw<elf>
  \-PE    681c0000-68211000    \               ddraw
ELF    68211000-6830f000    Deferred        ole32<elf>
  \-PE    68230000-6830f000    \               ole32
ELF    6830f000-68380000    Deferred        rpcrt4<elf>
  \-PE    68320000-68380000    \               rpcrt4
ELF    68380000-6848f000    Deferred        user32<elf>
  \-PE    68390000-6848f000    \               user32
ELF    6848f000-68519000    Deferred        gdi32<elf>
  \-PE    684a0000-68519000    \               gdi32
ELF    68519000-68552000    Deferred        dinput<elf>
  \-PE    68520000-68552000    \               dinput
ELF    68552000-685d9000    Deferred        winmm<elf>
  \-PE    68560000-685d9000    \               winmm
ELF    685d9000-686a9000    Deferred        comctl32<elf>
  \-PE    685e0000-686a9000    \               comctl32
ELF    686a9000-68748000    Deferred        krnl386.exe16.so
PE    686c0000-68748000    Deferred        krnl386.exe16
ELF    68748000-6875c000    Deferred        comm.drv16.so
PE    68750000-6875c000    Deferred        comm.drv16
ELF    6875c000-68787000    Deferred        gdi.exe16.so
PE    68770000-68787000    Deferred        gdi.exe16
ELF    68787000-68806000    Deferred        libfreetype.so.6
ELF    68806000-6881c000    Deferred        libz.so.1
ELF    6881c000-68849000    Deferred        libfontconfig.so.1
ELF    68849000-68870000    Deferred        libexpat.so.1
ELF    68870000-688b2000    Deferred        user.exe16.so
PE    68880000-688b2000    Deferred        user.exe16
ELF    688b2000-688c7000    Deferred        display.drv16.so
PE    688c0000-688c7000    Deferred        display.drv16
ELF    688c7000-688dc000    Deferred        keyboard.drv16.so
PE    688d0000-688dc000    Deferred        keyboard.drv16
ELF    688dc000-6897c000    Deferred        winex11<elf>
  \-PE    688f0000-6897c000    \               winex11
ELF    6897c000-68985000    Deferred        libsm.so.6
ELF    68985000-689a0000    Deferred        libice.so.6
ELF    689a0000-689b0000    Deferred        libxext.so.6
ELF    689b0000-68adf000    Deferred        libx11.so.6
ELF    68adf000-68ae4000    Deferred        libuuid.so.1
ELF    68ae4000-68ae8000    Deferred        libxau.so.6
ELF    68ae8000-68b06000    Deferred        libxcb.so.1
ELF    68b06000-68b0b000    Deferred        libxdmcp.so.6
ELF    68b0b000-68b2c000    Deferred        imm32<elf>
  \-PE    68b10000-68b2c000    \               imm32
ELF    68b2c000-68b2f000    Deferred        libxinerama.so.1
ELF    68b2f000-68b39000    Deferred        libxrender.so.1
ELF    68b39000-68b42000    Deferred        libxrandr.so.2
ELF    68b42000-68b46000    Deferred        libxcomposite.so.1
ELF    68b46000-68b4c000    Deferred        libxfixes.so.3
ELF    68b4c000-68b57000    Deferred        libxcursor.so.1
ELF    68b57000-68b8e000    Deferred        winealsa<elf>
  \-PE    68b60000-68b8e000    \               winealsa
ELF    68b8e000-68c55000    Deferred        libasound.so.2
ELF    68c55000-68c5e000    Deferred        librt.so.1
ELF    68c5e000-68c77000    Deferred        msacm32<elf>
  \-PE    68c60000-68c77000    \               msacm32
ELF    68c77000-68c8c000    Deferred        midimap<elf>
  \-PE    68c80000-68c8c000    \               midimap
ELF    68c8c000-68cbf000    Deferred        uxtheme<elf>
  \-PE    68c90000-68cbf000    \               uxtheme
ELF    6b048000-6b0a0000    Deferred        advapi32<elf>
  \-PE    6b050000-6b0a0000    \               advapi32
ELF    6c624000-6c641000    Deferred        ld-linux.so.2
ELF    6dd3f000-6dd43000    Deferred        libdl.so.2
ELF    6ee11000-6ee37000    Deferred        msacm32<elf>
  \-PE    6ee20000-6ee37000    \               msacm32
ELF    70771000-70785000    Deferred        mouse.drv16.so
PE    70780000-70785000    Deferred        mouse.drv16
ELF    71c9e000-71ca4000    Deferred        libxxf86vm.so.1
PE    78000000-78044000    Deferred        msvcrt
ELF    79caa000-79cbf000    Deferred        system.drv16.so
PE    79cb0000-79cbf000    Deferred        system.drv16
ELF    7a45e000-7a59a000    Deferred        libwine.so.1
ELF    7b800000-7b93a000    Deferred        kernel32<elf>
  \-PE    7b810000-7b93a000    \               kernel32
ELF    7bc00000-7bcb5000    Export          ntdll<elf>
  \-PE    7bc10000-7bcb5000    \               ntdll
ELF    7bf00000-7bf04000    Deferred        <wine-loader>
Threads:
process  tid      prio (all id:s are in hex)
00000008 (D) C:\Orbiter\orbiter.exe
    00000024    0
    00000009    0 <==
0000000e services.exe
    00000014    0
    00000010    0
    0000000f    0
00000011 winedevice.exe
    00000017    0
    00000016    0
    00000013    0
    00000012    0
0000001a explorer.exe
    0000001b    0
Backtrace:
=>0 0x7bc4b240 in ntdll (+0x3b240) (0x00a9e78c)
  1 0x013e000f (0x00a9e7b0)
  2 0x003e5187 in msvcirt (+0x5187) (0x00a9e7e4)
  3 0x00371731 in vsop87 (+0x1731) (0x00a9ea0c)
  4 0x00361759 in sun (+0x1759) (0x00a9eb9c)
  5 0x0049eb8b in orbiter (+0x9eb8b) (0x00cc33f0)
  6 0x00000000 (0x00cc3190)
  7 0x00000000 (0x006c6f53)
  8 0x00000000 (0x00000000)
wine: Call from 0x7bc4b240 to unimplemented function msvcrt.dll.??_U@YAPAXI@Z, aborting

At least it's not as bad as it used to be (it used to crash my X server without recovery, forcing me to reboot).

It could be something in my Wine setup. I played a bit with DLLs before, in an attempt to get another application working. I have Wine version 1.1.36.
 

cjp

Addon Developer
Addon Developer
Donator
Joined
Feb 7, 2008
Messages
856
Reaction score
0
Points
0
Location
West coast of Eurasia
Update:
I installed the DLLs as listed by Quix0r. I also disabled all graphical effects. Now Orbiter starts, but all surfaces are black.

This could be related to the following error message in the terminal window:
Code:
fixme:d3d:context_apply_state Activating for CTXUSAGE_BLIT for an offscreen target with ORM_FBO. This should be avoided.
 

Attachments

  • wine1.png
    wine1.png
    53.2 KB · Views: 27
Last edited:

sunshine135

All Around Good Guy
Addon Developer
Tutorial Publisher
Joined
Apr 12, 2008
Messages
207
Reaction score
0
Points
0
Location
Indian Trail, NC
I get a message from Ubuntu when I try to load Orbiter in Wine that it cannot be found. All other steps worked.
 

mdsmith2

New member
Joined
Apr 10, 2010
Messages
8
Reaction score
0
Points
0
I once got Orbiter running on Linux under Wine, but the lack of DirectX and my old video card mean't the FPS was so low it wasn't usable.

A suggestion: I used to have a program called "Cedega" that was Wine with some DirectX supporting libs that allowed me to run Windows games like Madden 2006 under Linux almost as flawlessly as they did under Windows. The only catch is that it costs $5 a month.
It would probably run Orbiter just as well as it did Madden 06 and The Sims for me.
 

Goth

Occasional orbinaut
Donator
Joined
Aug 1, 2008
Messages
424
Reaction score
2
Points
0
Virtual machines is the way to go.
 

Arrowstar

Probenaut
Addon Developer
Joined
May 23, 2008
Messages
1,785
Reaction score
0
Points
36
Virtual machines is the way to go.

Which begs the question: Anyone tried Orbiter under VirtualBox or some such other VM? Apologies if this has been addressed elsewhere...
 

Arrowstar

Probenaut
Addon Developer
Joined
May 23, 2008
Messages
1,785
Reaction score
0
Points
36
As an update to my question, I finally got around to giving Orbiter a go on VirtualBox. The host system was Ubuntu 10.04, Windows 7 was the guest OS, and VirtualBox was the VM software. The VB Guest Additions software was installed on the Win7 guest with the experimental Direct3D support enabled. The physical machine was running with 2 GB of RAM, and Win7 was allocated half of that. The video hardware was an nVidia Quadro 570M with 128 MB of video RAM allocated to Win7.

I can report that Orbiter does in fact run. However, the overarching perfomance was still pretty poor, with many textures either not present or malformed. Exhaust particule streams were rather blocky, and I think the framerate capped out at 10 FPS or so. I was running the latest 2010 RC, and using the bundled DirectX 7 visualization client.

I attached a nice screenshot, just for kicks.

screenshotujv.png


The next thing I'd like to do is give this a go on an XP VM with another 2 GB of RAM that I should have coming to me in the few days. If anyone's interested, I'll let you know. :)
 
Last edited:

Gumdrop

Five Year Orbinaut
Joined
Jan 3, 2010
Messages
23
Reaction score
0
Points
0
I tried Orbiter on an XP virtual guest with Debian Lenny host. Virtualbox 3. I got 15 fps maximum.
 

Arrowstar

Probenaut
Addon Developer
Joined
May 23, 2008
Messages
1,785
Reaction score
0
Points
36
So I just tried Orbiter 2010 on an XP guest with VMWare's free VMWare Player 3 software. The guest OS was allocated 1.5 GB of RAM, and of course VMWare's 3D acceleration options were enabled. All the other hardware specs were the same as my last run.

Using the DirectX 7 client, I got pretty poor result. The most noticeable is the rendering of stars: they come out as massive gray blocks that fill the sky. Frame rates were pretty poor, as well. I think I saw 6-7 FPS, max.

Next, I tried Artlav's OGLA client. This worked significantly better. I was seeing upwards of 70-80 fps, probably with an average of 30-40. Not great, but playable. The rendering was mostly flawless, and some aside jerky motion aside, it looked fine. I was going to post a screenshot, but there's no point as it looks just like a normal Orbiter session. So "good job" to Artlav, I suppose. :)
 

fl4sk4

New member
Joined
Jun 6, 2010
Messages
2
Reaction score
0
Points
0
Thank you for this tutorial.

I needed to install vcrun6 to get it run. It is running quite good!
 
Top