Steam

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Steam and the translation is 100% complete.
Other languages:
Resources

Steam egy videójáték digitális terjesztési szolgáltatás a Valve által. A Steam digitális jogkezelést (DRM), matchmaking szervereket, videó streaminget és közösségi hálózati szolgáltatásokat kínál. Ezenkívül biztosítja a felhasználók számára a játékok telepítését és automatikus frissítését, valamint közösségi funkciókat, mint például barátlista és csoportok, felhőalapú mentés, valamint játék közbeni hang- és chatfunkcionalitás.

A Steam kliens nem nyílt forráskódú szoftver, ezért minden felhasználónak el kell fogadnia a Steam Felhasználói Szerződést a szoftver használata előtt, majd általában el kell fogadnia az végfelhasználói licencszerződéseket (EULAs) vagy az használati feltételeket az egyes Steam kliensen keresztül elért szoftverekre vonatkozóan.

A Valve Corporation együttműködött nyílt forráskódú szoftvereket fejlesztő szervezetekkel, például a CodeWeavers-szel (Wine)[1], annak érdekében, hogy zárt forráskódú játékokat is futtatni lehessen nyílt forráskódú operációs rendszereken.

Játékkompatibilitás

A Steam Deck népszerűségének növekedésével az utóbbi években jelentősen bővült a Steam játékok Linuxon való játszhatósága[2]. A játékfejlesztők egyre inkább ösztönözve vannak arra, hogy támogassák a Linuxot. A natív Linux játékokat az áruházban a SteamOS ikon segítségével lehet azonosítani. Azokhoz a játékokhoz, amelyek nem rendelkeznek natív támogatással, a Valve fenntartja a Proton nevű kompatibilitási réteget, amelyet Wine alapokra építettek. Ez integrálva van a kliensbe, és könnyen használható kompatibilitási réteget biztosít Windows-exkluzív játékokhoz a legújabb Linux operációs rendszeren. Azok a felhasználók, akik a stabilitás helyett az élvonalbeli verziókat részesítik előnyben, fontolóra vehetik a Proton aktívan közösség által karbantartott forkját, a Proton-GE-t.

Important
A Proton nyílt forráskódú, ezért forráskódból is felépíthető, azonban erősen ajánlott a Steam kliens által biztosított Proton verziók használata[3]. A Proton minden egyes játékhoz engedélyezhető a tulajdonságai között található Kompatibilitás fül alatt.
Tip
A közösség által karbantartott ProtonDB (hasonló a Wine AppDB-hez) figyelemmel kíséri a játékok kompatibilitását a Steam Deckkel / Protonnal és hasonló emulációs eszközökkel a felhasználók visszajelzései alapján.

Előfeltételek

A Steam a legtöbb támogatott játékhoz 32 bites környezetet biztosít, ezért maga a kliens multilib profilt igényel az amd64 operációs rendszeren. Ez azt jelenti, hogy a Gentoo telepítése során, amikor Ön a profilok közül választott, akkor nem a no-multilib opció lett kiválasztva. Ez az előfeltétel figyelmen kívül hagyható, amennyiben a Steam szoftvercsomagot Ön egy chroot környezetben telepíti fel.

A Steam böngésző már nem támogatott 32 bites Linux disztribúciókon, és le van tiltva a Steam kliensben a Store, Community vagy User Profile fülek megtekintésekor[4], így az egyetlen elérhető architektúra a amd64.

Kernel

A Steam elvárja, hogy a /dev/shm, amely kernel tmpfs támogatást igényel, a Steam indítása előtt legyen felcsatolva. A /dev/shm-nek automatikusan kell felcsatolódnia az számítógép bootolása során OpenRC és systemd által, de explicit módon is felcsatolható a /etc/fstab segítségével.

FILE /etc/fstab
# A méret korlátozásához adja hozzá például a size=1G beállítást az opts paraméterhez (ajánlott legalább 2G, az alapértelmezett érték 50%).
# Kérjük, vegye figyelembe, hogy az alacsonyabb beállítások véletlenszerű összeomláshoz vezethetnek a Steam és/vagy a játékok esetében.
 
#<fs>      <mountpoint>    <type>	<opts>		     <dump/pass>
shm        /dev/shm        tmpfs        nodev,nosuid,noexec  0 0

A következő kernelopciót be kell állítani, különben a Steam nem biztos, hogy elindul, és a következő hibaüzenetet adhatja: "The futex facility returned an unexpected error code."

