Commit graph

59 commits

Author SHA1 Message Date
John Kehayias
1591c3d1d1
nongnu: Rename (nongnu packages steam-client) module.
* nongnu/packages/steam-client.scm: Rename to ...
* nongnu/packages/game-client.scm: ... this.
2024-01-03 20:10:35 -05:00
Timo Wilken
07b884a7b1
nongnu: steam-nvidia: Fix launching .desktop files.
Steam installs .desktop files that refer to an executable called `steam'.
Installing steam-nvidia as the `steam-nvidia' executable breaks this, which
means Steam cannot be launched from its desktop icon.  This also applies to
.desktop files for individual games generated by Steam, when they are copied
from `<ngc-sandbox-home>/.local/share/applications/'.

Fix this by always installing Steam's wrapper executable as `steam'.  We add a
new field using "binary" to keep things shorter.

This has the downside that the `steam' and `steam-nvidia' packages cannot be
installed in the same profile, but likely people wouldn't want to do this
anyway.

Fixes #294.

* nongnu/packages/steam-client.scm (steam-nvidia-container)[binary-name]:
Specify for compatibility with .desktop files.
* nonguix/multiarch-container.scm (<nonguix-container>)[binary-name,
ngc-binary-name]: New field and accessor.
(nonguix-container->package): Use it to set correct executable name.
(make-internal-script): Use it in message.

Co-authored-by: John Kehayias <john.kehayias@protonmail.com>
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-01-03 17:24:44 -05:00
John Kehayias
0f7c8e3e2b
nongnu: steam: Fix SteamVR dashboard.
The SteamVR dashboard can be a bit flaky in appearing or not.  While it
doesn't seem to always require at-spi2-core, that does seem to help at other
times.

* nongnu/packages/steam-client.scm (steam-client-libs): Add at-spi2-core.
2023-12-06 00:10:19 -05:00
John Kehayias
efbe707f8e
nongnu: steam: Return to using mesa.
With libx11 ungrafted upstream in 5dcbd9accfcf0e97579604f57681c0565ae07ec2 we
no longer need our workaround for mesa.  The upstream bug with grafts is not
fixed, however.

* nongnu/packages/steam-client.scm (steam-client-libs): Rename mesa-fixed to
mesa.
(libxdamage-fixed, mesa-fixed): Remove variables.
2023-11-28 00:55:56 -05:00
John Kehayias
e2aa9e56d4
nongnu: steam: Fix missing tray icon.
Finally, it's back!  Using something like snixembed worked around this before
by using a different tray icon format.

* nongnu/packages/steam-client.scm (steam-client-libs): Add gdk-pixbuf.
* nonguix/multiarch-container.scm (make-internal-script): Add symlink to
/usr/share/mime.
2023-09-03 22:40:05 -04:00
John Kehayias
6c51f01ad8
nongnu: steam: Work around propagated libx11 profile collision.
Fixes #281.

Use the same fix as when this happened before with expat and fontconfig, as in
commit 3df99d7769.

* nongnu/packages/steam-client.scm (libxdamage-fixed, mesa-fixed): New
variables.
(steam-client-libs): Replace mesa with mesa-fixed.
2023-09-03 22:34:47 -04:00
John Kehayias
c6928d6c37
nongnu: steam-client-libs: Add xdg-user-dirs.
There is a warning spammed about missing 'xdg-user-dir' which doesn't seem to
cause any problems but let's add the missing input just in case.

* nongnu/packages/steam-client.scm (steam-client-libs): Add xdg-user-dirs.
2023-06-29 14:24:47 -04:00
John Kehayias
eae13bef4e
nongnu: steam-client-libs: Add lsof.
Some friend's list options, like inviting to a game, are not available without
lsof.

* nongnu/packages/steam-client.scm (steam-client-libs): Add lsof.
2023-06-29 14:20:10 -04:00
John Kehayias
bbbaeb2b82
nongnu: steam-client-libs: Change llvm-11 to llvm-for-mesa.
* nongnu/packages/steam-client.scm (steam-client-libs): Change llvm-11 to
llvm-for-mesa to match what mesa is built with.
2023-06-29 14:05:22 -04:00
Elijah Malaby
c323f4c866
nongnu: Export steam containers and minor refactor.
nonguix: Make container actually respect the ngc-shared and ngc-exposed fields.

* nongnu/packages/steam-client.scm (steam-container): New variable.  This is to
export the container definition from steam.
(steam-nvidia-container): New variable.  This is the container for steam-nvidia
and now inherits from steam-container.
(steam, steam-nvidia): Container definitions moved to steam-container and
steam-nvidia-container.
* nonguix/multiarch-container.scm (make-container-wrapper): Add ngc-exposed and
ngc-shared to expose and share lists.

