For many, many years I’ve been wanting to use Linux more and more as my daily operating system. This week I made a bigger step in that direction by resurrecting one of my older PCs, lovingly named ‘Potato’ (fun fact: Potato used to be Mahjong.WTF’s web server!). I decided to go with Pop!_OS, and overall I’ve been exceptionally happy with it. Tenhou, of course, runs effortlessly, and Mahjong Soul has, uh… let’s just say it’s not a great experience running on this APU from 2015. There’s one other client that I play a lot, セガNET麻雀MJ, that is unfortunately only available on Windows. There is a solution to this limitation: Wine. Wine allows you to run software made for Windows on Linux and other Unix-like operating systems with varying degrees of success without having to run a virtual machine. Not much is intuitive with the software, but with a basic grasp of the Linux terminal and a handy guide, like this one here, it should be a viable solution.
There are, of course, caveats. Different distributions of Linux, and different Unix-like operating systems, will have different pre-installed software, libraries, etc. etc. Hopefully what I’m writing in this guide applies to not only Pop!_OS, but Ubuntu (which Pop!_OS is based on), and maybe other distributions that are based on Debian. Unfortunately, there’s also a chance that this guide won’t be successful with getting セガNET麻雀MJ running smoothly on your machine. C’est la vie.
But First, Wine
In order to run Wine, we need to get Wine installed. Open the Pop!_Shop, then search for
Wine. Click on Wine from the search results (Not the development version), click ‘Install’. Once that’s done, close the Pop!_Shop and open the terminal. Unfortunately, everything we’re going to do will be here in the Terminal, but once we understand what we’re doing and why, it won’t be all that bad.
Basically what Wine does is setup an environment that pretends to be a Windows computer. This is a bunch of files and folders that Wine uses just like your hard drive in a normal Windows install. However, because Wine might need to be configured in specific ways to run specific programs, we’ll often need multiple instances of these Windows ‘installations’ to jump between. These are called ‘Prefixes’. By default, Wine sets up a 64-bit prefix, despite the 64-bit prefixes being pretty spotty when it comes to compatibility. For that reason, we’ll need to start by creating a new 32-bit prefix to work in. In the terminal, enter
Winearch=win32 WINEPREFIX=~/.wine32 winecfg, then press enter. Here we’re telling Wine to use the 32-bit archetecture, and the prefix is going to live in a folder called
.wine32 in your home directory. For me, that’s
/home/travis/.wine32/. Last, we’re running the program winecfg, which will setup the prefix for us.
You’ll notice all the errors in the terminal. Those aren’t strictly errors, more just feedback from winecfg that we can safely ignore for the time being. Click OK to close the window and return to the command line. At this point, if we tried to run the game we’d get an error saying that it requires .NET 3.5 in order to run, so we’ll get… no, we’re not installing .NET 3.5, we’re installing an open-source alternative that has better support in Wine. In the terminal, navigate to your Downloads folder by entering
cd ~/Downloads, then download the Mono installed using
wget https://dl.winehq.org/wine/wine-mono/5.0.0/wine-mono-5.0.0-x86.msi. As best as I can tell, this is the correct version of Mono for Wine version 5.0.3.
Okay, so now we need to install Mono in the 32-bit prefix we made earlier. There are ways to permanently specify which prefix we want to use, but for now, we’ll just specify it. Enter
WINEPREFIX=~/.wine32 msiexec /i ~/Downloads/wine-mono-5.0.0-x86.msi to tell wine that we want to use the 32-bit prefix, use the msiexec tool to execute the msi file, and that the file is located in our downloads folder.
The errors are normal for freshly made prefixes, so just pretend that they’re adult responsibilities and ignore them. So, can we run the game yet? No, we haven’t downloaded it!
Navigate back to your download directory if you left for some reason and download the game installer with
wget http://download.sega-mj.com/MJ_Setup.exe. Next is the moment of truth: Will it run at all?
Wait, what?! It actually worked?? Okay, maybe not that big of a surprise, but honestly it’s cool every time. The installation page is going to look like garbage, just like it does in most English Windows installs, so nothing to worry about there. For our sanity later we’re going to make a couple changes as we click through the installer.
First, click on the button that ends in ‘(N) >’ to proceed to the next page.
Cool that the EULA is displaying correctly, at least. Click the ‘…(A)’ radio button, then the ‘…(N) >’ button.
Here’s the first place we need to make a change. By default, the installer wants to put the game into a folder that has kanji in the title; kanji that doesn’t display. If you want to figure out how to type
ƒZƒKNET–ƒMJ in the terminal, be my guest, but I suggest changing the install directory to
C:\Program Files (x86)\SEGA\SegaMJ. This will be infinitely easier to type and won’t cause any issues with the game running. Click the ‘…(N) >’ button to continue.
I don’t really remember what this box is trying to do; the name it shows up as in the add/remove programs window, maybe? Wine doesn’t have that, but we may as well enter something new here anyway. I suggest
SegaMJ, then ‘…(N) >’.
Almost done. This is asking if you want to create a desktop shortcut. Personally, I can’t stand having anything on the desktop, and even though this will place an icon on your Pop!_OS desktop, I honestly don’t think it’ll work. Feel free to play around with that, but I’m going to uncheck the box before hitting ‘…(N) >’.
This screen is confirming the install settings. It’s, uh… a good thing it’s there because apparently I forgot to change the install directory even though I just said to do that. One more ‘…(N) >’.
Ah, the installation is finished. The last check box is asking if we want to launch the game when we exit the installed. Let’s YOLO it and see what happens. Click the ‘…(F)’ button to finish the installation.
You might see this window open a number of times or seem like it’s not doing much. Just give it a second and you should see the game start downloading. Once that’s done, the blue play button will, uh… turn blue. This is the real moment of truth.
After you click on the play button, you should see a new screen appear with the SEGA logo, followed by a disclaimer about, I dunno, this application not having a warranty and not to hack the game and maybe don’t gamble. I dunno. Click the screen to move onto the main menu.
And there we have it! It actually runs! I tested the game in offline mode on another machine, and it played perfectly. You can follow my guide for setting up your account and getting started with the game right over here, but first there are a couple things we want to address. First is the fact that there isn’t a normal window bar along the top of the screen, and also that the game is probably smaller than you would prefer. Because there’s no window bar, and no obvious exit button, the easiest way is to right-click on the game’s icon in the dock and close it. That will force the ‘Are you sure you wanna quit?’ dialog to appear in the game. Click the green button to close the game.
Open a new terminal window and use
WINEPREFIX=~/.wine32 wine '/home/travis/.wine32/drive_c/Program Files (x86)/SEGA/SegaMJ/MJ_Launcher.exe' to launch the game and it should look correct. To break down the command, we’re specifying that we want to use the 32-bit prefix, then telling Wine to launch the, uh, launcher. When the launcher opens it will first verify the files to make sure everything is up to date and not corrupt. Once that’s done, click the second of the two buttons on the top-right. This will open the display settings.
You can open the drop-down menu and select any resolution that you like, then click the ‘OK’ button. With that out of the way, click the play button to start the game again. You should now see that the top of the game has a close and minimize button, where it didn’t before.
That’s it! You should be able to follow my guide for setting up your account, or use the bottom-left button to enter your ID and password to log into your existing account. Oh, one more thing. When you launch the game from the terminal, you may notice that Wine doesn’t actually quit; it just sits in your terminal. To close Wine, go to the terminal and use CTRL+C on your keyboard to issue the close command. It will display as ‘^C’ then release the terminal back to you.
I know that launching the game with the terminal command from earlier is kind of sucky, and I’m sure there are better ways to go about it. Once I figure out how to do it, I’ll update the guide. Until then, enjoy slamming tiles in Pop!_OS and maybe other distributions as well.clear