KERNEL 32 bites time_t használatának engedélyezése a Steam 32 bites kompatibilitásának érdekében
General architecture-dependent options  --->
  [*] Provide system calls for 32-bit time_t Search for <code>CONFIG_COMPAT_32BIT_TIME</code> to find this item.

Engedélyezze a felhasználói szintű illesztőprogram-támogatást, amennyiben kontrollertámogatásra van szükség.

KERNEL Felhasználói szintű illesztőprogramokat engedélyezése a bemenetek számára
Device Drivers  --->
  Input device support  --->
    -*- Generic input layer (needed for keyboard, mouse, ...) Search for <code>CONFIG_INPUT</code> to find this item.
      [*] Miscellaneous devices Search for <code>CONFIG_INPUT_MISC</code> to find this item.  --->
        <*> User level driver support Search for <code>CONFIG_INPUT_UINPUT</code> to find this item.

Engedélyezze a felhasználói névtér támogatást a játékok Kompatibilitási módban történő indításának támogatásához (például Protonnal):

KERNEL User névtér engedélyezése
General setup --->
    [*] Namespaces support Search for <code>CONFIG_NAMESPACES</code> to find this item. --->
        [*] User namespace Search for <code>CONFIG_USER_NS</code> to find this item.

Telepítés

A Steam telepítő letölti és telepíti a Steam kliensprogramot a felhasználó home könyvtárába. Ez megakadályozza, hogy a Portage kezelje a Steam kliens frissítéseit vagy az általa telepített szoftvereket. A Steam kliens lesz kizárólagosan a felelős a szoftverek telepítéséért és frissítéséért.

Important
Ezen az oldalon az utasítások a szokásos Steam telepítési könyvtárat használják: ~/.local/share/Steam.

Emerge (ajánlott)

A steam-launcher ebuild elérhető a steam-overlay szoftvercsomag-tárolóból, amely a Gentoo elsődleges szoftvercsomag-tárolója a Steam kliens és a Steam-alapú játékok számára. A steam-overlay szoftvercsomag-tároló manuálisan vagy olyan szoftvercsomag-tároló kezelő eszközökkel adható hozzá, mint például a eselect-repository.

Telepítse a app-eselect/eselect-repository és a dev-vcs/git szoftvercsomagokat:

root #emerge --ask --noreplace app-eselect/eselect-repository dev-vcs/git

Steam szoftvercsomag-tároló hozzáadása:

root #eselect repository enable steam-overlay

Majd szinkronizáljon kifejezetten a emaint segítségével:

root #emaint sync -r steam-overlay

vagy

root #emerge --sync

A Steam szoftvercsomagba beépített Proton futtatókörnyezet miatt a legtöbb szoftverfüggőség 32 bites binárisa szerepel a Steam telepítésében. Néhány rendszer-szoftverfüggőség azonban továbbra is szükséges, de a Portage figyelmeztetni fog ezekre. Ezeket a szoftvercsomagokat hozzá kell adni a /etc/portage/package.use/steam fájlhoz, az abi_x86_32 USE jelölőzászló engedélyezésével. Néhány szükséges módosítás a következőket tartalmazza:

