On October 18th, Jessica Lyon poked me about an upcoming blog post she was preparing for Firestorm which would make mention of a 64-bit Windows build, offering me the opportunity to talk to her about it ahead of the announcement going public.
At the time, my schedule was such that I couldn’t get back to Jessica immediately, so by the time we did get things worked out, the official blog post announcing both the team’s immediate plans for their next release and the arrival of 64-bit flavour of the viewer had been published. However, this didn’t stop me from taking the opportunity to sit down with Jessica and members of the team at the Cheeky Tiramisu Café late one afternoon in order to find out more about the promised “Firestorm 64”.
64-bit versions of SL viewers have been in demand for a considerable period of time. There has been some degree of resistance to them in the past, although there are a number of developers and self-compilers who have produced their own 64-bit versions of one viewer or another. The resistance has been for many reasons; Windows viewers are already Large Address Aware, for example, allowing them to use the additional memory common to computers using the 64-bit version of the operating system, thus helping to negate one of the biggest reasons for developing a 64-bit build.
Given that 64-bit builds have been seen as potentially problematic in the past, I started by asking what had prompted the Firestorm team to decide to go ahead with one.
“Our Windows 64-bit code was developed by Nicky Dasmijn as a sort of side project she wanted to do to scratch an itch she had,” Jessica informed me. Nicky, who started-out contributing code to the project, is now the project’s Lead Developer. Sadly, she’s also a little camera-shy as well, and managed to successfully escape my conversation with the team, hence why her profile picture appears here.
Jessica went on, “None of us were expecting her to drop the code into the repo when she did; but since she did, and since we had already decided to do a public beta, I figured, ‘Why not? Let’s get it out there in alpha form to see public reaction, and to see what the cost versus benefit might be’, neither of which we know for sure yet.”
I noted that when discussing 64-bit viewer builds at a recent Firestorm Q&A, there were concerns from the team about potential issues with maintenance, such as bugs and additional regressions, and for how it might negatively impact support were they ever to try for 64-bit viewer versions. I wondered what else had changed, other than Nicky working on the code herself, to persuade the team to push ahead on the 64-bit front.
“The expectation is that the 64-bit version won’t have different bugs than the 32-bit,” Jessica replied. “In fact the hope is that it may have better performance and fewer crashes, which if true, should actually take some load off our support team. But we don’t know for sure as we’ve only tested it on a dozen or so computers.”
I wondered if trying to offer a 64-bit version of a viewer might be the proverbial catch-22 / can of worms situation: the viewer needs to be put to public use in order to see what the response to it is like, but if it is put into public use, it’s going to be awfully hard to prevent it becoming an accepted and expected version of the viewer.
“Well, the feedback will determine whether we move forward with it, but I think chances are good,” Jessica said, before giving me a wry smile, “As for the can of worms; yes, we’ve opened it, and we’re not going to be able to get those worms back in it now. Folks are going to want it, many will want it even if there is no noticeable benefit.
“But other TPV’s are also working on 64-bit windows too, I spoke to Latif [Khalifa] from Singularity and found out he also has coded up Windows 64-bit for them. So to add another metaphor to the mix: the cat is out of the bag, and x64 for Windows is going to happen with or without us, and due to user demand it will likely become a standard presence going forward.”
Which is going to be music to the ears of many, particularly if Mac and Linux 64-bit builds are also on the way.
“We’re hoping we’ll get Linux 64 out at the same time,” Jessica confirmed. “But we’re depending on Techwolf [Lupindo] to do the work and his real life has been very busy lately. We absolutely will have it, just hard to say when. Same goes for Mac. It is in the future; but I couldn’t offer an ETA there at all.”
Does the introduction of 64-bit into the equation make the build process more complex?
“There has been some discussion around the build process,” Jessica admitted, “And folks feel having 64-bit might push us further behind. In truth, Nicky has set up the x64 builds to just require a flag change (setting) during the compile,” she paused a moment, before continuing.
“Let me explain. All of our builds, whether 32-bit or 64-bit, SL or OpenSim, come out of the same code repository. When we want to compile the Second Life version, we set a flag which tells the build process to include the Havok support code and to exclude the OpenSim grid selector. When we want to build the OpenSim version, that flag is replaced with one that tells the build process to include the OpenSim grid selector, but exclude the Havok support.
“Now, with Nicky’s code, we can replace both these flags with one which tells the build process to use Windows 64-bit libraries instead of the 32-bit libraries. Using this process means we can commit a change and it will work on all the different builds we make. It’s just the compiling that takes longer because we have to compile yet another version, but it’s basically building the same viewer but with different libraries.”
So in other words, the 64-bit version will have all of the same functionality as currently found in the 32-bit version, and as new functionality is added, it will appear in both variants as they are updated. The only exception to this is that the 64-bit build won’t include support for the Havok libraries Linden Lab provide for the viewer. This means that when used with Second Life, the 64-bit build will not be able to upload mesh with physics or be able to modify the pathfinding navmesh.
Another potential issue with 64-bit flavours of a viewer is that of distribution – ensuring people can get to the version they need for their operating system easily. I asked how the Firestorm team would handle this: an additional download link? A dedicated 64-bit page for those flavours? And how would feedback be invited?
“We’ll host the x64 on our downloads page in its own little spot, slightly separate from our regular download,” Jessica replied. “As for feedback I think I’ll just ask folks to provide feedback and their experiences to my inbox where I’ll likely throw it up on a public Google doc. To be honest we haven’t entirely decided yet on that.
“The main thing we want to be able to do is determine if there really is a tangible benefit in terms of performance improvement, and what the cons might be, if any. I’m hoping we will be able to sort through placebo versus reality in regards to performance. Stability should be easier to determine, as we’ll be able to measure this through the crash statistics supplied by Linden Lab.”
On the subject on Linden Lab, I asked if the Firestorm team had talked to LL about the work and if so, what had been the level of interest.
“No more than giving them the heads up on the planned release of the public beta and 64-bit alpha. There didn’t seem to be any lifting of eyebrows though in regards to x64,” Jessica informed me.
All of which left me with a final question: when would the x64 alpha appear? The end of October, alongside the Public Beta of the next release (as the blog post implies), or later?
“The plan is to get Windows 64-bit out along with our public beta around the end of this month,” Jessica said, before hesitating a moment. “I’m hoping we’ll also be able to get the Linux 64-bit out at the same time, but absolutely no promises on that. If not at the same time, then shortly after.”
So there it is; 64-bit viewers look to be on the horizon, with both Firestorm and Singularity actively working on them, and doubtless others as well. Do keep in mind, however, as Jessica emphasises in the official blog post, the 64-bit Windows version of Firestorm, when it appears, will only be an experimental release, and really should be treated as such when it does see the light of day.
In the meantime, there is also a public beta of the next release of the 32-bit versions of Firestorm coming up. This will have materials, .DAE object export and a lot of other goodies. I’ll be bringing you more on that in my regular Firestorm reports and reviews.
With thanks to the members of the Firestorm team who took time-out to meet with me, and to Yasyn Azemus, proprietor of the Cheeky Tiramisu Cafe, for providing a venue in which we could meet and for providing invaluable assistance.