Community Packages

Please read this before reporting a bug:

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!

FS#75157 - [steam] Consider adding lib32-nm and lib32-libva as optdepends

Attached to Project: Community Packages
Opened by Emil (xexaxo) - Friday, 24 June 2022, 17:29 GMT
Last edited by Toolybird (Toolybird) - Wednesday, 20 July 2022, 02:15 GMT
Task Type Bug Report
Category Packages: Multilib
Status Assigned
Assigned To Levente Polyak (anthraxx)
Giancarlo Razzolini (grazzolini)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No



Similar to [1], which covers fairly critical components, here we look at lib32-nm and lib32-libva.
As seen in [2] the bundled libraries are old and buggy.

Ideally lib32-libva will be a depends, to avoid high CPU usage during video playback.
Keeping lib32-nm as optdepends is reasonable, since Steam can workout NM - and many people do not install it.

What do you think? Should I send over some patches?

Additional info:
* package version(s)

* config and/or log files etc.
* link to upstream bug report, if any
This task depends upon

Comment by Mark Wagie (yochananmarqos) - Thursday, 28 July 2022, 16:21 GMT
lib32-libnm and lib32-libva are already dependencies of steam-native-runtime.
Comment by Emil (xexaxo) - Thursday, 28 July 2022, 17:35 GMT
This bug is against the steam package, not the steam-native-runtime.

Even though I agree with the goals behind steam-native-runtime, it produces another set of issues (unfortunately). So one cannot realistically argue that steam package will be "fixed" by installing the steam-native-runtime.
Comment by Giancarlo Razzolini (grazzolini) - Thursday, 28 July 2022, 17:57 GMT
That's a hard no on having lib32-nm, even as an optional dep. Arch doesn't force onto anyone the usage of any particular network manager. lib32-libva is also hardware dependent, it isn't all hardware that can benefit from using it, and there are two hardware accelerated video libraries, not just one. The steam-native-runtime has these dependencies covered already.
Comment by Emil (xexaxo) - Thursday, 04 August 2022, 12:27 GMT
The wiki describes `optdepends` as `An array of packages that are not needed for the software to function, but provide additional features`. Which is exactly what I'm proposing here.

Yes, Arch does not enforce any specific network manager - hence it being optional. Consider the following scenario: one is using network-manager (libnm), they are also using steam. They have not installed lib32-libnm, since the optdepends is MIA, so they get a subpar experience with steam's network handling.

The libva frontend is required, a backend driver is not mandated. In a similar way to how ffmpeg requires libva, but the driver is optional. Aside: technically we should have a virtual libva-driver, similar to opengl-driver - but that's for another day.

Not sure I see the steam-native-runtime point you're trying to make. It pulls 100+ extra packages, well over 150 MiB on my system, where the proposal pull approximately 2MiB on my machine - difference of 75x. The steam-native-runtime a separate package, while the 2 extra deps relate directly to steam.

In addition, the steam-native-runtime approach of explicitly disabling the SRT is not encouraged nor supported by Valve. From my personal experience has steam-native-runtime has more compatibility issues than using steam directly.
Comment by Giancarlo Razzolini (grazzolini) - Thursday, 04 August 2022, 14:35 GMT
My point is, steam will use their own runtime libraries. That's the point in them having a runtime. If their runtime has outdated libraries, that's a different story and you should take that up with valve directly. Also, it's not all video drivers that support VAAPI. Given that there are a lot of nvidia users out there, should we also bring in lib32-nvidia-utils as dependency? What about AMD? See where I'm going with this? Also, regarding your personal experience with steam-native-runtime, I would expect bug reports. Because I have been using steam (beta channel) with steam native runtime for years now without issues.
Comment by Emil (xexaxo) - Thursday, 04 August 2022, 17:48 GMT
For a few years now, the steam startup script has been promoting host libraries and using them instead of the bundled SRT ones. Over time that list grew - libnm and libva being the latest additions. Who knows - one day we steam and steam-native-runtime may become the same. Currently we're not there yet.

The developer who did the change in the steam script literally recommended that distributions would (ideally) be shipping newer versions of lib32-libnm, lib32-libva etc. I believe the steam package in Debian was reflected to cover that - not sure about other distributions.

As I said before - the libva _frontend_ is required, the backend is _optional_. For people that have hardware with decent libva backend - great. Sadly nvidia users do not, so they can live with the 300K lib32-libva.