Skrivet av Yoshman:
Fast man måste väl hålla isär API och drivrutiner?
På Windows stödjer Nvidia, likt AMD och Intel, DirectX, Vulkan, OpenGL och OpenCL. På Linux stöds Vulkan, OpenGL och OpenCL. Utöver det stödjer även Nvidia sitt eget CUDA (som jämfört med tågvraket OpenCL är en dröm att jobba med) och Intel har även gjort en SyCL till CUDA brygga så man kan köra OneAPI på Nvidia GPUer (är inte helt säker på om det är Linux only eller Windows+Linux).
Att Nvidia implementerar alla dessa APIer, där DirectX och CUDA är proprietära och övriga öppna, med stängda drivare borde för majoriteten av datoranvändarna vara totalt irrelevant. Enda som spelar någon roll är hur bra/dåligt det hela stödjer de applikationer man vill köra.
Så är inte där skon klämmer för bättre spelstöd på Linux.
Huvudproblem #1 är att DirectX är överlägset mest använda API för spel och det är Windows-only.
Huvudproblem #2 är att utan större mängd testning spelar det faktiskt ingen roll hur bra man lyckats implementera APIer. Enda användarna bryr sig om är hur väl helheten fungerar. Applikationer har likt drivare, OS etc, också buggar, men i väl testade fall tenderar två fel hyfsat ofta bli ett ganska nära ett rätt (användaren märker ofta inte buggarna).
Där ligger största problemet för Linux: utan kritisk massa kommer få lägga resurser på att testa, om "ingen" testar blir upplevelsen lidande så användarna väljer andra (för dem bättre) lösningar.
För att hålla sig till spel är Unreal Engine ett väldigt målande exempel. Där finns stöd för Windows, MacOS och Linux både för editorn och för det som utvecklas. Editorn är långt mer använd i Windows än i MacOS som är långt mer använd (måste ju användas för iOS...) än för Linux. Det går att starta editorn under Linux, men den är i praktiken rätt värdelös att jobba i just nu (oavsett GPU).
Folk har lyckats göra spel med UE4 som fungerar helt OK under Linux. Tror Android är en stor hjälp här, UE4 fungerar riktigt bra både till Android (OpenGL ES alt. Vulkan) och iOS (Metal). Så stora skillnaden mellan editor och producerat spel under Linux handlar helt om att den senare faktiskt är något folk testar och bryr sig om medan "ingen" ser det första fallet som relevant (det trots att allt stöd finns på plats rent logiskt!).
Så ur det läget spelar det rätt liten roll att PS5 råkar vara BSD-baserat, det är ungefär lika mycket hjälp för Linux som att MacOS och iOS är en UNIX: det har inte exakt noll påverkan på Linux, men är tyvärr rätt nära noll påverkan då testing på de plattformarna inte är superrelevant för testing på Linux.
Intel har samma problem på Windows: de kan göra världens bästa DirectX drivare (om "bäst" betyder: bäst följer Microsoft DX specifikation), slutanvändarna kommer ändå få en bättre upplevelse med Nvidia/AMD så länge som spelutvecklarna i praktiken bara testar på sådana system. Spel har buggar, buggar som med "rätt" fel i drivers kan bli osynliga för slutanvändare.
Inget av det har med öppen vs stängd programvara att göra, det har med hur man testar saker som en helhet! Vilket tyvärr medför att Proton i närtid är en cool teknik, men det kommer inte ge en lika bra upplevelse som man får under Windows
Måste och måste?
Det är väl svårt att argumentera för- och nackdelar med Open Source när vi enbart har teknikerna i en stöpning, dvs. proprietärt från nVidia.
Denna artikel tyckte jag verkade intressant:
https://www.tomshardware.com/news/radeon-rx-6700-xt-works-wit...
Om nu en person kan åstadkomma detta, mycket tack vare Open Source tekniker, att "reverse enigeera" propritär teknik hade troligtvis tagit rätt mycket längre tid, så vill jag ju hävda att det kan komma att bli en rätt spännande framtid då liknande projekt växer fram.
Det krävs att företag OCH privatpersoner ser en plattform som gångbar. Prismässigt är väl inte SiFive's plattform någon lättillgänglig produkt att få tag på, till skillnad från ex. Raspberry Pi.
Lite som Torvalds resonemang kring vad som gjorde just PC:n (x86) till den ledande plattformen i dagsläget, dvs. att fler adopterar den, lägger ner tid på den och testar den som du säger, men också utvecklar på den då stödet från både bransch, utvecklare och företag finns.
Nu kanske vi tar den här diskussionen lite ytterligare off-topic från tråden...
Är absolut positiv till Intels satsningar och att de kanske numera blir en GPU spelare att räkna med också. Jag vill gärna se lite compute kort som inte nödvändigtvis tar upp 3 kortplatser och drar 300W+.
Radeon R9 Nano var ett kort som faktiskt såg ut som en potentiell förändrare kring högpresterande men ändå lägre watt och mindre skrymmande produkter, tyvärr blev den förhoppningen oerhört kortlivad med facit i hand.
Intel har ju här en möjlighet att förändra och skapa nya marknader hos x86 men kanske i en förlängning andra plattformar också, något som jag tror att företag som AMD inte alls har haft resurser till att prioritera, varesig tidigare eller nu.
Att Intel dessutom har en väsentligt bättre Open Source strategi är naturligtvis inget jag ser som en nackdel heller, ofta är det därför jag brukar ta upp just nVidias proprietära koloss som är en total motsats, där lyser väl det mesta i det läget med sin frånvaro på konsument-sidan, däremot på CUDA-sidan har de mängder med öppna applikationer att erbjuda, dock är de väl hårt knutna till just CUDA som i sig är proprietärt.
Unreal Engine är helt klart ett exempel, har spelat många spel på Linux som använder sig av just den motorn (olika versioner av den) och Unreal-serien är sedan begynnelsen en av mina personliga favoriter.
Spelen fungerar för det mesta riktigt bra, dock är det få som har någon form av native build, anledningen till att de fungerar såpass bra brukar bero på just hur mycket tid, energi och resurser andra (läs: utomstående, inte utvecklaren.) lagt ner på att få det till den grad av spelabarhet som är möjligt idag.
Utvecklaren brukar tyvärr vara just dem som lägger ned support för Linux (om det någon gång ens existerat) efter att de först har annonserat ut det, och inte sällen kommer Linux versionen 1-5 år senare efter att spelet lanserats, om den (Linux versionen) nu inte läggs på is för evigt innan det lanseras.
Så sett till det är Open Source snarare en nödvändighet för den adoptionen, om alla skall tvingas uppfinna hjulet på varsitt håll lär ingenting lämna ritbordet.
För trots att Unreal Engine har stöd för Linux är det väl ingenting som EPIC själva ens bryr sig om?
Deras hypade EGS har väl exakt noll stöd för Linux-plattformen dessutom, även om nu deras Unreal Engine har stöd för det.
Lite som att säga att: "Vi har stödet, men det är inget vi stöder, -eller använder, så egentligen vet vi inte varför vi lägger ner tid på det."
Så det lär ju inte heller funka som någon direkt vägvisare eller motivator till vad som faktiskt är möjligt eller tillgängligt på Linux-fronten till att börja med.
Vidare brukar det skapas launchers och stores för det vilda på Windows-sidan som gör det till en barnlek att installera spelen utanför Windows egna Store.
Men skall man se till möjligheterna på Linux sidan så verkar det vara totalt omöjligt att skapa launchers och stores där om det nu är konsumenterna man är ute efter, enbart ett företag kan tydligen lyckas med detta: Steam. -GOG har väl iofs. någon beta-klient som nu är inne på sitt 2:a 3:e år?
I det läget kanske det är företagen (Som EPIC, EA, Bethesda) själva som måste bjuda till en aning då de växelvis är totalt ovilliga att publicera spel i någon annans store utan hellre skapar sin egen, för oss Linux användare, otillgängliga store.
Naturligtvis är ingen av dessa tekniker Open Source heller så att användare själva fördjupa sig i/flika in med kunskap förslag om hur man kan tillämpa något eller fixa buggar för just deras plattform.
Så kontentan blir i princip:
De vill inte bygga någon store, de vill inte ha hjälp med att bygga någon store, de vill heller inte ha någon store för Linux.
Slutsats: Vi har inga spelare på Linux, användarbasen är för liten för att prioritera, och hittar vi den så låser vårt DRM ute deras klienter, simple as that.
För att nu knyta an lite till ursrungsämnet för tråden... (och nu är det mest jag som resonerar högt här, förväntar mig inga som helst svar på nedanstående frågor)
nVidia har nu tillsammans med några andra företag portart ett spel, Yougblood, till en ännu otillgänglig plattform för att påvisa att de kunde uppnå det samt implementera deras tekniker. För showcase, absolut, inget snack om saken, kul att se att det går. Tummen upp för det.
De får de gärna göra om de nu känner för det, ingen annan har något att säga till om vad de väljer att prioritera.
Det jag tyckte var nästan lite tragiskomiskt i sammanhanget är väl att man gjort detta på just Linux-plattformen, trots att det till att börja med inte finns någon native portning för just Linux av Youngblood, men för en otillgänglig plattform man kan man motivera att lägga tid och resurser på det för ett kort demo.
Det känns, åtminsone så som jag ser på det, lite som att något fattas här, det heter ju alltid att Linux-användarbas är konstant för liten för att motivera native portningar, likväl existerar dem, likväl dyker det upp sammanslutningar som denna nu med nVidia, MediaTek och ID Software (Machine Games) på en obskyr plattform som man troligtvis är beredd att satsa en hel del på om man nu gör en sådan här ansträngning då det i dagsläget bör vara c:a 0 konsumenter som brukar den sammansättningen för tilfället.
Så är detta enbart för showcase, vilket jag i nuläget också antar att det är, eller kommer Youngblood nu plötsligt att även bli en Linux-titel? Troligtvis inte då det inte ens är planerat för en kommersiell release. (sägs i klippet)
Det här är lite gräddan av det jag menar, en version för Linux kan existera men går den att komma över/köpa?
Nej, inte för Linux iaf. Så därmed känns det mer som att man motiverar utvecklare att bortse från ev. intressenter på Linux sidan oavsett om efterfrågan finns eller ej.
Lite som att säga: "VI tycker om Linux, MEN, vi vill inte att NI ska spela på det!"
Proton är, vad jag vet, enda sättet att i dagsläget få Youngblood att fungera vettigt på Linux (x86 versionen då inget annat finns förutom möjligen Switch-versionen vilket jag antar att Nintendo brukar diktera rätt så hårt via avtal.)
Men med ID Softwares hjälp skulle man absolut kunna gissa att de faktiskt har portat spelet till en native version (de är ju trots allt de okrönta monarkerna av Linux när det kommer till AAA-spelföretag) så de kanske inte är beroende av tekniker som ex. Proton i detta upplägget?
De nämner ju "native-ARM" i artikeln, men det är väl kanske inte ett helt rakt svar på min frågeställning. Jag kör ju t.ex. "native x86" och kan via Proton köra Youngblood även om det spelet i sig inte är supportat eller "native" för Linux.
Så skall man se detta som något slags slag för Linux eller är det mest ett slag för en stängd nVidia ARM plattform som kör en icke officiell version av Arch-Linux? Troligtvis det senare.
Varför föll valet på just Linux? (för att man säger det i klippet, såklart!)
-Var det för krångligt med Windows on ARM?
Kalla mig underlig men jag hade faktiskt tyckt att det varit mindre konstigt om valet fallit på just Windows on ARM, då Windows alltid varit det primära valet för spel tidigare.
Eller är det kanske just det som nVidia här vill påpeka med stuntet, att Windows inte dragit till sig lika mycket uppmärksamhet i sammanhanget, för det vore ju helt klart ett annorlunda resonmenag från ett teknikledande företag sett till de tidigare 30 årens utveckling.