Phoenix goes mesh

Yesterday, the much-anticipated release of Phoenix was made. Version 1.6.0 1591 brings with it the ability to render mesh objects.

This means that the majority of users in SL are able to see mesh objects rendered correctly in-world, if not import them. However, the release announcement from Jessica Lyon is liable to make difficult reading for some:

“We stated some time ago our active development commitment is now focused on the Firestorm viewer and that continues today. We still feel strongly that the end of V1 functionality is an inevitability, so it is more important to develop an alternative viewer for our users they will enjoy for when that time comes than to spend our efforts on a dying viewer and then leave our users with no alternative once it’s gone. However, we also promised we would try to keep the phoenix viewer alive for you until it is no longer feasible to do so. As you can see, we are not walking away from that promise, but it is important to understand that Phoenix is no longer our top priority. When necessary we will continue to keep it up to date with advances/fixes from other third-party viewers and provide them the credit they deserve for that work. But ‘we’ are no longer actively developing Phoenix on our own steam.

“Any future releases of Phoenix will be sparse and only if needed. I will not commit to saying this is the last Phoenix Viewer Release, but I will also not commit to saying it isn’t the last either. I will say… this is one of our last. As time passes we will determine if another release is absolutely necessary and/or sensible and make a decision then on whether another update is mandatory in order to keep our promise to you.”

While it may not be a popular move, one can hardly blame Jessica and the team for taking this position: maintaining an aging code base which itself is built on something LL no longer maintain (Snowglobe) is liable to become harder and harder as time goes on, and for a Viewer to remain functional and relevant, it needs to keep pace with the evolution of the grid and as the Phoenix / Firestorm project has made the step of producing a V2/V3 hybrid, it makes sense for them to focus on that work in order to do so, rather than splitting efforts (and doubling the workload) to try and maintain two sets of code.

As well as mesh rendering, this release also brings with it:

  • The Firestorm 3.2 log-in / splash screen options
  • Contact Sets
  • Removal of the Google chat translation API options from Preferences
  • A host of “small” fixes and changes

A signficant element not updated was that of RLVa – it was decided that Kitty’s time and focus is better spent on the numerous projects with which she is already fully engaged: her own Viewer (Catznip, reviewed here), working on bringing the spell checker to Viewer 3.x, her continuing support of RLVa for other V2/V3 TPVs, and so on). In the release blog, Jessica suggest that those wishing to update to the latest RLVa implementations should give either Firestorm or Catznip a try.

In the meantime, and if you haven’t already, you can grab Phoenix 1.6.0 1591 directly, or go to the Phoenix home page and use the Quick Download links.

Firestorm and Phoenix: updates and support notes

firestorm-logoThis week’s Phoenix Hour saw a couple of guests sharing the sofa with Jessica: Ed Merryman and Lette Ponnier, who would be joining Jessica and Phaylen in a discussion on matters relating to Viewer support. Ed actually heads-up the Viewer support side of the Phoenix / Firestorm group, and both he and Lette provide classes in using Firestorm.

To kick things off, however, Jessica ran though the latest status for both Phoenix and Firestorm before going on to pass comment on the new LL Viewer UI – which, at the time of her comments, was about to be merged with the Development Viewer code but had not actually been released for anyone to see.

The Viewers

Overall, not a lot has changed since my last report on The Phoenix Hour – the team are really waiting on LL to resolve issues their end before making any further releases of either Phoenix or Firestorm.

Phoenix Status

  • The mesh rendering code, supplied by Henri Beauchamp, is in the Phoenix code repository
  • The current graphic issues being experienced with the Firestorm Mesh Beta (and other mesh-capable Viewers) will be in the code for mesh rendering in Phoenix; Jessica estimated that around 50% of people using mesh-enabled Viewers are caught with the issue (basic shaders causing Viewer crashes)
  • This issues are Linden Lab issues, and as such, Phoenix is being held pending a fix or fixes from the Lab
  • The team have been working with LL with these bugs, and a version of Firestorm would be pushed to the Beta group to assist with further testing on the working being undertaken to fix things.

