# Ein paar news zu Easy AntiCheat und Linux Support



## ntropy83 (10. Juli 2020)

https://twitter.com/0xdt0/status/1281265922154672129


----------



## DKK007 (11. Juli 2020)

Etwas wenig für eine News.


----------



## ntropy83 (11. Juli 2020)

DKK007 schrieb:


> Etwas wenig für eine News.



Du willst news? Dude, AWESOME !!! Nach einem Jahr Arbeit sind wir dabei EAC auf Linux zum Laufen zu bekommen. Die große Herausforderung ist, EAC schreibt Module in den Windows kernel, während wine für Linux halt nur Windows übersetzt auf OS-Ebene ohne einen Windows-Kernel zu haben. Der ist ja auch proprietär. Aber siehe hier, Apex Legends läuft  (mein Video). Wine hat einen userspace kernel, der nutzbar ist und EAC ermöglicht  !!

https://www.youtube.com/watch?v=GnyzhewjTUw


----------



## DKK007 (11. Juli 2020)

Wie sieht es mit Ubisoft-Spielen wie Division 2 o.ä. aus?


----------



## ntropy83 (11. Juli 2020)

Ich baue heute Abend mal Proton mit dem neuen wine und teste es aus


----------



## ntropy83 (13. Juli 2020)

DKK007 schrieb:


> Wie sieht es mit Ubisoft-Spielen wie Division 2 o.ä. aus?



Ok habs getestet, Division 2 geht noch nicht. Bisher gehen nur Apex und Halo: The Masterchief Collection im Multiplayer. Gibt wohl unterschiedliche EAC-Versionen in den Spielen, die müssen noch alle implementiert werden. Ist aber nur ne Frage der Zeit. Jedoch steht noch aus, was Epic Games dazu sagt, also bisher ist es noch hoch experimentell und mit Vorsicht zu genießen, wenn man keinen Ban riskieren will.


----------



## DKK007 (13. Juli 2020)

Habt ihr Fortnite schon getestet?


----------



## mylka (14. Juli 2020)

DKK007 schrieb:


> Habt ihr Fortnite schon getestet?



ich denke, dass dieses spiel zu den ersten gehört, die getestet werden. nachdems noch keine ergebnisse dazu gibt eher nicht
auf youtube findet man dragon ball, dauntless, realm royale, for honor, darwin project

ich bin mal gespannt ob sich wine mit sweeney hier einigen kann. es würde doch schon ein update genügen und man wird wegen cheatens gebannt


----------



## ntropy83 (14. Juli 2020)

mylka schrieb:


> ich denke, dass dieses spiel zu den ersten gehört, die getestet werden. nachdems noch keine ergebnisse dazu gibt eher nicht
> auf youtube findet man dragon ball, dauntless, realm royale, for honor, darwin project
> 
> ich bin mal gespannt ob sich wine mit sweeney hier einigen kann. es würde doch schon ein update genügen und man wird wegen cheatens gebannt



Fortnite ist glaub ich Battleye, das ist nochmal ne andere Geschichte. Im Moment geht es erst mal um EAC.

Man kann ja nun fast jedes Windows Programm in Linux übersetzen, außer es nutzt Treiber oder weitere Elemente im Windows kernel, userspace des kernel. Die Klamotten im Kernel sind halt proprietär, deswegen kann man sie nur versuchen zu reverse engineeren, da man keinen Quellcode hat. Für wine-eac hat man jetzt aber einen userspace in wine Programm gefunden und nutzt den. Das heißt EAC lädt dort ganz normal seine proprietären Module und das game startet. Dadurch wurde nichts geändert an der Funktion und es arbeitet halt weiter wie ein Anti-Cheat tool funktionieren soll. Ich weiß gar nicht, ob Tim das so ohne weiteres verbieten kann. EAC hatte ja sogar bereits Unterstützung für wine mit an Bord. 

Mittlerweile ist er was seine Linux Aussagen angeht, ja auch ein wenig zurück gerudert. Zumal eh die meisten devs mittlerweile auf Linux die Spiele entwickeln und dann lediglich für windows releasen, weil Linux ein maintenance Alptraum ist. Ich glaube so lange EAC weiterhin seinen Zweck erfüllt und der ist ja auch gut, tritt man hier keinem auf die Füße.


----------



## DKK007 (14. Juli 2020)

ntropy83 schrieb:


> Fortnite ist glaub ich Battleye, das ist nochmal ne andere Geschichte. Im Moment geht es erst mal um EAC.



Beim Start von Fortnite wird EAC angezeigt. 



			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.


----------



## ntropy83 (14. Juli 2020)

Ok hab nochmal geschaut, es scheint wohl unterschiedliche launcher zu geben, mit EAC und mit Battleeye. Kenne das game leider gar nicht, aber:

https://www.youtube.com/watch?v=0cS82KNkXMI

