CD Emulation for Games

I’ve been trying to play games via Wine, but they frequently want a cd in the drive in order to operate, and the netbook I’m using for my Linux project has no optical drive. I know there’s supposed to be a way to mount a virtual volume in a way that satisfies the games, either with software like CDEmu or via some terminal command (mount loop?). But the instructions I’ve found on this forum and elsewhere seem to either assume more knowledge than I have, or be out of date, or both.

So—does anyone know how I can play games that require a CD without having an optical drive in OpenSUSE 12.1? Or where I can find directions for this that are suitable for the relatively inexperienced?

You can mount an ISO file using the following command in KDE (Alt-F2):

/usr/bin/kdesu -c "/bin/mount -t iso9660 -o loop,ro,user filename.iso foldername"

I do not know what type of mount wine wants to see.

Thank You,

Thank you for your help.

I tried

/usr/bin/kdesu -c "/bin/mount -t iso9660 -o loop,ro,user MYST_M_E.iso /home/lachlan/desktop"

where MYST_M_E.iso is the image file located on the desktop. (I also tried it with the “user” part replaced with my username, “lachlan”.) I know it did something because it asked for my password, but other than that there were no visible results. The game also says the CD is not in the drive. On the bright side, I also can’t find any evidence that the image was mounted, not that I really know what I’m looking for, which makes me hopeful that maybe I just misinterpreted what I was supposed to type.

Loopback-mounted isos can be mapped as cd-rom drives in winecfg (just mount the iso, start winecfg, go to the drives tab, and click Autodetect). However, if the game expects to communicate with real hardware, that won’t work. For that you need a hardware emulator such as cdemu.

On 2011-12-29 05:26, Lachlan M wrote:
>
> Thank you for your help.
>
> I tried
>
>
> Code:
> --------------------
> /usr/bin/kdesu -c “/bin/mount -t iso9660 -o loop,ro,user MYST_M_E.iso /home/lachlan/desktop”
> --------------------

I believe it is


>  /usr/bin/kdesu -c "/bin/mount -t iso9660 -o loop,ro,user /home/lachlan/desktop/MYST_M_E.iso"


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

On 2011-12-29 05:26, Lachlan M wrote:
>
> Thank you for your help.
>
> I tried
>
>
> Code:
> --------------------
> /usr/bin/kdesu -c “/bin/mount -t iso9660 -o loop,ro,user MYST_M_E.iso /home/lachlan/desktop”
> --------------------

I need more coffee. It should be:


>     /usr/bin/kdesu -c "/bin/mount -t iso9660 -o loop,ro,user /home/lachlan/desktop/MYST_M_E.iso /home/lachlan/desktop/emptydir"


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Thank you, everyone, for your help. It appears that my ISO file was somehow invalid, so I tried to make a new one. I tried three different methods on Disk Utility on OS X, none of which produced an ISO readable in Linux. I tried 4 or 5 different programs for Windows. One created an empty 0MB ISO, one said it was trialware and wouldn’t make ISOs bigger than 300MB, one would only create images in its own proprietary format, and one wouldn’t install on Windows because apparently it doesn’t believe that I have XP SP3. I also tried K3B in Linux, but it doesn’t seem to want to create an ISO file unless I have a CD in the drive, and since there is no drive, that’s a problem.

I finally got one of the Windows programs to create an ISO file that worked in Linux, although when I try to browse it it doesn’t look like the CD—instead, it has “ISO9660” and “ISO9660Joliet level 3” folders, and each of them seems to individually have the CD’s files. Maybe it’s supposed to be that way; I don’t know.

Then I tried a number of different terminal commands, including all the ones suggested on this page and several more I found on the internet. I was finally able to get the system to tell me I’d mounted that image using

mkdir -p /mnt/MYST_M_E
cd /
cd home
cd lachlan
cd Desktop
mount -o loop MYST_M_E.iso /mnt/MYST_M_E

And then it said,

mount: warning: /mnt/MYST_M_E seems to be mounted read-only.

But winecfg doesn’t seem to be detecting my allegedly mounted ISO. On the
Drives tab, it shows only

C:    ../drive_c
D:    /media/USB DRIVE
E:    /home
F:    /sys/kernel/debug
H:    /home/lachlan
Z:    /

It might just be time for me admit defeat here…

On 2011-12-30 04:56, Lachlan M wrote:
>
> Thank you, everyone, for your help. It appears that my ISO file was
> somehow invalid, so I tried to make a new one. I tried three different
> methods on Disk Utility on OS X, none of which produced an ISO readable
> in Linux. I tried 4 or 5 different programs for Windows. One created
> an empty 0MB ISO, one said it was trialware and wouldn’t make ISOs
> bigger than 300MB, one would only create images in its own proprietary
> format, and one wouldn’t install on Windows because apparently it
> doesn’t believe that I have XP SP3.

Funny Windows. I think you can do it with daemon tools.

> I also tried K3B in Linux, but it
> doesn’t seem to want to create an ISO file unless I have a CD in the
> drive, and since there is no drive, that’s a problem.

I use something like this:

dd if=/dev/dvd of=/path/file.iso

which is simply a bit by bit copy of the dvd. So simple! Weird the way
Windows complicates things.

> Code:
> --------------------
> mkdir -p /mnt/MYST_M_E
> cd /
> cd home
> cd lachlan
> cd Desktop
> mount -o loop MYST_M_E.iso /mnt/MYST_M_E
> --------------------
>
>
> And then it said,
>
> Code:
> --------------------
> mount: warning: /mnt/MYST_M_E seems to be mounted read-only.
> --------------------

No problem. That’s because you did not tell mount to do it read only yourself.

> But winecfg doesn’t seem to be detecting my allegedly mounted ISO.

I don’t think it should detect it. A mounted image is just another
directory. You probably can edit wine configuration manually, though. Let
me see… perhaps: Look at the directory “~/.wine/dosdevices”, it contains
symlinks for the drives. Create one pointing to “/mnt/MYST_M_E”.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)