lutris / agora

Public discussion space for the community
11 stars 0 forks source link

GOG Innoextract 5.6.2 Issues #5

Open stoz opened 5 years ago

stoz commented 5 years ago

Describe the bug

The GOG version of Heroes of Might and Magic is not installing, even with the installer edited to use the development version of Innoextract linked here in issue lutris/lutris#1949

Expected behavior

~/Games/heroes-of-might-and-magic to be full of game files

Current behavior

~/Games/heroes-of-might-and-magic is has an .ico file and a webcache.zip

Steps to reproduce

Lutris debugging output

(lutris:3057): dbind-WARNING **: 12:51:54.407: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files

System information

{
  "comment": "",
  "system": {
    "nvidia_driver": {
      "nvrm": {
        "vendor": "NVIDIA",
        "platform": "UNIX",
        "arch": "x86_64",
        "version": "340.107",
        "date": "Thu May 24 21:54:01 PDT 2018"
      }
    },
    "nvidia_gpus": [
      {
        "Model": "GeForce 320M",
        "IRQ": "25",
        "GPU UUID": "GPU-0973f4e8-76bd-e823-42b6-40e0f80c5b3b",
        "Video BIOS": "70.89.02.00.00",
        "Bus Type": "PCI",
        "DMA Size": "40 bits",
        "DMA Mask": "0xffffffffff",
        "Bus Location": "0000:02:00.0"
      }
    ],
    "gpus": [
      {
        "DRIVER": "nvidia",
        "PCI_ID": "10DE:08A0",
        "PCI_SUBSYS_ID": "106B:00CE",
        "PCI_CLASS": "30000",
        "PCI_SLOT_NAME": "0000:02:00.0",
        "MODALIAS": "pci:v000010DEd000008A0sv0000106Bsd000000CEbc03sc00i00"
      }
    ],
    "env": {
      "USER": "stoz",
      "LANGUAGE": "en_AU:en",
      "XDG_SEAT": "seat0",
      "XDG_SESSION_TYPE": "x11",
      "SSH_AGENT_PID": "770",
      "SHLVL": "0",
      "HOME": "/home/stoz",
      "DESKTOP_SESSION": "Lubuntu",
      "XDG_SEAT_PATH": "/org/freedesktop/DisplayManager/Seat0",
      "DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus",
      "LOGNAME": "stoz",
      "XDG_SESSION_ID": "c1",
      "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games",
      "GDM_LANG": "en_AU",
      "XDG_RUNTIME_DIR": "/run/user/1000",
      "XDG_SESSION_PATH": "/org/freedesktop/DisplayManager/Session0",
      "DISPLAY": ":0.0",
      "LANG": "en_AU.UTF-8",
      "XDG_SESSION_DESKTOP": "Lubuntu",
      "XAUTHORITY": "/home/stoz/.Xauthority",
      "XDG_GREETER_DATA_DIR": "/var/lib/lightdm-data/stoz",
      "SSH_AUTH_SOCK": "/tmp/ssh-wjoJiCoPKmYA/agent.694",
      "SHELL": "/bin/bash",
      "GDMSESSION": "Lubuntu",
      "GPG_AGENT_INFO": "/run/user/1000/gnupg/S.gpg-agent:0:1",
      "XDG_VTNR": "7",
      "PWD": "/home/stoz",
      "XDG_DATA_DIRS": "/etc/xdg/lubuntu:/usr/local/share:/usr/share:/usr/share/gdm:/var/lib/menu-xdg:/usr/share/Lubuntu:/usr/local/share/:/usr/share/",
      "XDG_CONFIG_DIRS": "/etc/xdg/lubuntu:/etc/xdg/xdg-Lubuntu:/etc/xdg",
      "XDG_CURRENT_DESKTOP": "LXDE",
      "_LXSESSION_PID": "694",
      "XDG_CONFIG_HOME": "/home/stoz/.config",
      "XDG_MENU_PREFIX": "lxde-",
      "GTK_OVERLAY_SCROLLING": "0",
      "QT_STYLE_OVERRIDE": "gtk",
      "QT_PLATFORM_PLUGIN": "lxqt",
      "QT_QPA_PLATFORMTHEME": "lxqt",
      "DESKTOP_STARTUP_ID": "lxpanel-800-macbook-lutris-0_TIME62016"
    },
    "missing_libs": {
      "OPENGL": [
        [],
        []
      ],
      "VULKAN": [
        [
          "libvulkan.so.1"
        ],
        []
      ],
      "WINE": [
        [],
        []
      ],
      "GAMEMODE": [
        [
          "libgamemodeauto.so"
        ],
        [
          "libgamemodeauto.so"
        ]
      ]
    },
    "cpus": [
      {
        "processor": "0",
        "vendor_id": "GenuineIntel",
        "cpu family": "6",
        "model": "23",
        "model name": "Intel(R) Core(TM)2 Duo CPU     P8600  @ 2.40GHz",
        "stepping": "10",
        "microcode": "0xa0b",
        "cpu MHz": "1160.559",
        "cache size": "3072 KB",
        "physical id": "0",
        "siblings": "2",
        "core id": "0",
        "cpu cores": "2",
        "apicid": "0",
        "initial apicid": "0",
        "fpu": "yes",
        "fpu_exception": "yes",
        "cpuid level": "13",
        "wp": "yes",
        "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm pti tpr_shadow vnmi flexpriority dtherm",
        "bugs": "cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds",
        "bogomips": "4778.25",
        "clflush size": "64",
        "cache_alignment": "64",
        "address sizes": "36 bits physical, 48 bits virtual",
        "power management": ""
      },
      {
        "processor": "1",
        "vendor_id": "GenuineIntel",
        "cpu family": "6",
        "model": "23",
        "model name": "Intel(R) Core(TM)2 Duo CPU     P8600  @ 2.40GHz",
        "stepping": "10",
        "microcode": "0xa0b",
        "cpu MHz": "1040.800",
        "cache size": "3072 KB",
        "physical id": "0",
        "siblings": "2",
        "core id": "1",
        "cpu cores": "2",
        "apicid": "1",
        "initial apicid": "1",
        "fpu": "yes",
        "fpu_exception": "yes",
        "cpuid level": "13",
        "wp": "yes",
        "flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm pti tpr_shadow vnmi flexpriority dtherm",
        "bugs": "cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds",
        "bogomips": "4778.25",
        "clflush size": "64",
        "cache_alignment": "64",
        "address sizes": "36 bits physical, 48 bits virtual",
        "power management": ""
      }
    ],
    "drives": [
      {
        "name": "sda",
        "fstype": null,
        "label": null,
        "uuid": null,
        "mountpoint": null,
        "children": [
          {
            "name": "sda1",
            "fstype": "vfat",
            "label": null,
            "uuid": "6159-9789",
            "mountpoint": "/boot/efi"
          },
          {
            "name": "sda2",
            "fstype": "ext4",
            "label": null,
            "uuid": "6f21e8f0-587e-4d46-944b-24d49e6218e7",
            "mountpoint": "/"
          }
        ]
      },
      {
        "name": "sr0",
        "fstype": null,
        "label": null,
        "uuid": null,
        "mountpoint": null
      }
    ],
    "ram": {
      "mem": {
        "total": "4810492",
        "used": "1259408",
        "free": "1020776",
        "shared": "132096",
        "buff/cache": "2530308",
        "available": "3125588"
      },
      "swap": {
        "total": "2097148",
        "used": "0",
        "free": "2097148"
      }
    },
    "dist": [
      "Ubuntu",
      "18.04",
      "bionic"
    ],
    "glxinfo": {
      "name_of_display": ":0.0",
      "opengl_es_profile_version": "OpenGL ES 2.0 NVIDIA 340.107 340.107",
      "opengl_es_profile_shading_language_version": "OpenGL ES GLSL ES 1.00",
      "direct_rendering": "Yes",
      "opengl_core_profile_profile_mask": "core profile",
      "display": ":0",
      "opengl_renderer": "GeForce 320M/integrated/SSE2",
      "screen": "0",
      "opengl_shading_language_version": "3.30 NVIDIA via Cg compiler",
      "opengl_core_profile_shading_language_version": "3.30 NVIDIA via Cg compiler",
      "opengl_vendor": "NVIDIA Corporation",
      "opengl_core_profile_context_flags": "(none)",
      "opengl_profile_mask": "(none)",
      "opengl_context_flags": "(none)",
      "opengl_version": "3.3.0 NVIDIA 340.107",
      "opengl_core_profile_version": "3.3.0 NVIDIA 340.107"
    }
  }
}

