SL projects update week 28 (1): servers, SSB/A, viewer, snapshots

Update Wednesday July 10th: In checking the forum deployment thread for this week’s roll-outs, I see that KarenMichelle Lane has provided a list of regions on LeTigre where SSB/A will be enabled once they have restarted. Again, you’ll need to have an SSB/A-enabled viewer to avoid issues with avatar rendering on these regions. If you find that once the restarts have completed you are encountering issues with avatar rendering (for example, you are using an SSB/A viewer and find you avatar fails to render for yourself or others), or other issues which appear to be linked to SSB/A, please consider raising a bug report detailing the problem, how to reproduce it, and including your environment information (Help > About (Viewer Name) > Copy to Clipboard), which references Project Sunshine.

Server Deployments – Week 28

As always, please refer to the week’s forum deployment thread for news, updates and feedback.

Second Life Server (SLS Main) Channel

On Tuesday 9th July, the SLS Main channel received the server maintenance package previously deployed to all three RC channels in week 26. This comprised:

  • A fix for ‘llApplyImpulse now works only in the root prim’ (SVC-8227)
  • Crash mode fixes
  • New LSL function: string llXorBase64(string str1, string str2)
    • Returns a string that is a Base64 XOR of Base64-formatted input strings, str1 and str2.
    • Addresses the cases from SCR-35 “llXorBase64StringsCorrect returns wrong result when the 2nd string contains nulls”
    • Aside from those cases, this function behaves identically to llXorBase64StringsCorrect()
  • Added max_materials_per_transaction to /simulator/features cap
    • This number returns the maximum number of materials that can be sent to the “RenderMaterials” capability in a single request.

     

Release Candidate Channels

On Wednesday July 10th, the three main Release Candidate channels should each receive individual updates, as follows:

  • LeTigre should see the Server-side Baking / Appearance code enabled. See my mini-update here
  • BlueSteel should receive a further package of under-the-hood changes related to the experience tools
  • Magnum should receive a server maintenance project intended to fix a couple of pathfinding issues:

Viewer Updates and Release Process

  • The Second Life Beta viewer updated to release 3.6.2.278133 on July 2nd – see the release notes for change details.
  • The Materials Project viewer was also updated on July 2nd, to release 3.6.2.278221.

Speaking at the Opensource UG meeting on Monday 8th July, Oz indicated that he hoped the new viewer release process would go live on Tuesday July 9th. If this has in fact happened, the first viewer to pass through the new process is likely to be a project (or beta viewer) with further third-party code contributions to the SL viewer.

However, as both the SSB/A deployment and the new viewer release process both require an update to the login code, it is possible the new viewer release process will not go live until Wednesday 10th July.

The login change for the viewer release change is to update the automatic check which is carried out to see if a mandatory upgrade is required (see my week 20 report). To prepare for the new release process, is check has been updated. , the login change for SSB/A is described by Oz Linden as, “a very minor change to ensure that inventory is correct” .

Group Ban List

Baker Linden and his new harido
Baker Linden and his new harido

Baker Linden continues to work on the new group ban list functionality (JIRA VWR-29337). Speaking at the Simulator User Group on Tuesday July 8th, he said:

For my update: I’m making really good progress on group bans. I’m doing a bit of a refactoring because I changed the way the backend works slightly. Hopefully by the end of the week I’ll be finishing up the backend code.

There’s currently no date as to when the viewer-side changes might see the light-of-day, but given Baker is currently working on the back-end, this is hardly surprising. He’s also indicated that while it won’t be available when the new functionality goes live, he is considering adding scripting functions to group bans. He also confirmed that group bans would have their own moderation capability, rather than being tied to estate ban moderation.

Particle System Updates

Particle Blocking

As previously reported in these updates, the new “right-click on particles to block and emitter” (MAINT-2268) code for the viewer has been released in the SL Beta Maintenance Viewer. As well as allowing people to click on particles to prevent the viewer generating any more particles in someone’s world-view, the code also has a FPS limit on particles and will stop generating new particles when frame rates drop to 4 FPS.

Those who have tested the capability report it works well and it is very easy to right-click on particles and block them. A slight bug has been reported whereby when unblocking a particle generator / person owning a particle generator, the viewer will not resume generating the particles until the user changes their group tag.

New Particle Capabilities

First reported on in these pages back in week 12, the new particle capabilities – glow, ribbon and blending optionshave had server-side support for some time. The Beta Maintenance viewer mentioned above now has the first part of the viewer code, and speaking at the Simulator User Group meeting on Tuesday July 8th, Simon Linden said, ” Once that one is out, we’ll get the next one going,” so expect these capabilities to be becoming more radily available in the near future.

