3

A Windows game refuses to save any games because it claims there's no disk space free. I've used XP and 98 modes in winecfg, and this is a 32-bit wineprefix (at least, I'm pretty sure it is; not sure how to confirm). My suspicion is that it's the old favourite problem of having more than 2GB free space, for which we used to have a little fix script back when we used OS/2 and there were DOS programs that had trouble. Is there a way to get Wine to announce less disk space than there actually is?

edit for version numbers: Debian Testing (Stretch), Wine 1.8.5 as distributed by Debian.

3

Without much knowledge of Wine, I'd work around that problem making the program happy and giving it a disk that is smaller than 2 GB.

It's very simple. First, create a file filled with 0s that is 512 MB (or more, but less than 2048):

dd if=/dev/zero of=smalldisk.img bs=1M count=512

Next, format it using the default file system:

mkfs smalldisk.img

Move the existing directory to a temporary name:

mv .wine-demo .wine-demo-orig

Mount the new disk as a loop device at the original location:

sudo mount smalldisk.img .wine-demo
sudo chown your-user-name: .wine-demo

Copy the entire tree in:

cp -r .wine-demo-orig/* .wine-demo

And run the program from there. If it still doesn't work, then you'll need a different solution.

(There is, unfortunately, a chance that it won't work. If it can't handle 2 GB of disk space, it will probably not handle 2 GB of RAM...)

Provided it works, I suggest your unmount it and put it in your /etc/fstab:

/path/to/smalldisk.img /path/to/mount ext4 auto,noexec,rw,loop,fmask=0177,dmask=0077,user 0 0

In this line fmask and dmask are mask permissions for files and directories. Notice that they are the opposite of what you would use with chmod. That is, 7 stands for no permissions (---) and 0 stands for full permissions (wrx). Read more here: fstab Permission Masks Explained.

  • I'll give this a shot. Any particular reason for using vfat here? – rosuav Jan 7 '17 at 21:59
  • In fact, I can't put a wineprefix on a vfat volume, as it uses symlinks. So I'm trying this with ext4. – rosuav Jan 7 '17 at 22:08
  • No specific reason, just thought it was playing safe, since I'm not versed in Wine. – giusti Jan 7 '17 at 22:30
  • 1
    Yay! It's working. I'll suggest edits that will make your answer ready to accept! – rosuav Jan 8 '17 at 7:01
  • I suspect the cause of the problem could be a 64 to 32 bug in the wine, or a limitation of the win98/winxp api. Also I faced this problem, but unfortunately this workaround did't come in my mind. Wonderful solution! – peterh Feb 11 '17 at 0:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.