Retro gamer virtuális gép Qemu/KVM-en :)

ÚJ bejegyzés

Indíték

Nagyon régóta nem játszom, főleg azért, mert vagy 25 éve nincs olyan gépem, amin aktuális játék elmentek volna. Amikor elfutottak, akkor se volt túl fényes a dolog :D Retro vashoz hely nincs, meg amúgy is igen ritkán lenne használva.
Mostanra viszont van egy elég jól használható host gépem, amin virtuális gépeket tudok futtatni, azon hely van, elfér egy DOS... Win98... WinXP meg amúgy is volt már, mert sok régi hardver teszteléséhez jól jön... ;] Meg hely... Ezek olyanok, hogy pár giga az egész, elfér. Azok a játékok, amikkel 2000 körül és előtte nem játszottam, meg elmennek ma már bármin. Lássuk :D

A környezet

Ez ugye az a virtuálhost/NAS gép, amin az adataim is vannak, meg a virtuális gépeim is. Debian Testing, rajta Qemu/KVM, szokásos Gnome asztali környezet. i5-8600, 32GB RAM (mindegy, ezek a dolgok nem kérnek sokat :D ) , 2x4TB HDD az adatoknak, 750GB SSD (most éppen) meg 500GB HDD (itt fetrengett, backupolni pont jó :DDD ) a virtuálgépeknek. Általában úgyis csak egy VM fut, pont ezek a régiek azok, amiket lehet valamivel együtt tolni, mert van elég erőforrás :D . Videokártya a hostban nincs, de ha lenne se számítana sokat.

Hozzátartozik, hogy a Vmware Player/Workstation (mikor hogy hívják éppen :D ) és a Virtualbox is jobb a Qemu/KVM-nél gamelni, sokkal jobb a 3D támogatásuk (illetve : létezik régebbi OS-ekre :D ) , valamint tudják használni a fizikai videokártyát is. (Qemu/KVM alatt is van elérhető 3D támogatás, de a Virtio VGA, amivel ez működik, és tudja a fizikai gép GPU-ját is használni, driverei csak Windows 8-tól léteznek.) Ezek léteznek Windowsra és Linuxra is, ingyenesek, ha a helyi gépen akar az ember virtuális gépen játszani, akkor jobb választás lehet. (A full szoftver render megoldásnak is lesz viszont egy előnye. ;) )

A legtöbb hipervizoron USB eszközöket gond nélkül át lehet adni a virtuális gépeknek, szóval egy megfelelő kontroller is simán működni fog - nyilván a célgépen kell lennie hozzá drivernek.

Multi pedig ugyanúgy, mintha fizikai gépen futna a játék : ha van hálózat, akkor a hálózatos multinak mennie kéne, soros portra valószínűleg van megoldás, de nem biztos, hogy egyszerű. (Mármint direktben, mert egy WinXP-től kezdve már ha jól emlékszem, voltak erre módszerek.)

Hirdetés

DOS

Volt egy lemezképem egy 40MB-os régi winyómról. Ezt 1:1 oda lehetett adni egy virtuális gépnek, és már bootolt is.
És kb. ennyi... Na jó, ezen csak egy csupasz DOS volt, igazából ez maradt úgy, ahogy volt, mellédobtam még egy diszket, és már csak másolni kellett rá. Ezt a lehető legbutább módon Hiren's Bootcd-vel vagy éppen valamilyen Linux Live CD-t bebootolva végeztem, lett rá Volkov Commander, egérdriver, CD driver, EMS, hang driver. Macera csak a hanggal volt, mert pár éve még valahogy nem működött igazán a Sound Blaster emuláció itt, aztán '25 végén megjavult, csa a 7-es IRQ-ra kellett tenni 5 helyett... :DDD

Természetesen kupi van :D

Az a jó, hogy a DOS-os játékok még az ólajtón is elfutnak, szóval vagy működik elsőre, vagy behisztizik és sehogy nem fog elindulni :DDD . (Persze kéne rendes EMS konfigot csinálni, stb.) A billentyűzetkezelés néhol fura, pl. a Test Drive nem mindig kezeli a hosszan lenyomott billentyűket... De ezen kívül a legtöbb dolog működik. Heroes of Might and Magic 2-3, Dune, Warcraft, Doom, sima ügy. Ez az egy olyan a virtuális gépek közül, amin jobb az élmény, mint a korabeli gépeimen volt (a DOS megfelelője nálam 286 1MB RAM-mal és 1MB -os T8900, vagy később 486SX33 4MB RAM + S3 Trioval...) Minden játék folyamatosabb. :DDD

Egy Need for Speed-et (az elsőt) nézek majd még meg, mert az egy igen szép DOS játék volt, kíváncsi leszek, hogy fut.


Kötelező kör 1


Kötelező kör 2 (bár ez egy darab deszkán is elfutna :DDD )


Tulajdonképpen ez egy KRESZ tanfolyam, legalábbis mostanában így vezetnek az emberek (Destruction Derby :D )


És valami igazán régi (Test Drive III)


Hasonlóan őskövület


Ez a virtuális gép konfigja, ugyanezen fut a Win98 is

Win98

