Wine WoW64 = szívás

A nagyszerű Windows Emulátorba mostanában belefejlesztették a WoW64 támogatást, ami tök frankó - kivéve, hogy a legtöbb régi Win32-es játékot eltörték. Visszalépésre nincs mód, mert kivették a Win32-es prefixek létrehozását is.

Az egyetlen megoldást egy régi wine-re visszaállás jelenti, amit Arch Linuxon az AUR-os wine-stable csomag jelent.

Én tökre értem, hogy ez is fejlődik, meg szép meg jó - de miért nem lehet egy kifejezetten ilyesmire tervezett alkalmazásnál a visszafelé kompatibilitást figyelembe venni? Nagyon dühítő.

Hozzászólások

Ez szerintem nem feature, hanem bug :D

A WoW64 pont a kompatibilitás végett lenne Windows alatt, ezek szerint WINE alatt még nem az igazi.

A nagyszerű Windows Emulátorba

Wine Is Not an Emulator

Nekem az X-Wing Alliance elindult, az azért elég régi.

ARMA III-t szoktam még néha indítani alatta, bár annak van 64 bites EXE-je is, de pont azzal instabilabb.

Én most az Anno 1604 eredeti (nem a History Edition) futtatóját néztem, és eleve már a telepítő nyürrögött, hogy ő NT alatt nem fog elindulni - aztán meglepetés: nem is indult el. Egy Gold/Platina támogatású játék. Nem kicsit égő.

Blog | @hron84

valahol egy üzemeltetőmaci most mérgesen toppant a lábával 

via @snq-

Én valahol úgy olvastam - javítsatok ki, ha tévedek - hogy a wine továbbra is tudja a 32 bitet, az Arch döntött úgy, hogy kiveszi a buildből.

Nem tudom ki mennyire van képben mi ez, ezért leírom: 64 bites alaprendszeren teszi lehetővé 32 bites Windows programok futtatását 32 bites Linuxos libek nélkül is. Tehát nem kell multiarch-ot telepítened a hoszt Linuxodra, és úgy is játszhatsz 32 bites régi Windowsos játékokkal. A megoldás lényege, hogy minden 32 bites hívást lefordít a megfelelő 64 bites hívásra. Ebben a fordítósdiban még lehetnek bugok, előbb utóbb ki lesznek vasalva remélhetőleg.

Egyébként a WoW64-en felbuzdulva megcsináltuk, hogy 32 bites Linux so-t be lehessen tölteni 64 bites Linux processzbe, és ez is működik. Csak nem tart még ott a projekt, hogy publikálható legyen sajnos. (Érdekes egyébként, hogy a processzort user módban "simán" lehet 32 és 64 bites módok között váltogatni, semmi problémát nem okoz, csak éppen a 32 bites kódnak az összes stdlib hívást alá kell polcolni, ami nem kis munka.)

Ahh, jó tudni. A jó isten áldja meg akkor őket, annyira fájt volna adni egy külön (mondjuk wine32) csomagot a multilib repóba? Lényegében forgatási opciókról beszélgetünk, minimál efforttal megoldható (mert meg is oldották, a wine-stable kb a régi fordítási mód lehet, csak sok verzióval le van maradva valamiért). Nagyon dühítő. És közben egész délután küzdött a gépem a fordítással, pedig azért ez nem egy gyenge masina.

Amúgy az alapötlet jó is lenne, ahogy mondtam: én nem vagyok a WoW(64) faktor ellen, az ellen vagyok, hogy tönkretegyünk valamit, ami működik úgy, hogy közben nem adunk alternatívákat a közösség kezébe. Én mindenkinek elhiszem, hogy az a 15 dolog, amit használ, az jól működik, de itt az elvekről van szó: van egy WineHQ adatbázis, benne mondásokkal többezernyi Windowsos alkalmazás támogatottságáról. Ez a db gyakorlatilag lemegy a WC-n abban a pillanatban, amikor nem tudja valaki garantálni, hogy a WoW64-gyel szerelt Wine tudja pontosan ezeket az eredményeket produkálni. És erre fel kellene hívni az emberek figyelmét mondjuk telepítésnél, hogy hahó barom, ne várd azt, hogy ez a klasszikus Wine élmény lesz, mert nem lesz.