FILE /etc/portage/package.use/steam
app-accessibility/at-spi2-core  abi_x86_32
app-arch/bzip2                  abi_x86_32
app-arch/lz4                    abi_x86_32
app-arch/zstd                   abi_x86_32
dev-lang/rust-bin               abi_x86_32
dev-libs/dbus-glib              abi_x86_32
dev-libs/elfutils               abi_x86_32
dev-libs/expat                  abi_x86_32
dev-libs/fribidi                abi_x86_32
dev-libs/glib                   abi_x86_32
dev-libs/gmp                    abi_x86_32
dev-libs/icu                    abi_x86_32
dev-libs/libevdev               abi_x86_32
dev-libs/libffi                 abi_x86_32
dev-libs/libgcrypt              abi_x86_32
dev-libs/libgpg-error           abi_x86_32
dev-libs/libpcre2               abi_x86_32
dev-libs/libtasn1               abi_x86_32
dev-libs/libunistring           abi_x86_32
dev-libs/libusb                 abi_x86_32
dev-libs/libxml2                abi_x86_32
dev-libs/lzo                    abi_x86_32
dev-libs/nettle                 abi_x86_32
dev-libs/nspr                   abi_x86_32
dev-libs/nss                    abi_x86_32
dev-libs/openssl                abi_x86_32
dev-libs/wayland                abi_x86_32
gnome-base/librsvg              abi_x86_32
gui-libs/libdecor               abi_x86_32
llvm-core/llvm                  abi_x86_32
media-gfx/graphite2             abi_x86_32
media-libs/alsa-lib             abi_x86_32
media-libs/flac                 abi_x86_32
media-libs/fontconfig           abi_x86_32
media-libs/freetype             abi_x86_32
media-libs/glu                  abi_x86_32
media-libs/harfbuzz             abi_x86_32
media-libs/libepoxy             abi_x86_32
media-libs/libglvnd             abi_x86_32
media-libs/libjpeg-turbo        abi_x86_32
media-libs/libogg               abi_x86_32
media-libs/libpng               abi_x86_32
media-libs/libpulse             abi_x86_32
media-libs/libsdl2              abi_x86_32
media-libs/libsndfile           abi_x86_32
media-libs/libva                abi_x86_32
media-libs/libvorbis            abi_x86_32
media-libs/mesa                 abi_x86_32
media-libs/openal               abi_x86_32
media-libs/opus                 abi_x86_32
media-libs/tiff                 abi_x86_32
media-sound/lame                abi_x86_32
media-sound/mpg123-base         abi_x86_32
media-video/pipewire            abi_x86_32
net-dns/c-ares                  abi_x86_32
net-dns/libidn2                 abi_x86_32
net-libs/gnutls                 abi_x86_32
net-libs/libasyncns             abi_x86_32
net-libs/libndp                 abi_x86_32
net-libs/libpsl                 abi_x86_32
net-libs/nghttp2                abi_x86_32
net-libs/nghttp3                abi_x86_32
net-misc/curl                   abi_x86_32
net-misc/networkmanager         abi_x86_32
net-print/cups                  abi_x86_32
sys-apps/dbus                   abi_x86_32
sys-apps/systemd                abi_x86_32
sys-apps/systemd-utils          abi_x86_32
sys-apps/util-linux             abi_x86_32
sys-devel/clang                 abi_x86_32
sys-libs/gpm                    abi_x86_32
sys-libs/libcap                 abi_x86_32
sys-libs/libudev-compat         abi_x86_32
sys-libs/ncurses                abi_x86_32
sys-libs/pam                    abi_x86_32
sys-libs/zlib                   abi_x86_32
virtual/glu                     abi_x86_32
virtual/libelf                  abi_x86_32
virtual/libiconv                abi_x86_32
virtual/libintl                 abi_x86_32
virtual/libudev                 abi_x86_32
virtual/libusb                  abi_x86_32
virtual/opengl                  abi_x86_32
virtual/rust                    abi_x86_32
x11-libs/cairo                  abi_x86_32
x11-libs/extest                 abi_x86_32
x11-libs/gdk-pixbuf             abi_x86_32
x11-libs/gtk+                   abi_x86_32
x11-libs/gtk+                   abi_x86_32
x11-libs/libdrm                 abi_x86_32
x11-libs/libICE                 abi_x86_32
x11-libs/libpciaccess           abi_x86_32
x11-libs/libSM                  abi_x86_32
x11-libs/libvdpau               abi_x86_32
x11-libs/libX11                 abi_x86_32
x11-libs/libXau                 abi_x86_32
x11-libs/libxcb                 abi_x86_32
x11-libs/libXcomposite          abi_x86_32
x11-libs/libXcursor             abi_x86_32
x11-libs/libXdamage             abi_x86_32
x11-libs/libXdmcp               abi_x86_32
x11-libs/libXext                abi_x86_32
x11-libs/libXfixes              abi_x86_32
x11-libs/libXft                 abi_x86_32
x11-libs/libXi                  abi_x86_32
x11-libs/libXinerama            abi_x86_32
x11-libs/libxkbcommon           abi_x86_32
x11-libs/libXrandr              abi_x86_32
x11-libs/libXrender             abi_x86_32
x11-libs/libXScrnSaver          abi_x86_32
x11-libs/libxshmfence           abi_x86_32
x11-libs/libXtst                abi_x86_32
x11-libs/libXxf86vm             abi_x86_32
x11-libs/pango                  abi_x86_32
x11-libs/pixman                 abi_x86_32
x11-libs/xcb-util-keysyms       abi_x86_32

Adja hozzá a steam overlay-t a package.accept_keywords fájlhoz:

