Linux áttekintés
A Steam Linuxos változata már minden Steam felhasználónak elérhető. A Linuxot támogató játékok növekvő listájával és aktív Linuxos Steam közösségi csoporttal megfelelő az idő játékod Linuxra portolásához.
Windows vagy macOS környezetből érkező fejlesztők számára kihívást jelenthet Linuxos játék fejlesztése Steamre. A következő információk segíteni fognak játékod sikeres portolásában Linuxos Steamre.
Első lépések
Játékod összeállítása Linuxon az alábbiakat igényli:
- Egy teljesen naprakész Linux verziót futtató fejlesztői gép. Ez lehet kettős rendszerindításos, dedikált Linuxos, vagy akár Linuxot futtató virtuális gép is. Továbbá, a fejlesztés mind 32, mind 64 bites Linux disztribúciókon támogatott. A javasolt Linux disztribúció a legújabb Ubuntu LTS kiadása, mivel a Valve és a Linux közösség azokat teszteli a leginkább. Az Ubuntu innen telepíthető.
- A Linuxos Steam kliens.
- Az alap Linuxos fejlesztőeszköz-készlet (pl. g++, gcc, és egy make eszköz), amit a build-essential csomag tartalmaz. Telepítsd ezt a csomagot vagy az Ubuntu Software Center, vagy egy terminálablakban az apt-get parancs használatával: sudo apt-get install build-essential.
- A Steam Linux Runtime legújabb verziója, ami tartalmazza a Linuxos játékok Steamen kiadásához szükséges eszközöket és a könyvtárak teljes készletét. Útmutatást a runtime használatához a lerakatban levő README.md tartalmaz.
Ha általánosságban vannak Linuxos Steamworks kérdéseid, vagy problémát akarsz jelenteni a runtime-mal, kérjük, csatlakozz a Steamworks Development csoporthoz, és tedd közzé a Linux témákban.
Linux eszközök
Rendkívül sok Linuxos fejlesztőeszköz létezik, a parancssori interfészektől kezdve a grafikus fejlesztői IDE-kig. A következő információk a Valve Linuxos csapatának tapasztalatain alapulnak.
Windowsos fejlesztői eszköztapasztalattal rendelkezőknek a legkönnyebb út a Linuxos fejlesztéshez a Visual Studio Windowson és a
WinGDB, egy olyan Visual C++ bővítmény, amely lehetővé teszi távoli Linux folyamatok hibakeresését a Visual Studio hibakereső kezelőfelületének használatával.
A Linuxon fejlesztéshez a Valve Linuxos csapata a következő eszközöket használta:
- QtCreator – hibakereső és IDE ismerős Visual Studio billentyű-hozzárendeléssel.
- SlickEdit – alap, konfigurálható grafikus kezelőfelület, felhasználó definiálta billentyű-hozzárendelésekkel.
- gdb – népszerű parancssori hibakereső.
- cgdb – wrapper a gdb-hez, ami végrehajtás során osztott képernyős nézetben mutatja a jelenlegi helyet a forráskódban.
- Eclipse – egy másik IDE, ami konfigurálható Linuxos fejlesztéshez. Windowsra, macOS-re és Linuxra
érhető el.
- vim – alapszintű parancssori szövegszerkesztő.
A Valve Linuxos csapata a következő hibakereső és nyomkövető eszközöket használta:
- QtCreator – lásd fentebb.
- Symbol Servers.
- PerfStudio – teljes funkcionalitású, keretalapú hibakereső
API-nyomkövetéssel AMD videokártyákon futó játékokhoz. Windowsra érhető el.
- Telemetry – teljes funkcionalitású profilozó videokártyákon futó játékokhoz. Linuxra, Windowsra és macOS-re
érhető el.
- gDEBugger – OpenGL kód hibakeresésére, profilozására és elemzésére alkalmas hibakereső. Az aktív fejlesztés
CodeXL-re váltott.
- perf – parancssori eszköz különféle teljesítményfunkciókkal. Linuxra érhető el.
- NVIDIA Nsight – bővítmény a Visual Studióhoz NVIDIA videokártyán futó játékok
hibakereséséhez.
- lTTng – Linuxos nyomkövető eszköz.
- Az apitrace projekt – a játékodból érkező OpenGL és OpenGL ES hívások nyomkövetésére és visszajátszására szolgáló eszköz.
- Zoom – CPU profilozó hatékony és barátságos kezelőfelülettel.
Linux API-k
A nagy teljesítményű grafikai képalkotáshoz a
Vulkan az előnyben részesített könyvtár. Ez a DirectX 12 és a Metal nyílt megfelelője.
A grafikai képalkotás régebbi szabványa az
OpenGL volt. A játékok többsége közvetlen OpenGL hívásokat végez, de vannak más játékok, amelyek fordításos módszert használnak, ahol a hagyományos képalkotó kódot fordítják le OpenGL hívásokra. Ez az a megközelítés, amit a Valve régebbi Source-os játékai, mint a Team Fortress 2 és a Counter-Strike: Source használnak. Ha az OpenGL-t választod, javasoljuk, hogy játékodhoz az OpenGL 3.0-ban megtalálható alapfunkciókat használd.
A Simple DirectMedia Layer (SDL) 2.0-ás verziója alacsony szintű hozzáférést biztosít többek között a hangrendszerhez és az ablakkezeléshez. A 3D képalkotási támogatás OpenGL használatával biztosított. A telepítési útmutatás
itt található. További információkért és a dokumentációért lásd az
SDL wikit. A Valve ezt használja a Steamben és játékaink többségében ablakkezelésre, és ez adja azt a háttérszolgáltatást, ami a
Steam Bevitel API-t működteti.
A következő könyvtárak a játékfejlesztés más aspektusaihoz nyújtanak támogatást:
- FreeType – betűkészlet-megjelenítés (vektoros és bitmapes egyaránt) Linuxon.
- Fontconfig – betűkészlet-hozzáférés konfigurálása és testreszabása.
- Miles Sound System – közbülső hangmotor Linuxos fejlesztéshez.
- Bink Video – játékfejlesztőknek tervezett videókodek.
- WebM – nyílt médiafájl-formátum; QuickTime helyett ezt használjuk Team Fortress 2 videók rögzítéséhez.
GitHub lerakatok
A következő lerakatok nyilvánosak, és a Linuxos Steamhez kapcsolódó projektekhez használják őket: