# flatpak! :)

## schmidicom

Heute erst hab ich gemerkt das der Steam-Client offenbar seinen Weg in das flatpak-Repo "flathub" gefunden hat. Natürlich habe ich es gleich mal ausprobiert und es ist einfach unglaublich. Sogar auf einem Gentoo (das individueller kaum sein könnte und eigentlich auch nur 64bit kennt) läuft das ganze genau so gut wie unter Windows.  :Smile: 

Drauf schmeißen, laufen lassen und glücklich sein!

Endlich muss ich trotz Gentoo nicht mehr länger auf eine unkomplizierte und einfach Verwendung von solchen Sachen wie dem Steam-Client verzichten, YAHYYY.

----------

## Yamakuzure

 *schmidicom wrote:*   

> Endlich muss ich trotz Gentoo nicht mehr länger auf eine unkomplizierte und einfach Verwendung von solchen Sachen wie dem Steam-Client verzichten, YAHYYY.

 Danke für den Tipp mit FlatPak!

Aber das "endlich" verstehe ich nicht. Was war denn das Problem? Ich habe Steam im Februar 2014 in meinem Home-verzeichnis (nach der "Ubuntu-Methode" ... ich finde den verdammten Link aber nicht mehr) installiert, und seit dem läufts... Inklusive Auto-Updates, Bumblebee-Benutzung u.s.w.

okay, okay. Ich spiele nur meine Half-Life Sammlung, also wird das Ding auch nicht allzu doll getreten.

P.S. sprichts und probierts gleich aus. Ja, mein ~/.steam/steam.sh läuft ganz prima, und Half-Life und Co. starten auch noch, aber zur Strafe habe ich mir gerade ein Riesenupdate aufgehalst. Menno...

----------

## Treborius

Ich habe steam auch schon seit 3 Monaten über das overlay :

