Jump to content

Mod Install Issues on OSX


subtledoctor

Recommended Posts

I want to highlight something the plagues a ton of otherwise very good mods: average users find them difficult to install on OS X. See, e.g., here:

http://forum.baldursgate.com/discussion/34193/iwdification-how-to-use-on-mac-os-x-version

 

This is *generally* because the mod ships with an old/nonworking version of WeiDU - like versions compiled for PowerPC processors. Apple hasn't sold PowerPC computers for about eight years. For mods whose authors disappeared in ~2004 that is perfectly excusable; but for new mods created in the age of EE (like IWDification!), may I humbly offer some suggestions:

 

1) Like the doctors say, first do no harm. Don't include a copy of WeiDU that isn't going to work for anyone.

 

2) Unfortunately WeiDU is a bit fractured on OS X: v236 has different binaries

- for newer 64-bit OSes like 10.9 Mavericks and 10.10 Yosemite ("weidu+mavericks");

- for older 64-bit OSes including 10.6 Snow Leopard, 10.7 Lion, and 10.8 Mountain Lion ("weidu+snow leopard");

- for older 32-bit OSes such as 10.5 Leopard;

- and for old PowerPC Macs.

 

WeiDU's self-updating mechanism can be a liability here: it's entirely possible that a newer-but-non-functional binary will overwrite an older-but-functional binary, in an opaque process that many users might find hard to troubleshoot.

 

Therefore, I suggest bundling the two 64-bit versions of WeiDU (one of which will be compatible with the vast majority of current players) and telling the user to rename it themselves. More work for the user, yes, but also higher chance of success and easier troubleshooting.

 

Maybe even don't bundle WeiDU at all, just include a link to the download page and let them get the proper version. If they can find and download a mod, they can download WeiDU!

 

3) You can bundle multiple copies of WeiDU and still automate the installation process. The .command scripts that G3 commonly uses are a generous touch, but they can be improved to check the user's OS and rename (or better yet, symlink) and run the proper version of WeiDU. That's what my WeiDU Launcher app does:

http://forum.baldursgate.com/discussion/17717/tool-easy-mod-installer-weidu-launcher-for-os-x/p1

 

The Applescripts in that app can easily be adapted to work solely with one mod, and you are perfectly welcome to do so and distribute it - it is absolute freeware. Or just distribute it as it is now, with one launcher for all mods, so as not to clutter up players' game folders with a separate install script for each mod. Use it any way you see fit, or not at all. I don't mind.

 

4) Sound files can be a problem, and what I often see is Windows versions of mods that use OggDec, and Mac versions that use Sox. Unfortunately they often bundle a PowerPC (i.e. useless) version of Sox.

 

I am *told* that WeiDU has Handle_Audio functions so that one .tp2 can work with different audio programs. Also, a cursory search tells me that Sox is free and cross-platform, working on Windows, Linux & OS X. I have no idea if it's as simple as I'm making it sound, but maybe sound files are no longer a reason for breaking mods into different versions for different platforms...?

 

Because what I would love to see, is to no longer have 3 different downloads for a single mod. I'd love users to simply "download IWDification" and have it work regardless of what system they're using. I'm trying to enable that with my mod in progress: users can extract the .zip into their game folders, and whether they're on OS X or Windows, installation is just a double-click away (not Linux yet, because I have no test system):

http://forum.baldursgate.com/discussion/33657/scales-of-balance-get-it-kit-rev-and-tweak-mod/p1

 

Thanks for listening, and keep up the great work.

Link to comment

We've realized our Mac packaging is a little outdated, but we don't get a lot of feedback from Mac users. Most of us don't use Macs for playing IE games. Maybe you and other Mac users could help us make some sensible changes to our Mac packaging and instructions.

 

First, I did a little bit of research in order to understand the issue.

  • In 2001-2003, BG2 was released for Mac when all Macs were PowerPC machines
  • In 2006, OS X 10.4 was released, which started supporting Intel machines as well
  • In 2009, OS X 10.6 was released, which stopped supporting PowerPC machines (but users could potentially run PowerPC programs via Rosetta)
  • In 2011, OS X 10.7 was released, which removed Rosetta and stopped all chance of using PowerPC programs
  • The Mac Enhanced Edition games and the GoG versions require a minimum of OS X 10.6/10.7

Our current Mac packages include PowerPC programs (which are useless on recent Macs) and instructions that make no mention of how to handle this. Also, sometimes we bork up the file permissions so .command files and binaries need to be chmodded by the user.

 

Our goal is to make mod installation easy for both newbies and experts. The level of technical competence is quite varied amongst Windows users, so we bundle WeiDU with each Windows mod and package it with a hand-holding self-extracting archive.

 

