This may sound like a strange request, but I'm currently investigating
how to execute Linux executable files from wine. The use case for this
is that I play a lot of games on Steam, as well as a number of
Linux-native games. I would like to be able to add the Linux games as
'non-Steam' games so that Steam keeps track of how long I play them, and
so friends can see what games I'm playing. Basically, all of the fun
little things Steam does for you.
Typical of a Windows app, Steam will only show files that end in .exe,
so as a test, I wrote a shell script to launch Minecraft, set it
executable, and called the script test.exe. Steam successfully launches
the game! However, it then produces a message saying 'failed to launch
<appname>'.
So, however wine calls exec/execve/whatever to launch a native Linux
executable, it appears to do it in such a way that the parent process
doesn't know it is a child process. Linux knows that it's a child (from
pstree):
Steam.exe(28395)---test.exe(28530)---java(28531)
also see ps:
$ ps efo 'pid,ppid,comm' | egrep 'Steam|test|java'
28395 28373 \_ Steam.exe
28530 28395 \_ test.exe
28531 28530 \_ java
Does anyone know why this happens, and how it might be corrected? Is it
a fundamental incompatibility between the APIs for Windows and Linux? My
attempts to strace wine (using strace -Tttfvo) caused wine to fail to
launch, and produced a 230 Mb strace file filled with what seems like an
enormous call to recvmsg():
$ egrep '\{NULL, 0\}, \{NULL, 0\}' /tmp/steam_minecraft.trace | cut -c
1-1024
28727 17:57:10.151689 recvmsg(23, {msg_name(1257252)=NULL,
msg_iov(735032052973305856)=[{NULL, 0}, {NULL, 8183968}
Further down, this same function call is filled with pages and pages of:
{NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}
So, I'm not sure how to strace wine successfully. At any rate, I'm
hoping someone out there knows why wine and/or Steam can't detect that a
native-Linux child process is successfully running.
Also, for reference, I am running wine 1.3.19 compiled from source, on
fedora 14 (x86_64).
- Anna
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 899 bytes
Desc: OpenPGP digital signature
URL:
<http://www.winehq.org/pipermail/wine-users/attachments/20110515/df50d38b/attachment.pgp>