Signed-off-by: ison <ison@airmail.cc>
2023-05-29 22:39:12 -06:00
Giacomo Leidi
713f233be7
nongnu: Use new multiarch-container module for steam.
* nongnu/packages/steam-client.scm: (<nonguix-container>): Remove record-type.
Use equivalent from multiarch-container module instead with additional fields
ld.so.conf and ld.so.cache.
(glibc-for-fhs, fhs-min-libs, fhs-union, ld.so.conf->ld.so.cache,
 package->ld.so.conf, nonguix-container->package, make-container-wrapper,
 make-container-manifest, make-container-internal, make-container-script):
Remove. Use equivalents from multiarch-container module instead.

Signed-off-by: ison <ison@airmail.cc>
2023-05-15 04:55:54 -06:00
John Kehayias
c6b747700f
nongnu: steam-client-libs: Rename fontconfig-fixed to fontconfig.
* nongnu/packages/steam-client.scm (steam-client-libs): Rename
fontconfig-fixed to fontconfig.  The upstream bug has not been fixed but expat
has been ungrafted in core-updates so we no longer need to rewrite fontconfig.
Remove fontconfig-fixed as expat/fixed no longer exists in core-updates.
2023-04-25 11:23:14 -04:00
John Kehayias
18678da1d7
nongnu: steam: Fix URL handling.
This replaces 'xdg-utils' with 'flatpak-xdg-utils' so that the steam container
will call out to the host to open URLs and properly handle steam:// URLs as
well.  This requires portals on the host, e.g. xdg-desktop-portal-gtk.

* nongnu/packages/steam-client.scm (steam-client-libs): Replace 'xdg-utils'
with 'flatpak-xdg-utils'.
2023-01-03 14:33:50 -05:00
John Kehayias
89dd9ecb32
nongnu: steam: Fix UI scaling.
Closes #226.

* nongnu/package/steam-client.scm (make-container-wrapper): Preserve GDK_SCALE.
2022-12-27 16:38:30 -05:00
Jonathan Brielmaier
62a5df4222
*.scm: Use SPDX license identifiers.
Fixes https://gitlab.com/nonguix/nonguix/-/issues/224

* *.scm: Use SPDX license identifier and remove obsolete license
statement.
2022-12-19 17:17:39 +01:00
John Kehayias
e49878a502
nongnu: steam: Add support for streaming with hardware support.
* nongnu/packages/steam-client.scm (steam-client-libs): Add libva, libvdpau,
and libvdpau-va-gl.
(make-container-wrapper): Preserve and set VDPAU_DRIVER_PATH so VDPAU drivers
can be found by Steam.
2022-09-23 16:03:08 -04:00
John Kehayias
415aeda016
nongnu: steam: Include more power monitoring support.
* nongnu/packages/steam-client.scm (make-container-wrapper): Expose
/sys/class/power_supply for power monitoring, needed for MangoHud.
2022-09-16 11:12:20 -04:00
John Kehayias
9563de3037
nongnu: steam-client: Update to 1.0.0.75.
* nongnu/packages/steam-client.scm (steam-client): Update to 1.0.0.75.
2022-09-01 14:55:57 -04:00
John Kehayias
5e49059231
nongnu: Add protonup-ng.
* nongnu/packages/steam-client.scm (protonup-ng): New variable.
2022-08-12 15:01:50 -04:00
John Kehayias
028885d352
nongnu: steam: Fix Steam Input (controller) support.
* nongnu/packages/steam-client.scm (make-container-wrapper): Expose
/dev/uinput to support hardware like the Steam Controller and Steam Input more
generally.
2022-08-12 14:42:37 -04:00
Attila Lendvai
353a2e0756
nongnu: steam: Cleanup make-internal-script to avoid import warnings.
* nongnu/packages/steam-client.scm (make-internal-script): Don't import Guile
standard modules in with-imported-modules.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2022-06-30 21:38:54 +02:00
John Kehayias
81a651d3aa
nongnu: steam: Add mangohud support.
* nongnu/packages/steam-client.scm (steam-gameruntime-libs): Add mangohud and
needed dependencies (imgui and spdlog).
(make-container-wrapper): Expose /sys/class/drm, /sys/class/hwmon, and
/sys/class/powercap (if it exists) for hardware monitoring.
Add /usr/share/vulkan/implicit_layer.d, and link MangoHud.json files here,
renaming the 32bit version to avoid a collision.
Follow links in /share/vulkan/icd.d.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2022-03-13 22:36:55 +01:00
John Kehayias
3ae6f63be1
nongnu: steam: Provide timezone info to Steam container.
* nongnu/packages/steam-client.scm (make-container-wrapper): Expose /etc/localtime

