L'application Steam Link est désormais disponible sous Linux via Flathub

L’application Steam Link est désormais disponible sous Linux via Flathub

L'application Steam Link est désormais disponible sous Linux via Flathub

Depuis longtemps, le client permet de partager l'écran de la machine à distance, notamment dans les jeux, avec des clients pour Android, iOS ou Raspberry Pi.

Valve vient d'annoncer une version plus générique sous Linux, diffusée sous la forme d'un Flatpak.

Il s'agit pour rappel d'un format de paquets natif à Fedora par exemple, mais nécessitant une installation spécifique sous certaines distributions. Il faut aussi ajouter le dépôt FlatHub.

Une fois qu'il est en place, récupérer et lancer l'application Steam Link tient en deux commandes : 

flatpak install flathub com.valvesoftware.SteamLink
flatpak run com.valvesoftware.SteamLink 

Commentaires (10)


Ah, une bonne nouvelle !
FlatHub / cette app dispose d’un système d’autorisation pour certaines actions sur le système ?



J’ai pas tellement envie que Steam scanne mon PC à la recherche des applications installées, ni qu’il continue à tourner en résident, comme il peut le faire sous Windows.
De plus, je suppose que l’accès au compte administrateur n’est plus requis, non ?


Flatpak a un mécanisme d’autorisations et Flathub propose une interface graphique nommée Flatseal (de mémoire).


En théorie les application dans flatpack sont dans une sandbox.


Bonjour, pour ceux qui souaitent gérer graphiquement les permissions Flatpak, il existe l’application Flatseal.


Je comprends tout à fait. Steam, passe encore, mais tous les jeux? Certainement pas, surtout qu’il y a des failles de sécurité en pagaille. Unreal Tournament 1999 télécharge des DLL depuis les serveurs et les insère avant de se connecter. Et on commencera pas avec les “anti triche”. D’ailleurs Valve commence à étudier sérieusement le sandboxing, avec notamment leur runtime “Soldier” pour Linux, essentiellement la même technologie que flatpak.