FILE /etc/portage/package.accept_keywords/steam
*/*::steam-overlay
games-util/game-device-udev-rules
sys-libs/libudev-compat

Most a Steam használati feltételei elolvashatók a következő helyen: /var/db/repos/steam-overlay/licenses/ValveSteamLicense. Ha egyetért ezekkel a feltételekkel, akkor adja hozzá azokat a portage szoftvercsomag-kezelőhöz:

FILE /etc/portage/package.license/steam
games-util/steam-launcher ValveSteamLicense

Az overlay alapértelmezés szerint engedélyezi a Steam futtatókörnyezetet. Ha kizárólag a Gentoo szotvercsomagokra szeretne támaszkodni, akkor tiltsa le a steamruntime USE jelölőzászlót. Később használja az esteam segédprogramot a telepített natív Linux játékok átvizsgálására annak érdekében, hogy az azokhoz szükséges további Gentoo szoftvercsomagokat megtalálja. Vegye figyelembe, hogy a Gentoo szoftvercsomagok nem fedik le a teljes futtatókörnyezetet, így néhány játék nem fog működni.

Miután a szoftvercsomag-tárolót hozzáadta, telepítse a steam-launcher ebuild-et az alábbi parancs segítségével:

Important
Az újabb telepített operációs rendszerek valószínűleg körkörös függőségekbe ütköznek, mivel a Steam működéséhez a ABI_X86_32 beállítás szükséges. Ezt könnyen meg lehet oldani, ha követi az alábbi Steam hibaelhárítási szakasz első pontját.
root #emerge --ask games-util/steam-launcher

Hibaelhárítás

Ha a Steam telepítése sikertelen a ncurses és a gpm körkörös szoftverfüggőségei miatt, akkor próbálja ki a következőt:

root #USE="-gpm" emerge --ask --oneshot sys-libs/ncurses
root #emerge --ask games-util/steam-launcher
root #emerge --ask --oneshot sys-libs/ncurses gpm

Ha a Steam nem települ a körkörös függőségek miatt a harfbuzz és freetype szoftvercsomagokkal, akkor próbálja meg a következőt:

root #USE="-harfbuzz" emerge --ask --oneshot media-libs/freetype media-libs/sdl2-ttf
root #emerge --ask games-util/steam-launcher
root #emerge --ask --oneshot media-libs/freetype media-libs/sdl2-ttf media-libs/harfbuzz

Ha a Steam telepítése sikertelen a sys-apps/systemd-utils és a sys-fs/eudev által okozott puha blokkolás miatt, akkor próbálja meg a következőt:

root #emerge --ask --oneshot systemd-utils

Flatpak

Egy egyszerű, gyors és tiszta módszer (például a 32 bites szoftverfüggőségek fordítása nem szükséges) a Steam telepítésére a Flatpak szoftvercsomag segítségével, a com.valvesoftware.Steam, amely elérhető a Flathub weboldalon keresztül, (valamint elérhető a szükséges udev szabályok telepítése a játékkontrollerekhez).

root #USE="X" emerge --ask sys-apps/flatpak
root #emerge --ask games-util/game-device-udev-rules
Note
Amint azt a Flatpak leírja, az alkalmazásikonok megjelenítéséhez a GUI menüben a rendszer újraindítása szükséges.

Ezenkívül a Flatpak első alábbi parancsa hibát adhat vissza az alábbi könyvtárakkal kapcsolatban:

/var/lib/flatpak/exports/share

/home/user/.local/share/flatpak/exports/share

Azok "nincsenek az XDG_DATA_DIRS környezeti változó által beállított keresési útvonalban, ezért a Flatpak által telepített alkalmazások nem jelenhetnek meg az asztalon, amíg a munkamenet újra nincs indítva".

Azok létrehozása és hozzáadása az XDG_DATA_DIRS-hez sem működik.
user $flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
user $flatpak install flathub com.valvesoftware.Steam
user $flatpak run com.valvesoftware.Steam

A Steam frissíti magát, és a fájljait a ~/.var/app/com.valvesoftware.Steam könyvtárba telepíti.

Útmutató

Warning
A Steam kézi telepítése nem ajánlott, mivel különféle javítások nem kerülnek automatikusan alkalmazásra[5]. Kérjük Önt, hogy fontolja meg a Steam emerge segítségével történő telepítését a fent leírtak szerint!

Szoftvercsatmag függőségek

Note
A következő szoftvercsomag függőségek elavultak lehetnek, és ellenőrzésre szorulnak. Néhány szoftvercsomag függőséget a Steam futtatókörnyezet tartalmazhat, ebben az esetben a rendszer könyvtárakat nem lesznek használva.

Hozza létre a következő szükséges Steam szoftverfüggőségek listáját:

FILE /etc/portage/sets/steam
# mandatory!
dev-libs/glib:2
dev-libs/libgcrypt
dev-libs/nspr
dev-libs/nss
gnome-base/gconf
gnome-extra/zenity
media-libs/alsa-lib
media-libs/fontconfig
media-libs/freetype:2
media-libs/libjpeg-turbo
media-libs/libogg
media-libs/libpng-compat:1.2
media-libs/libsdl
media-libs/libtheora
media-libs/libvorbis
media-libs/openal
net-misc/curl
net-print/cups
sys-apps/dbus
virtual/libusb:1
virtual/opengl
x11-libs/cairo
x11-libs/gdk-pixbuf
x11-libs/gtk+:2
x11-libs/libX11
x11-libs/libXScrnSaver
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXi
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/pango
x11-libs/pixman
 
# optional
media-sound/pulseaudio
net-misc/networkmanager
x11-misc/xdg-user-dirs

Majd futtassa:

root #emerge --ask --noreplace @steam
Warning
Ne futtassa a emerge --unmerge @steam parancsot a Steam eltávolításához, mivel ez az operációs rendszer használhatatlanságát okozhatja. Ehelyett használja a emerge --ask --depclean @steam parancsot ehhez a módszerhez.

USE jelölőzászlók

A szükséges USE jelölőzászlók engedélyezéséhez a Steam szoftverfüggőségekhez amd64 alatt, adja hozzá a következő fájlt:

FILE /etc/portage/package.use/steam
app-arch/bzip2 abi_x86_32
app-arch/zstd abi_x86_32
dev-db/sqlite abi_x86_32
dev-libs/atk abi_x86_32
dev-libs/expat abi_x86_32
dev-libs/fribidi abi_x86_32
dev-libs/glib abi_x86_32
dev-libs/gmp abi_x86_32
dev-libs/icu abi_x86_32
dev-libs/libcroco abi_x86_32
dev-libs/libffi abi_x86_32
dev-libs/libpcre abi_x86_32
dev-libs/libpthread-stubs abi_x86_32
dev-libs/libtasn1 abi_x86_32
dev-libs/libunistring abi_x86_32
dev-libs/libxml2 abi_x86_32
dev-libs/lzo abi_x86_32
dev-libs/nettle abi_x86_32
dev-libs/nspr abi_x86_32
dev-libs/nss abi_x86_32
dev-libs/openssl abi_x86_32
dev-libs/wayland abi_x86_32
dev-util/pkgconfig abi_x86_32
dev-util/wayland-scanner abi_x86_32
gnome-base/librsvg abi_x86_32
llvm-core/llvm abi_x86_32
media-gfx/graphite2 abi_x86_32
media-libs/fontconfig abi_x86_32
media-libs/freetype abi_x86_32
media-libs/harfbuzz abi_x86_32
media-libs/libpng abi_x86_32
media-libs/mesa abi_x86_32
media-libs/openal abi_x86_32
media-libs/tiff abi_x86_32
net-dns/libidn2 abi_x86_32
net-libs/gnutls abi_x86_32
net-misc/curl abi_x86_32
net-nds/openldap abi_x86_32
net-print/cups abi_x86_32
sys-apps/attr abi_x86_32
sys-apps/dbus abi_x86_32
sys-apps/util-linux abi_x86_32
sys-devel/gettext abi_x86_32
sys-fs/udev abi_x86_32
sys-libs/binutils-libs abi_x86_32
sys-libs/gpm abi_x86_32
sys-libs/ncurses abi_x86_32
sys-libs/readline abi_x86_32
sys-libs/zlib abi_x86_32
virtual/libffi abi_x86_32
virtual/libiconv abi_x86_32
virtual/libudev abi_x86_32
virtual/opengl abi_x86_32
virtual/pkgconfig abi_x86_32
x11-libs/cairo abi_x86_32
x11-libs/gdk-pixbuf abi_x86_32
x11-libs/gtk+:2 abi_x86_32
x11-libs/libX11 abi_x86_32
x11-libs/libXScrnSaver abi_x86_32
x11-libs/libXau abi_x86_32
x11-libs/libXcomposite abi_x86_32
x11-libs/libXcursor abi_x86_32
x11-libs/libXdamage abi_x86_32
x11-libs/libXdmcp abi_x86_32
x11-libs/libXext abi_x86_32
x11-libs/libXfixes abi_x86_32
x11-libs/libXft abi_x86_32
x11-libs/libXi abi_x86_32
x11-libs/libXinerama abi_x86_32
x11-libs/libXrandr abi_x86_32
x11-libs/libXrender abi_x86_32
x11-libs/libXxf86vm abi_x86_32
x11-libs/libdrm abi_x86_32
x11-libs/libpciaccess abi_x86_32
x11-libs/libxcb abi_x86_32
x11-libs/libxshmfence abi_x86_32
x11-libs/pango abi_x86_32
x11-libs/pixman abi_x86_32
x11-proto/damageproto abi_x86_32
x11-proto/dri2proto abi_x86_32
x11-proto/dri3proto abi_x86_32
x11-proto/fixesproto abi_x86_32
x11-proto/glproto abi_x86_32
x11-proto/inputproto abi_x86_32
x11-proto/kbproto abi_x86_32
x11-proto/presentproto abi_x86_32
x11-proto/xcb-proto abi_x86_32
x11-proto/xextproto abi_x86_32
x11-proto/xf86bigfontproto abi_x86_32
x11-proto/xf86driproto abi_x86_32
x11-proto/xf86vidmodeproto abi_x86_32
x11-proto/xproto abi_x86_32
 
# If using proprietary Nvidia drivers, include these as well
media-libs/libglvnd abi_x86_32
x11-drivers/nvidia-drivers abi_x86_32

Az operációs rendszer frissítése:

root #emerge --ask --changed-use --deep @world
Note
A felhasználók körkörös szoftverfüggőségekre hivatkozó hibát kaphatnak a gpm és az ncurses miatt. Ha ez a helyzet, akkor adja hozzá a -gpm értéket a sys-libs/ncurses szoftvercsomaghoz, és frissítse ismét a @world készletet.

Alapértelmezett telepítő

Töltse le és bontsa ki a Steam telepítőt:

user $wget https://repo.steampowered.com/steam/pool/steam/s/steam/steam_1.0.0.78.tar.gz
user $tar -xvzpf steam_1.0.0.*.tar.gz

Futtassa a Steam telepítőt:

user $cd steam-launcher
user $./steam
Note
A ./steam parancs futtatása után libGL hiba jelenhet meg. A megoldásért tekintse meg a Steam/Client troubleshooting leírást.

Ha a Steam kliens összeomlik, akkor próbálja meg futtatni:

user $./steam -textclient

A Steam futtatása a -textclient opcióval szükséges lehet minden alkalommal, amikor a kliens frissíteni szeretne.

Telepítse a fent említett Steam telepítőszkriptet:

root #cp steam /usr/local/bin

A Steam elindítható az alábbi paranccsal:

user $steam

Alternatív telepítő

A következő telepítési módszer szinte teljesen megegyezik a Default installer telepítési módszerrel, azzal a különbséggel, hogy egy alternatív Steam telepítőszkript van használva.

Töltse le a Steam telepítőt, és bontsa ki a szükséges fájlokat.

user $wget https://repo.steampowered.com/steam/pool/steam/s/steam/steam_1.0.0.78.tar.gz
user $tar -xvzf steam_1.0.0.*.tar.gz steam-launcher/bootstraplinux_ubuntu12_32.tar.xz
user $tar -xvzf steam_1.0.0.*.tar.gz steam-launcher/steam.desktop

Töltse le és futtassa Julian Ospald (hasufell) Steam telepítőszkriptjét:

user $cd steam-launcher
user $wget https://gist.githubusercontent.com/hasufell/d02a93eccbe35be7a803/raw/987ea287dc81a60d2eb5fa1bb188eae0a5f1049f/steam
user $chmod +x steam
user $./steam

Ha a telepítő szkript törött szimbolikus linkeket hoz létre, amikor Dash-sel futtatják, akkor futtassa a telepítőszkriptet inkább Bash segítségével:

user $bash ./steam

Chroot

A Steam futtatható egy 64 bites multilib chroot környezetben amd64 architektúrán. A chroot legfőbb előnye, hogy a Steam és annak szoftverfüggőségei izolálva lesznek a gyökérfájlrendszerünktől. A Steam böngésző már nem támogatott 32 bites Linux-disztribúciókon, így csak 64 bites chroot környezet érhető el.[4]

Hozza létre a chroot könyvtárat:

root #mkdir /usr/local/steam64
root #cd /usr/local/steam64

Töltse le, majd csomagolja ki a fokozat 3 (stage 3) tömörített fájlt.

root #wget https://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3-amd64-openrc/stage3-amd64-openrc-20231022T164658Z.tar.xz
root #tar xpvf stage3*.tar.xz --xattrs-include='*.*' --numeric-owner

Másolja a DNS-információkat, és gondoskodjon arról, hogy azok világszerte olvashatók legyenek:

root #cp -L /etc/resolv.conf etc
root #chmod a+r etc/resolv.conf

Hozza létre az ebuild szoftvercsomag-tároló könyvtárát:

root #mkdir var/db/repos/gentoo

Csatolja fel a szükséges fájlrendszereket:

root #mount -t proc /proc proc
root #mount -R /sys sys
root #mount -R /dev dev
root #mount -R /run run
root #mount -R /var/db/repos/gentoo var/db/repos/gentoo

Chrootoljon linux64 segítségével, és frissítse a környezetet. A linux64 használata nem kötelező az amd64 architektúrán, itt csupán az egységesség kedvéért került alkalmazásra.

root #linux64 chroot .
root #env-update && source /etc/profile
root #export PS1="(chroot) $PS1"

A chroot most már frissítve van és megfelelően be lett állítva. Ajánlott legalább az időzóna beállítása és a hangtámogatás engedélyezése a media-libs/alsa-lib szoftvercsomag telepítésével.

Hozza létre a Steam felhasználót ugyanazzal a UID azonosítóval (általában 1000), mint a helyi felhasználó. A helyi UID meghatározható a id -u parancs futtatásával helyi felhasználóként, a chroot környezeten kívül. Ugyanazon UID használata egyszerűsíti az X szerverhez való hozzáférés biztosítását a chroot környezeten belül.

(chroot) root #useradd -u <UID> -m -G audio,video steam

Telepítse a Steam szofvert a fent említett telepítési módszerek valamelyikével. A telepítés befejezése után lépjen ki a chroot környezetből:

(chroot) root #exit

Csatolja le a chroot könyvtárakat:

root #umount -l proc
root #umount -l sys
root #umount -l dev
root #umount -l run
root #umount -l var/db/repos/gentoo

Telepítse az xhost alkalmazást, hogy a chroot környezeten belül hozzáférhessen az X szerverhez:

root #emerge --ask --noreplace x11-apps/xhost

Jelentkezzen ki, majd jelentkezzen be újra. Ez lehetővé teszi, hogy a display manager vagy a xinit feldolgozza a /etc/X11/xinit/xinitrc.d/00-xhost fájlt, és automatikusan engedélyezze az összes helyi kapcsolatot az X szerverhez a helyi UID-tól. Ez nem fog működni, ha a Steam UID eltér a helyi UID-tól. Állítsa be ugyanazt az UID azonosítót a Steam felhasználó létrehozásakor, ahogy azt korábban említettük, vagy ha a Steam felhasználó már létezik, akkor módosítsa a Steam UID azonosítót a usermod -u <UID> steam paranccsal, hogy megfeleljen a helyi UID azonosítónak.

Alternatív megoldásként futtassa a xhost +local: parancsot, hogy engedélyezze az összes helyi kapcsolatot az X szerverhez bármilyen helyi UID azonosítóról. Ez potenciális biztonsági kockázatot jelenthet, mivel bármely felhasználó hitelesítés nélkül hozzáférhet az X szerverhez. A hozzáférés visszavonásához futtassa a xhost -local: parancsot.

Létrehozhatja a következő wrapper szkriptet a chroot beállításához, a Steam felhasználóra történő váltáshoz és a Steam indításához. A wrapper szkript két, a felhasználó által definiált változót tartalmaz: chroot_bits és chroot_dir. A chroot_bits változót 64-re kell állítani egy 64 bites chroot esetében. A chroot_dir változót a chroot könyvtár helyére kell rá állítani.

FILE /usr/local/bin/steam-chroot
#!/bin/sh
 
# steam chroot bits
chroot_bits="64"
 
# steam chroot directory
chroot_dir="/usr/local/steam64/"
 
# check if chroot bits is valid
if [ "${chroot_bits}" = "32" ] ; then
  chroot_arch="linux32"
elif [ "${chroot_bits}" = "64" ] ; then
  chroot_arch="linux64"
else
  printf "Invalid chroot bits value '%s'. Permitted values are '32' and '64'.\n" "${chroot_bits}"
  exit 1
fi
 
# check if the chroot directory exists
if [ ! -d "${chroot_dir}" ] ; then
  printf "The chroot directory '%s' does not exist!\n" "${chroot_dir}"
  exit 1
fi
 
# mount the chroot directories
mount -v -t proc /proc "${chroot_dir}proc"
mount -vR /sys "${chroot_dir}sys"
mount --make-rslave "${chroot_dir}sys"
mount -vR /dev "${chroot_dir}dev"
mount --make-rslave "${chroot_dir}dev"
mount -vR /run "${chroot_dir}run"
mount --make-rslave "${chroot_dir}run"
mount -vR /var/db/repos/gentoo "${chroot_dir}var/db/repos/gentoo"
# the --make-rslave flags are needed for systemd support
 
# chroot, substitute user, and start steam
if [[ -n $( grep systemd /proc/1/comm ) ]]; then
  "${chroot_arch}" unshare -m chroot "${chroot_dir}" su -c 'steam' steam
else
  "${chroot_arch}" chroot "${chroot_dir}" su -c 'steam' steam
fi
# unmount the chroot directories when steam exits
umount -vl "${chroot_dir}proc"
umount -vl "${chroot_dir}sys"
umount -vl "${chroot_dir}dev"
umount -vl "${chroot_dir}run"
umount -vl "${chroot_dir}var/db/repos/gentoo"
Note
A wrapper script felcsatolja a /run könyvtárat, hogy a Steam csatlakozhasson a D-Bus-hoz, ha az a host számítógépen fut. A Steam akkor is működik, ha a D-Bus nincs telepítve, de nem végzetes hibák jelentkeznek a Steam által tartalmazott dev-libs/libappindicator kapcsán. A Steam szoftvernek szüksége van a D-Bus-ra, amennyiben Ön a "Jegyezze meg a jelszavam" opciót választja a Steam bejelentkezési párbeszédablakában. További részletekért tekintse meg a client troubleshooting részt.

Tegye futtathatóvá a wrapper szkriptet:

root #chmod +x /usr/local/bin/steam-chroot

Futtassa a wrapper szkriptet root jogosultsággal a Steam elindításához:

root #steam-chroot

Systemd és chroot

Amikor a host operációs rendszer systemd init rendszerrel működik, akkor a nyers chroot nem elegendő. Ehelyett az unshare -m chroot parancsot kell használni. Valójában a fent említett wrapper script támogatja ezt az esetet.

Magyarázat: Nyers chroot használata esetén a Steam kliens nem fut, hanem azt jelzi, hogy "A Steam most azt követeli meg, hogy a felhasználói névterek engedélyezve legyenek." Ennek érdekében a Steam teszteli, hogy a bwrap --bind / / true parancs sikeres-e. (Ehhez szükséges, hogy a bwrap setuid-re legyen állítva.) A bwrap belsőleg meghívja a pivot_root (2) funkciót, amelynek feltételei "/"-val nem teljesülnek systemd alatt. Az unshare használatával azonban a névtér elválik, és így a dolgok működnek.

Easy Anti Cheat támogatás

Mivel a DT_HASH alapértelmezés szerint nincs engedélyezve a glibc 2.36 óta, ezért a következő lépéseket kell alkalmazni annak érdekében, hogy az EAC játékok működjenek:

FILE /etc/portage/package.use/glibc
sys-libs/glibc hash-sysv-compat
root #emerge -1 sys-libs/glibc

Eltávolítás

Kézi telepítés eltávolítása

Steam szoftverfüggőségeinek az eltávolítása:

root #emerge --deselect @steam
root #emerge --ask --depclean

Távolítsa el a Steam futtatható fájlt és a Portage beállítást:

root #rm /usr/bin/steam
root #rm /etc/portage/sets/steam
root #rm -rf /etc/portage/package.*/steam

