Heroic-Games-Launcher / HeroicGamesLauncher

A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS.
https://heroicgameslauncher.com
GNU General Public License v3.0
7.94k stars 421 forks source link

[macOS] Allow running winetricks without needing Zenity #2440

Closed Gcenx closed 8 months ago

Gcenx commented 1 year ago

Problem description

While having a menu for winetricks is nice it pulls in a lot of dependencies

Heres what brew wants to install.

brew install zenity
==> Fetching dependencies for zenity: pcre2, gettext, glib, atk, jpeg-turbo, libpng, lz4, xz, zstd, libtiff, gdk-pixbuf, gsettings-desktop-schemas, hicolor-icon-theme, libepoxy, freetype, fontconfig, xorgproto, libxau, libxdmcp, libxcb, libx11, libxext, libxrender, lzo, pixman, cairo, fribidi, graphite2, icu4c, harfbuzz, pango and gtk+3


Macports would pull in even more packages.....

Feature description

First query for zenity and if not found provide a textbox to enter verbs the user would like to run that get ran when clicking a button that says "run"

Alternatives

An alternative is to avoid zenity entirely.

list-all              list all categories and their verbs

Run winetricks list-all, phrase this into another usable file format and generate a menu from this.

Additional information

No response

Nocccer commented 1 year ago

This is only a mac problem i would say. Maybe there is a alternative winetricks for mac which uses the mac gui sdk?

flavioislima commented 1 year ago

We thought about creating a screen with the list of verbs and a button to run the command as well. But not sure when we will develop that. Winetricks although useful for some things, it is not critical to make games run so it is not on our top list for now.

Also because we are developing a feature where we will install game dependencies automatically, so winetricks might not be necessary OR we might use it internally to install those.

Gcenx commented 1 year ago

This is only a mac problem i would say.

As Zenity isn’t something you’d expect to have installed on a Mac you could say it’s a Mac problem.

Maybe there is a alternative winetricks for mac which uses the mac gui sdk?

There’s no standalone app that’s I’m aware of, mostly the menu generation is builtin (Wineskin, PortingKit & PlayOnMac)



We thought about creating a screen with the list of verbs and a button to run the command as well. But not sure when we will develop that.

That would be more ideal, even just a simple textbox with a run button would be enough for the time being.

Winetricks although useful for some things, it is not critical to make games run so it is not on our top list for now.

For some games winetricks is critical to make them run, especially on Apple Silicon due to restricted resolutions/bitdepths.

Try to run “Total Annihilation” on an Apple Silicon Mac you’ll find it quickly dies, this title requires cnc_ddraw to run.

Also because we are developing a feature where we will install game dependencies automatically, so winetricks might not be necessary OR we might use it internally to install those.

For this I’d recommend using winetricks internally it saves a lot of maintenance overhead. Anything that’s not a verb could be handled internally that’s how PortingKit handles things.

flavioislima commented 1 year ago

Yeah, thanks for the tips @Gcenx. This is new for macOS, all these new Heroic features, so they will improve over time. On Linux most of this stuff we do not need to deal with, especially when using Proton since it has several of those things already. But mac is years behind on this matter. But improvements will come for sure.

Gcenx commented 1 year ago

No problem I know most devs who mainly use Linux have different expectations compared to macOS.

The other more annoying factor is Proton vs upstream wine.

For upstream wine Linux vs macOS is somewhat closer.

One annoyance I’ve had is how to cleanly (and legally) package up gstreamer for i386 & x86_64 for now I’d dropped shipping it entirely for all any macOS packages I provide.


As this was more a feature request I understand if considered may take sometime, in the meantime if https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/issues/2439 is resolved it would get zenity functional once installed by homebrew/macports.

arielj commented 10 months ago

this should be possible now with the new winetricks widget built in in heroic, it doesn't have all the options of winetricks (only dlls and fonts), but since it doesn't open the winetricks UI it can be enough?

arielj commented 8 months ago

Closing this since there's no comment after mine since november

We can reopen if the current feature is not enough

ncruces commented 7 months ago

I'm not sure what features of zenity you require, but I created a partial port of zenity that works on macOS and Windows.

You can try it out with brew:

brew install ncruces/tap/zenity