Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 80 reacties

Valve heeft de vertaallaag die het bedrijf zelf gebruikt voor veel van zijn Linux-ports openbaar gemaakt. 'ToGL' wordt niet officieel ondersteund door Valve en is niet zomaar te gebruiken, maar kan toch nuttig zijn voor ontwikkelaars van Linux-ports.

OpenGL logoPierre-Loup Griffais van Valve maakte op GitHub bekend dat de vertaallaag nu opensource is. Het onderdeel is direct uit de broncode van Dota 2 gehaald en ondersteunt volgens Griffais een beperkt deel van DirectX 9.0c. Ook kan bytecode  van hlsl naar glsl worden vertaald en wordt het Shader Model 3.0 ondersteund. Er zitten wel nog enkele Source Engine-elementen in de code verwerkt die er nog uitgehaald zouden moeten worden.

Valve zet zelf hoog in op Linux. Zo zijn Linux-ports van Portal 2 en Counter-Strike: Global Offensive in de maak, en is verder praktisch iedere game van Valve naar Linux geport. Ook is Valve bezig aan zijn eigen besturingssysteem: SteamOS. Gabe Newell heeft in het verleden al gesteld dat Linux en opensource de toekomst van het gaming zijn, dus deze zet van Valve is niet helemaal een verrassing; games die met behulp van deze vertaallaag geport kunnen worden naar OpenGL kunnen meteen terecht op Valves SteamOS, dat op Linux en OpenGL draait.

Moderatie-faq Wijzig weergave

Reacties (80)

Gaaf, hoop dat 2014 het jaar van linux gamen word
Kort, nee.
lang, nee.

Er moet wel heeel veel meer gebeuren dan enkel conversietooltje.
Pff, ik game al flink met de Linuxclient van Steam. Ik snap niet waar dat soort reacties vandaan komen, ik heb gewoon nergens last van. Serieus, wat is 'het' probleem?

Als het geen stelselmatige dealbreaker is dan telt het niet. Windows heeft net zoveel problemen. Het mooiste probleem (ervaring 2013) vind ik dat wanneer die nVidia driver hoog en laag loopt te falen bij het installeren van de zelf aangeboden update, het advies op een gegeven moment is: Dan moet je Windows maar opnieuw installeren. 8)7

In zowel mijn eigen ervaring als die van Gabe Newell doet Linux niet onder voor Windows qua game-ervaring (van ondersteunde games).

@Umbrah: Unity, KDE, Gnome, XFCE, LMDE, Cinnamon.. ze draaien allemaal de zelfde binaries van de zelfde spellen. Het zijn desktop managers en ze hebben niets te maken met wat er in een OpenGL venster (games zijn meestal toch fullscreen maar soit) gebeurt. Keuzevrijheid is een irrelevant argument bij het verhaal over gamen op Linux. Die package managers heb je ook niets mee te maken als je eenmaal Steam hebt geinstalleerd.

[Reactie gewijzigd door Redsandro op 11 maart 2014 22:39]

Dus een specifieke driver van een hardwarefabrikant niet fantsoenlijk wil installeren op jouw OS, en als de leverancier van de driver zegt; installeer je OS maar opnieuw, ligt het aan de OS leverancier? Okay..
Ik heb het niet over leveranciers. Ik heb het over de game-ervaring op Windows versus Linux.

Als de user waarop ik reageer zegt Linux: Nee, want er moet veel gebeuren, dan kaart ik alleen maar even aan dat in mijn ervaring Windows onhandiger is, en dan vind ik het verder niet zo interessant of dat nu aan Windows ligt of een hardwarefabrikant die 62% (2013) van de gamermarkt van drivers voorziet.

Maar nu je er over begint, als ik in Ubuntu alleen maar een vinkje hoef te zetten en ik draai ook opeens de officiële proprietary nVidia driver, dan krijg ik het gevoel dat Windows hier inderdaad de foutgevoeligere omgeving is.
Windows heeft net zoveel problemen. Het mooiste probleem (ervaring 2013) vind ik dat wanneer die nVidia driver hoog en laag loopt te falen bij het installeren van de zelf aangeboden update, het advies op een gegeven moment is: Dan moet je Windows maar opnieuw installeren
Dit ligt niet aan Windows, maar aan incompetent personeel bij nVidia die niet weten hoe men een installer scrhijft. Was eerder gebleken uit Nederlandse placeholder tekst á la "Wat moest hier ook alweer komen, Henk?"
Wat een onzinnige reactie. Net een potje Heartstone (Blizzard game) afgesloten, draait perfect op Ubuntu 12.04. Verder werken alle games die ik speel flawless onder Linux.