Signed-off-by: ison <ison@airmail.cc>
2022-02-23 17:23:36 -07:00
John Kehayias
3df99d7769
nongnu: steam: Work around expat profile collision.
* nongnu/packages/steam-client.scm: Update copyright.
(fontconfig-fixed): New variable.
(steam-client-libs): Replace fontconfig with fontconfig-fixed.

Signed-off-by: ison <ison@airmail.cc>
2022-01-31 09:47:41 -07:00
John Kehayias
c80b1b3f1f
nongnu: steam: Fix proton, fix browser, and switch to using ld.so.cache.
* nongnu/packages/steam-client.scm: Update copyright.
(glibc-for-fhs, steam-ld.so.conf, steam-ld.so.cache): New variables.
(ld.so.conf->ld.so.cache, package->ld.so.conf): New functions.
(steam-client): Update to version 1.0.0.74.
Remove configure phase and add patch-makefile phase.
Remove use of LD_LIBRARY_PATH in wrap-program.
(fhs-min-libs, steam-client-libs): Update inputs for glibc-for-fhs and proton.
(make-container-wrapper): Add preserved vars for pressure vessel and debugging.
Expose paths to container for controller input and Valve Index.
(make-internal-script):
New container symlinks for ld.so.cache, ld.so.conf, and /etc/fonts.
(steam, steam-nvidia): Update run field.

