winevdm DOS memory range mmap() shenanigans...
Hi all, for fun I just tried to run a Lemmings demo downloaded from http://www.pcgaming.ws/download.php?game=lemmings Picture my not overly amused face when I then got the message " winevdm: Cannot start DOS application C:\lemmings\VGALEMMI.EXE because the DOS memory range is unavailable. You should install DOSBox. ". After some wild fprintf trickery in various winevdm / virtual.c / mmap.c parts and subsequent mmap() Internet research it turned out that this message is annoyingly imprecise: a simple echo 0 > /proc/sys/vm/vmmap_min_addr (original value here: 65536) will allow the corresponding mapping, thereby enabling the game to (partially - then seems to have interesting issues at some VGA register parts) launch. I would therefore strongly suggest adding per-platform hint strings in failure case (either passed directly out of the inner reserve_dos_area() helper, or perhaps near the winevdm message). In the Linux case, this message would obviously be something like: ...range is unavailable (you might need to specially tweak /proc/sys/vm/vmmap_min_addr - note that this is a risky operation...). Since this is an important tweak (otherwise tons of DOS applications will bail out, thus rather negatively affecting Wine implementation debugging/reliability progress since nobody will make it there), it would be useful to add such hinting one way or another (I might find the time to do so, and possibly given some additional counseling I might even be able to come up with a sufficiently perfect patch). Thanks, Andreas Mohr
Andreas Mohr <andi(a)lisas.de> writes:
After some wild fprintf trickery in various winevdm / virtual.c / mmap.c parts and subsequent mmap() Internet research it turned out that this message is annoyingly imprecise: a simple echo 0 > /proc/sys/vm/vmmap_min_addr (original value here: 65536) will allow the corresponding mapping, thereby enabling the game to (partially - then seems to have interesting issues at some VGA register parts) launch.
Actually the hint is very precise: you should install DOSBox. DOS apps run much better on DOSBox, and we are not going to spend efforts fixing Wine, particularly since it can't work on most modern systems anyway. -- Alexandre Julliard julliard(a)winehq.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 2015-03-25 um 08:17 schrieb Alexandre Julliard:
Actually the hint is very precise: you should install DOSBox.
DOS apps run much better on DOSBox, and we are not going to spend efforts fixing Wine, particularly since it can't work on most modern systems anyway. Also Wine will set up DOSBox to match your Wine paths and other relevant settings. So when a Win16 / Win32 app tries to run a dos application this will automatically work. No need to mess with any dosbox settings. Just have /usr/bin/dosbox available.
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBAgAGBQJVEnAIAAoJEN0/YqbEcdMwLsAP/1powicxpgD7lh7gN7Ebz4Hb FhGRYvG1S7STkdDZsfPNCJMN8gXxBAAdp0As21sUWfHYh++Il1NIFZkS8Lh2UGeA WVXNb95Qo2YEFnHpWWc9+RM9DvrDK4ZiMm1ncrb2GVqhKpjddICrkP536uTpZJm4 /4l0G2SavxPAvY2TaxDosRYuWW1fzGHtbhiTJjPgsKZGNfr7ejCqQH58sZdMhn7G SMiyJ5NmZYYgNFkPqCl6ESis6QzFsgi47R12LFggCKKpSItlDJ5LJk5QxT420D+A NTWosTwefJvWMMeqO5zjf27ojob6FDRBfBUaMcfLlvPtOm31Bp7kJRD3uiM64Ycw mukErGFOpZ2ANQbcgMixjoIuqeLYRF31b/3pybanI/GYglX9/eZaOPqawcj4vuCy sCwLhEEnQCr6chC3KEYY/On6rNVjhjZWwM77pPbmvcCVl0zEY5xthUBVCAoBNQ+r KPQ+zcMV8a7dyzzvSyN3K5+NDtl4rhl4DVWDihHlWUeNcw1cnHoXjUDSJvPRQRr8 Iy7x+lDfNvzAUvQhRgjhOuAt6gXgR7fC5myJnZye8pKx+3tGRy3b76hPp5R3yHTm I9rlvliJe5gVWxTQugNYIh4JdrNTelQeqxpD8efPm4KGQztrFsHQXShT/XRLhQ9w JKZiKhGlYALYcHCJeGOT =GgL2 -----END PGP SIGNATURE-----
participants (3)
-
Alexandre Julliard -
Andreas Mohr -
Stefan Dösinger