Other

I manually downloaded the Innoextract dev version from here:

https://lutris.nyc3.digitaloceanspaces.com/tools/innoextract/innoextract-1.8-dev-2019-01-13-linux.tar.xz

Then I manually downloaded the GOG installer setup_heroes_of_might_and_magic1.2(28044).exe

I then manually ran innoextract on the installer. This extracts the files but seems to mash them all together in a way I wasn't expecting. This is the ls -1a output for the folder it extracted into.

app
commonappdata
CONNECT.BAT
DATA
DOSBOX
editor.cmd
EDITOR.EXE
GAMES
goggame-1207658748.hashdb
goggame-1207658748.ico
goggame-1207658748.info
goggame-1207658748.script
HELP
HEROES.CFG
HEROES.EXE
homm1.gog
INSTALL.EXE
manual.pdf
MAPS
netbios.exe
README.TXT
__redist
reference_card.pdf
SETUP.EXE
__support
tmp
WAIL32.DLL
wing.32

The lutris installer is only merging in the contents of the app folder, but it only contains 2 files (the ico and zip mentioned earlier), so it seems the installer was expecting a lot more data in the app folder.

My question is, is this due to GOG changing the structure of the installer, or is it an issue with the Innoextract dev version, or do I just need to edit the Lutris Installer to merge in a whole bunch more of the files and folders?

stoz commented 5 years ago

I've made an install script that works, but I think it's not ideal because there seem to be a whole lot of unnecessary files left over, such as the windows versions of dosbox (although perhaps that is the norm for Lutris GOG dosbox installs).

For some reason though the game is in German! Not sure why it is, or how I can change it to English.

files:
- file1: N/A:Please select the GOG installer
- file2: https://lutris.nyc3.digitaloceanspaces.com/tools/innoextract/innoextract-1.8-dev-2019-01-13-linux.tar.xz
game:
  config_file: $GAMEDIR/dosboxhomm.conf
installer:
- extract:
    dst: $CACHE
    file: $file2
- execute:
    args: -d "$CACHE" "$file1"
    file: $CACHE/innoextract
- merge:
    dst: $GAMEDIR
    src: $CACHE
- merge:
    dst: $GAMEDIR/DOSBOX
    src: $CACHE/__support/app
main_file: DOSBOX/dosboxHOMM1_single.conf