Open velteyn opened 10 months ago
wine doesn't currently mount the iso image to the d: drive when playing. this functionality will need to be added where a source .wine file or similar outlines to batocera there is an .iso to be mounted etc.
Any documentation / guide on how to do this?
Best solution would be to use a No-CD exe file. Google "gamecopyworld" for an appropriate exe file for your version.
I am facing the same issue where the game won't boot without the CD being present.
However, I am able to launch with the following workaround. Essentially go through the install process again since that seems to take care of the mounting process WITHOUT creating a new wineprefix
D:
Ideally, it would seem if there was just a way to run the installer again when you go to the game in the normal launcher it would take care of it.
I peaked into the code that does the install ISO
which seems to be the logic to find and mount the ISO.
However, I cannot find enough documentation on how to run scripts before the launch of the executable under wine.
Ideally, we could run a script that would mount the ISO and then create the appropriate link in dosdevices
.
I am not sure how teardown works here or if there are any issues to consider. I wouldn't expect mounting the ISO and leaving it there until the system turns off has any big impact, but from some searching seems like wine shares the mount info or if it is just per wineprefix? Even if per-wineprefix we could script to unmount any other ISO (or the last ISO mounted with more logic) to then mount the next one needed.
in dosdevices
I see a symlink
d: -> /var/run/win/[name of my iso].iso.cdrom
so I would wonder if there is any issue to just having all possible needed ISO's mounted?
I cannot find any documentation from wine that talks about just writing to file or a *.reg
file to link the ISO. Would probably be better if wine could just use the ISO without it being mounted at the system level?
Another thought: I see in the directory structure of the wineprefix drive_c
if you create a drive_d
and just copy the ISO file will that be the same?
I noticed /userdata/roms/windows/[App Name].wine/drive_c/users/root/Desktop/Play [Name of Game].desktop
which I guess is just a config for launching if you have a WM/DE running. Unclear to me if this is actually what gets launched from the ES GUI or not. Maybe if this points to some script instead of the main executable?
I don't see anything in the wineprefix specific to batocera, so does batocera just run something my convention vs explicit configuration we can then later edit?
Is the autorun.cmd being run "inside" of wine with windows commands or is this a batch file that can run any linux shell code?
Any hints as to what should run and when, I can play around with the actual execution.
This was the first thing i looked into after trying batocera (and forked to fix). Some pointers, infos and issues (the entire wine script is pretty unorganized with lots of duplicated code):
I have a few ideas on how to fix this:
Batocera build version
v38
Your architecture
x64 MiniPC Fujitzu Esprimo Q920
Your Graphic Processor Unit (GPU)
Integrated (e.g. Intel HD 550; RX Vega 8)
Graphical brand
Intel
Issue description
Hello I am trying to play Homeworld 2 from an iso CD. I did the installation from the windows_installer folder and everything went ok. When I tried to start the game this one asked me for the CD because it doesn't work without it. I attempted to add the CD via winecfg but found that winecfg is not present in the configuration tools. The game obviously does not start this way.
Expected result
Please add winecfg to be able to configure winwprefix properly.
Reproduction steps
1) Install Homeworld 2 via ISO (archive.org) 2) Sart the game 3) Game asks for CDrom, cannot start the game
Logs and data
No response