I was wondering, since recently I've decided I want to move from Ubuntu 14.04 to XFCE mint linux, if games installed in Ubuntu will run in Mint? I've copied my home folder onto an external hard drive, and I was wondering if the game I'd installed (War Thunder) will run on mint after I simply copy and paste all of its files onto my main hard drive after I install mint? I understand I'll have to reinstall my graphics drivers. Thanks.
-
1If you only copied your /home folder, you will likely be missing config files (usually end up in /etc). If you reinstall the game, you should be able to use save data if it was kept in your /home folder. – cremefraiche Apr 11 '15 at 23:11
1 Answers
All Linux distributions fundamentally run the same software. What distinguishes distributions is mainly the installer, the software installation mechanisms, and that some system components may be recommended or mandatory on a particular distribution (init system, network management, etc.) as well as the selection of packaged software.
For the most part, software that runs on distribution A will also run on distribution B, as long as the necessary components are installed — mostly libraries. Desktop/server distributions ship mostly the same set of libraries (embedded distributions are another matter). However a given release of distribution A and a given release of distribution B may include different versions of libraries.
Incompatibilities between distributions are mostly due to differing library versions.
Linux Mint is based on Ubuntu or Debian (which Ubuntu, in turn, is based on), but they don't always make releases at the same time, so the version of Ubuntu that you had and the version of Mint that you have now may not include the same libraries.
To check what libraries a program needs, look for the executable(s) and run the ldd
command on them. You'll see output like this:
$ ldd /bin/ls
linux-vdso.so.1 => (0x00007fff0938a000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007ffbfb2c9000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ffbfb0c1000)
libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007ffbfaeb7000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffbfab2c000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ffbfa928000)
/lib64/ld-linux-x86-64.so.2 (0x00007ffbfb525000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ffbfa70b000)
libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007ffbfa506000)
Each line lists a library that the program requires, and the path to the file that contains this library. If you see “not found”, that means you don't have that particular library installed (or the version you have is not compatible). Often libfoo.so.42
is in a package with a name like libfoo-42
, but sometimes libraries are grouped differently, it's possible for the library file and the library package to have different numbering. You can use the apt-file
command to locate the package containing a particular file name.
It sometimes happens that you have the right version of library A, but program P requires library A compiled against library B version 1, and your distribution ships both version 1 and version 2 of library B but only a version of library A compiled against version 2. These problems can be harder to diagnose and solve. Recompiling the program (if you have the source) or the library is a solution, but not always an easy one. Keeping two distributions (or two releases of a distribution) in parallel can be another solution (with a nonzero but not huge overhead in terms of maintenance work and of disk space).

- 829,060