Linux users can be expected to know how to do things, so we ask them to grab weidu from the website.

 

HANDLE_AUDIO and HANDLE_TILESETS still require the sox/oggdec and tisunpack binaries to work. For Windows and Mac, we package them with the mod. For Linux, we expect the user to install oggdec themselves and grab tisunpack from the WeiDU website.

 

I would like to see Mac packages bundled with a single copy of WeiDU that works for at least 90% of users or no WeiDU at all. I'd assume the one compiled for 32-bit Intel machines would work for everything exception the ancient PowerPC machines, but maybe the problem is finding someone to build it.

 

Not including WeiDU would make packaging much simpler, but it might make the installation trickier for new users. That difficulty would be lessened if we improved the Mac instructions and available support. I noticed AstroBryGuy's The Hitchhiker's Guide to Installing Mods on OS X seems to prefer the idea of grabbing a single copy of WeiDU.

 

Any opinions?

Link to comment

No prob - just trying to help! I was out there in ~2003 converting Windows-only NPC mods into PPC-based Mac-compatible packages... once I figured out how to do it for myself I wanted to enable others to use them, so we would see fewer "Windows-only" labels. The situation is MUCH better today, nearly every tool - and every game! - is cross-platform. It's great.

 

Unfortunately I don't think you're gonna be able to bundle just a single copy of WeiDU... I'm pretty sure the 32-bit version will not work on modern machines (I'll double-check that, to make sure, but I think the 64-bit binaries are necessities, not luxuries). And there is a fair bit of resistance among Mac users to upgrading their OS past Snow Leopard (for some) or Mountain Lion (for others). So both of the 64-bit versions are generally necessary.

 

You could just bundle the Mavericks+ version, on the assumption the newbies are more likely to use Apple's newest shiny software, while crotchety old power-users like me are more likely to stop at an older OS. Just mention in the Readme that users on older OSes should trash the included file and go download the right one.

 

BUT you're just playing the odds that way, which may not be the best plan. And like I said, if the file itself is named in a way that you can't figure out which version it is, then you risk troubleshooting difficulties, where the user won't be able to answer basic questions when asking for help.

 

(I suppose you could mention it in the file metadata - OS X has fields for notes there. Or use color-coded labels or something like that. I'll play around tomorrow and see if I can't come up with a good idea.)

Link to comment

WeiDU's self-updating mechanism can be a liability here: it's entirely possible that a newer-but-non-functional binary will overwrite an older-but-functional binary, in an opaque process that many users might find hard to troubleshoot.

Now, I hate autoupdate as much as the next guy, but I'm pretty sure that can't happen. Before WeiDU X is overwritten by WeiDU Y, they must both be executable.

Link to comment

Ah - duh, of course, how can it update itself if the executable doesn't even run??

 

@Wisp while you're here (since you're the man in all things weidu-related) can you confirm whether the 32-bit version currently called just "weidu" on the download page will work on modern 64-bit machines? Or am I correct in that a user must use either "weidu+snow leopard" or "weidu+mavericks"?

 

As I keep thinking about it I keep coming back to the ideal situation being that a mod will bundle both of those executables, and a launcher - either my app or updated .command scripts - will rename or symlink the proper copy. Easy for packaging, easy for installation.

Link to comment

@Wisp while you're here (since you're the man in all things weidu-related) can you confirm whether the 32-bit version currently called just "weidu" on the download page will work on modern 64-bit machines? Or am I correct in that a user must use either "weidu+snow leopard" or "weidu+mavericks"?

I really don't know. It depends largely on whether 64-bit OS X ships with the required 32-bit libraries (presumably libc and perhaps additional ones).

 

As I keep thinking about it I keep coming back to the ideal situation being that a mod will bundle both of those executables, and a launcher - either my app or updated .command scripts - will rename or symlink the proper copy. Easy for packaging, easy for installation.

Depending on the variety of builds available for v236 will probably not be very future-proof, as the selection depends entirely on who's available to build WeiDU for OS X (it's not something I can do myself). For instance, the current beta is only compiled on Yosemite. I imagine the next stable release will (eventually) be available for older versions of OS X as well, and perhaps in 32-bit, too. But it is hardly a sure deal. I'll be very happy if someone could figure out the Make-ry needed to produce a binary that works on both old and new OS X, regardless of which version of OS X the binary is compiled on (assuming it's even possible).
Link to comment

I have no idea why compiling on one version of OS X would not be able to run on other versions. Some clever scripting is the closest I ever came to software programming. I especially don't understand why, if it was compiled on an older OS, it wouldn't run on the newer OSes. (Thousands of apps do just fine when the OS gets upgraded.) If that worked then whoever is compiling Weidu for OS X could just keep a Snow Leopard installation in VirtualBox and make it there.

 

