lutris icon indicating copy to clipboard operation
lutris copied to clipboard

Consider move to libadwaita

Open mossymossmoss opened this issue 3 years ago • 85 comments

With all core GNOME apps, and many other GTK apps moving to libadwaita ahead of the release of GNOME 42, the lutris client should consider moving to it as well. It will ensure the app does not look out of place with the rest of a user's system and provides many additional features.

mossymossmoss avatar Dec 05 '21 13:12 mossymossmoss

This is definitely a good idea but I don't think Lutris will be able to switch for a while due to needing to support LTS distributions. AFAIK the latest LTS Ubuntu version doesn't have support for libadwaits/gtk4.

tannisroot avatar Dec 05 '21 16:12 tannisroot

Note that libadwaita has not even released yet.

A6GibKm avatar Dec 05 '21 18:12 A6GibKm

libadwaita separates Gnome from GTK and right now it looks absolutely awful on KDE and other Qt based distros. Any project considering to switch from GTK3 to the libadwaita basically should decide whether it's GTK based project for all Linux users or Gnome-based project for Gnome users only.

mkpaz avatar Jan 20 '22 08:01 mkpaz

and right now it looks absolutely awful on KDE and other Qt based distros

Oh no! Libadwaita apps can no longer get awful CSS patches that break the app, what a travesty!

Either way - it's definitely a question of scope though - Lutris could be more or less platform-neutral, or explicitly target GNOME, follow its HIG and use its platform libraries.

jannuary avatar Jan 20 '22 10:01 jannuary

I believe that porting to GTK 4 and libadwaita would help Lutris a lot. GTK 4 will bring improvements to application rendering performance and has extra widgets. libadwaita also provides ways of creating common elements without reinventing the wheel. Lutris has a strangely unique runner list window. libadwaita should reduce the work to add to the UI as well

mossymossmoss avatar Jan 20 '22 10:01 mossymossmoss

I do believe that @BrainBlasted mentioned on discord that they were thinking about the port, but it was a while ago and I don't know if they are still interested

mossymossmoss avatar Jan 25 '22 14:01 mossymossmoss

The resolution of that conversation was that Lutris supports distributions with slower cadence, meaning that it is not possible to port to libadwaita, since that would require porting to GTK 4 and not all distributions had it in their repositories at the time (It wasn't in Debian Sid's at the time).

It looks like GTK 4.4 is part of Debian 12 now though and this could be revisited once libadwaita hits its repository.

Edit: libadwaita requires gtk 4.6, it might take a bit longer.

A6GibKm avatar Jan 25 '22 14:01 A6GibKm

I'm definitely still interested in working on this, though my impression was indeed that it should probably wait until libadwaita was shipped on more distros.

BrainBlasted avatar Jan 25 '22 18:01 BrainBlasted

Great! It will be good to return to this issue once that is the case

mossymossmoss avatar Jan 25 '22 18:01 mossymossmoss

This could possibly be split into two separate issues. One for a port to GTK4 which probably require a significant amount of work and the other for the adoption of libadwaita. The adoption of libadwaita will require GTK4 nonetheless and "pure" GTK4 has a lower entry barrier for distributions.

martymichal avatar Jan 27 '22 16:01 martymichal

Porting to GTK4 might be a necessity at some point. GTK 3 has a few major technical drawbacks that will put Lutris at a disadvantage.

Libadwaita I'm personally firmly in the camp of not adopting. I'm using Lutris on KDE. It looks badly out of place, but at the very least it respects the system colour palette. If lutris decides to move to Libadwaita, I will personally fork it to Kirigami.

appetrosyan avatar Jan 27 '22 17:01 appetrosyan

Oh no! Libadwaita apps can no longer get awful CSS patches that break the app, what a travesty!

I think what you meant to say, was

Oh no, the … in charge of Gnome can't enforce their subjective (and most often wrong) opinions on the software community at large, further locking down the GTK ecosystem and pushing people towards Qt as the only sane toolkit.

What a travesty indeed.

appetrosyan avatar Jan 27 '22 17:01 appetrosyan

for the love of god if this happens please make a QT port so at least it looks right in every other DE. not everyone uses GNOME (Apple of Linux) and chooses not to have their opinion shoved down our throats forcing their way onto us. Linux is about freedom and starting to think GNOME is the fascists of the Linux community

tohurtv avatar Jan 27 '22 18:01 tohurtv

Oh no, the … in charge of Gnome can't enforce their subjective (and most often wrong) opinions on the software community at large, further locking down the GTK ecosystem and pushing people towards Qt as the only sane toolkit.

What a travesty indeed.

You're free not to use it. Either way, this is really not a place for arguing about how GNOME is evil or whatever.

jannuary avatar Jan 28 '22 03:01 jannuary

You're free not to use it.

Or to fork it.

Either way, this is really not a place for arguing about how GNOME is evil or whatever.