És azt is tudom, hogy ez nem a Proton, Lutris, Gaming4Linux, akármicsoda, ami fel van patchelve a gaming élményhez, megértettem. Still...

Blog | @hron84

valahol egy üzemeltetőmaci most mérgesen toppant a lábával 

via @snq-

Ugyan nem linux alatt, de pont a minap tettem fel a legujabb wine-nal a Spelunky-t amit anno meg xp-re fejlesztettek 2008-2009 kornyeken, nyilvan 32 bites kis jatek. Siman megy. 
 

I don't run often, but when I do, I run as administrator.

Úgy néz ki, ez egy Arch Linux őrület akkor, hogy kivették a "natív" win32-es prefixek supportját. De eggyel fentebb leírtam a véleményemet: örülök az örömödnek, de ez nem erről szól feltétlenül.

Blog | @hron84

valahol egy üzemeltetőmaci most mérgesen toppant a lábával 

via @snq-

Nem kellene egy Arch Linux frusztráció után ráhúzni a vizes lepedőt a teljes Wine projektre. Steam alatt működni fog pár kattintással anélkül, hogy bármit neked kellene állítanod manuálisan. Nem véletlenül használ több különböző Proton verziót többek között a Steam Linuxon. 

“Az ellenség keze betette a lábát”

Olyan játékkal szeretnék játszani, ami nincs Steamen. Ezért is megy a küzdés.

Amúgy meg, menet közben olvastam jobban utána a dolognak, ez nekem is egy tanulási folyamat volt. Amikor a blogposztot írtam, még nem tudtam erről az egészről, nincs ez egyértelműen kommunikálva valahogy. Shame on me, hogy nem vagyok képes több tízezer opensource projekt minden hülyeségét lekövetni.

Blog | @hron84

valahol egy üzemeltetőmaci most mérgesen toppant a lábával 

via @snq-

Még command line sem kell. 

Simán indíthatóak Steam-ből "külsös" non-steam játékok is. Érdemes is hozzáadni a Steam-hez ezeket Linuxon is Windowson is, mert úgy tökéletesen működni fog minden Steam szolgáltatás, a streaming remote playhez, a kontroller továbbítás és kompatibilitás, átfedés, stb. 

Illetve Linuxszon a proton verziók váltogatása is Steam-en a legjobb. Ami Heroic-ból nem hajlandó elindulni rendesen, az általában pöccre megy Steamből indítva. 

“Az ellenség keze betette a lábát”

Egy ideje használom én is a WoW64-es változatot, de nem játszok rajta. Most kipróbáltam néhány régi Win32-es játékon. Egyet tört el, a Simpsons Hit 'n' Run, de ott sem magát a játékot, hanem a Mono-t nem tudja használni a játék launchere, hiába van fent. A többi játék fut, Max Payne 1, Mafia 1, Far Cry 1, de az utóbbi elég szar fps-sel, valami nem stimmel, se Direct3D, se OpenGL renderer nem hozza helyre.

Szerk.: a Far Cry már jó DXVK9-cel, de erre a trükközésre addig nem volt szükség, amíg nem volt ez a WoW64. Addig ment a wine-os d3d9-es DirectX vagy az OpenGL implementációval a kijelző max. frissítésével kb. megegyező fps-sel. Azért csak kb. megegyezővel, mert Far Cry alatt hírhedten bugos a Vsync.

Kicsit tesztelve még, így se volt az igazi, be kellett még kapcsolni a NTSYNC-et is, hogy jól fusson. hajbinak ebben igaza lesz, hogy ez nem fejlődés, hogy ugyanolyan teljesítmény érdekében több új technológiás sz*rt kell betöltögetni (WoW64 + DXVK fordítási réteg, ntsync kernelmodul), hogy ugyanolyan jól fusson valami, mint régen önmagában mindenféle extra nélkül a 32 bitet tudó Wine-ban.

Szerk2.: itt azt írják, hogy a 32 bites Wine által létrehozott prefixet újra kell generálni, meg azt is, hogy a rossz OpenGL teljesítmény az kezdeni bug. Újrageneráltam a prefixet, a futási teljesítmény mintha egy kicsit jobb lenne DXVK-val, meg az alkalmazások kevesebb hibát írogatnak azöta a konzolba. A Simpson's launcher továbbra se megy.

“Linux isn't an OS, it's a troubleshooting sim game.” (a YouTube commenter)