eXoDos Collection v4 Linux Patch ======================================================= ------------------------------------------------------- Contents ------------------------------------------------------- Description.......................................Sec01 Front-End.........................................Sec02 Preparation.......................................Sec03 Setup.............................................Sec04 Emulators.........................................Sec05 Playing the Games.................................Sec06 Troubleshooting...................................Sec07 Development Tools.................................Sec08 Contact & Thanks..................................Sec09 ------------------------------------------------------- Description Sec01 ------------------------------------------------------- This is the Linux port for eXoDOS Version 4.0! Please read this document carefully for installation instructions. All 7,000 DOS games have been configured with launchers and install scripts to be playable in Linux without a frontend. The games have already been configured to run in DOSBox. Games which are supported by ScummVM will give you the option at launch as to which emulator you would like to use. A very small number of games that require their own custom build of DOSBox will launch using Wine. ------------------------------------------------------- Front-End Sec02 ------------------------------------------------------- It is possible to browse the collection by running MEAGRE with Wine. However, it is not recommend to launch games that way. Any games launched through Wine will be more prone to errors and poor performance. At this time, there are no officially supported front ends. The installer will ask you to provide a path to the eXoDOS directory that contains MEAGRE.exe. This should be the path as seen by Wine and Windows if you have a dual-boot setup. You can create a virtual drive for Wine by running winecfg and clicking on the "Drives" tab. From there, select the desired letter and path of the drive. LaunchBox currently has no compatibility with Linux in any form. ------------------------------------------------------- Preparation Sec03 ------------------------------------------------------- Run extract.sh from a terminal. This will unpack the required setup files. Do not extract these files manually. They are location sensitive. Note that bash, gunzip, and tar are required for this step. These tools should already come preinstalled on most Linux distributions. Type the following to unpack the setup files: bash extract.sh After the files have been extracted, you will need to install the required dependencies before proceeding to the setup. If using a Debian-based distribution, such as Ubuntu, navigate to the Extras/Linux/Dependencies/DEB directory. If using a Redhat-based distribution, such as Fedora, navigate to the Extras/Linux/Dependencies/RPM directory. If using a pacman-based distribution, such as Manjaro, navigate to the Extras/Linux/Dependencies/pacman directory. If compiling the dependencies from source, navigate to the Dependencies/source directory. Then, follow the instructions in the corresponding README file carefully. Note that the DOSBox packages bundled with this collection have been built specifically for it. As such, versions of DOSBox found outside of this collection may not work correctly. After the dependencies have been installed, proceed to the setup. ------------------------------------------------------- Setup Sec04 ------------------------------------------------------- Run Setup.sh from a terminal. The setup file will check for required files and warn you if any are missing. Type the following to run the setup: bash Setup.sh The eXoDOS collection can be run from any directory, as all launch files are designed to use relative paths to each other. Running the Setup.sh file will extract all of the LaunchBox assets and the games front end assets/configs. In addition, it will extract the Linux game launcher and setup files. It will also give you the opportunity to customize your set. Note that the option to remove Adult games from the LaunchBox menu is most useful for dual-boot setups, as LaunchBox does not work in Linux. Other questions include whether you would like your global defaults to be Fullscreen or Windowed and whether or not you would like to default to Aspect Ratio On or Off. Unlike the Windows installer, you will be asked for the path to the eXoDOS directory as seen by Wine and/or Windows (if dual-booting). The directory you specify should be the one that contains MEAGRE.exe. Finally, you will be asked whether you want game configuration changes to affect both Linux and Windows. If you select yes, selections such as playing in fullscreen or using a graphics filter will affect both operating systems. ------------------------------------------------------- Emulators Sec05 ------------------------------------------------------- This collection uses DosBOX, ScummVM, and Frotz to play the games. DosBOX and ScummVM reside in their installed locations, which can be determined with the whereis command. Multiple versions of DOSBox are used to make these games playable. This includes 0.74, ECE, SVN Daum, X, and a dozen or more custom builds built to support specific games. If you would like to run these versions of DOSBox outside of the collection, you may initiate them with the following commands: dosbox dosbox-ece dosbox-svn dosbox-x ------------------------------------------------------- Playing the Games Sec06 ------------------------------------------------------- After downloading the collection, installing the dependencies, and running Setup.sh, navigate to the eXoDOS/Games/!dos/ directory. Here, you will find 7000 game directories that contain launcher and setup shell files. These files should be executed from a terminal window. For example, from the root directory of the collection, you could type: cd eXoDOS/Games/\!dos/mi2/ bash Monkey\ Island\ 2\ -\ LeChuck\'s\ Revenge\ \(1991\).sh Note that if you have bash completion enabled, you can press the tab key to make typing name of a script easier. The first time you attempt to run a game it will ask if you want to install it. Subsequent runs will directly launch the game. Initial install may take some time depending on the size (a few of these games are upwards of 8 CDs!). During install you will be prompted to choose whether or not to enforce aspect ratio, fullscreen or windowed mode, and if you would like to apply a scaler. Scalers can smooth pixels, making older pixelated games look a bit more modern. The default setting is normal2x. If you run the install file a second time, it will ask if you would like to un-install the game. Choosing "yes" will erase the installed files from your disk, but keep the original ZIP file. You will lose any saved games, high scores, or other settings you have defined since the game was installed. If you choose not to un-install the game you will get the chance to choose fullscreen or windowed again and another opportunity to change the scaler. If the scaler refuses to change, you will have to rerun the Setup file in order to extract clean copies of each games conf file. ------------------------------------------------------- Trouble Shooting Sec07 ------------------------------------------------------- Q: When I run a game it says it is missing. A: Make sure you downloaded the !DOSmetadata.zip file. If you decided to only download a handful of games, then you probably missed this file. Q: The setup says dependencies are missing. A: Please follow the instructions in the preparation section carefully. Q: The dependencies are not successfully installing. A: Please ensure that you are using a distribution that is supported. Q: I have not been able to successfully compile dosbox-svn from source. A: This is one of the reasons we provided as many precompiled packages as possible. Daum can be a challenge to compile. Q: I do not know how to open a terminal from a game directory. A: If using KDE, note that you can press F4 in Dolphin to open a terminal pane from the current directory. If using another desktop environment, there may be an option in its file manager to open a terminal from a popup menu by right clicking. Q: I cannot cd to the !dos directory. A: Ensure you escape the ! character as well as other special characters and spaces by preceding it with a backslash. Q: I am unable to use the DirectX or DirectDraw options. A: Microsoft has chosen not to support these features on Linux. Alternatively, you may use OpenGL or another graphics mode. Q: The screen size of a game is not scaling. A: The game is likely attempting to use DirectX and failing back to a graphics mode that does not support scaling. Try setting the graphics mode in the game's dosbox_linux.conf to opengl. Q: Why is there no front end in Linux? A: Good question! If you have decided to take on the challenge of making one, let us know. ------------------------------------------------------- Development Tools Sec08 ------------------------------------------------------- If you are not doing development work for the eXoDOS collection or adding new games, this section can be ignored. Two files have been included to assist in the porting of additional games to Linux. ./eXoDOS/util/converter.sh - This file should not be executed directly. It is used by other scripts to convert bat files to bash. ./eXoDOS/util/regenerate.sh - This will generate a file in the root directory: Setup_with_regeneration.sh Run the ./eXoDOS/util/regenerate.sh file to create ./Setup_with_regeneration.sh. The first part of the Setup_with_regeneration.sh file is a direct conversion of the Windows setup file. The second part, however, will convert any bat and conf files in the eXoDOS/Games/!dos/ directory. Before running the script, ensure that the extracted Windows metadata is in its correct location. Like the existing games in the collection, the metadata should be contained in subdirectories of eXoDOS/Games/!dos/. As the converter is not perfect, the best way to ensure that it works correctly is to closely follow the scripting patterns of an already existing game. Also be aware that the Linux filesystem is case sensitive. While fixes for previous case inconsistencies have been left in the script, any new case problems will break game functionality. IMPORTANT: When asked if you would like to re-extract front end files, say no unless the new files are contained in !DOSmetadata.zip. Also note: whether or not the directly converted part of the script attempts to exit due to a missing zip file, the conversion process will still begin. After the Setup_with_regeneration.sh script finishes running, you will need to manually test and repack the new games. ------------------------------------------------------- Contact & Thanks Sec09 ------------------------------------------------------- If you have questions, media, games to add, or other concerns, you can email me at retroexo@gmail.com You can join the eXoDOS Discord server at this link: https://discord.gg/x6fjPu Special thanks to the following groups: Unbroken Software - For all the great support in getting eXoDOS into LaunchBox Hargle & his team at Total DOS Collection - These guys have located countless rare games and are invaluable. MobyGames - For supporting the project with both data and accessibility to that data. Old-Games.ru - They became a very valuable resource for rare DOS games during this last cycle. Pleasuredome.org.uk - For hosting eXoDOS. The-Eye.eu - For hosting eXoDOS. Archive.org - For hosting eXoDOS. Most importantly, thank you to the folks at the eXoDOS Discord who have helped shaped this release into something more than just a personal project.