Ribbon particles – one of the new particle capabilites

Other Bits

Snapshot Fixes

The SL Beta Maintenance veiwer includes further snapshot fixes (MAINT-2152) which are designed to overcome the problem of black rectangles  / borders appearing in very high resolution snapshots. These fixes are in addition to the “tiling” fix issued last year.

However, Whirly Fizzle reports that if very high-res snapshots are captured with the Beta Maintenance viewer and post-processed, the tiling artefact tends to return.

Post-processing high-res images captured using the additional snapshot updates (as found in the current SL Beta Maintenance viewer) can result in tiling artefacts reappearing (image, originally in PNG format, courtesy of Whirly Fizzle.
Post-processing high-res images captured using the additional snapshot updates (as found in the current SL Beta Maintenance viewer) can result in tiling artefacts reappearing (image, originally in PNG format, courtesy of Whirly Fizzle.

Simon Linden reports that a further update to these fixes is about to be released, although it is not known at this time if it will fix this issue, or a reported issue of GPU crashes when using the Beta Maintenance viewer for snapshots.

Your Skin – In the Sky

The issue of avatar skins appearing in the sky at very high altitudes (see JIRA VWR-28962) came up for discussion at the Simulator User Group. First reported in 2012, there is some speculation whether SSB/A will impact the frequency with which the issued manifests; it appears to be linked to the local bake process, and so may only occur in the future when people at high altitudes are editing their appearance.

The "face-in-sky" issue (image courtesy of Eku Zhong)
The “face-in-sky” issue (image courtesy of Eku Zhong)

In the meantime, if you are up high and encounter this phenomenon, try toggling the Advanced Lighting Model option in Preferences > Graphics off / on.

Exodus Viewer now SSB/A-ready

exodus-4With Server-side Baking / Appearance due to be enabled on the LeTigre Release Candidate Channel on Wednesday July 10th (from which it will gradually roll across the grid), the Exodus team have issued a new version of the popular Exodus viewer. Classified a beta release, the new viewer update has the version number 13.7.9.1, and includes the latest code updates from the Lab.

This means that with this release, Exodus is:

  • Server-side Baking / Appearance ready
  • Includes the Lab’s Communications Hub User Interface (CHUI)

However, the release:

  • Does not include materials processing support
  • Removes RLVa support.

CHUI and SSB/A

VHUI now a part of the Exodus viewer
VHUI now a part of the Exodus viewer

There is not actually much to report here per se, other than both work entirely as expected. CHUI sees the LL integrated chat / IM conversations floater working in Exodus.

Simlarly, SSB/A works exactly as expected on SSB/A-enabled regions, with other avatars rendering correctly in Exodus, and your own avatar rendering correctly to others.

Exodus SSB/A: (l) my avatar on Exodus and my CTA on the SL viewer - both render correctly in Exodus on the Aditi SSB/A test regions. (r) The same agin, but this time my avatar (foreground) on Exodus, as rendering in the SSB/A-capable SL viewer.
Exodus SSB/A: (l) my avatar on Exodus and my CTA on the SL viewer – both render correctly in Exodus on the Aditi SSB/A test regions. (r) The same agin, but this time my avatar (foreground) on Exodus, as rendering in the SSB/A-capable SL viewer.

That both SSB/A and CHUI do work flawlessly tends to hide the amount of work the Exodus team have put-in getting both ready to go prior to SSB/A being enabled server-side.

Why No Materials and RLVa?

Materials

Both the integration of CHUI and SSB/A capabilities into a v3-based viewer are very large amounts of work (CHUI has something like over 1200 change sets of its own). They therefore require time and effort to implement – and have likely been keeping the Exodus team more than a little busy (on top of some of them being actively engaged in developing the materials capabilities in SL as well as working on other items such as the Mac Cocoa project).

There’s also the fact that while materials doesn’t use CHUI itself, both the materials code and the CHUI code touch on other areas of the viewer code. Therefore, it makes sense for the Exodus team to focus on implementing CHUI first and then merging and cleaning the materials changes sets (which is exactly the order in which the Lab did things), rather than racing to implement materials, only to find those updates impacted at a later date by required CHUI updates.

So for all those hoping to see materials in Exodus – it will doubtless be coming, you’ll just need to wait a little longer.

RLVa Removal

The blog post for the release explains the reasoning behind the removal of RLVa support from Exodus thus:

By its nature and by necessity, RLVa is an extremely invasive patch. We do not have the resources to maintain this code, and it is the primary reason for our lack of updates recently. We hope that this removal enables us to produce more frequent updates going forward and apologise for the inconvenience.

While the loss of RLVa is perhaps to be regretted, how much it is likely to be missed obviously comes down to the number of Exodus users who make use of it, obviously – and it is worth pointing out that RLVa was something of a late arrival to Exodus in the first place, so it may not be that greatly missed.

Other Updates

This release also sees Exodus:

  • Using Cocoa instead of Carbon on Mac computers
  • Gain full screen support on Lion
  • Fain Retina support for the Retina MacBook Pros.

Feedback

This is not an in-depth test of the latest Exodus beta, but a quick spin around the Aditi block. Everything works, as notes, as expected, and the rendering enhancement which have been part and parcel of Exodus for a long time certainly make their presence felt even in a default rough & ready snapshot such as the one grabbed above for the SSB/A comparison.

I didn’t do any performance tests this time around, as I was on Aditi – I’ll save that for another time :). That said, I’ve always found Exodus to be a solid performer on my current hardware, where it has tended to be my “reserve” viewer (along with Dolphin).

This is a very tidy and timely update to Exodus which brings it back to a par with other popular v3 viewers, and perhaps even a little ahead with the Cocoa support. Kudos to the team!

Related Links

SSB/A: rolling to LeTigre, Wednesday July 10th plus Catznip updates

Update Wednesday July 10th: In checking the forum deployment thread for this week’s roll-outs, I see that KarenMichelle Lane has provided a list of regions on LeTigre where SSB/A will be enabled once they have restarted. Again, you’ll need to have an SSB/A-enabled viewer to avoid issues with avatar rendering on these regions. If you find that once the restarts have completed you are encountering issues with avatar rendering (for example, you are using an SSB/A viewer and find you avatar fails to render for yourself or others), or other issues which appear to be linked to SSB/A, please consider raising a bug report detailing the problem, how to reproduce it, and including your environment information (Help > About (Viewer Name) > Copy to Clipboard), which references Project Sunshine.

Update, 22:00 BST: Exodus have released Exodus 13.7.9.1, which includes SSB/A support, CHUI (the Communications Hub User Interface) and the removal of RLVa.

This week marks the start of the enabling of Server-side Baking / Appearance in Second Life.

On Wednesday July 10th, LeTigre will become the first Release Candidate channel on which SSB/A will be enabled. While it is subject to confirmation, it would appear as though all regions on LeTigre will have SSB/A enable once the Wednesday restarts have been completed – I’ll be updating on this following the Simulator User Group meeting on Tuesday 9th July.

In short this means:

  • Regions on the LeTigre RC channel will see UpdateAgentAppearance, enabled. This is used to request a server-side appearance bake
  • The ability of connected viewers to upload baked textures via the UploadBakedTexture capability and via AssetUploadRequest will be depreciated and removed from simulators on the LeTigre channel
  • As a result, viewers that do not support server-side baking will fail to display avatars correctly.
If you want to avoid seeing increasing numbers of grey avatars (l) and / or avoid people telling you, "you're a cloud" when you appear perfectly fine to yourself (c), update to a version of a viewer supporting SSB/A and see and be seen (r)
If you want to avoid seeing increasing numbers of grey avatars (l) and / or avoid people telling you, “you’re a cloud” when you appear perfectly fine to yourself (c), update to a version of a viewer supporting SSB/A to see others, and have them see you, properly rendered  (r)

Note also that as a result of the SSB/A changes, “temporary texture” uploads will no longer function on regions on the LeTigre RC channel. The Local Textures function found within the majority of viewer will continue to work, however, and provide an alternative means to preview textures at zero cost for most situation where this is required (other than collaborative building projects on Agni).

So, if you have resisted updating your viewer to an SSB/A capable version. or moving from a viewer which is no longer maintained & won’t be supporting SSB/A (e.g SL viewer 1.23.5 or Phoenix) now really is the time to do so. At the time of writing, of the maintained “full” viewers listed in the TPV directory, all but Dolphin, and Imprudence currently support SSB/A, while the current releases of Lumiya, Metabolt and Radegast clients also have confirmed support for SSB/A.

To make sure you get the best from SSB/A, make sure you are running the latest version of your preferred SSB/A-enabled viewer.

Catznip 8.1 Update

While Catznip R8 is SSB/A-enabled, the Catznip team have released R8.1 on Tuesday July 9th. This contains important code updates from Linden Lab. As such, it is considered a mandatory update.

If you are a Catznip user, and even if you have R8 installed, please make sure you do download and update to R8.1 when prompted.

Although Catznip 8 supports SSB/A, R8.1 includes important LL-driven updates to the viewer-side code, please make sure you update when prompted / download R8.1 from the Catnip site
Although Catznip 8 supports SSB/A, R8.1 includes important LL-driven updates to the viewer-side code. If you’re a Catznip user, please make sure you update when prompted

Related Links

Viewer release summary 2013: week 27

This summary is published every Monday and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:

  • It is based on my Viewer Round-up Page, a list of  all Second Life viewers and clients that are in popular use (and of which I am aware) and which are recognised as adhering to the TPV Policy
  • By its nature, this summary will always be in arrears
  • The Viewer Round-up Page is updated as soon as I’m aware of any releases / changes to viewers & clients, and should be referred to for more up-to-date information
  • The Viewer Round-up Page also includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog.

Updates for the week ending: July 7th, 2013

SL Viewer

SL Viewer Resources

Third-party Viewers

Additional TPV Resources

Depreciated / Discontinued Viewers

  • SL Development viewer – depreciated as of version 3.5.2.274629 April 24, 2013
  • Zen Viewer – discontinued by developer and no longer available, January 27th, 2013
  • Phoenix viewer – development and support ended on December 31st, 2012

Related Links

Imprudence catch-up

imprudenceI’ve been meaning to run a catch-up on Imprudence since mid-April; my apologies to Onefang Rejected and crew for not doing so sooner.

My last report on Imprudence, back at the end of February, made mention of the fact that Onefang, who had been working on the Meta-Impy viewer (itself forked from Imprudence 1.4.0), had come forward with a stated goal of continuing Imprudence’s development and joined the Kokua / Imprudence team. After that, things went quiet as far as the rest of the world was concerned. However, this didn’t mean nothing was being done.

Recent Updates

In April 2013, the team released first experimental version of Imprudence 1.4, referred to as 1.4.0.3 exp 0, the first major release of the 1.4.0 code which had been in beta status for a very long time.

The update included a lot of under-the-hood work with many bug fixes from numerous contributors, improvements to the build processes, code clean-ups, the removal of the Google translate option, updates to the grid list, port of inventory category capability from Cool VL viewer, addition of a MOAP radar, and security improvements to the storage of users’ passwords.

This was followed almost exactly a month later, in May 2013, by a further release – referred to as 1.4.0.3 experimental 1, and which included further fixes and updates which built on the work released in 1.4.0.3 experimental 0.

With both releases, Onefang took time out to address a range of questions on Imprudence, and roughly outline what the team hope to achieve. His comments were caveated by noting two important points:

  • There is a fair amount of catching-up to do, and it will take time for the team to get there, so people shouldn’t expect everything to be done at once
  • The team is small, and all of them volunteer to do the work. As such, it has to be slotted-in between real life obligations, etc. Therefore, progress may be subject to interruption, and users were (and are) asked to bear this in mind.

Looking Ahead

In terms of bringing Imprudence in-line with some of the major updates other viewers have / are seeing, Onefang had the following to say (as noted in his replies to comments following the 1.4.0.3 exp 0 release – scroll down to read all of his replies in full). There are no time scales attached to any of the following because, again, the team are working on a volunteer basis and are subject to RL interruptions and obligations which may impact progress in one or more areas.

MOAP (Media on a Prim)

Robin Cornelius provided the team with the MOAP radar functionality, and subsequently with a working patch which includes most of what is required to get MOAP working in Imprudence, so the team hope to have this working “soon”.

Mesh Rendering

Currently, imprudence uses the “old” rendering code which cannot render mesh objects (boxes, cylinders and weird shapes result). Replacing this code is a major task and will take time to complete. As such, the aim for the time being is to catch-up on other code elements and come back and address the issue of render code update / replacement for a later date.

However, Onefang has been experimenting with code that bypasses the bulk of the old render code for meshes, and steps in at the last moment to add the mesh after the rest of the render is done. This approach has worked well as a proof-of-concept, and he hopes that if it can be shown to work “for real”, it will offer a possible interim capability for Imprudence to render mesh until such time as the rendering code can be properly overhauled / replaced.

Imprudence and mesh
Imprudence doesn’t currently support mesh rendering, as shown above with the LAQ mesh cottage (see inset for how it should look). BUT, while it may take a while for comprehensive mesh rendering support to be implemented, Onefang Rejected is looking at an interim solution which may allow Imprudence users to correctly view mesh objects in-world

Second Life Server-side Baking / Appearance

The team plan to make Imprudence SSB/A compatible in the future. This will not happen prior to SSB/A going live across the SL main grid (Agni), nor is it likely to happen any time immediately after LL have deployed SSB/A. However, Imprudence will be looking to support it as and when they can.

Grey people will be the order of the day for Imprudence users on Second Life once SSB/A is deployed - at least until the Imprudence team get SSB/A support implement, which they are looking to do in the future
Grey people will be the order of the day for Imprudence users on Second Life once SSB/A is deployed – at least until the Imprudence team get SSB/A support implement, which they are looking to do in the future

Materials Processing

Again, earmarked for inclusion in Imprudence, but not necessarily on the immediate horizon.

Other Things on the List

Obviously, the above is not the extent of the team’s plans, but tends to represent the items they are most asked about. Overall, the “to do” list includes a lot of work and covers things such a multiple attachment support, pathfinding support (NPC support for OpenSim), avatar physics, parcel privacy support, scripting additions, RLV/a updates, HTTP updates, and more.

Progress on Imprudence can be tracked through the project issue tracker.

Patience, Young Padawan!

Imprudence remains a popular viewer, and runs well on OpenSim. That OneFang and the team are committed to keeping the viewer going and bring it up-to-par with other viewers and both with OpenSim and Second Life is to be highly commended. It may take a while for some of the updates to reach the light of day, so some patience may be in order for those who’d like to continue / resume using it with SL in particular.

Related Links

SL projects update week 27: SSB/A, general news and discussions

Apologies for the late-running of this update. I started drafting it earlier in the week and, um, forgot about it.

Week 27 Server Deployments

Just a reminder that due to the Independence Day code freeze for week 27, and the fact that the Lab is closed on Thursday 4th, Friday 5th July for a long weekend, there were no server deployments this week.

Server-side Baking / Appearance

Deployment / enabling should be commencing in week 28, most likely starting on the 9th July. To help spread the message, the Lab has once again blogged on the deployment of the new service, referring to it by the official title of Project Sunshine (which is a part of the Shining Project) and again included their video explaining what is going to be happening.

The majority of maintained viewers provided by both Linden Lab and third-party viewer developers are already ready for the new service, with only Dolphin, Exodus and Imprudence being without support. Hopefully, both Dolphin and Exodus will update shortly, but it will be some time before Imprudence is in a position to adopt SSB/A – the team has a fair amount of catching-up to do.

So, to borrow from the Lab. If you’re not already running an SSB/A capability viewer: “Don’t be cloudy and grey – enjoy Sunshine today” – and update your viewer!

SL Viewer News

A further SL beta viewer release was made on Tuesday July 2nd  – version 3.6.2.278133 – with (among other things) further materials fixes, as listed in the release notes.

In other updates:

  • The Lab has made a viewer repo public which contains various bug fixes and updates made available in the beta maintenance viewer. These include items such as the additional fixes for high-resolution snapshots (to prevent things like black rectangles appearing in very high resolution images). Expect to see them filtering through into TPV soon, and for the fixes themselves to start the SL release viewer possibly sooner.
  • The “project interesting” viewer which contains viewer-side updates to complement various server-side interest list project updates is still undergoing work to fix all the blocker bugs which are currently preventing it from being made public.

In terms of the latter, Andrew Linden reports that he is looking to gather data which will allow for performance comparisons with things like scene loading pre- and post “project interesting”, to see help measure the improvements in the HTTP texture download changes implemented by Monty Linden.

Other Items

What is a Reasonable FPS Rate?

In the last part of my week 26 update, I reported that the Lab has statistics which show that around 50% of users are running viewers with the Advanced Lighting Model option (“ALM” – formerly the Lighting and Shadows option and also referred to as “deferred rendering”) active, and that they further had data to suggest that up to 75% of users have hardware capable of running with ALM enabled “with reasonable performance” in terms of frame rates (e.g. an average somewhat above 10 fps).

At the time I reported this, I noted that:

However, given that fps is a highly subjective measure and somewhat dependent on a range of external factors (such as how many other avatars are in the region with you, whether you are moving around a lot or not, etc), the “YMMV” rule comes into play.

That the term “reasonable performance” is so nebulous sparked a debate during the Simulator User Group meeting as to what might be regarded as “reasonable” frame rates for a viewer running with ALM enabled (although not necessarily with any lighting & shadows options set). The broad consensus of opinion was that a rate of around 20-30 fps would be considered “reasonable”.

Part of the concern here is that while ALM is required in order to be able to render materials effects, LL might be overly optimistic in determining which cards have ALM enabled by default, which may in turn have an additional impact on new user retention due to people logging-in to SL and experiencing extremely low frame rates and not having any understanding on how to improve their experience.

Continue reading “SL projects update week 27: SSB/A, general news and discussions”