Ez elsőre egyszerűnek tűnt, aztán később kifejezett macera lett :) Telepíteni a DOS-os gépre telepítettem, de egy külön hozzáadott 1GB-os diszkre. Így a virtuális gép BIOS-ában az one time boot menüből lehet választani, hogy mi induljon, és nem kellett macerálni hozzá DOS-os bootmenüt sem, meg a 6.22-es DOS is megmaradt. (Bár a Win98 7.x DOS-ával is mennie kéne mindennek.) 1 procimag (többet úgysem kezel), jó sok RAM lett odaadva. (A screenshoton 2 van, poénból megnéztem, a Softgpu kihasználja-e :D )

Telepítés elsőre simán ment, lett FTP szerver is, hogy valamin át adatokat tudjak a gépre juttatni. (Ez ilyen jellegű felhasználásra még elmegy, Internet felől nem elérhető, a gép se megy állandóan.)


Softgpu telepítés

Na de a '98-on szokásos játékok már igényelnek DirectX-et. Ami megy SW render módban, abban sincs köszönet, nem az igazi a sebesség.

Erre megoldás a Softgpu. (Letöltés itt.) Ugyan ez nagyrészt ugyanúgy szoftver rendert fog használni, de még így is jobban járunk, mert rendes DirectX-et is támogat. Procierő meg van. ;] A virtuális gép videokártyáját kellett cserélni Vmware SVGA-ra, amit a Qemu is tud emulálni, ezzel működik a Softgpu is. Drivert vadászni volt érdekes hozzá... Hang szerencsére lett, bár volt, hogy háromféle hangkártya volt a gépben, hátha valamelyiket hajlandó lesz használni a '98.

Részben a KVM-hez hozzáférést biztosító Spice konzol, részben a hálózat, részben a hardver korlátai miatt egy Soaring flight simulator, vagy ilyesmi már tökéletesen fut, egy NFS 3 már nem mindig (teljesen furcsa, 1024x768-ban kicsit butított grafikával is vagy tökéletesen folyamatos, vagy éppencsak játszható, mikor hogy idult el :DDD ). És hát, '99-ben egy AMD K6-II 350AFR, S3 Trio 3d (volt Ati Rage nememlékszemmi, az se tudott átlátszó textúrát) -n se futottak ezek jobban :O :DDD (Khm, a retro élményhez az akadások is hozzátartoznak ;] :D )
Trainz viszont meglepő módul fullfullfullon is normálisan mozog, bár ugye ott a tempó nem olyan Need for Speed-es :DDD .


Így volt belőve...

És így néz ki


MÁV szimulátor

Végül elindult a Revolt is, ami pedig korábban nem tette - ennek konkrétan majdnem low-ra kellett venni a grafikáját, hogy jól fusson. A másik furcsa, hogy kb. hülyeség, amit FPS-nek kiír (tutira a Spice miatt) mert kb. folyamatos mozgás mellett is ilyen 13-akat jelzett, amikor már szemmel láthatóan tökéletesen mozgott, akkor is húszat :D

XP

És persze, hogy a legmodernebb cucc volt a legnagyobb szenvedés :D Amíg fel kell telepíteni (ez ugye nálam korábban létezett, de pont olyan telepíteni, mint egy bármilyen gépre), meg jé, működik a hang, addig jó (ipari cuccokhoz, meg könyvelőprogramot futtatni találták ki...). Felkerült egy szögegyszerű FTP szerver, amivel már könnyen lehet rá másolni is. (SMBv1 ugye már majdnem mindenhol tiltva van.) Na de 3D támogatás, azt felejtsd el :D Virtio VGA driver, az elvileg volt valamikor, de akkor se működött, Intel 630-as iGP-hez szintén nincs driver, hogy esetleg passthrough-al át lehessen adni, SoftGPU nincs.
Azaz, valami olyasmi van :D A csúnya Google fejlesztett Swiftshader néven egy szoftveres D3D emulációt (a legacy csomag itt vagy itt), ami ingyenes, és van belőle működő XP-s változat. Ezt rettenetesen bonyolult használni, mert oda kell másolni a játék mellé... És működik is :D (Persze kell mellé DX9 meg .net4.0 meg esetleg VC2015.)


Többeknek ismerős lehet :D

Hasonló megoldások a Softgpu fejlesztőjétől a WineD3D és a Mesa for Windows, de ezekkel nekem nem volt szerencsém. Illetve a 3D Analyze nevű cucc jöhet még jól, amivel akár az emulált videokártya egyes képességeit is megadhatjuk, HW ID szintig (jelen esetben ez se működött :D ) .

A gép kb. így van összerakva :