Firestorm Status

  • The next release of Firestorm is good to go, but again awaiting the GPU-related fixes from Linden Lab
  • All blocking issues from with the Firestorm project that might have delayed a release have now been resolved
  • There are still a number of targets the team would like to achieve prior to a release, but these are not blockers to a release; so if a graphics fix comes out of LL before all the targets have been reached, a release may still go ahead
  • Issues and fixes for Firestorm can be tracked via the project JIRA – although people will need to register in order to gain access
  • Focus has been placed on Firestorm locking-up and going into “(not responding)” mode and also inventory load times; Nicky Dasmijn has, in Jessica’s words, “Made a world of difference” to the issues
    • Jessica is convinced even those who didn’t have major inventory load time issues are going to notice a significant performance improvements as a result of this work once the new release can be rolled out
    • As an example of the improvements, she stated her own 72K+ inventory now takes around 20 seconds to load!
  • While the new mesh uploader will be in the next release, as per the last Phoenix Hour, there are some issues around the physics weight calculations for mesh objects (which are presumably being worked on)
  • New feature: Jessica revealed during discussions that a new feature has been added to Firestorm for the next release: right-click -> reload texture. This forces the server to re-send a given texture (worn or on a prim) which has failed to rez.

So to repeat: progress on both Phoenix and Firestorm has been good, but until the graphics issues are resolved by Linden Lab, there will not be any releases. As a side note, Jessica and Ed said the Lab themselves are indicating it will possibly take another two weeks of effort on the Lab’s part to resolve the issues – but this is not guaranteed.

New Official Viewer UI

Jessica expressed disappointment around the way in which Linden Lab has handled the  new Viewer 3.x UI, going so far as to state the view that working “in secret” on the UI was “Wrong. In so many ways”. Given the degree with which TPV developers working on V3-based code have been trying to make the Viewer more accessible and acceptable to die-hard V1.x users, one has to admit it is hard not to agree with her – although not necessarily for the reasons she cites.

Had the Phoenix team, for example, been made aware of LL’s plans, they could have made a choice as to whether to pursue the massive amount of effort they’ve put into creating a V1-style option for the Firestorm UI or whether to direct that effort elsewhere – such as in supplying even more help to LL in trying to resolve the current graphics problems. As it stands, a lot of effort on the part of the team may well have been wasted, and LL have run the risk of alienating TPV developers who might otherwise be well-placed to assist them with future issues.

However, the flip side to this is, of course, that the new UI hasn’t been developed “in secret” in the strictest sense. While the code may have been developed without much in the way of consultation with the user community, Linden Lab nevertheless do have over 18 months of considerable feedback from users on the Viewer 2 UI. They’ve also taken positive steps to better understand its limitations for themselves, as demonstrated at SLCC 2011. Ergo, the redevelopment work isn’t directly comparable to the situation that brought about Viewer 2.0, with the work being carried out in an apparent vacuum.

Support

The core of the show was devoted to support issues – especially in relation to Firestorm, but some of which also applied to Phoenix. This started with a review of the Firestorm courses the team offer, the schedule for which can be found on the Phoenix / Firestorm wiki, before moving on to the most common issues the support team deal with.

Bake Fail

Bake fail is the number one issue for the Phoenix / Firestorm support team, despite the fact it is not actually a Viewer issue per se. Rather it is a server-derived issue involving a communications failure, such as between the server and your computer, or the server and someone else’s computer / a group of computers. Typical examples of each are:

  • Everyone else sees you in an outfit you just changed into, but you still see yourself in the previous outfit = you have suffered bake fail
  • You see yourself wearing the outfit you’ve just changed into, but others see you still in your previous outfit = others have suffered bake fail.

Oz Linden has defined this problem as being the result of a series bugs within the rendering pipe (not all of them directly connected with bake fail itself) that have individually been treated with a band-aid at the time they occurred, with each bug causing the next bug in the chain. This has resulted in an issue that – as much as Oz has stated he’d personally like to see fixed – is next to impossible to sort out without significant time and effort (and risk) being put into the rendering pipe itself – a piece of code LL tend to treat with the utmost caution.