Verder werken al Blizzards games prima onder Linux... studio's kunnen zonder veel meerkosten best een Linux versie uitbrengen, maar dan moet wel de wil er zijn. En ergens zal een start gemaakt moeten worden.
1,3% van de Steam gebruikers draait nu Linux volgens de Steam website. Dat lijkt weing, maar aangezien Valve laatst aangekondigd heeft dat ze 75 miljoen gebruikers hebben is dat toch een miljoen gebruikers. Daarbij komt nog de lancering van Steam Machines met SteamOS in de herfst, wat ook gewoon Linux is. Er zijn dus zat gebruikers om het porten van een game het waard te maken als het niet te veel kost.

Daarbij komt nog dat er meerdere freelancers zijn als Icculus en Ethan Lee die games porten naar Linux in een paar dagen/weken voor een klein bedrag. Als je met een investering van 10 ruggen nu 1 miljoen potentiële klanten erbij krijgt en in de toekomst nog veel meer, dan lijkt mij dat niet zo'n hele moeilijke keuze.

Dat Crytek, Valve, Croteam en Nordic Games het waard vinden om hun games naar Linux te porten zegt eigenlijk al genoeg. Maar indie developer hebben aangegeven dat hun Linux port het geld waard was, sommige verkopen bijna net zoveel aan Linux gebruikers dan aan Mac gebruikers:
http://www.gamingonlinux....-multiple-developers.2963
http://gamingonlinux.com/...le-developers-part-2.3015

Ook betalen bij de Humble Bundle de Linux gebruikers vrijwel altijd het meest per persoon:
http://support.humblebund...1-prior-bundle-statistics

De toekomst ziet er goed uit voor Linux gaming, grootschalige adoptie is hier niet eens voor nodig. Het helpt natuurlijk wel.

Sources:
http://store.steampowered.com/hwsurvey
http://www.joystiq.com/20...ve-announces-at-dev-days/

[Reactie gewijzigd door sharkwouter op 13 maart 2014 20:51]

O.a. moet Linux eens Linux worden, tot aan GUI level aan toe, "vroegah" had je de keuze Unity of KDE, en RPM of DEB... de keuze is nog meer reuze nu, met Android, Unity, XFCE, SteamOS die nog meer keuze bieden. Weyland, Mir & X-Window server d'r ook nog bij, en kortom, alles kan gecombineerd worden, en je kan niet zomaar zeggen: "we gaan dit spelletje deployen & ondersteunen onder linux". Welke package manager/kernel/architectuur?

Er moet een Linux komen, voordat linux gaming gaat komen. Is SteamOS die Linux? Wie weet... het lockt je echter nogal in de gaming-rol misschien... terwijl concurrerende OS-en (MacOS en Windows) "alles" doen en dat uniforme al wel hebben (hoewel Mac-gaming door de wisselende kwaliteit grafische kaarten soms ook een dooie eend is).
Ik heb het idee dat je niet weet wat Linux is! :z Linux is alleen de monolithische kernel. Hier om heen kun je doen en laten wat je wilt. Deze kernel is op elk apparaat op basisniveau hetzelfde (behalve Android) alleen verder dan dat dus niet.

In mijn optiek hoeft er niet zo zeer een "Linux" te komen, elke distro heeft vaak zijn eigen kracht en heeft een eigen doel. SteamOS is alleen bedoeld voor gaming, niet voor browsen/programmeren/server/etc. Ubuntu voor het grote publiek, Xface voor slomere machines en LXDE voor nog slomere machines.
Waar ik wel mee eens ben, dat de Linux community meer hun krachten moeten gaan bundelen in plaats van eigenwijs gaan doen. (neem het hele displayserververhaal) Ook al zorgt die eigenwijsheid ook voor innovatie!
linux heeft GEEN monolitische kernel!
Het drivermodule model doorbreekt dit.
mwoah, de modules zijn gewoon modules die in kernel space draaien. Essentie van een monolitische kernel versus een microkernel: alles draait in kernel space, versus het minimaal noodzakelijke draait in kernel space. Loadable modules maken hierin niets uit. Zie ook wikipedia
heeft ook te maken met de wijze waarop je de kernel compileert.. monolithic is daarnaast een lang lopende discussie over nut en onnut.

