Running Orbiter under Wine

From OrbiterWiki
Revision as of 16:47, 23 February 2020 by Enjo (talk | contribs)
Jump to navigation Jump to search

This article explains how to run Orbiter 2016 with DirectX9 client under Wine. Use only stable version of Wine for this (tested on 1.6.2). Otherwise Orbiter will be crashing upon switching views, etc.

Preparation

Installing the base environment

Install the latest STABLE version of Wine and Winetricks in your system.

# cd into your Orbiter2016 directory

# We will be operating on a specialized Wineprefix
echo "$HOME/.local/share/wineprefixes/orbiter2016" > wineprefix.txt
export WINEPREFIX=`cat wineprefix.txt`

# Create the Wineprefix for Orbiter 2016. Select Windows 8.1 as the supported operating system.
WINEARCH=win32 winecfg

# Install VC++ runtimes (the base install and many addons need them)
winetricks vcrun2005 vcrun2008 vcrun2010 vcrun2012 vcrun2013 vcrun6 vcrun6sp6 corefonts
winetricks vcrun2015 # This may fail under older winetricks/wine

Installing DX9

Search the forum to get the latest DX9 Client for Orbiter 2016. Once we reach a stable Orbiter release, the DX9 Client link might get fixed. Currently a stable version is available at Jarmonik's private page

export WINEPREFIX=`cat wineprefix.txt`

# It should be possible to install DX9 via the following command, but it doesn't seem to satisfy all dependencies:
# winetricks d3dx9

# Download page of the DX9 runtimes
#https://www.microsoft.com/en-us/download/confirmation.aspx?id=8109

# A direct link
#wget https://download.microsoft.com/download/8/4/A/84A35BF1-DAFE-4AE8-82AF-AD2AE20B6B14/directx_Jun2010_redist.exe

# Adjust your DX9 extraction directory
DX9_EXTRACTED_DIR=../../orbiter-clean/install/dx9_jun2010/

# Extract the redistrubutable to the directory, that you entered above
wine directx_Jun2010_redist.exe

# Let wine install it in your prefix
wine $DX9_EXTRACTED_DIR/DXSETUP.exe

Run scripts

Create the following two scripts in your Orbiter2016 directory to and run them with:

sh run-wine-orbiter-ng.sh # DirectX9
sh run-wine-orbiter.sh    # DirectX7

run-wine-orbiter-ng.sh

#!/bin/bash

killall orbiter.exe
export WINEPREFIX=`cat wineprefix.txt`
wine Orbiter_ng.exe

run-wine-orbiter.sh

#!/bin/bash

killall orbiter.exe
export WINEPREFIX=`cat wineprefix.txt`
wine orbiter.exe

Running Orbiter

  • click Modules, and click Expand all twice. Select addons you want to use. In case of running run-wine-orbiter-ng.sh, enable the D3D9Client checkbox.
  • click Video, and switch to full screen
  • click Parameters, uncheck Focus follows mouse
  • click Scenario and pick something.
  • click Launch Orbiter
  • The typical Ctrl+F1-4 combinations don't work under Linux. Use the upper pane of the Orbiter window to invoke these special functions.

(info borrowed from http://devio.us/~dv/linux-orbiter.html#sec-9 )

Full screen mode works faster for the same resolution as in the windowed mode, but it may block keyboard entirely when you operate on dialog boxes. In that case, you have to kill the orbiter.exe process by switching to another virtual console via Ctrl+Alt+F1, logging in and typing:

killall orbiter.exe

next switch back to X via Ctrl+Alt+F7

Tips

If you have missing textures with DX9 client and orbiter crashes with DX7 client, you maybe have missing dxtn library. It outputs following on console:

fixme:d3d:wined3d_dxtn_init Wine cannot find the txc_dxtn library, DXTn software support unavailable.

On Fedora, you need to install libtxc_dxtn.i686 package.