Arcturus Linux
Amalgam PC home Arcturus Linux home Windows Applications ArcBundle Format Scripting APIs

Arcturus Wine Wrapper

Please note: The wine wrapper assumes that user data is stored in appropriate locations. These locations include the Documents folder, Desktop, and Z drive. Storing data in the C drive outside of isolated folders that redirect to the Z drive automatically is NOT safe, and will result in loss of data if the associated program is uninstalled or modified. To ensure the safety of your data, store it only in the Z drive, Documents folder, or Desktop.

This software attempts to provide a degree of automation when running Windows software via Wine. By default, Wine does a fantastic job of converting Windows applications on the fly, but there are a few drawbacks.

Wine makes a virtual Windows install (Wine prefix) in your home folder, and updates this prefix each time a different version of Wine is used. This approach generally works well, but sometimes a Windows program requires fixes or patches to make it work. These patches can interfere with other programs, causing conflicts that would usually prevent a single computer from running conflicting programs at the same time.

Wine supports managing multiple seperate virtual Windows installations simultaneously to allow programs to recieve different patches without breaking each other in the process. This functionality is unfortunately not given a GUI, and is only available to users who run Windows programs from the terminal.

The Arcturus Wine wrapper fixes this limitation by automatically isolating each program in a separate Wine prefix. To aid the software in determining where this separation between programs is, each program is stored in an Arcturus Bundle, or ArcBundle for short. The ArcBundle is just an archive containing the program folder by default, but has additional functionality to support program fixes, registry settings, disk images, and other functionality a program might require. The goal is to provide a simple archival format containing a copy of the program along with its settings to bypass the typical installer, as these installers can cause issues themselves and can require additional patching that occasionally conflicts with the program itself. Most of the patching is done automatically using cues from the program itself, but can also be added as part of this format. The format should be used to make the system aware of bizarre quirks of a program that will likely always be an issue otherwise. A good example would be to indicate which program file should be run if several exist in the bundle's files and subfolders. It should not be used to force a patch to fix Wine bugs or add system components. Contact us if you feel this is necessary for your application, and we'll try to make a permanent fix for all applications like it in our systems instead.

The wrapper automatically installs ArcBundle files, runs winetricks to install patches and support libraries, redirects writes to AppData and the program folder to a folder that can be synchronized between computers, and automatically applies mods as configured. It is designed to run bundle files from a NAS, but these files can be on the local system as well. The only requirement is that bundle files be stored in a folder bearing the name of the system type they belong to. For Windows programs, this folder must be named Windows - this keeps the script on target and allows the magic to work.


For more information on the ArcBundle format, select ArcBundle format documentation here or from the menu above.


Note to devs and power users

The Windows program support files for each program are split into several locations. The arcbundle can be anywhere, but it gets unpacked to /opt/games/arcturus-data/roms/Windows/[arcbundle name] when run. The prefix folder is in [HOME]/.local/share/winepackages/[arcbundle name], the save data is in [HOME/Sync/Game Saves/Windows Automatic Save Detection/[arcbundle name], system mod data is in /opt/games/arcturus-data/system/mods/[arcbundle name] and /opt/games/arcturus-data/system/managedmods/[arcbundle name] and user mod data is in [HOME]/Sync/Game Saves/mods/[arcbundle name] and [HOME]/Sync/Game Saves/Managed Mods/[arcbundle name].

A GUI for managing the installed applications is planned, but currently not implemented. System mod data, wine prefix data, and program fix information is automatically managed on each program run. If the associated program data folder is deleted, mods, fixes, and prefix data will be automatically deleted. These folders are assumed to be entirely system-managed. Do NOT store any important data in these folders - it WILL be deleted. That includes the C drive in windows applications. Store data only on the Z drive. The tools will happily purge it from your system without warning otherwise. The Documents, Desktop, and Application Data folders are automatically redirected, and should be safe.

A GUI for creating arcbundles automatically is also planned, but this GUI will initially only support trivial applications, and some familiarity with the packaging format will still be necessary. This message will be updated when this behavior changes.