Zie bijv: http://www.linfo.org/kernel.html
Er is hier allang wat voor. Dat is de Linux Standard Base. En voor games heb je dan ook nog SDL en OpenGL. Het enige nadeel is dat een onervaren programmeur makkelijk distro-specifiek programmeert, dus praat met Unity i.p.v. SDL. Maar als je als programmeur de standaard/generieke libraries gebuikt die op bijna alle systemen te vinden zijn kan er weinig verkeerd gaan.
Inderdaad, ik gebruik zelf ook SDL en programmeer op Windows. Een keer per maand doe ik even onderhoud aan de Linux port, maar dat is eigenlijk alleen een kwestie van even kijken of het nog compiled.

Als ik het straks naar OS-X, Android of iOS wil porten zal ik daar waarschijnlijk ook maar een middagje mee bezig zijn.

Gewoon bij alles de vragen stellen, 'is dit OS onafhankelijk' en 'is dit CPU onafhankelijk' en dan ben je er meestal al. Laat SDL maar de platform specifieke dingen regelen.
Grappig, exact hetzelfde hier. Op 2 of 3 #ifdef __linux__'jes e.d. na is het gewoon dezelfde code die compileert. Met dank aan OpenGL, SDL, OpenAL, mingw32, etc.. geen enkel probleem :)
MinGW is niet eens nodig, ik compile het gewoon met Visual Studio. Met OpenGL heb je helaas nog steeds wel het probleem met GLES op mobiele platforms, hopen dat die binnenkort ook de 'volledige versie' van OpenGL gaan krijgen.
Euhm, je post toont vooral aan dat je weinig van Linux af kent. In principe kan je je volledig software pakket schrijven zonder dat je ook maar iets moet weten van het doelplatform. Dat doet alleen niemand omdat het geen goede praktijk is. De keuze van de distributie, de desktop manager, de window manager, ... mag allemaal niets uitmaken. Pakketbeheer zit vast aan de distributie maar iedereen kan software distribueren buiten het pakketbeheer om. Er zijn ook installatiewizards onder linux mogelijk die de software er zo op kunnen zetten.

Steam zelf is net een pracht van een voorbeeld. De linux versie is gebouwd voor 1 enkel specifiek platform. Namelijk Ubuntu, toch werkt steam en zijn games op zowat alle gangbare distributies zonder dat Valve zich daar op heeft moeten concentreren.

Er is dus, ondanks de keuzevrijheid de je als gebruiker hebt, vandaag al enorm veel gestandariseerd onder linux.
Ow dat was het al lang.. Er zijn nog nooit zo veel redelijk grote titels naar Linux gekomen als dit jaar!
Tevens zijn er tientallen nieuwsberichten geweest dat alle grote game studio's hun Game Engines aan het porten zijn om te kunnen werken op Linux. Ik heb er al heel veel voorbij zien gaan.

Het heeft nog een beetje zijn tijd nodig voordat deze Engines ook daadwerkelijk werken. Maar als ze eenmaal werken kan het keihard gaan met gaming in de Linux wereld.
De Linux Foundation zou een prijs moeten uitkeren aan Valve voor deze uitstekende bijdrage aan linux en de gemeenschap.
Voor Valve is dit voornamelijk een grote bijdrage aan hun eigen omzet en winst (niks mis mee het is een bedrijf tenslotte). Die grote prijs halen ze op die manier zelf al binnen.