Mivel az XP már kezel több processzort, érdemes több procit adni a virtuális gépnek, a Swiftshader is meghálálja. Sajnos a Qemu többprocis időzítési anomáliáit a Windows XP nem szereti, így nálam boot alatt néha elhasal (akkor is, ha a BOOT.INI-ben numproc=1, azaz boot közben csak egy procit használ). Viszont ha elindul, akkor már jó, nem fagy, nincs kék halál. De még ehhez is kellett némi XML mókolás :
 <features>
    <acpi/>
    <apic/>
    <hyperv mode="custom">
      <relaxed state="on"/>
      <vapic state="on"/>
      <spinlocks state="on" retries="8191"/>
    </hyperv>
    <vmport state="off"/>
    <ioapic driver="kvm"/>
  </features>
  <cpu mode="custom" match="exact" check="partial">
    <model fallback="allow">Nehalem</model>
    <topology sockets="2" dies="1" clusters="1" cores="2" threads="1"/>
    <feature policy="disable" name="sse4.1"/>
    <feature policy="disable" name="sse4.2"/>
    <feature policy="disable" name="popcnt"/>
  </cpu>
  <clock offset="localtime">
    <timer name="rtc" tickpolicy="catchup"/>
    <timer name="pit" tickpolicy="delay"/>
    <timer name="hpet" present="no"/>
    <timer name="kvmclock" present="no"/>
</clock>

https://cdn.rios.hu/dl/upc/2026-05/19/80270_q0irki6arb5oi6mv_kepernyokep_2026-05-19_16-33-42.jpg

Teljesítményben érdekes. Live for Speed 2006-os kiadása nem megy fullfullfull beállításokkal :( Megint csak a Spice konzol, meg az időzítések is okoznak érdekes akadásokat (nem laggol, a kép ugrik), akkor is, ha valami 800x600 közeli felbontáson megy a játék, és 30fps alá nem esik a framerate, és mindemellett az idő nagy részében folyamatos. Ha magasabb az FPS, 40 körül, attól meg a Spice hajlamos megzavarodni, és összeomlani (gondolom bedugul valami :D ) . NFS Underground demó is erősen visszavett grafikával működik, de azért az is egész folyamatos tud lenni. Kb. olyan szinten játszhatóak, mint a 2003 körül használt AthlonXP 2600+ gépemen, amiben volt 256MB RAM, meg egy Gf4MX440.

Buktatók

Amivel még gond van, az :
- (gigabites) hálózaton át se a SPICE, se a VNC nem igazán akadásmentes mondjuk egy 1024x768 kép esetén. Némileg lehet javítani azzal, hogy a hostra egy RDP kapcsolat, és ott nézni SPICE konzolon a virtuális gépet. Telefonhackeléshez, ilyesmihez nem gond, ha a konzol nem tökéletesen mozog, de játékokhoz fontos.
- Win98 alatt az egy proci kevés, akármennyire is 20 évvel újabb az a proci :D
- XP-n ugye a boot közbeni instabilitás, meg a Swiftshader képeségei ezen a procin (pl. 2 magon OK, de 3-4 magon nem lesz gyorsabb).
- Live for Speed specifikus, hogy ha egérrel vezet az ember, akkor azt ablakban játszva könnyű kirángatni az ablakból :D
- Ketté kell szedni a DOS és Win98 gépet, mert DOS alatt a Vmware SVGA II miatt egy csomó minden hülyén működik (pl. nincs hang :D ) Win98 alatt meg akkor nem megy semmi, ha nem Vmware videokártya van benne :D Ha sokat cserélgetem, elkopik a virtuális PCI csati... :DDD
(Ezt amúgy közben megcsináltam, így normálisaban működik a DOS is)
- Kéne egy EMM/EMS menüt csinálni a DOS-ra...
- DOS -on megint esetleges a hang. A Doom működik, minden más meg nem :D

Előnyök

A szoftver rendernek viszont van egy előnye. Mindenen futni fog :) A Softgpu / Swiftshader esetén kb. akármire költöztethető/konvertálható a virtuális gép, működni fog. Procik meg nem mostanában lesznek gyengébbek :) Mondjuk igen, ez az előny a Virtualbox / Vmware esetben is megvan, bár azoknak elvileg van közük a hardveres gyorsítás használathoz.

(Hozzátartozik, hogy a NFS Underground demót feltettem az egyik "már mindegy neki" virtuális Windows 10-re, Virtio VGA 3D támogatással, átadni a host IGP render node-ját neki, és ment kb. maxon is... Szóval egy irány lehetett volna az is, hogy ezeket Win10-re rakom, de akkor meg nem korhű az OS :DDD További adalék, hogy a Revoltnak is létezik egy Rvgl nevű Linux portja, mármint ugyanaz a játék, csak Opengl-re, Linuxra. Mivel Linuxra van Virtio VGA driver, ugyanúgy 3D támogatás + iGP render node átadással kipróáltam egy Debian tesztgépen, és ugyanúgy tökéletesen fut, mint a NFS Underground Win10-en... )

Maga a virtuális gépes játszás meg csak kényelmi szempontokból értelmezhető; nem foglal helyet a lakásban, egyszer kell megcsinálni a VM-t, és utána nem lehet nagyon elrontani. Egy BRSZK nagyobb élmény, nyilván, de az meg évi egyszer van :D

Nem game over

Minden szívás ellenére azért ezek így is bőven játszható dolgok, egy átlagos asztali gépen röhögve elfutnak, főleg ha helyben fut a virtuálgép, nem egy külön hoston :) Szóval alkalmi retro gamelésre, stb. tök megfelel.

Még van hozzászólás! Tovább