Failing that, like I said, maybe better to maintain multiple versions, and maintain the naming conventions currently in effect ("weidu+snow leopard" and "weidu+mavericks" and "weidu+yosemite" etc.), and just let launcher scripts decide which one to use, depending on the user's system. Absent a universal binary, it would make mod packaging and installation as idiot-proof as possible.

Link to comment

The majority of people using Macs these day are using EE, since it's native. So I imagine they will congregate over on the baldursgate.com forums; that is probably the place to go for feedback.

 

Some Mac players are now using GOG since they started shipping the games with pre-configured WINEskins. But whether using GOG or EE, assuming hardware purchased in the last ~5-7 years, they would use one of the two 64-bit versions of Weidu for their modding.

 

My mod includes both of those, plus the Weidu launcher app. Users simply copy everything over, and double-click the launcher. In the second post of the thread for the launcher, linked above, there is a screencast of how it works. (Ignore the language stuff, that's not necessary anymore.)

Link to comment

I'm running Mavericks, and from my testing, I can run any of the v236 WeiDU binaries: weidu (32-bit), weidu+snowleopard, weidu+mavericks. So, until v237 is released, perhaps the most universal solution is the 32-bit WeiDU.

 

What's involved in actually compiling WeiDU? Does it use gcc?

Link to comment

I've updated the way we package our mods.

 

For OS X, 64-bit Intel users are the prime demographic, so the idea is that everything should work for them automatically. If a WeiDU version gets compiled for PPC, we will put together a "legacy OS X pack" that includes PPC versions of WeiDU, sox, and tisunpack, which users can be directed to download and apply manually.

 

Here are the changes for our OS X mod archives:

  • the included WeiDU will be the version compiled for 32-bit Intel machines so long as we can continue to get our hands on it; we may switch to 64-bit if 32-bit binaries are not readily available
  • sox and tisunpack will be updated to the versions compiled for 64-bit Intel machines
  • the archives will be packaged in .tar.gz format to preserve file permissions (no need to chmod)
Link to comment

Some thoughts from a long-time Mac user:

 

There is still the case of some Mac users who don't want to use the EE versions of the games. For PPC users, this means having to perform surgery on .tp2 files to remove or comment out all commands and identifiers related to EE.

 

To my knowledge, there is no way to natively run the non-EE versions under Mavericks without involving additional software that many Mac users will find unfamiliar (and possibly uncomfortable).

 

With mods that use .ogg audio files, at least on the PPC side, many mod installers don't convert the audio (Mac doesn't know from oggdec, and of course PPC Macs don't know from .exe files). In this case, an audio converter program is needed. I've mostly had success with this by using Switch, a free converter program.

 

I'm new to Intel Macs, and have recently become comfortable with Mavericks. Since there's no native versions of the games that don't involve EE, my solution for now is to run the Windows versions of the games in a virtual machine via Parallels Desktop. With this set-up, I've been amazed and delighted at how fast and smooth everything behaves, with both the mod installation process and game play! The same processes on a PPC Mac are a torturous nightmare by comparison, especially due to those random CTDs that are simply a fact of BG on PPC life.

Link to comment

There is still the case of some Mac users who don't want to use the EE versions of the games. For PPC users, this means having to perform surgery on .tp2 files to remove or comment out all commands and identifiers related to EE.

... In this case, an audio converter program is needed.

The thing with this is, you would only need up to date(v23600) PPC-Mac weidu to be compiled to skip the EE content, as on PC's side it's done with the newer commands that are not likely to be in the old weidu.exe's.

And on PC's side, today the ogg-to-wav conversion can be done by weidu.exe itself. It's likely that addition was made just for the implicated reason.

 

Unfortunately, we don't 'own' a PPC -genius as a moding community, so there's no updated PPC-weidu. Unless one of you *pokes every one of the post reader* becomes one.

Then again, the PPC Macs haven't been any longer in productions for a long while... and you might be the only one that remembers using one. :p Yes, jokes, bad ones, yeah.

Link to comment

I must say, really no one should be using the PPC versions anymore. The GOG versions (which are Windows executables) are 10 bucks apiece, sometimes on sale for $5, and it's pretty easy to set them up in pre-configured WINE or in TinyXP + Virtualbox... and those options are both free.

 

Those two options let you use Windows mod packages (in Virtualbox installs) or modern Intel OS X Weidu binaries w/ my Launcher app (in WINE installs) and therefore work with every modern, decent mod out there. As a modder, I basically just target GOG and EE, that covers most players now.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...