Misschien zou Valve een hele dikke dankjewel naar de Linux foundation moeten sturen voor het mede helpen dit mogelijk te maken.
Dat is het toch al sinds Android gemeengoed is geworden? Aangezien die ook Linux als kernel gebruikt :)
Het klinkt een beetje als een sub optimale workaround.
Als dat echt zo is, waarom gebruikt Valve het dan met zulke goede resultaten?
Van Direct3D naar OpenGL vertalen, gaat zo'n code niet enorm veel van de performance gaan wegsnoepen aangezien het uiteindelijk toch niet meer dan een 'direct 3D emulator' is of zie ik het daar verkeerd?
Het emuleert niet, het vertaald de API calls rechtstreeks. Performance valt op die manier best wel mee. Zo werkt WINE op Linux ook min of meer.
het vertaald de API calls rechtstreeks.
Dat klinkt eenvoudiger dan dat het is, OpenGL en DirectX werken wezenlijk anders. Je kan niet zomaar een DirectX API call naar OpenGL vertalen.
Ik neem aan dat het vertalen door je CPU gedaan wordt en dat het echte werk gewoon door je grafische kaart gedaan wordt. Het zal vast wel iets aan performance kosten maar als je ziet hoe goed DOTA2 draait kan het niet echt veel zijn.
Behalve dat dx 9 erg oud is en slechtere performance heeft als dx 11 wegens slechte multithreading support.
Ik geloof niet direct in een doorbraak van linux, alhoewel met bijv ubuntu de gemiddelde gebruiker zich al een eind kan redden, is het toch nog meer voor de hobbiest. Het komt gewoon nog veel te vaak voor dat je de command line nodig hebt, nou, en dat zie ik niemand meer doen die niet is opgegroeid met ms-dos.

En puur als console -steambox- geloof ik ook niet, want nintendo,ms en sony haal je pas in met een enorm games aanbod tegen -al met al- een lagere prijs.
Ik geloof niet direct in een doorbraak van linux, alhoewel met bijv ubuntu de gemiddelde gebruiker zich al een eind kan redden, is het toch nog meer voor de hobbiest. Het komt gewoon nog veel te vaak voor dat je de command line nodig hebt, nou, en dat zie ik niemand meer doen die niet is opgegroeid met ms-dos.
Misschien heb je gelijk maar het wordt steeds minder relevant. Desktopsystemen worden steeds minder belangrijk en we gaan (helaas) steeds meer richting gespecialiseerde systemen. Kijk bijvoorbeeld naar Android. Dat is ook Linux, maar totaal anders dan de desktopsystemen en als gebruiker heb je maar weing te maken met het onderliggende systeem. Van SteamOS verwacht ik ook zo iets. De gemiddelde gebruiker boeit het niet wat voor OS er onder zit als Steam maar werkt.
En puur als console -steambox- geloof ik ook niet, want nintendo,ms en sony haal je pas in met een enorm games aanbod tegen -al met al- een lagere prijs.
De prijs zal het probleem niet zijn, wat dat betreft wint Steam het makkelijk van de concurrentie. Toen de nieuwste versies van de xbox en de ps uitkwamen was er ook niet meer dan een handvol spellen beschikbaar, voor SteamOS zijn er nu al een paar honderd te krijgen. Weliswaar voornamelijk kleine indiegames maar alles bij elkaar is het al best veel. Valve heeft ook de juiste achtergrond om een plekje voor zichzelf te veroveren. Het zal niet makkelijk worden, maar ik geef ze best een kans.
Zelfs al kost een Steambox minder dan de concurenten en zelfs al zijn er voldoende AAA games voor te krijgen, dan nog zal de verkoop een probleem worden. De retailers halen net zoals de console-makers hun winst uit verkoop van games, niet uit de verkoop van de console. En bij de steambox zullen (bijna) alle games online worden gekocht via steam zelf wat tot gevolg heeft dat de retailers de steambox niet in de schappen zullen zetten.
Je moet de Steambox niet vergelijken met een Console maar gewoon met een PC

een Steambox gaat ook echt niet met verlies verkocht worden, en het verdien model van de Steambox is niet de verkoop van games, net zo min dat bij een PC zo is
Er zijn voldoende distributies waarin je de CLI helemaal niet meer nodig hebt. Enkel als het zwaar misloopt kom je er nog op terecht. Maar dan heb je net het geluk dat die CLI er is, onder windows kan je het helemaal vergeten de moment dat Murphy daar passeerd.

