I’m a bit of an aviation buff and have been known to spend a fair few hours playing flight sims. My favorite sim these days is X-Plane, and thankfully it runs on Windows, Mac and Linux. My current host for X-Plane is Fedora 20 and since there is a bit of extra effort to make it run properly, I thought I’d outline my process here.
First and foremost – This post assumes you have installed the appropriate graphics drivers and are not running whatever drivers were just included ‘in the box’, as it were. My system has an NVidia GeForce GT 640 and I use the akmod-nvidia drvivers from RPM Fusion, which works great. A quick Google search should turn up an appropriate process for your computer.
Secondly, I am running the 64bit version of Fedora 20 which brings with it some headaches, since the installer for X-Plane is 32bit, though they offer game executables in both 32 and 64. without several 32bit packages installed on the 64bit system, X-Plane is unable to run and complains about graphics issues. By default, Fedora will install the software and drivers for your graphics card in whatever your default architecture is, which for me is 64bit. Since the installer is 32bit, I need to add several 32bit graphics packages so that the 32bit installer can talk to my 64bit hardware.
Confused yet? Don’t worry about. Follow along and you’ll be all set.
The X-Plane 10 release DVDs I have were the very first batch after the game’s release and there is a known problem with the installer. You can grab an updated copy from the X-Plane website or use their free demo.
The first thing to do with the installer is open up a terminal and run it from there but before it will run you’ll need to install some 32bit libraries so the system can execute the program.
yum install mesa-libGL.i686 glibc-2.18.i686 mesa-dri-drivers.i686 xorg-x11-drv-nvidia-libs.i686 sqlite.i686 libXinerama-1.1.3-2.fc20.i686 openal-soft.i686-y
This is, for me, all of the packages I need to install. The system will grab other packages to satisfy the dependencies of those packages, which is fine. Once they’re installed, it still won’t work and complains that it can’t find ‘libGLU.so.1′. For whatever reason, installing ‘mesa-libGL.i686′ installs a file called ‘libGL.so.1′ and X-Plane wants that extra ‘U’ in the file name so a simple symlink will take care of it.
ln -s /usr/lib/libGL.so.1 /usr/lib/libGLU.so.1
It’s a simple fix that takes care of the issue.. not an easy one to figure out since it’s only a one character difference in the name. Those sorts of issues tend to make me a little cross-eyed before I solve them.
This is one further similiar issue that turns up when you try to run the installed application. The X-Plane program has slightly different needs than the installer. For the 64bit application to run you’ll need to create this symlink as well:
ln -s /usr/lib64/libudev.so.1 /usr/lib64/libudev.so.0
With that done you should be able to just run the executable. If you still have that command prompt open though, which is how I run it, you can check to see if you’ve satisfied all of the installers dependencies with the ldd command. My executable is called ‘X-Plane 10 Installer Linux’ so I run:
ldd ./X-Plane 10 Installer Linux in the terminal from the folder containing the installer which gives me a list of needed files and their locations. If you see any lines that say ‘Not Found’ you can use ‘whatprovides’ to find them:
yum whatprovides */libX11-xcb.so.1 for instance, and yum will output the package name you need to install to satisfy the requirement. Keep an eye out for i686 versus x64_86 packages. On a 64bit system you have to specify .i686 at the end of the package so that it will install the non-default 32bit version, as we did in our first ‘yum install’ command.
With all of that done, just run the command to launch the program and you’ll be all set. For me:
./X-Plane 10 Installer Linux and the ‘X-System’ installer comes up as expected. Make sure you have you DVD in the drive, or mount the ISO from a network share like I do, and you’re off and running.
Once installed, you can choose to run either X-Plane-i386 or X-Plane-x86_64. Both will work though the x86_64 version can take advantage of more than 4GB of RAM, a limitation of i386.