Steam dans flatpak a cependant quelques soucis (proton 5.13 ne fonctionne pas à cause de soucis avec les namespaces dans les namespaces, pareil pour les jeux qui utilisent une version récente de chromium (garry’s mod, je n’ai pas vérifié si c’était corrigé).



Bref, pas parfait, mais sur la bonne voie. Steam n’est cependant pas officiellement proposé en flatpak, je pense que c’est là que cette application Steam Link est notable!



Pour info, voici les permissions demandées par cette application:



% flatpak info --show-permissions com.valvesoftware.SteamLink
[Context]
shared=network;ipc;
sockets=x11;wayland;pulseaudio;
devices=all;
filesystems=!home;~/flatpak-share;

[Environment]
SDL_GAMECONTROLLERCONFIG_FILE=/var/data/Valve Corporation/SteamLink/controller_map.txt
LD_LIBRARY_PATH=/app/lib


x11 est le plus dangereux (accès en lecture/écriture au presse-papier, à la souris, à chacune des fenêtres, et possiblement à l’éxécution de code arbitraire). Normalement on demande plutôt la permission x11-fallback quand Wayland n’est pas disponible. Mais ici, l’application ne fonctionne pas sous Wayland. C’est une application Qt cependant, donc on peut la lancer avec -platform xcb ou QT_QPA_PLATFORM=xcb sinon on obtient:



qt.qpa.plugin: Could not find the Qt platform plugin "wayland-egl" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, minimal, minimalegl, offscreen, vnc, xcb.


Bref, c’est super intéressant, et apparament collabora a pas mal aidé, ce qui est super! Collabora a une grosse expertise Linux, notamment au niveau des pilotes graphiques et de l’accélération matérielle. On notera cependant l’indisponibilité du flatpak pour les architectures ARM (on peut toujours utiliser qemu+binfmt, mais ce n’est pas idéal).


MayeulC

Je comprends tout à fait. Steam, passe encore, mais tous les jeux? Certainement pas, surtout qu’il y a des failles de sécurité en pagaille. Unreal Tournament 1999 télécharge des DLL depuis les serveurs et les insère avant de se connecter. Et on commencera pas avec les “anti triche”. D’ailleurs Valve commence à étudier sérieusement le sandboxing, avec notamment leur runtime “Soldier” pour Linux, essentiellement la même technologie que flatpak.



Steam dans flatpak a cependant quelques soucis (proton 5.13 ne fonctionne pas à cause de soucis avec les namespaces dans les namespaces, pareil pour les jeux qui utilisent une version récente de chromium (garry’s mod, je n’ai pas vérifié si c’était corrigé).



Bref, pas parfait, mais sur la bonne voie. Steam n’est cependant pas officiellement proposé en flatpak, je pense que c’est là que cette application Steam Link est notable!



Pour info, voici les permissions demandées par cette application:



% flatpak info --show-permissions com.valvesoftware.SteamLink
[Context]
shared=network;ipc;
sockets=x11;wayland;pulseaudio;
devices=all;
filesystems=!home;~/flatpak-share;

[Environment]
SDL_GAMECONTROLLERCONFIG_FILE=/var/data/Valve Corporation/SteamLink/controller_map.txt
LD_LIBRARY_PATH=/app/lib


x11 est le plus dangereux (accès en lecture/écriture au presse-papier, à la souris, à chacune des fenêtres, et possiblement à l’éxécution de code arbitraire). Normalement on demande plutôt la permission x11-fallback quand Wayland n’est pas disponible. Mais ici, l’application ne fonctionne pas sous Wayland. C’est une application Qt cependant, donc on peut la lancer avec -platform xcb ou QT_QPA_PLATFORM=xcb sinon on obtient:



qt.qpa.plugin: Could not find the Qt platform plugin "wayland-egl" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, minimal, minimalegl, offscreen, vnc, xcb.


Bref, c’est super intéressant, et apparament collabora a pas mal aidé, ce qui est super! Collabora a une grosse expertise Linux, notamment au niveau des pilotes graphiques et de l’accélération matérielle. On notera cependant l’indisponibilité du flatpak pour les architectures ARM (on peut toujours utiliser qemu+binfmt, mais ce n’est pas idéal).


Merci pour la réponse complète, effectivement il y a une gestion des autorisations mais pas vraiment granulaire …
Il reste donc Lutris avec la version Windows de Steam …


Arcy

Merci pour la réponse complète, effectivement il y a une gestion des autorisations mais pas vraiment granulaire …
Il reste donc Lutris avec la version Windows de Steam …


Que veux-tu dire par non granulaire? Tout le reste est bloqué: d-bus, système de fichiers.



Sur les permissions restantes:




  • Je crois que c’est moi qui avais ajouté manuellement ~/flatpak-share sur tous mes flatpaks

  • Je vois mal steam link faire sans le réseau

  • L’accès aux périphériques n’est pas super granulaire, certes, du moins pour l’instant. Un portail dédié aux manettes était à l’étude, je crois, mais Steam gèrera cela mieux de toute façon.

  • L’accès à Pulseaudio est nécessaire tant que Pipewire n’est pas plus répandu.

  • L’accès à Wayland n’est pas problématique. Au pire, l’application pourra afficher une fenêtre.

  • L’accès à X11 n’est pas idéal, surtout pour Steam Link. Il est nécessaire pour Steam, qui ne gère pas Wayland, et pour les jeux qui sont dans le même cas (wine compris pour l’instant), sauf si xwayland tournait dans le flatpak (probablement possible, je ne l’ai jamais vu).



Le reste est bloqué par défaut:



% flatpak run --command=/bin/sh com.valvesoftware.SteamLink
[📦 com.valvesoftware.SteamLink ~]$ ps -A
PID TTY TIME CMD
1 pts/9 00:00:00 bwrap
2 pts/9 00:00:00 sh
3 pts/9 00:00:00 ps


Tu peux choisir ce que tu bloques ou débloques avec flatpak override. Flatseal a été mentionné, c’est un outil pour aider avec cela.



Lutris ne te proposera rien de mieux à ma connaissance? Je crois qu’ils intègrent bubblewrap, qui est l’outil d’isolation développé pour flatpak. L’accès à X11 n’est pas super, mais est loin d’être une calamité non plus, surtout si tes autres applis sont sous wayland :)


C’est également présent par défaut sous Linux Mint, et pour l’installation, on peut également se contenter de cliquer sur un bouton.


Après si FlatSeal permet d’outrepasser les autorisations par défaut et interdire l’accès au réseau (c’est juste un exemple :dd:), ça peut-être pas mal.



En fait de l’usage que je vois de Lutris, c’est de pouvoir utiliser les apps Windows genre Steam, uPlay, Epic, etc … sans pour autant leur autoriser à accéder à l’entièreté du PC.
Même si je comprend bien l’usage que ça peut-être (la détection des dossiers de jeux, dossiers de musiques, etc …), je dois pouvoir bloquer l’accès au stockage (hormis là où l’app est installée bien sûr) parce que je trouve inutile qu’il puisse voir que j’ai installé Photoshop et co.
Et autant pour Steam, ça pourrait passer (parce qu’en théorie, il demande l’accord avant d’envoyer les données), autant pour Epic …



Avec Lutris + app Windows, n’étant pas développé pour Linux, il y aura tout un tas d’opération qu’il ne pourra pas faire (ou en tout cas, je me l’imagine comme ça.


La ligne de commande le permet : https://docs.flatpak.org/en/latest/flatpak-command-reference.html#flatpak-override
J’imagine que Flatseal aussi


Fermer