En dos is speelgoed in vergelijking met een bash. Iemand met kennis van DOS zal echt niet ver komen op een *nix CLI.
Je moet Bash ook niet met DOS/CMD vergelijken maar met PowerShell. Je kan Notepad ook niet vergelijken met Writer van LibreOffice. DOS is eigenlijk sinds MSDOS 6.22 niet wezenlijk veranderd, er is denk ik zelfs eerder functionaliteit verdwenen.
Dat weet ik wel, en mede mensen hier op tweakers, maar de gemiddelde gebruiker kent alleen linux, windows en mac. Die weet niet dat er een half miljoen linux distributies zijn die allemaal net wat anders zijn. En waar software vaak dan ook net even anders op werkt of geinstalleerd dient te worden.
De CLI is juist heel erg krachtig, de mogelijkheden zijn eindeloos! Denk alleen al eens aan het pipen van data tussen verschillende programma's. Nu ben ik misschien niet helemaal representatief, ik heb namelijk nog met DOS gewerkt :P.
De CLI is juist heel erg krachtig,
De CLI is idd erg krachtig, maar vooral nuttig voor systeembeheer en voor als je om andere redenen batch scripts moet schrijven. 'Jan met de Pet' heeft er niet veel aan. Daarvoor is de CLI alleen maar onhandig. 'Jan met de Pet' wil click, click, next > next > finish. Ook al is dat technisch gezien sub optimaal en kost het een minuut extra van zijn leven.
Dat laatste is dus onzin. Met de nieuwe consoles beginnen zowel MS als Sony weer van voor af aan wat betreft games aanbod. Weliswaar zitten er goede exclusives bij en al redelijk wat AAA titels, maar het staat in schril contrast met het games aanbod wat je op de pc kunt vinden.
Hmm, zit je een beetje door de source te bladeren, kom je dit tegen :+
Dit is code van Valve, geen community project met vrijwilligers :P

// hacky scanning of this string, because I don't want to spend
// time breaking it into a vector like I should have.


@Themperror Stelletje grappenmakers zijn het bij Valve :9

[Reactie gewijzigd door Eloy op 11 maart 2014 22:44]

Tja, en dan heb je ook nog devvers die geen commentaar neerzetten en dan vraag je je af wat daar nu eigenlijk gebeurt, en waarom.

Het is een stukje code voor intern gebruik bij Valve voor een spel waarvan het niet de bedoeling was er een api van te maken. Je kan helaas niet altijd de tijd nemen om 100% mooie code te maken hoe graag je dat ook wilt. Dan ben ik toch blij dat er ten minste een regel eerlijk commentaar staat.

[Reactie gewijzigd door Durandal op 11 maart 2014 23:07]

precies. voor mijn werk heb ik al veel te vaak code moeten schrijven waar ik even een
#ik weet dat het vies is, sorry aan degene die na mij komt
neer heb moeten zetten.
Erg grappig om als dev tegen te komen, moet ook maar eens gaan bladeren

ToGL / public / togl / linuxwin / glmdisplay.h

lijn 25

[Reactie gewijzigd door Themperror op 11 maart 2014 22:21]

Slimme zet van Valve. Natuurlijk willen en kunnen ze op deze manier proberen om meer developers spellen voor Linux en dus hun eigen Steambox te laten maken. Erg slim dat ze dan de developers een handje helpen met zo'n open source vertaallaag.
Counter strike global operations.. Really?

Ik kan dit soort ontwikkelingen alleen maar aanmoedigen :). Ben benieuwd waar linux staat over +- 2 jaar.
Dit zijn van die nieuwsberichten waar ik zo blij van wordt! Dit is een ontzettend goede stap in de juiste richting! Go Linux! Go Valve! Go Gabe!
Valve is goed bezig voor de Linux gaming console en desktop!!
*kleine correctie. Het is niet Counter-Strike: Global Operations maar, Counter-Strike: Global Offensive
Goede zet dit. Ik denk dat veel ontwikkelaars er tegenop zien om tijd en geld te investeren in het leren van het programmeren met OpenGL.

Misschien kan Valve trouwens beter een developers forum (of iets dergelijks) opzetten waarin elke Game Studio op Steam toegang toe heeft. In dit forum kan Valve best practices presenteren en bespreken met andere developers. Plus zouden developers direct vragen kunnen stellen aan Valve en anderen.
Mooie zet. Met deze actie wordt het een stuk makkelijker voor developers van bestaande games om ook Linux ports te maken. Als Valve wil dat er meer Linux games komen is dat natuurlijk wel verdraaid handig.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True