steam-overlay             [Git       ] (https://github.com/anyc/steam-overlay.git

am laufen.

Einziges Problem was ich dabei habe : 

kde scheint manchmal den client nicht beenden zu können und bricht den shutdown ab

----------

## schmidicom

Steam über das Overlay ist zwar ganz nett erfordert aber wegen den Abhängigkeiten das viele Pakete mit 32bit Support gebaut werden müssen und eine solche Umstellung ist vor allem im Nachhinein sehr Aufwändig. Auch gibt es bei der Installtion und späteren Updates immer wieder etliche "blockers" und "circular dependencies" die erst von Hand gelöst werden. Dazu kommt noch das man mit Gentoo als Basis bei Valve oder auch der Spielehersteller oft nur schwer bis gar nicht irgend einen Support erhält.

Wenn der Steam-Client aber über Flatpak installiert wird scheint dort auch gleich eine Runtime mitzukommen die dann ja auf allen Distributionen gleich sein dürfte.

```
~ $ flatpak --user list

Ref                                          Options

com.valvesoftware.Steam/x86_64/stable        current

org.libretro.RetroArch/x86_64/stable         current

org.freedesktop.Platform.Compat32/x86_64/1.6 runtime

org.freedesktop.Platform/x86_64/1.6          runtime
```

So kann ja wohl kaum ein Softwarehersteller, egal ob Spiele oder was anderes, noch behaupten die Linux-Landschaft wäre zu fragmentiert.

----------

## firefly

 *schmidicom wrote:*   

> Steam über das Overlay ist zwar ganz nett erfordert aber wegen den Abhängigkeiten das viele Pakete mit 32bit Support gebaut werden müssen und eine solche Umstellung ist vor allem im Nachhinein sehr Aufwändig. Auch gibt es bei der Installtion und späteren Updates immer wieder etliche "blockers" und "circular dependencies" die erst von Hand gelöst werden. Dazu kommt noch das man mit Gentoo als Basis bei Valve oder auch der Spielehersteller oft nur schwer bis gar nicht irgend einen Support erhält.
> 
> Wenn der Steam-Client aber über Flatpak installiert wird scheint dort auch gleich eine Runtime mitzukommen die dann ja auf allen Distributionen gleich sein dürfte.

 

steam liefert immer eine runtime mit kann man über STEAM_RUNTIME=0 ausschalten

Ich selbst habe steam auch installiert. Dabei habe ich nur das steam-launcher paket installiert. Der rest ist dann alles im lokalen steam verzeichnis installiert in dem auch das steam eigene update arbeitet.

Und dabei verwende ich die von steam mitgelieferte runtime.

Das funktioniert soweit

Es gibt nur probleme mit den mesa treibern, wenn diese mit einer anderen gcc version übersetzt wurden als die von steam mitgelieferten c++ runtime version. Da hilft es die entsprechenden Dateien im steam runtime verzeichnis zu löschen.

Für 32Bit spiele muss dann natürlich zumindestens die mesa treiber und deren abhängigkeiten auch in 32bit version installiert sein.

Und das wird vermutlich mit flatpack auch nicht anders sein. Denn sonst würden die flatpack versionen vermutlich eine veraltete Version der 3D-Treiber verwenden/mitliefern...

----------

## schmidicom

@firefly

Ich habe jetzt mal mit dem Systemmonitor von KDE nachgesehen welche Library mein Steam-Client so benutzt und auch wenn Steam sehr viele eigene Libs mitbringt/nutzt so ist in der Liste doch recht deutlich zu sehen das er auch andere benutzt.

 *Quote:*   

> ...
> 
> 32 KB	/newroot/home/schmidicom/.var/app/com.valvesoftware.Steam/data/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb-render.so.0.0.0
> 
> 32 KB	/newroot/home/schmidicom/.var/app/com.valvesoftware.Steam/data/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libXrandr.so.2.2.0
> ...

 

Da ist zu sehen das er bei der "libtinfo.so.5.9" offenbar nicht seine eigene sondern die "systemweite" benutzt nur kann er das gar nicht weil diese bei mir nicht installiert ist, zumindest nicht als 32bit. Ich persönlich würde hier mal davon ausgehen das hier Flatpak dem Steam-Client vorgaukelt die Library aus dem "org.freedesktop.Platform.Compat32/x86_64/1.6"-Runtime wäre als "systemweite" Varainte verfügbar. So zumindest würde ich die Pfadangaben in der Liste auch interpretieren.

Und wenn das so funktioniert dürften eben genau solche Probleme wie mit einem inkompatiblen GCC wohl kaum auftreten weil der Steam-Client immer mit einer ihm bekannten und eigentlich von ihm selbst als Abhängigkeit verlangte Runtime konfrontiert wird.

----------

## firefly

 *schmidicom wrote:*   

> @firefly
> 
> Ich habe jetzt mal mit dem Systemmonitor von KDE nachgesehen welche Library mein Steam-Client so benutzt und auch wenn Steam sehr viele eigene Libs mitbringt/nutzt so ist in der Liste doch recht deutlich zu sehen das er auch andere benutzt.
> 
>  *Quote:*   32 KB	/newroot/home/schmidicom/.var/app/com.valvesoftware.Steam/data/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb-render.so.0.0.0
> ...

 

Öhm was ist mit Grafikkarten treibern? WErden die bei flatpack auch mitgeliefert? Z.b. Mesa verwendet für Radeon karten intern llvm. Und da muss die verwendete c++ runtime mit der Version übereinstimme mit dem die treiber bzw. llvm übersetzt wurden. Bzw. es muss eine abwärtskompatible version vorhanden sein.

Wenn jetzt im steam flatpack eine ältere gcc c++ runtime library installiert ist aber die mesa Treiber vom system verwendet werden, welche aber mit einer neueren gcc version übersetzt wurden dann kracht es immer noch...

----------

## schmidicom

Es sind jede Menge Librarys von Mesa3D und LLVM 4.0 in dem "org.freedesktop.Platform.Compat32/x86_64/1.6"-Runtime von Flathub zu finden, auch solche wie "radeon_dri.so", "radeonsi_dri.so" und sogar noch welche für nouvau/nvidia.

Die ganze Liste kannst du dir gerne selbst durchsehen: https://drive.google.com/file/d/0B3pmY9R_R3jqb0sxSEJuR0tyc0E/view?usp=sharing

Und was die Kompatibilität angeht kann ich nur folgenden sagen. Als ich das Steam-Paket von Flathub ("com.valvesoftware.Steam/x86_64/stable") installierte wurde die "org.freedesktop.Platform.Compat32/x86_64/1.6"-Runtime automatisch nachgezogen, also gehe ich mal davon aus das es auch zusammenpassen wird.

----------

## firefly

Dann viel spass mit veralteten/inkompatiblen treibern....

----------

## Yamakuzure

 *schmidicom wrote:*   

> Steam über das Overlay ist zwar ganz nett erfordert aber wegen den Abhängigkeiten das viele Pakete mit 32bit Support gebaut werden müssen und eine solche Umstellung ist vor allem im Nachhinein sehr Aufwändig. 

 Das ist ein gutes Argument, wenn man kein Wine-User ist. Dank Wine habe ich aber ja eh viel auf 32bit mit drauf. Das Abhängigkeitsgedöns war aber natürlich echt nervtötend.

Naja, seit es läuft, läufts.

Ich habe übrigens nicht das Overlay genutzt. Wofür auch?

Ja, ich weiß, "The-Gentoo-Way (TM)" und so. Aber Steam, genau so wie Eclipse, ist eine so User-basierte Anwendung, dass ich es affig finde solche Software auf Krampf "im System" zu installieren, wenn es das Home-Verzeichnis prima tut.

...und unterm Strich keinen Unterschied macht...

----------

## schmidicom

 *Yamakuzure wrote:*   

> Ja, ich weiß, "The-Gentoo-Way (TM)" und so. Aber Steam, genau so wie Eclipse, ist eine so User-basierte Anwendung, dass ich es affig finde solche Software auf Krampf "im System" zu installieren, wenn es das Home-Verzeichnis prima tut.
> 
> ...und unterm Strich keinen Unterschied macht...

 

So sehe ich das auch, es gibt einfach Anwendungen wo es echt keinen Sinn macht sie mit biegen und brechen über ein ebuild ins System zu verpflanzen. Sky von TelRed wäre da auch so ein Fall, die kommen mit ihrer ClosedSource dem Rolling Release von Gentoo ebenfalls kaum hinterher (genau hier kommt es dann immer wieder gern zu Inkompatibilitäten) weshalb vor allem ihr Programm in einem Flatpak vermutlich sehr viel besser aufgehoben wäre.

Ich sage ja nicht das Flatpak für alles besser ist aber einiges eben schon...

----------