Távolítsa el a Steam könyvtárat a felhasználói fiókból:

user $rm -rf ~/.local/share/Steam

Külső szoftvercsomag-tárolóból telepített szoftvercsomag eltávolítása

Távolítsa el a steam-launcher ebuild-et:

root #emerge --ask --depclean --verbose games-util/steam-launcher

Hibaelhárítás

A leggyakoribb játékokkal kapcsolatos problémák megoldhatók a stack-realign USE jelölőzászló engedélyezésével a sys-libs/glibc szoftvercsomagon, majd a @world set újrafordításával. Érdemes ezt a módosítást elvégezni, mint az első hibaelhárítási lépést.

Egyes Steam és játékokkal kapcsolatos hibaelhárítások elérhetőek a Steam/Client troubleshooting és a Steam/Games troubleshooting aloldalakon.

Ha a protonon keresztül szeretne játékokat játszani, akkor ne felejtse el hozzáadni a vulkan USE jelölőzászlót a media-libs/mesa szoftvercsomaghoz.

A legjobb hely segítséget kérni a Steam szál a Gentoo Fórumokon. Ha egy probléma megoldását mások is megerősítik, akkor adja hozzá ezt az oldalhoz vagy a megfelelő hibaelhárítási aloldalhoz. Kérjük, ne távolítson el tartalmat megbeszélés nélkül, kivéve, ha az egyértelműen hibás.

További olvasnivaló a témában

Külső források

Hivatkozások