files:
- launcher: https://builds.projectcosmos.app/prod/current/Cosmos.Launcher-win-x64.zip
- webview2:
filename: MicrosoftEdgeWebView2RuntimeInstallerX64.exe
url: https://go.microsoft.com/fwlink/?linkid=2124701
game:
arch: win64
exe: drive_c/Program Files/Cosmos Launcher/Cosmos.Launcher.exe
prefix: $GAMEDIR
install_complete_text: 'Installation completed!
The launcher downloads the game into this prefix on first start.
If the launcher window stays blank on niri or another compositor using
xwayland-satellite, add the environment variable PROTON_ENABLE_WAYLAND=1
in the game''s system options.
'
installer:
- task:
arch: win64
description: Creating 64-bit Wine prefix
name: create_prefix
prefix: $GAMEDIR
- task:
app: corefonts dotnetdesktop8
description: Installing corefonts and .NET 8 Desktop Runtime
name: winetricks
prefix: $GAMEDIR
- task:
args: /silent /install
description: Installing WebView2 Runtime
executable: webview2
name: wineexec
prefix: $GAMEDIR
- task:
description: Setting WebView2 to Windows 7 mode
key: Version
name: set_regedit
path: HKEY_CURRENT_USER\Software\Wine\AppDefaults\msedgewebview2.exe
prefix: $GAMEDIR
value: win7
- extract:
description: Extracting launcher
dst: $GAMEDIR/drive_c/Program Files/Cosmos Launcher
file: launcher
- write_file:
content: "#!/bin/sh\nif command -v python3 >/dev/null 2>&1; then\n exec python3\
\ -I -c 'import ctypes, os, sys\nif ctypes.CDLL(None).prctl(41, *map(ctypes.c_ulong,\
\ (1, 0, 0, 0))) != 0:\n print(\"no-thp: prctl failed, running with THP\"\
, file=sys.stderr)\nos.execvp(sys.argv[1], sys.argv[1:])' \"$@\"\nfi\necho \"\
no-thp: python3 not found, running with THP\" >&2\nexec \"$@\"\n"
description: Writing THP wrapper
file: $GAMEDIR/no-thp
- chmodx: $GAMEDIR/no-thp
system:
prefix_command: $GAMEDIR/no-thp
wine:
dxvk: true
description: Installs the official launcher; it downloads and updates the game itself.
game_slug: project-cosmos
gogslug: ''
humblestoreid: ''
installer_slug: project-cosmos-pre-alpha
name: Project Cosmos
notes: "- Recommended Wine version: GE-Proton (Latest). If your default Wine is set\
\ to \"System\", change it under Preferences > Runners > Wine before installing;\
\ the WebView2 installer can crash on older system Wine.\r\n\r\n- The game is started\
\ through a small wrapper (no-thp) that disables transparent huge pages for the\
\ game only. On distros with THP set to \"always\" (e.g. CachyOS), memory use under\
\ Wine otherwise grows by many GB per hour. Without python3 the wrapper just starts\
\ the game normally.\r\n\r\n- Blank launcher window on niri or other compositors\
\ using xwayland-satellite: add the environment variable PROTON_ENABLE_WAYLAND=1\
\ in the game's system options.\r\n\r\n- Reinstalling: delete the old install folder\
\ first, winetricks refuses to reinstall into an existing prefix."
runner: wine
script:
files:
- launcher: https://builds.projectcosmos.app/prod/current/Cosmos.Launcher-win-x64.zip
- webview2:
filename: MicrosoftEdgeWebView2RuntimeInstallerX64.exe
url: https://go.microsoft.com/fwlink/?linkid=2124701
game:
arch: win64
exe: drive_c/Program Files/Cosmos Launcher/Cosmos.Launcher.exe
prefix: $GAMEDIR
install_complete_text: 'Installation completed!
The launcher downloads the game into this prefix on first start.
If the launcher window stays blank on niri or another compositor using
xwayland-satellite, add the environment variable PROTON_ENABLE_WAYLAND=1
in the game''s system options.
'
installer:
- task:
arch: win64
description: Creating 64-bit Wine prefix
name: create_prefix
prefix: $GAMEDIR
- task:
app: corefonts dotnetdesktop8
description: Installing corefonts and .NET 8 Desktop Runtime
name: winetricks
prefix: $GAMEDIR
- task:
args: /silent /install
description: Installing WebView2 Runtime
executable: webview2
name: wineexec
prefix: $GAMEDIR
- task:
description: Setting WebView2 to Windows 7 mode
key: Version
name: set_regedit
path: HKEY_CURRENT_USER\Software\Wine\AppDefaults\msedgewebview2.exe
prefix: $GAMEDIR
value: win7
- extract:
description: Extracting launcher
dst: $GAMEDIR/drive_c/Program Files/Cosmos Launcher
file: launcher
- write_file:
content: "#!/bin/sh\nif command -v python3 >/dev/null 2>&1; then\n exec python3\
\ -I -c 'import ctypes, os, sys\nif ctypes.CDLL(None).prctl(41, *map(ctypes.c_ulong,\
\ (1, 0, 0, 0))) != 0:\n print(\"no-thp: prctl failed, running with THP\"\
, file=sys.stderr)\nos.execvp(sys.argv[1], sys.argv[1:])' \"$@\"\nfi\necho\
\ \"no-thp: python3 not found, running with THP\" >&2\nexec \"$@\"\n"
description: Writing THP wrapper
file: $GAMEDIR/no-thp
- chmodx: $GAMEDIR/no-thp
system:
prefix_command: $GAMEDIR/no-thp
wine:
dxvk: true
slug: project-cosmos-pre-alpha
steamid: null
version: pre-alpha
year: null
{
"game_slug": "project-cosmos",
"version": "pre-alpha",
"description": "Installs the official launcher; it downloads and updates the game itself.",
"notes": "- Recommended Wine version: GE-Proton (Latest). If your default Wine is set to \"System\", change it under Preferences > Runners > Wine before installing; the WebView2 installer can crash on older system Wine.\r\n\r\n- The game is started through a small wrapper (no-thp) that disables transparent huge pages for the game only. On distros with THP set to \"always\" (e.g. CachyOS), memory use under Wine otherwise grows by many GB per hour. Without python3 the wrapper just starts the game normally.\r\n\r\n- Blank launcher window on niri or other compositors using xwayland-satellite: add the environment variable PROTON_ENABLE_WAYLAND=1 in the game's system options.\r\n\r\n- Reinstalling: delete the old install folder first, winetricks refuses to reinstall into an existing prefix.",
"name": "Project Cosmos",
"year": null,
"steamid": null,
"gogslug": "",
"humblestoreid": "",
"runner": "wine",
"slug": "project-cosmos-pre-alpha",
"installer_slug": "project-cosmos-pre-alpha",
"script": {
"files": [
{
"launcher": "https://builds.projectcosmos.app/prod/current/Cosmos.Launcher-win-x64.zip"
},
{
"webview2": {
"filename": "MicrosoftEdgeWebView2RuntimeInstallerX64.exe",
"url": "https://go.microsoft.com/fwlink/?linkid=2124701"
}
}
],
"game": {
"arch": "win64",
"exe": "drive_c/Program Files/Cosmos Launcher/Cosmos.Launcher.exe",
"prefix": "$GAMEDIR"
},
"install_complete_text": "Installation completed!\n\nThe launcher downloads the game into this prefix on first start.\nIf the launcher window stays blank on niri or another compositor using\nxwayland-satellite, add the environment variable PROTON_ENABLE_WAYLAND=1\nin the game's system options.\n",
"installer": [
{
"task": {
"arch": "win64",
"description": "Creating 64-bit Wine prefix",
"name": "create_prefix",
"prefix": "$GAMEDIR"
}
},
{
"task": {
"app": "corefonts dotnetdesktop8",
"description": "Installing corefonts and .NET 8 Desktop Runtime",
"name": "winetricks",
"prefix": "$GAMEDIR"
}
},
{
"task": {
"args": "/silent /install",
"description": "Installing WebView2 Runtime",
"executable": "webview2",
"name": "wineexec",
"prefix": "$GAMEDIR"
}
},
{
"task": {
"description": "Setting WebView2 to Windows 7 mode",
"key": "Version",
"name": "set_regedit",
"path": "HKEY_CURRENT_USER\\Software\\Wine\\AppDefaults\\msedgewebview2.exe",
"prefix": "$GAMEDIR",
"value": "win7"
}
},
{
"extract": {
"description": "Extracting launcher",
"dst": "$GAMEDIR/drive_c/Program Files/Cosmos Launcher",
"file": "launcher"
}
},
{
"write_file": {
"content": "#!/bin/sh\nif command -v python3 >/dev/null 2>&1; then\n exec python3 -I -c 'import ctypes, os, sys\nif ctypes.CDLL(None).prctl(41, *map(ctypes.c_ulong, (1, 0, 0, 0))) != 0:\n print(\"no-thp: prctl failed, running with THP\", file=sys.stderr)\nos.execvp(sys.argv[1], sys.argv[1:])' \"$@\"\nfi\necho \"no-thp: python3 not found, running with THP\" >&2\nexec \"$@\"\n",
"description": "Writing THP wrapper",
"file": "$GAMEDIR/no-thp"
}
},
{
"chmodx": "$GAMEDIR/no-thp"
}
],
"system": {
"prefix_command": "$GAMEDIR/no-thp"
},
"wine": {
"dxvk": true
}
}
}