Modified program to launch a Linux binary and wait for it (using the Linux API system() call) instead of just providing a simple popup
This commit is contained in:
parent
2ce5e62829
commit
b885a15eff
13
README
13
README
|
@ -1,4 +1,4 @@
|
|||
Steam stub is a simple Windows program that pops up a dialog box and closes once you click 'Ok' on it. It is intended for Linux users running Steam under wine.
|
||||
Steamproxy is a simple Windows program that executes a Linux program with the Linux system() library function, then exits after that program returns. It is intended for Linux users running Steam under wine.
|
||||
|
||||
Why would you want such a simple program? Why would I write a Windows program for Linux users? Read on to find out!
|
||||
|
||||
|
@ -6,13 +6,8 @@ Here's the scenario: You're running Steam in wine. Steam is great; it lets you e
|
|||
|
||||
Steam created a solution for that - you can launch non-Steam games from the Steam interface. You can't use all of the nifty Steam features, but you can at least let your friends know what you're doing.
|
||||
|
||||
But what if you play Steam on Linux, and you play Linux-native games like vegastrike? You can launch a Linux binary from Steam, but Steam can't track the fact that you're playing it. This is because wine doesn't know anything about Linux binaries.
|
||||
But what if you play Steam on Linux, and you play Linux-native games like vegastrike? You can launch a Linux binary from Steam, but Steam can't track the fact that you're playing it. This is because wine doesn't know anything about Linux binaries (this isn't quite true - wine will happily execute a Linux binary, but it does a fork() and exec() and immediately forgets about it, which means the call returns immediately without blocking, so Steam would think the game had closed even though it's still running).
|
||||
|
||||
So, this is my hack to solve the problem: add a non-Steam game, like vegastrike, to Steam, then launch a small 'stub' program that Steam can recognize while you go off and play your Linux game. Then, you can come back and close the stub program when you finish with your Linux game.
|
||||
So, this is my hack to solve the problem: add a non-Steam game, like vegastrike, to Steam, but instead of pointing at the binary directly, launch a small 'proxy' program that Steam can recognize that, in turn, launches your Linux game.
|
||||
|
||||
steamstub is a trivial Windows application written to solve exactly this problem. I've included the .exe in the repository because it is fairly small, and most people don't have the mingw32 compiler tools handy on their system. The md5sum for steamstub.exe is:
|
||||
|
||||
2602faed31858d240d87feeb2293a374
|
||||
|
||||
|
||||
If you don't trust me (and really, it is good security practice not to trust random executable files you find on github), just install mingw32-gcc and use it to compile steamstub.c.
|
||||
It's easy to compile; if you have make, gcc, glibc-devel and wine installed, you should have everything you need. Just run 'make'!
|
||||
|
|
|
@ -16,7 +16,7 @@ make
|
|||
|
||||
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
|
||||
{
|
||||
system("gedit");
|
||||
system(lpCmdLine);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
BIN
steamstub.exe
BIN
steamstub.exe
Binary file not shown.
Reference in New Issue
Block a user