Back to the main site

Removing an installer (and UI constructive criticism)


#1

Hi there.

I just installed Lutris (for some reason I had never heard of it until this week!) and used the “Battlefield 4 - Origin” installer.

It worked flawlessly, so I decided to try the same thing with “Crysis 3” (which is the other only Origin game I have in my library) for which there was no installer available.

There doesn’t seem to be documentation on how to properly do this (ie. “create a new installer”).

This is the story of how I struggled and ended up achieving nothing :slight_smile:
(I post this in case someone finds it useful in order to improve the “experience” for future users (and also to make a “delete installer” request, at the very end of this post).

  1. First I tried the “FAQ” section of the web, but there was no “How do I create a new installer?” question. I found, however, a reference to a “wiki”, so I clicked on that.
  2. This “wiki” has a “How to write install scripts” (great!) but it basically says I have to either “edit” or “fork” an already existing one.
  3. There is also another link to more details, which explains how to use YAML directives to create an installer from scratch and execute it locally.

Hmm… so Crysis is also an Origin game and released about the same time as Battlefield 4, so I try the “fork” button, change a few things (name, etc…) and click on “Save Draft” (as, obviously, I haven’t yet tested and I don’t want this to appear on the lutris website to avoid misguiding others)… however, for some reason, after clicking on “Save Draft” the following message (or something similar appears): “Thanks! Your installer has been committed for review”.

What !?! Noooo!!! I haven’t tested it yet!

There doesn’t seem to be a way to cancel this “review process” or even delete the whole script… and one day after (ie. “today”) the untested “Crysis 3” installer appears listed on the Lutris website.

Even worse, I could finally test it today and, unfortunately, it doesn’t work: there is an error of an undefined call to an “rpcrt4.dll”… but in any case, the thing is that I still have to investigate how to make it work and in the mean time there is a broken installer in “lutris.net” that I cannot delete.

Then I think… “ok… maybe I should have gone the other way, by creating a local installer”. So I try to follow this path (for future contributions):

  1. I go to the Battlefield 4 - Origin installer and click on “Download installer”… but, what is this? This is not the YAML file format explained in the “wiki”, but a JSON field that seems to contain more information (ugh?).
  2. So, instead, I click on the “Edit” button and copy the YAML file available there… but then again, when I try to run it, lutris complains about missing fields (ex: “runner”). This is because the EDIT UI seems to include a partial YAML file, with missing fields that are listed “outside” the YAML box.

Anyway… I kind of have figured out how things work now, but I must say that everything was very confusing.

Maybe the “wiki” should be restructured in a different way? Or maybe the “Edit script” UI should just include two tabs (one that shows fields such as “runner”, “description”, etc… and another one with the “whole” YAML file)? I don’t know…

In addition, when I go to ~/.config/lutris/games I see other YAML files that are much shorter than the ones used as installers. They seem to contain “runtime” configuration (all the options in the Lutris app UI), but some of them don’t seem to do anything or work in surprising ways (for example, once a game has been installed, changing the wine prefix from 64 to 32 seems to do nothing… and it looks like a DXVK version that does not appear listed in the popup menu can be selected… and things like this…).

None of this is explained in the wiki either.

ANYWAY… enough with my rant :slight_smile: This post is mainly to ask the lutris.net maintainers to delete my “Crysis 3 - Origin” installer, as it currently does not work at all.

In the future (once I figure out how all of this works) I promise I’ll try again with a working version (as I know there are people out there that have achieved to run “Crysis 3” on wine).

Thanks!


#2

Good points, I always noticed most install scripts don’t follow sets of guidelines. Either having a template or having an automated tool (html/python/lutris itself) would help make things more standardized and even mass-update old scripts to fix some common bugs (maybe all scripts from 2 days ago can benefit from the newest DXVK or wine-staging, maybe “prefix” is now called “prefix32”).

And please, moderators, delete this person’s Crysis 3 installer ^-^ haha


#3

Unpublished installer.


#4

Did you ever get this working?


#5

Kind of.

The current version of the installer I have created lets you install and run the game without problems except for one thing: in-game mouse movement is limited to inside an “invisible box”.

This can be easily like this: Right click on game --> Configure --> Runner options --> Mouse Warp Override = Force.
With this “fix” the in-game mouse works perfectly but then the mouse in the menus doesn’t.

What I do is:

  1. Run with the default configuration from the installer to “tune up” things in the menu system.
  2. Exit the game and change the “Mouse Warp Override” thing.
  3. Play the game and never change the configuration (unless I need to do something with the menus).

I haven’t published the installer on Lutris because it might cause fustration unless whoever is using it knows about this.

I’m also investigating why this happens (see this ticket I replied to the other day explaining what I found and what part of the source code is causing the issue: https://bugs.winehq.org/show_bug.cgi?id=43918 )

In any case, I’m going to update the (unpublished) installer for others to try it.

UPDATE: Done, the new installer (with an explanation of its limitations) has been submitted for approval.


#6

Could you try with wine version esync-ffxiv-3.15? It has some mouse fixes for FFXIV that help some other games like Battlefield 1.


#7

I just did.

Unfortunately it doesn’t seem to fix the issue for Crysis 3. The behavior is the same as with “regular” “esync-3.15” (ie. the mouse works either in-game or in the menus depending on the value of “Mouse Warp Override”, but not in both places at the same time).


#8

i am on linux mint with gtx 850m and lutris, crysis 3 doesnt runs at all, tried almost anything, on windows works fine, using lutris nope.

GTAV, overwatch and league of legends works fine on lutris…will try more games later…maybe BF4!

Would love to see an script that really works with crysis 3, when i install it and click on it to open it doesnt runs and when it does it asks for directx dll…


#9

While I was trying to make the installer run 2 months ago, I found that same issue that you are describing now.

The problem typically was fixed by removing all DirectX “*.cab” files (as described here: https://github.com/lutris/lutris/wiki/Game:-Origin) and then trying to run the game again.

But this workaround not always worked: sometimes I had to remove the “*.cab” files a second time (or even a third time!) and try again. Others I had to right click on the game icon (inside Origin) and select “Repair”. If I recall correctly, I even had to delete the whole DirectX folder once (ie. not just the “*.cab” files) and then try the “Repair” thing.

All in all, I was not able to come up with a system that worked 100% of the times but at the end, by trying several times, I could always make the game run.

By the way, I just now tried to run the game (not “install” it), and it still plays fine (I tried with both the wine version on the current Lutris install script, “esync-staging-pba-3.18-x86_64”, as well as with the latest wine version, “3.20”) except for the “mouse” issue described here: https://lutris.net/games/crysis-3/.

What I mean is that your problem seems to be “just” an “install” issue, thus once you find a way over it you will most certainly be able to play the game.

PS: Once you make it run, please share your procedure here… the more information we have on how to fix this issue, the better.