Thankfully, this is exactly not what we're doing. We're discussing the technical drawbacks of adopting libadwaita. Its technical drawbacks have a non-zero overlap with Gnome criticism, namely a one-size-fits-all approach.

appetrosyan avatar Jan 28 '22 10:01 appetrosyan

Please let us keep the discussion factual. I would like to take this opportunity to mention that libadwaita can be themed without any inconvenience by setting GTK_THEME or using gtk.css.

If a libadwaita app looks out of place in a certain theme or environment, the are two possibilities: The theme has to be updated to support libadwaita and/or GTK 4, or the enviroment needs to set GTK_THEME.

EDIT: Having said that, libadwaita is inteded for apps targeting the GNOME HIG, if Lutris does not want to follow it, they are free to do so. In the same direction, loading adwaita stylesheet can be done in a single line of code which can be wrapped in a if use_libadwaita check.

A6GibKm avatar Jan 28 '22 14:01 A6GibKm

Anyone who starts a Gnome shit fight afterwards is going to be permanently banned from participating in the repository.

tannisroot avatar Jan 28 '22 18:01 tannisroot

Another option instead of waiting for distros would be making flatpak the first-class distribution method, but that would require getting all runners working in flatpak. Would that be something the Lutris team is interested in?

BrainBlasted avatar Jan 28 '22 21:01 BrainBlasted

Just boosting the issue because @BrainBlasted's point is very much valid and by adopting flatpak, it would make Lutris easier to install on the steam deck

mossymossmoss avatar Jul 27 '22 09:07 mossymossmoss

+, Lutris looks ugly compared to other GNOME 42 apps.

ghost avatar Sep 07 '22 12:09 ghost

Lutris now has a release on flathub proper - are all the runners in working order now?

BrainBlasted avatar Sep 18 '22 18:09 BrainBlasted

I believe this kind of apps should remain neutral, like libreoffice or inkscape do. Using libadwaita is indeed embracing the GNOME HIG. If a gtk3/4 app looks out of place in GNOME just use the adw-gtk3 theme.

axel358 avatar Sep 23 '22 23:09 axel358

It makes sense for Libreoffice and Inkscape to stick with GTK alone, as they are both have fairly complicated GUI and must support Windows, MacOS and Linux. Lutris has very similar UI to most GNOME apps, and is Linux-exclusive, meaning that unlike the aforementioned programs, the switch should be fairly straightforward. Using adw-gtk3 instead, however, will mean that Lutris misses out on all the new features and widgets that Libadwaita offers

mossymossmoss avatar Sep 26 '22 06:09 mossymossmoss

Linux is not GNOME alone, is not even GNOME and KDE, a fact that those using the above like to ignore. But i guess is alright, if that's what the devs want is a decision I have to respect, just wanted to share my thoughts on the subject

axel358 avatar Sep 26 '22 08:09 axel358

I use Lutris occasionally, and even as somebody who prefers KDE Plasma as their primary DE, I think Lutris should move to Libadwaita so that they can take advantage of all of the benefits of it. And to of course not look outdated imo so that more users can enjoy Lutris (that's one of the reasons but not the only reason I mostly moved to Bottles for certain applications).

TL;DR, I would love to see a libadwaita version so that more users use Lutris and don't see it as outdated.

cameronbosch avatar Apr 25 '23 21:04 cameronbosch

Debian 12 is shipping in less than a week and we now have support for Flatpak runners.

We can think about migrating to Gtk 4 pretty soon.

As for Libadwaita, are the "it looks out of place" comments worth taking in consideration? In an age where you have tons of Electron apps each with their own style? Lutris is meant to be desktop agnostic. It should also look nice on the Steam Deck which uses Plasma.

I think that as long as Lutris ships by default with the Adwaita dark theme, I don't see an issue with it. Oh, and of course, I should be able to figure out how to use libadwaita from Python code. If there's no documentation and no other Python project using Libadwaita, I'm less likely to put myself in a torturous situation.

strycore avatar Jun 05 '23 04:06 strycore

I'd ask if libawaita is really less theme-able than GTK4. It's not something Lutris absolutely needs, but it's clearly desirable.

If GTK4 has the edge here, then I'm not sure what libadwaita has to offer that we'd want to switch to it.

danieljohnson2 avatar Jun 05 '23 08:06 danieljohnson2

Any Updates On This ??, Lutris Codebase is ancient , the devs should take steps to upgrade lutris to gtk4 if not libadwaita.

ghost avatar Jun 13 '23 06:06 ghost

Debian 12 got released last week, geez...

We're releasing 0.5.14 using Gtk 3. I don't think there will be a 0.5.15. 0.6.0 will be Gtk 4 based.

strycore avatar Jun 14 '23 02:06 strycore

Debian 12 got released last week, geez...

We're releasing 0.5.14 using Gtk 3. I don't think there will be a 0.5.15. 0.6.0 will be Gtk 4 based.

Thats a very good update, waiting for lutris 0.6 🎉

ghost avatar Jun 14 '23 03:06 ghost