Signed-off-by: ison <ison@airmail.cc>
2021-12-20 01:26:50 -07:00
Kozo
42346a1033
nongnu: steam: Update copyright.
* nongnu/packages/steam-client.scm: Add copyright for Kozo.
2021-11-19 16:08:05 -07:00
ison
2a44c2c599
nongnu: steam: Fix steam browser.
* nongnu/packages/steam-client.scm
(steam-client): Add missing steam-runtime path to wrapper.
2021-11-09 11:45:51 -07:00
ison
af0398e853
nongnu: steam: Use guix shell.
* nongnu/packages/steam-client.scm
(make-container-wrapper): Replace guix environment with new guix shell command.
2021-10-28 12:38:51 -06:00
ison
904e05f136
nongnu: steam: Make sandbox directory configurable.
* nongnu/packages/steam-client.scm
(make-container-wrapper): Read sandbox path from env var GUIX_SANDBOX_HOME.
2021-10-17 13:16:38 -06:00
pineapples
0a05a14ce1
nongnu: steam: Don't fail if system bus isn't up.
* nongnu/packages/steam-client.scm (make-container-wrapper): Expose the
`/var/run/dbus' directory only if it exists.
2021-07-26 12:13:53 +02:00
ison
9f0740a1ad
nongnu: steam: Link steam-asound32.desktop in steam-nvidia.
* nongnu/packages/steam-client.scm (steam-nvidia): Link steam-asound32.desktop.
2021-05-27 23:48:03 -06:00
ison
abeb450f0f
nongnu: steam: Add command line flag for switching asound.conf to 32-bit
* nongnu/packages/steam-client.scm (nongnu-container->package)
    (make-container-internal): Remove auto generated asound.conf.
    (make-internal-script): Use inline asound.conf and add --asound32 command line
    flag to set it as 32-bit instead of 64-bit.
    (steam-client, steam): Add new .desktop file for 32-bit asound.conf.
2021-05-26 05:16:41 -06:00
Jean-Baptiste Volatier
0fa9ddc3ec
nongnu: steam: Add steam-nvidia.
* nongnu/packages/steam-client.scm (steam-nvidia): new variable.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2021-04-14 18:39:16 +02:00
Jean-Baptiste Volatier
d86c1d94d2
nongnu: steam: Exposition of nvidia /dev files
* nongnu/packages/steam-client.scm (steam-client): expose /dev/nvidia*
in container. Required by nvidia-libs.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2021-04-14 18:37:58 +02:00
ison
0a0e8d0db6
nongnu: steam: Revert XDG vars to explicit list.
* nongnu/packages/steam-client.scm (make-container-wrapper): Preserve only XDG
vars which are known to be needed instead of preserving all XDG vars.
2021-03-10 15:02:09 -07:00
ison
80decf053a
nongnu: steam: Preserve proxy environment variables and use regex for all vars.
* nongnu/packages/steam-client.scm (make-container-wrapper): Add proxy to
preserved environment variables and use regex matching for all existing
environment variables.
2021-03-09 20:41:30 -07:00
ison
2978fb94bf
nongnu: steam: Improve pulseaudio startup
* nongnu/packages/steam-client.scm (make-container-wrapper): Use full path to
pulseaudio and increase exit-idle-time.
Use invoke instead of system.
2021-03-08 15:50:29 -07:00
pineapples
a31cd4a5ec
nongnu: steam: Audio and D-Bus fixes.
* nongnu/packages/steam-client.scm (make-container-wrapper):
Remove the UID variable in favor of XDG_RUNTIME_DIR for dbus and pulse sockets.
Preserve the DBUS_SESSION_BUS_ADDRESS environment variable.

Signed-off-by: ison <ison@airmail.cc>
2021-03-05 11:40:43 -07:00
ison
1404b00a49
nongnu: steam: Fix for new installs.
* nongnu/packages/steam-client.scm (steam-client)[arguments]: Modify steam.sh
and run.sh in steam runtime to prefer LD_LIBRARY_PATH.
2021-03-04 12:59:09 -07:00
ison
9e2686872f
nongnu: steam: Use LD_LIBRARY_PATH instead of glibc-for-fhs.
* nongnu/packages/steam-client.scm (steam): Use wrap-program.
(glibc-for-fhs, fhs-ld.so.conf, ld.so.conf->ld.so.cache): Remove.
(make-internal-script): Remove references to ld.so.conf and ld.so.cache

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2021-02-09 23:13:41 +01:00
ison
2af317689e
nongnu: steam: Fix desktop file.
* nongnu/packages/steam-client.scm (steam-client): Run steam container instead
of steam client directly.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2020-11-24 22:58:41 +01:00
ison
8581fb999d
nongnu: steam: Update comment.
* nongnu/packages/steam-client.scm (ld.so.conf->ld.so.cache): Fix ld-conf
  variable name in comment.
2020-10-31 11:07:05 +01:00
Oleg Pykhalov
ee08c44091
nongnu: steam: Preserve DRI_PRIME environment variable.
* nongnu/packages/steam-client.scm
(make-container-wrapper): Preserve DRI_PRIME environment variable.
2020-10-18 19:39:09 +02:00
ison
3f4febd80b
nongnu: steam: Add ldconfig comment.
* nongnu/packages/steam-client.scm: Add comment explaining why ldconfig must be
  re-enabled in glibc.
2020-10-12 15:22:48 +02:00
ison
bfe94824a7
nongnu: steam: Audio and Vulkan fixes.
* nongnu/packages/steam-client.scm: Use pulseaudio and nonguix utils modules.
  (steam-gameruntime-libs): Add pulseaudio.
  (nonguix-container->package): Add alsa-config to inputs.
  (make-container-internal): Add alsa-config to args and inputs.
  (make-internal-script): Add alsa-config to args and symlinks, symlink
  32-bit Vulkan ICD files.
2020-09-23 10:54:31 +02:00
ison
faaabf1283
nongnu: steam: Fix desktop icon and python dependency.
* nongnu/packages/steam-client.scm (nonguix-container): Add link-files field.
  (nongnu-container->package): Symlink files in container link-files field.
  (steam)[link-files]: Add desktop file.
  (steam-gameruntime-libs): Add python.
2020-09-17 08:10:31 +02:00
ison
a12f42e678
nongnu: steam: Reduce dependencies.
* nongnu/packages/steam-client.scm (steam-client-libs)
  (steam-gameruntime-libs, steam): Reduce dependencies to a minimal set.
  (make-internal-script): Remove pulseaudio symlink.
2020-09-16 11:11:40 +02:00
ison
25ace81660
nongnu: steam: Clean up.
* nongnu/packages/steam-client.scm: Add comment to top explaining container structure.
  (ld.so.conf->ld.so.cache): Replaces names with _.
  (nonguix-container->package): Remove container-name, union64, and union32 from let bindings, add newlines to inputs, fix args, and add symlinks for internal-script and manifest.
  (make-container-manifest): Improve document string.
  (make-container-internal)[synopsis, description]: Fix typos.
2020-09-15 13:37:52 +02:00
ison
eee0e2ee06
nongnu: steam: Update document strings.
* nongnu/packages/steam-client.scm: (fhs-ld.so.conf, ld.so.conf->ld.so.cache)
  (nonguix-container->package, make-container-wrapper, make-container-manifest)
  (make-container-internal, make-internal-script): Update document strings.
2020-09-15 13:37:52 +02:00
ison
edb7fc2b5c
nongnu: steam: Fix fhs-internal version
* nongnu/packages/steam-client.scm (make-container-internal): Inherit version.
2020-09-15 13:37:52 +02:00