Scheint zu funzen. 

Die Ruckler, die da am Anfang passieren sind shader compilation Ruckler. Die sind auf NVIDIA in Linux gerne mal etwas heftiger als auf AMD. NVIDIA liefert für Windows DirectX schon viele vorgebaute Shader mit den Spielen aus. In Linux bei der Übersetzung auf Vulkan müssen die alle erst gebaut werden. Die Ruckler sind aber auf stärkeren GPUs kaum spürbar und kommen auch nur die ersten Minuten in einem frisch installierten Spiel vor. Danach hören sie auf. Sieht man auch im Laufe des Videos. Am Anfang Ruckler, dann sind sie weg und zwar dann auch für immer. Startet man neue matches, sind die shader bereits gebaut vorhanden.

Für AMD gibt es einen eigenen shader compiler, der im Standardtreiber mesa mittlerweile integriert ist. auf ner 5700XT sollteste da höchstens einmalig ein zwei mini Ruckler haben . Den hat die Community gebaut. Die AMD Treiber sind ja quelloffen, während nvidia proprietär ist.


----------



## DKK007 (14. Juli 2020)

Also werden die Shader auch unter Linux gecached und beim zweiten Start sind die Ruckler geringer/weg?


----------



## ntropy83 (14. Juli 2020)

DKK007 schrieb:


> Also werden die Shader auch unter Linux gecached und beim zweiten Start sind die Ruckler geringer/weg?



Ja genau. Steam liefert mittlerweile auch vorkompilierte Pakete für die Games auf steam für Linux aus.  Das heißt die Ruckler sind da, insbesondere bei AMD, so gut wie weg.
Was halt die Neukompilierung der Shader auslöst (ohne fertige Pakete von steam), ist wenn du an der Grafik was änderst. Also die Auflösung oder andere Einstellungen.

https://www.youtube.com/watch?v=zw7FQNMsbxw

Hier hab ich mal ein Video gemacht, als der neue aco compiler für mesa noch ganz jung war, mittlerweile ist er noch besser. Da gibts so gut wie keine initialen Ruckler auf ner Vega 64. FPS bitte ignorieren, die sind star citizen-typisch im Eimer .


----------



## ntropy83 (15. Juli 2020)

Die aktuellen launch tips für Fortnite sind:

```
# Fresh prefix
wineboot -i

# Install prerequisites
winetricks dxvk arial faudio

# Install Fortnite
legendary install Fortnite

# BattlEye opt-out.
mkdir "${WINEPREFIX}/drive_c/users/richard/Local Settings/Application Data/BattlEye/"
touch "${WINEPREFIX}/drive_c/users/richard/Local Settings/Application Data/BattlEye/fn"

# Install EAC (optional as fortnite will do it for you if you don't)
wine "Z:\home\${USER}\legendary\Fortnite\FortniteGame\Binaries\Win64\EasyAntiCheat\EasyAntiCheat_Setup.exe" install 217 -console

# Launch Fortnite and hope it picks EAC
legendary launch Fortnite
```

Sagt mir aber nur bedingt was, da ich das game nicht kenn.


----------



## ntropy83 (16. Juli 2020)

@DKK007 Update 

https://www.youtube.com/watch?v=V1wFngvW8Yc

Läuft vermutlich am Besten mit amdgpu-pro, ein discord user hat 90 fps auf navi gehabt. Hab ich noch nicht getestet, auf mesa und amdvlk sind die fps kacke auf der Vega. Aber game läuft


----------



## Lui-Lui (26. Juli 2020)

@ntropy83

Wow, Division2 sieht echt gut aus. 
Hast du mal versucht RainbowSix:Siege zum laufen zu bringen? Die verwenden aber Battleeye anstelle von EAC.


----------



## ntropy83 (28. Juli 2020)

Lui-Lui schrieb:


> @ntropy83
> 
> Wow, Division2 sieht echt gut aus.
> Hast du mal versucht RainbowSix:Siege zum laufen zu bringen? Die verwenden aber Battleeye anstelle von EAC.



Nee, Battleeye ist noch ne andere Baustelle.

Die Linux Community muss da ja reverse engineeren, das heißt wir müssen die Aufrufe der Software abfangen und dann antizipieren, wie sie denn funktionieren könnte. Für battleeye und EAC gab es immer Ansätze und jetzt ist es zum ersten Mal gelungen, EAC ans laufen zu bekommen. EAC hat aber prompt reagiert und uns nach ner Woche wieder ausgeperrt. Das heißt momentan die Entwicklung geht weiter. 

Ich vermute es wäre für das Geschäftsmodell von Battleeye und EAC ruinös, wenn es dauerhaft unter Linux wine lief. Für native Linux Titel haben sie ja Unterstützung aber wine ist viel schwerer zu steuern und zu kontrollieren.


----------