Once again, Phoenix provide a wiki page with information on how to fix a bake fail problem.

Back-up Your Appearance

Ed makes a point of expressing the value in making sure you make a “backup” copy of your appearance as far as you can – skin, hair shape & suitable clothing. If you have severe rendering issues, and REPLACE CURRENT OUTFIT isn’t available as an inventory option because it is grayed-out, drag the folder with the back-up from your inventory and drop it onto your avatar.

Blurry Textures

If your avatar bakes, then the textures go blurry, you rebake & go blurry, try:

  • Reducing your texture memory allotment by around 75% of the current setting
    • Firestorm: PREFERENCES -> GRAPHICS -> HARDWARE SETTINGS
    • Phoenix: PREFERENCES -> GRAPHICS -> HARDWARE OPTIONS
  • Reducing the number of HTTP concurrent requests by around 50% of the current setting
    • Firestorm: PREFERENCE -> GRAPHICS -> RENDERING
    • Phoenix: PREFERENCES -> PHOENIX -> PAGE 2 -> ADVANCED GRAPHICS
  • If both of these fail to resolve the issue, disable the HTTP Get function entirely (uncheck USE HTTP TEXTURES in Firestorm or GET HTTP TEXTURES in Phoenix, which are contained in the respective Viewer Preferences tabs defined in the above steps. If you disable the option, make sure you clear cache to avoid texture corruptions.
HTTP get texture options – possible aid in resolving avatar blurring issues

I See Grey People

An interesting tip from Ed Merryman formed a part of the bake fail discussion: if you see a grey avatar or avatars near you, don’t ask them to rebake – try changing your Group tag.

DNS Issues

Lette offer a number of solutions were offered for those experiencing a DNS related error on trying to log-in to Second Life:

  • Check your anti-virus software, some anti-virus software mistakenly view the Viewer as somehow harmful / trying to make an illegal connection and block it from doing so (some may even throw out a virus infection warning)
  • Try flushing your DNS cache
  • Change your DNS server to Google Public DNS or OpenDNS.

DNS errors appear to be on the increase across all Viewers, although why this should be isn’t clearly understood at this point in time.

The Phoenix / Firestorm Wiki

One of the best places to get help for either Phoenix or Firestorm is through the wiki. This includes details on basic troubleshooting, dealing with issues such as bake fail (as described above) and information on Firestorm classes, etc. The wiki also has a number of pages that cover broader issues and items, including:

Both of these pages are being continually updated, so people are asked to take a peek at them when encouraging issues.

The Phoenix Team Halloween Party

At 14:00 SLT on Saturday 29th October, the Phoenix team will be hosting its second annual Halloween Costume Party. Arrangements are still being made, but details and an LM will be sent out via the support group nearer the date.

See the show in full on Metamix TV.

Mesh, Phoenix and the future

Jessica Lyon has issued a statement on the Phoenix website concerning the future of the Viewer. It makes interesting and clear reading.

On Mesh

A release of Phoenix will be forthcoming that can render mesh objects in-world. Jessica makes it absolutely clear that credit for this largely goes to Henri Beauchamp and his work in backporting the Viewer 2.x/3.x rendering code into Cool Viewer. She also makes it clear that the Phoenix implementation pretty much is Henri’s code as is. In the post, Jessica states:

“I don’t want you all thinking we’ve changed our focus back on phoenix, truth is we haven’t. Ansariel handled all the work of pulling Henri’s work into phoenix, LGG has helped. Aside from Tonya and Tech fixing some of the bugs.. That’s it.. essentially we’ve only had two developers working on this, and there are no plans to increase development on phoenix beyond that. However, mesh in phoenix will accomplish two things. It will complete [the] adoption of mesh in SL, which is pretty cool actually. But equally important, it will also fulfill our promise to keep phoenix going until it’s dying day.”

She also gives a stark warning on Phoenix with mesh rendering:

“Speaking of QA, don’t expect phoenix to be just like the last release only now it has mesh support. This work effectively makes Phoenix a Ford Pinto with a diesel engine from a school bus duct taped into it. Not only will it have all the existing mesh related bugs, but it will have plenty of its own bugs specific to having a diesel engine in a Ford Pinto. It will have a negative effect on crash rates no doubt, will be a performance drop for some, an increase for others. It will not be perfect, as it is not designed to support mesh.”

On RLVa

Jessica has also indicated that the next Phoenix release will have an update to RLVa as a result of Kitty Barnett’s hard work as well. Details aren’t clear, but one assumes this will bring it into line with the updated RLVa seen in Firestom.

On the Future

Jessica is unequivocal as to the future however: Viewer 1.x is, in her opinion, on its deathbed where SL is concerned, and as such, trying to maintain the Phoenix code on a par with Viewer 3 is going to be too much of a headache. As she points out:

“Consider this.. it took over 9 months to get mesh to work in a v1 viewer.. it took us just over 2 weeks to merge mesh into Firestorm once we started the merge. This will be the pattern with all new things LL releases, making it work in Firestorm or a v2 based viewer will be far easier to adopt faster than making it work on a v1. Maintaining v1 long-term is just not being realistic.”

No date is given for a release of Phoenix with mesh rendering capabilities, other than it will be released once it has passed QA.

The release is also liable to mark the end of the road for Phoenix where non-SSE2 capable computers are concerned. The release for such machines will not include mesh rendering support.

Overall, this news is liable to be met with approval from Phoenix users not yet ready to make the jump to Firestorm and might, conceivably ease some of the pressure on the Firestorm team to get some of the current bugs and issues with the latest Beta release ironed out.

And on the subject of Firestorm, Jessica did offer a small tease: “Mesh upload capability is also under development and making some promising advancements thanks to Nicky Dasmijn.”

Read the full blog post.

Happy Birthday Phoenix

On September 3rd 2010, Jessica Lyon added an entry to her personal blog. It read, in part:

“My name is Jessica Lyon. My goal during my time with the Emerald Project, was always to give the users what they want. That goal has never and will never change. I’m very happy to announce, it continues…

“A few days ago, I assembled a team of developers to work on a new viewer. Some who were originally Emerald developers, some who were not. All are respected reputable residents in the SecondLife Community. The goal was simple, to provide users with what they want and do it transparently.

“I’m am very proud to announce the launch of the Phoenix Viewer.”

Phoenix was aptly named, rising from the ashes of the Emerald project, to soar gracefully as potentially the more successful and popular of all Second Life third-party Viewers – and all in the space of a few short months.

The Phoenix party with dramatic windlight settings active

To mark the anniversary of that blog post and Phoenix’s birth, Jessica and her team held a party, hosted by Ed Merryman on Wailele Moku sim.

Jessica Lyon

Some 50 people were on the sim for most of the celebrations, which included speeches, music and dancing and general merriment.

Many of the Phoenix development and support teams were present, including Jessica herself, who was out on the dance floor and mingling, and there were opportunities to be had to chat about Phoenix and Firestorm.

It’s been a remarkable twelve months for the Phoenix team. Not only have they met  – and exceed the wants and hopes and desires of a huge number of former Emerald users and overcome the angst and concerns that surrounded that particular episode of SL history, they’ve worked equally hard on developing Phoenix’s potential successor, Firestorm, which is already proving to be a huge success even before it has reached the status of a formal release.

So it’s been a remarkable and productive – not to mention successful – year. As a former Phoenix user now committed to Firestorm, I’d like to give my thanks to Jessica and the team for all of their effort over the year and say that I hope this is the first of many such birthday celebrations for both Phoenix and Firestorm in Second Life and in the OpenSim environment.

Happy Birthday, Phoenix!

Update Sept 4th

Here’s the birthday speeches via metamix TV.

Phoenix 1.5.2.1185 out

Phoenix have released the latest maintenance update to the Viewer. This comes with a number of bug fixes, including:

  • Phoenix appends (PH) in official support groups, with an option to disable
  • Fix for crash on changing shape and sometimes on appearance (fixes PHOE-59, and part of PHOE-3002)
  • Fix for crash when an animation is played on another avatar with an unknown joint
  • Partial fix for crash when script error buffer is overloaded by only displaying your own script errors by default.
  • Webkit related updates and fixes.
  • Linux Webkit updated to 4.7.1 (to same as windows and mac)
  • Fixes showcases not working for regions with a space in the name
  • Add Plugins and Javascript settings to web preferences
  • Add ability to disable SSL certificate errors in LLQtWebkit.
  • Add ability to add certificates.
  • Fixed Mac OSX Lion error messages about missing files
  • Updated bridge to prevent other objects from making your av move
  • Added option to disable server version change notifications, and set notifications to a lower priority
  • Updated copy paste code in build floater and fixed position on attachment
  • Avatar physics fixes – pie menu detach works, as does setting beer belly bounce on male
  • Handle llRegionSayTo() messages sent to local chat properly. Fixes PHOE-2998.
  • Webkit related upgrades and fixes
  • GPU list corrections and additions.

Of particular interest to many is the inclusion of the following functions:

  • The new Parcel Privacy options, and the ability to mute avatar sounds (generated by gestures) have been backported from Viewer 2
  • The “official” code for sharing region environment settings has been incorporated
  • STORM-1037 compliance has been added, and the redundant “hide URL” checkbox removed (redundant, as there are other means to obtain the URL even when the checkbox is ticked).
  • Viewer 2’s capability to mute avatar sounds at the parcel level
  • Phoenix can now detect whether a region supports the upcoming new maximum prim size of 64x64x64 (which will be introduced alongside mesh, as is currently available in the mesh-enabled sandboxes and private sims that signed-up to the Mesh/Live Volunteer program). This option will obviously become redundant once mesh is rolled out across the main Grid, but for now is useful, as it gives Phoenix users the opportunity to find a suitable sim and play with the new prim sizing capabilities.

Jessica also appears to have been following me around the mesh-enabled sims on both agni and aditi, as she also supplies a series of images showing mesh when seen in a mesh-capable viewer and a non-mesh viewer!

Phoenix gets jiggly

In something of a surprise move, Phoenix have released version 1102 of the Viewer. While an update was anticipated following the Ogg Vorbis Library files issue, the extent of this update took many by surprise, including as it does the Viewer 2 Avatar Physics code.

Yes, bouncing bewbs (and bums and bellies) using the official Linden code within Phoenix.

However, this isn’t a fad release: there have been reports that Viewers not using the LL Avatar Physics code are failing to render avatars that are using the Physics Layer correct (remember, Avatar Physics is a worn layer, like clothing, Alpha and Tattoo layers). So this inclusion of the code is as much about fixing this issue within Phoenix as it is about giving people bouncy bits.

To further encourage people to upgrade to 1102, the Phoenix team are including a set of pre-defined Physics Layers, each created by a different member of the team, which are ready-to-wear for both male and female avatars (yes, men can have wobbly bits as well!). For that want to make their own, there is an easy-to-follow tutorial from Phoenix.

Other fixes with the release include:

  • Removal of old Breast physics code as it is now obsolete and no longer compatible
  • Addition of further user-created WL Presets
  • Set “Let Scripts Control My Play Button” to OFF by default. Prefs> Audio & Video>
  • Fixed local lights issue for Mac users (could only see 2 local lights rather than the default 6)
  • Security fix with OGG Vorbis Library (see above)
  • Addition of Linden chat color options in Prefs>Text Chat>“Color text for linden text chat”
  • Open buttons for logfiles, Chat logs etc on Linux and Mac fixed. Prefs> Network & Folder>
  • Further sculpt fixes
  • TP Failure crash fix
  • Blank media texture crash fix.

Performance on this release (for me) appears somewhat better than 1050, and on a par with 977 Beta (which I had to roll back to following the 1050 release). However, given the Ogg and Avatar Physics “fixes” this is really a necessary upgrade than an optional one.