Getting SMBX to work under Linux with Wine
Posted: Tue Jun 24, 2014 2:55 am
So I found this while browsing the old forums under the WayBackMachine. Dunno if it's helpful at all, but I thought I'd repost it here. Credits to Wario from the original forums.
SMBX is only availible for Windows. And since it is written in Visual Basic 8, there is little hope that there will ever be a Linux or Mac OS X port. But it works with Wine. Yes, really. Even the sound does (sometimes). People tend to ask about running SMBX with Wine, so I thought I share with you how it's done. Just don't blame me if this guide doesn't work for you.
For those of you that hate reading, here is the short and ugly version:
Download SMBX (obviously) and unzip it.
Install wine and winetricks.
Run 'winetricks quartz vb6run'.
Run 'WINEDEBUG=-all wine smbx.exe &'
Enjoy
Keep in mind these steps should be performed one after the other. There's no point in moving onto the next step if the previous step fails for some reason, as you won't be able to run SMBX.
-------------------------------------------------------
Turbo Mode:
Thanks to matthewbauer, it is now super easy to install SMBX under Linux. It just takes the two following steps:
Get PlayOnLinux
Download and Run this script
And that's it. Now you can run SMBX from your menu. If not, run 'wine smbx' from the terminal.
-------------------------------------------------------
Long, detailed and boring version:
Step 1: What You Need!
You will need a running Linux system, of course. Since Ubuntu is by far the most common Linux distribution (on desktops), I'm just gonna assume you have a recent version of it installed.
Some basic knowledge about the terminal. This is important. If you don't know what I'm talking about, take a look at the Ubuntu documentation about using the terminal.
Step 2: Installation
To make things easier, lets create a directory in your $HOME where we will install SMBX. You can do this with nautilus, or from the console:
CODE: SELECT ALL
mkdir smbx
And change into it:
CODE: SELECT ALL
cd smbx/
Download the current version of SMBX here and save the file in the directory you just created.
If not installed, install unzip:
CODE: SELECT ALL
sudo apt-get install unzip
Don't worry. If unzip already was installed, this won't do any harm.
Extract the .zip file:
CODE: SELECT ALL
unzip smbx12.zip
Now, run:
CODE: SELECT ALL
sudo apt-get install wine
This will install Wine on your system. We will need the shell script "winetricks", wich Ubuntu already included in the just installed "wine" package. Winetricks is a shell script that downloads missing DLLs and fonts for you from the best known source. If you (for some reason) want to use the current version of Wine, read this and this for the latest version of winetricks.
In the next step, we'll use winetricks to download and install quartz.dll and the Visual Basic Runtime. But first, let's make sure you have cabextract installed, as winetricks will need this.
CODE: SELECT ALL
sudo apt-get install cabextract
Then run:
CODE: SELECT ALL
winetricks quartz vb6run
If you see something like: "winetricks done.", you're golden.
Step 3: Run SMBX
A simple
CODE: SELECT ALL
wine smbx.exe
should do it.
Be patient. SMBX takes a while to load, especially with Wine.
As SMBX runs, you should see a lot of output on the terminal you have started it from. Stuff like this:
CODE: SELECT ALL
fixme:ole:OleLoadPictureEx (0xf8cfe4,886,1,{00020400-0000-0000-c000-000000000046},x=0,y=0,f=0,0x33f70c), partially implemented.
fixme:ole:OleLoadPictureEx (0xf8cfd4,1125,1,{00020400-0000-0000-c000-000000000046},x=0,y=0,f=0,0x33f70c), partially implemented.
fixme:ole:OleLoadPictureEx (0xf8cfe4,886,1,{00020400-0000-0000-c000-000000000046},x=0,y=0,f=0,0x33f70c), partially implemented.
fixme:ole:OleLoadPictureEx (0xf8cfd4,1125,1,{00020400-0000-0000-c000-000000000046},x=0,y=0,f=0,0x33f70c), partially implemented.
...
These fixme: lines are debug messages, kind of reminders for the Wine developers. We don't need them, so we're gonna deactivate them. Simply prefix "WINEDEBUG=-all". The resulting command should look like this:
CODE: SELECT ALL
WINEDEBUG=-all wine smbx.exe
This should improve performance a little bit.
And that's it. Enjoy!
To do: Write section about sound. I'm sure it's just my configuration / my system.
Changelog:
6/4/2010:
- Replaced downloading msvbvm60.dll manually with 'winetricks vb6run' as matthewbauer pointed it out to me.
- Added a "Turbo Mode" section for the PlayOnLinux way.
- Removed some typos and added some colors.
So, what else does work?
The editor runs, but I haven't tested anything yet.
One-player and two-player modes run perfectly fine. No glitches here.
Sound works, even if a little buggy. Sometimes the music won't play. Need to investigate.
Conclusion
I didn't think I would try running SMBX with Wine again, after my failed attempts last year. In fact, I almost had forgotten about SMBX until joystiq blogged about the version 1.2 trailer (hence the traffic here in the last 2 days). But here I am, writing this insanely long guide. Redigit, your work is awesome. Let's all hope Nintendo won't sue us to death.
Also: To be honest, I don't actually use Ubuntu, but another Linux distribution named "Arch Linux". The software is the same, so i guess this won't make any difference. It would be great if those of you running Ubuntu would try running SMBX with this guide and tell me if it worked.
I will try to keep this post up to date, but I can't promise it.
If you encounter any problems, or have questions or suggestions, please post them in this thread.
SMBX is only availible for Windows. And since it is written in Visual Basic 8, there is little hope that there will ever be a Linux or Mac OS X port. But it works with Wine. Yes, really. Even the sound does (sometimes). People tend to ask about running SMBX with Wine, so I thought I share with you how it's done. Just don't blame me if this guide doesn't work for you.
For those of you that hate reading, here is the short and ugly version:
Download SMBX (obviously) and unzip it.
Install wine and winetricks.
Run 'winetricks quartz vb6run'.
Run 'WINEDEBUG=-all wine smbx.exe &'
Enjoy
Keep in mind these steps should be performed one after the other. There's no point in moving onto the next step if the previous step fails for some reason, as you won't be able to run SMBX.
-------------------------------------------------------
Turbo Mode:
Thanks to matthewbauer, it is now super easy to install SMBX under Linux. It just takes the two following steps:
Get PlayOnLinux
Download and Run this script
And that's it. Now you can run SMBX from your menu. If not, run 'wine smbx' from the terminal.
-------------------------------------------------------
Long, detailed and boring version:
Step 1: What You Need!
You will need a running Linux system, of course. Since Ubuntu is by far the most common Linux distribution (on desktops), I'm just gonna assume you have a recent version of it installed.
Some basic knowledge about the terminal. This is important. If you don't know what I'm talking about, take a look at the Ubuntu documentation about using the terminal.
Step 2: Installation
To make things easier, lets create a directory in your $HOME where we will install SMBX. You can do this with nautilus, or from the console:
CODE: SELECT ALL
mkdir smbx
And change into it:
CODE: SELECT ALL
cd smbx/
Download the current version of SMBX here and save the file in the directory you just created.
If not installed, install unzip:
CODE: SELECT ALL
sudo apt-get install unzip
Don't worry. If unzip already was installed, this won't do any harm.
Extract the .zip file:
CODE: SELECT ALL
unzip smbx12.zip
Now, run:
CODE: SELECT ALL
sudo apt-get install wine
This will install Wine on your system. We will need the shell script "winetricks", wich Ubuntu already included in the just installed "wine" package. Winetricks is a shell script that downloads missing DLLs and fonts for you from the best known source. If you (for some reason) want to use the current version of Wine, read this and this for the latest version of winetricks.
In the next step, we'll use winetricks to download and install quartz.dll and the Visual Basic Runtime. But first, let's make sure you have cabextract installed, as winetricks will need this.
CODE: SELECT ALL
sudo apt-get install cabextract
Then run:
CODE: SELECT ALL
winetricks quartz vb6run
If you see something like: "winetricks done.", you're golden.
Step 3: Run SMBX
A simple
CODE: SELECT ALL
wine smbx.exe
should do it.
Be patient. SMBX takes a while to load, especially with Wine.
As SMBX runs, you should see a lot of output on the terminal you have started it from. Stuff like this:
CODE: SELECT ALL
fixme:ole:OleLoadPictureEx (0xf8cfe4,886,1,{00020400-0000-0000-c000-000000000046},x=0,y=0,f=0,0x33f70c), partially implemented.
fixme:ole:OleLoadPictureEx (0xf8cfd4,1125,1,{00020400-0000-0000-c000-000000000046},x=0,y=0,f=0,0x33f70c), partially implemented.
fixme:ole:OleLoadPictureEx (0xf8cfe4,886,1,{00020400-0000-0000-c000-000000000046},x=0,y=0,f=0,0x33f70c), partially implemented.
fixme:ole:OleLoadPictureEx (0xf8cfd4,1125,1,{00020400-0000-0000-c000-000000000046},x=0,y=0,f=0,0x33f70c), partially implemented.
...
These fixme: lines are debug messages, kind of reminders for the Wine developers. We don't need them, so we're gonna deactivate them. Simply prefix "WINEDEBUG=-all". The resulting command should look like this:
CODE: SELECT ALL
WINEDEBUG=-all wine smbx.exe
This should improve performance a little bit.
And that's it. Enjoy!
To do: Write section about sound. I'm sure it's just my configuration / my system.
Changelog:
6/4/2010:
- Replaced downloading msvbvm60.dll manually with 'winetricks vb6run' as matthewbauer pointed it out to me.
- Added a "Turbo Mode" section for the PlayOnLinux way.
- Removed some typos and added some colors.
So, what else does work?
The editor runs, but I haven't tested anything yet.
One-player and two-player modes run perfectly fine. No glitches here.
Sound works, even if a little buggy. Sometimes the music won't play. Need to investigate.
Conclusion
I didn't think I would try running SMBX with Wine again, after my failed attempts last year. In fact, I almost had forgotten about SMBX until joystiq blogged about the version 1.2 trailer (hence the traffic here in the last 2 days). But here I am, writing this insanely long guide. Redigit, your work is awesome. Let's all hope Nintendo won't sue us to death.
Also: To be honest, I don't actually use Ubuntu, but another Linux distribution named "Arch Linux". The software is the same, so i guess this won't make any difference. It would be great if those of you running Ubuntu would try running SMBX with this guide and tell me if it worked.
I will try to keep this post up to date, but I can't promise it.
If you encounter any problems, or have questions or suggestions, please post them in this thread.