Sharing Scenery Across Multiple Versions
Can I share scenery across multiple versions
of X-Plane?
There are a number of good reasons for wanting to keep
multiple versions of X-Plane installed, but let's face it, even with
today's huge disks, keeping multiple copies of the 60GB global scenery
is not an option for most of us. The Network
Installer page describes
how to move some of the big folders back and forth among multiple
versions, but this is awful fussy, and will get tiresome real quick if
you switch back and forth among multiple versions a lot.
The good news is you can share scenery and resources among versions,
with some limitations. The mechanism you use is symbolic links, a type
of forwarding pointer you can put into the file stucture to make a
folder appear in some location when it is actually somewhere else.
Symbolic links are available on all three operating systems. Once you
have set up the symbolic links, when you copy an X-Plane folder
(because you're about to install a new version, for example), the
symbolic links get copied and not the common folders they point to. So
the copy also shares the common folders.
Warning! Setting up symbolic links
requires the use of command line access. Shared folders are not
supported by Laminar, their use may stop working in future versions of
X-Plane, and they may keep the X-Plane installer from working correctly
in the future. This exercise is not for the un-savvy or faint-hearted.
One other thing: X-Plane has changed the way it handles file
operations internally during the 8.x run. The symbolic link technique
works with versions 8.40 and later but may not work with earlier
versions.
Which folders can I share?
Symbolic links work for some X-Plane folders and not for
others. They work for folders that X-Plane references directly by name,
like "Earth nav data". They do not work for folders that are enumerated. Enumeration means
finding all the subfolders in some folder and then handling each one in
some way, either processing its contents or displaying it in a menu.
For example, all the aircraft folders are enumerated when you go to
open an aircraft, and when X-Plane scans the aircraft folders for
aircraft to load. Similarly, Custom Scenery folders are enumerated. For
this reason, you can't put symlinks into the Aircraft folder to point
to your private aircraft library or into the Custom Scenery folder to
point to your custom scenery library. This limitation applies to Mac
OSX. Other have reported that it does not apply to Linux; I have no
word on it either way for Windows.
There are several scenery folders that are large enough to be worth
sharing. There is a tradeoff in choosing which ones to share, because
some folders are more likely to be updated by future X-Plane versions
than others. If you update one of your X-Plane versions, all versions
will see any updates made to the shared folders. Usually this will
work, but there's always the possibility that the updated resources
depend on new features in the new version of X-Plane. If this happens
your older versions will stop working and you will have to recover the
old scenery resources from a backup (and stop sharing the affected
files or folders). So this page is less of a cookbook and more a set of
guidelines.
In my own setup I've chosen to be
relatively conservative and share the global scenery DSFs and the Earth
Orbit Texture files. The DSFs are, of course, the lion's share of the
resources at 54GB. The Earth Orbit Texture files are an additional easy
400MB. Neither of these folders is likely to be updated by an 8.x
version, certainly not in an incompatible way.
Setting up the shared folders
Here's how I did it on Mac OSX:
I keep all my X-Plane versions (i.e., the X-Plane 8.xx folders) in one
folder. In this same folder I created an additional folder named
X-Plane 8 Common. Then I moved my Resources/bitmaps/Earth Orbit
Textures into the X-Plane 8 Common folder. I created a new folder,
X-Plane 8 Common/DSF 820 Earth and moved the Resources/default
scenery/DSF 820 Earth/Earth nav data into X-Plane 8 Common/DSF 820
Earth. The result looks like this:
Creating the
symlinks
You do this by opening a terminal
window, setting your working directory to the right destination folder,
and creating the symbolic link with the ln -s command, in my case as
follows:
cd "X-Plane 8.50"/Resources/bitmaps ln -s "../../../X-Plane 8 Common/Earth Orbit Textures" "Earth Orbit Textures" cd ../"Default Scenery"/"DSF 820 earth" ln -s "../../../../X-Plane 8 Common/DSF 820 Earth/Earth nav data" "Earth nav data"
|
When the dust clears, if you've gotten it right, the affected portions
of your X-Plane folder will look like this. (I've omitted a lot of the
files and folders for clarity.)
Why the duplicate DSF 820 Earth folder? Because the folders in the
default scenery folder are enumerated, so DSF 820 Earth itself cannot
be a symbolic link.
Cool! What about Linux and
Windows?
The good news for Linux is it's just
like OSX, since both are basically Unix on the inside. However, on
Linux the limitations on enumerated folders apparently don't apply.
On Windows, the equivalent of a symlink is called a
junction. The tools to manage
junctions are not distributed with Windows, but you can download a
third
party tool. Usage is similar to the Unix ln -s command but differs
in syntax. I haven't done this myself on Windows so I can't give you my
own worked example. For a detailed explanation and discussion, see the
topic at
X-Plane.org.
Note here in the detailed description in post #7, the author sets up
symbolic links to the top level Custom Scenery and Default Scenery
folders. This saves a lot more space than my example. (Note that 700MB
820 world terrain folder I didn't touch.) However, every X-Plane update
will modify the contents of these folders somewhere, so the chances of
breaking an earlier X-Plane version in an update is much higher.
Note also that Windows treats junctions a little different than Unix
treats symbolic links, so some of the restrictions related to folders
that are enumerated described above may not apply in Windows. I haven't
had time to experiment, so you'll have to.
Back to the
Install/Upgrade page
Back to the main page