Sunshine viewer updates reach RC status, new Vivox RC

On Wednesday March 5th, two new release candidate viewers appeared in the viewer release channel, bringing the total number of RC viewers back up to five, with more still sitting in the queue and yet to be seen, together with some project viewers as well.

Sunshine Release Candidate

The Sunshine RC (version 3.7.3.287158 – download and release notes) contains the latest updates related to Server-side Appearance (Project Sunshine, hence the viewer’s name), which comprise two key elements.

The initial AIS v3 updates are aimed at further improving the reliability of SSA baking, including issues where
Part of the Sunshine viewer updates is aimed at improving the reliability and performance of the  baking process & resolving issues, including those where an avatar’s appearance may appear to be stuck

The first of these is a code-clean-up / polish which includes the removal of a lot of the old avatar baking code from the viewer, as this is no longer required for Second Life, and the removal of a number of redundant viewer requests related to avatar baking operations. In addition, the code has performance and stability improvements and bug fixes, all designed to further improve avatar baking, such as dealing with conditions where an avatar’s appearance may appear to be stuck.

The second part of the update – which is related to SSA – is the support for the Advanced Inventory System version 3 (AIS v3). This is a set of changes which are being made both to the viewer and to the simulator software. Currently, the simulator code is only available on the Magnum RC, and will be progressing to the other RCs and the Main channel in due course. However, the viewer code is compatible with both the “new” simulator AIS v3 code and the current AIS v2 code, so this release candidate can be used freely across the grid.

The functions initially being deployed with AIS v3 (server and viewer) are mostly related to improving the reliability of outfit changes, which should also improve performance and see a drop in failure rates once the AIS v3 simulator code is fully enabled across the grid, and the necessary viewer code merged into all viewers.

Longer-term, AIS v3 has broader goals, as Don Linden explained at a TPV Developer meeting back in October 2013 (see the section titled Advanced Inventory Service (AIS v3)). These are (in part) aimed at giving more control to the viewer about what it wants to do with the inventory without necessarily having to go through the simulator when working with one’s own inventory or the Library inventory; the viewer will communicate directly with the inventory service. However, certain capabilities will remain unchanged; avatar-to-avatar inventory transactions will still be handled via the simulator, and it will still not be possible to copy personal items to the library folders, for example.

TPVs will be integrating this code so that their users will benefit from the SSA improvements, although the release of TPV updates with the code may take a little longer where there is s need to avoid the removal of the “old” avatar baking code to maintain support for OpenSim users.

 Voice Viewer Release Candidate

vivoxAs many who routinely use voice will be aware, there have been issues with voice for some considerable time, some of which were exacerbated recently with the release of the Vivox API  4.5, updates used in recent versions of the SLvoice.exe plugin which did not play well with earlier versions of SLvoice.

Whirly Fizzle and Ed Merryman produced a couple of videos demonstrating the issues, one of which is included below.

As I recently reported, Vivox reached out to Linden Lab to help resolve many of these issues, and a starting-point for this work was seen as getting all viewers updated to the latest version of the Vivox API (4.6.x). This release candidate viewer (version 3.7.3.287288 – download and release notes) includes the updated API in the SLvoice plugin, and is aimed at improving voice reliability and performance as well as hoping dealing with some of the significant issues users on Mac Mavericks have been experiencing.

To encourage TPVs to integrate the Vivox updates into their own offerings, the autobuild packages for generating the new voice modules for the viewer have been made available to TPVs, allowing them to test new voice builds alongside LL rather than having to wait for the Lab to build, test and release new voice plugins.

It is also hoped that once built, the new modules will be binary compatible and have no related viewer code changes, potentially allowing TPVs to offer the updates directly to their users who prefer to run older versions of a viewer, thus allowing them to (hopefully) resolve their voice issues without being forced to update their viewer if they’re not ready.

If you use the official SL viewer, and you have been experiencing problems with voice, you may want to manually download and run this RC if you haven’t been selected to receive it as part of the RC testing.

Related Links

Lab releases SSA / AIS project viewer

On Tuesday February 4th, Linden Lab released the new Server-side Appearance (SSA) / Advanced Inventory System (AIS v3) Sunshine project viewer – version 3.6.14.285190.

The SSA "polish" / AIS v3 project viewer was released on February 4th
The SSA “polish” / AIS v3 Sunshine project viewer was released on February 4th

The SSA updates in this viewer primarily comprise:

  • Stability and performance improvements for SSA: retry logic, removal of redundant requests, detecting various appearance stuck conditions
  • Code cleanup with the removal of a lot of code related to the old client-side baking framework
  • Bug fixes, mostly appearance-related.

The AIS v3 updates require server-side updates to be deployed as well in order to be used. Once this has been done, users should note improved the reliability of outfit changes, including speed of changes and a further reduction in the failure rate experienced when changing outfits.

There is no current release date for the server-side support for AIS v3, and there will likely be further testing prior to a deployment being made; the Lab has actually been waiting for more TPVs to produce test viewers with the AIS code in order for this to happen. Hopefully, with the code now in a project viewer, more TPVs will be in a position to build test viewers for this purpose.

However, anyone wishing to specifically test the AIS v3 code, particularly if they have been experiencing outfit change issues, might want to try the project viewer on the four SunshineTest regions on Aditi.

Related Links

SL projects update week 47 (3): viewer, Sunshine / AIS v3, HTTP and more

The following notes are taken from the TPV Developer meeting held on Friday November 22nd. A video, courtesy of Northspring, can be found at the end of this report. The numbers in braces after each heading (where given) denote the time stamp at which the topic can be listened-to in the video.

TPV Developer meeting (stock)
TPV Developer meeting (stock)

No Change Windows

[00:31-02:26]

Thanksgiving

As has been previously noted in this blog, week 48 (commencing Monday November 25th) is code freeze / no change window due to it being Thanksgiving in the United States. This means there was be not server deployments during the week and there will be no viewer release channel updates for the week.

Christmas

The Christmas code freeze / no change  window is scheduled to run from Monday December 16th through until Wednesday January 1st. This most likely means that once the code freeze comes into effect,  there will be no major server updates until the 2nd week of 2014 (commencing Monday January 6th, 2014), and viewer updates may be likewise.

Both the Thanksgiving and Christmas no change windows effectively mean there are only two full weeks left in 2013 in which server deployments and major viewer updates are liable to be made. However, it is possible both periods could see project viewer updates appearing. This is because any project viewer which may be available will have limited use (only those particularly interested in using / testing it are liable to run it), and so minor updates, etc., to such viewers are not seen as being potentially problematic in terms of support issues.

Viewer Updates

[00:18-00:31]

As note in part 2 of this week’s report, the release viewer was updated using the GPU table updates release candidate, leaving just the Project Interesting RC in that channel.

There are upcoming RCs in the pipe awaiting release, including an updated version of the Google Breakpad viewer and another maintenance viewer RC, while the Project Interesting viewer is to update an update as well. However, as week 48 (commencing Monday 25th November) is a code freeze week for Thanksgiving, it is unlikely there will be any releases in the viewer release channel during the week.

Fitted Mesh Viewer

[03:36-08:44]

A number of JIRA have been filed in relation to the Fitted Mesh project viewer, and are receiving attention within Linden Lab. “We’re getting the repairs together,” Oz Linden reported to those attending the TPV Developer meeting, “And when we’ve got enough of them together to do a release with, that have been tested, then we’ll do an update to that one.”

Avatar Skeleton Files

The Fitted Mesh viewer actually contains a small number of actual code changes; the majority of the changes lay within the avatar skeleton and its associated filed (e.g.  Avatar_skeleton.XML / avatar_lad.XML). This has led to speculation that other viewers can update relatively simply by using the revised avatar skeleton files. Responding to this, Oz said:

Ideally that’s true, but it turns out not to be quite completely true. It turned out that there were some code bugs that the new skeleton and weighting exposed. So there are actually some changes that will be beyond that. That is some code [to be changed].

“Adding bones exposed some limitations,” Nyx added.

One of the code fixes which is in progress appears to deal with the issue of how garments weighted to use the new skeleton appear in viewers which do not have the updates, as demonstrated in my preview article on the Fitted Mesh viewer, and shown below.

Time Frame for Formal Release

While the Fitted Mesh project viewer may well see one or more updates before the end of the year, there are no plans to progress it to a release candidate status before the start of the New Year (again, the no change windows would preclude that, at least in part).

Even with the changes now being made, the number of code changes within the viewer is “very, very small”, so when the code is in a position where the Lab is comfortable with TPVs taking it and merging it into their repositories, it should not create major issues. One thing that is not clear at this time is whether merging and incorporating the Fitted Mesh changes will be dependent upon merging other code releases coming out of the Lab, such as the Sunshine / AIS v3 code and the Project Interesting code.

Project Sunshine / AIS v23 Updates

[09:44-14:41]

Nyx Linden
Nyx Linden

Nyx Linden reports that the Sunshine / AIS v3 updates are going “really well”, and the Lab is focused on cleaning up the last few bugs of which they are aware, and it is hoped that the code will be ready for QA and then a project viewer soon, possibly prior to the December no change window coming into force.  If the viewer does make it to a project release prior to that happening, Nyx will likely hold it over until early January.

In the meantime, the Lab is still keen to get started on more extensive load testing for the new inventory service, AIS v3, using the Sunshinetest regions (1-4) on Aditi. They’d preferably like the assistance of TPVs with this, the latter having been given access to the code a couple of weeks ago so that they could start work merging it into test versions of their viewers for this purpose.

Firestorm released a version of their viewer with the new Sunshine / AIS v3 code updates to their Beta testers in week 47, although this has yet to have the legacy baking code added back into it for the OpenSim version of Firestorm.  The team is approaching this cautiously, as there is a need to try to isolate the code used in the legacy avatar baking process (which is still used on OpenSim) so that it does not interfere with / get altered by future merges with code from Linden Lab. Once this has been done, Firestorm plan to make the code available to other TPVs so that they do not have the same headache  when faced with trying to reintegrate the legacy baking code into their viewers.

Both Firestorm and Kokua (the latter having integrated the Sunshine / AIS v3 changes into a test viewer at the start of November) have indicated they are now in a position to assist with any load tests. The hope is that this will take place during December.

One of the reasons the Lab is keen to get the load testing underway is so that any remaining issues with the server-side code can be identified, investigated and fixed prior to the code being deployed on any RCs on the main grid. Any initial deployment of the server code on the main grid would likely be handled “pretty quietly”, simply because it wouldn’t be exposed to any viewers that did not have the necessary updates.

HTTP Updates

[14:41-22:12]

Monty Linden
Monty Linden

“It is currently still in QA,” Monty Linden reported in reference to his current work with HTTP 1.1 changes within the viewer. while no bugs have so far been found with the new code itself, he did reveal that the work has uncovered “quite a few bugs in mesh in general”, which are being filed internally. Currently, it is predicated that the QA round is unlikely to finish before Tuesday December 3rd, so and project viewer will not be appearing until after that date.

In addition to QA testing not finding any bugs within Monty’s code, all the numbers coming out of the performance aspects of the testing are described as “equal or better than past history”.

In the interim, Monty is continuing to lay the foundations for HTTP pipelining. As indicated in my last update on his work,  he’s been going through the third-party libraries and their repositories which are used in the viewer builds and updating them. This has led him into a number of “interesting” discoveries  as a result of tracking through all of the repository dependencies, etc., and identifying the various package mismatches and unnecessary libraries which are being packaged with the viewer (noticeably in the Linux version of the viewer), as well as one or two libraries which are not being packaged when they should be, as well as the use of multiple versions of the same library (e.g. 3 different version of Boost, 3 or 4 different versions of zlib, etc.).

Continue reading “SL projects update week 47 (3): viewer, Sunshine / AIS v3, HTTP and more”

SL project updates week 40 (3): viewer, inventory service, group ban list functions

The following notes are taken from the TPV Developer meeting held on Friday October 4th. A video, courtesy of Northspring, can be found at the end of this report. The numbers in braces after each head denote the time stamp at which the topic can be listened-to in the video.

A typical TPV dev meeting (stock)
A typical TPV dev meeting gathers (stock)

Release Pipeline Recap

Release viewer

Maintenance RC viewer 3.6.7.281793 was promoted to the de-facto release viewer overnight on the 3rd/4th October (release notes). This primarily comprises:

  • Viewer-side support for new LSL particle capabilities (blend, glow, ribbon)
  • The automatic avatar render limit and feedback system
  • Fixes for the Cocoa release regression issues (see below)
  • Fix to prevent orientation being lost on teleporting (if you’re facing west when you teleport, you’ll still be facing west on arrival)
  • Further bug fixes as listed in the release notes, including further CHUI and materials fixes

The remaining release candidates (Google Breakpad, SLShare and the Snowstorm contributions RC) continue to produce good numbers, and the Lab hasn’t seen any major issues with them.

Interest List Viewer Updates

[37:16 -38:40]

It is currently anticipated that the viewer-side code supporting the recent batch of work on the interest list will finally arrive in week 41 as a release candidate viewer. This will be discussed at the next TPV Developer meeting, scheduled for Friday October 11th.

Mac OS X 10.6

[41:00 – 45:40]

As reported here, recent updates with Cocoa on the Mac viewer led to users still running Mac OS X 10.6 to experience some “obnoxious problems“. As a result, the Lab initially implemented a mandatory roll-back of viewers for users on OS X 10.6 to viewer release 3.6.4.280048 (August 20th, 2013). However, some of the issues have been resolved fixes within the last maintenance RC viewer (3.6.7.281793), which as noted above has now been promoted to the de facto release viewer. As a result, the roll-back to version 3.6.4.280048 has now been made optional  and has been left available until such time as the remaining issues with Cocoa and OS X 10.6 can hopefully be addressed.

A broader advisory from the Lab is that as the viewer is a lot more stable on later version of the Mac operating system, those who are on OS X10.6 and in a position to upgrade should consider doing so.

Other Potential Viewer RCs

[40:12 – 41:00]

The next round(s) of viewer releases from the Lab are expected to include:

  • A further maintenance viewer RC
  • The SSA / AIS v3 viewer updates (anticipated in the next couple of weeks – see below)
  • Monty Linden’s viewer-side HTTP updates, which are currently on internal QA at the Lab.

Advanced Inventory Service (AIS v3)

[02:18 – 15:02]

The inventory service updates, initially being undertaken alongside Server-side Appearance (SSA), are now ready for deployment.

A core part of AIS v3 covers the inventory changes that the second round of SSA updates use to manage the Current Outfit Folder (COF) more reliably, including hopefully improving the response time for re-requests for an inventory item / update; however there is more to the updates than this.

Two wiki documents have been produced for the new API:

Continue reading “SL project updates week 40 (3): viewer, inventory service, group ban list functions”

SL projects update week 40 (2): SSA, group ban list, upcoming bug fixes

Server Deployments – Week 40 Recap

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

  • There was no Main channel deployment in week 40
  • The three RC channels all received the same update, comprising a fix for a bug affecting group notice delivery to large groups whereby the notice randomly fails to reach some group members; a new JSON_DELETE option for llJsonSetValue(); interest list preparatory work for more correct sort order during scene load – release notes (BlueSteel).
Having fun at the Server Beta Meeting
Having fun at the Server Beta Meeting

Upcoming Bug Fixes

There are a number of upcoming server-side bug fixes due. It is hoped all of these will reach one or more RCs in week 41. However, this depends on them passing QA, etc. The fixes include:

llGetCameraRot() Issue

There has been a series of bug reports from across the grid being raised about problems with camera updates when operating in Mouselook with scripted objects using llGetCameraRot() (HUDS, weapons, etc), and which may also affect scripted objects using llGetCameraRot()  when in 3rd person view. Commenting on the issue at the Server Beta meeting, Maestro Linden had this to say:

There were a few bugs reported today [Thursday October 3rd] about llGetCameraRot() being ‘lazy’ about updates, which we’ve been able to confirm. If you’re aiming in mouselook and make subtle adjustments, the llGetCameraRot() rotation doesn’t change (but should) …

In any case, Andrew took a look at the bug and found the cause; one of the interest list changes affected how often the simulator updates the reported camera rotation value. He had added some hysteresis so that only large changes that would affect your interest list (cone of objects you’re seeing) would cause the value to update, not realizing that it affected llGetCameraRot(). There’s a fix pending, so we should hopefully have that ready for the next rolls.

Group Access to Parcel when “Sell Passes” Set

I reported on this issue in my week 39 updates. Essentially, if a region is set to group access and to “Sell Passes”, Group members ended up unable to enter the parcel at all. The problem was accidentally introduced with the recent parcel access updates, and while not widespread, is still recognised as a pain for those using the option.

Region Crossing Fixes

There are two upcoming fixes for region crossings.

The first is a fix for “‘Ghost’ avatars and vehicles sometimes appear to an observer at the sim border”. This is caused by an avatar or vehicle making a region crossing just at the limit of the observer’s  draw distance, so the simulator that the vehicle / avatar was leaving didn’t send an ObjectDelete message, since it figured the destination region would handle future object updates. However, as the observer’s viewer wasn’t connected to to the destination region, no update would be received, leaving the “ghost” image in view (“touching” it would cause it to vanish).

The second is a fix for “Vehicles which exit a region with a passenger are incorrectly autoreturned and ‘ghosted'”.  This is related to a vehicle being rezzed in a region with auto return set, and then “loitering” in the area before coincidentally trying to cross the region boundary at the time the auto return delay expired. during the crossing process, the vehicle would appear to be unoccupied to the region it was leaving – and thus be returned to the owner. In addition, the vehicle’s collision body would be “left behind” (marked as “pending delete” without actually being deleted) which could then be run into as a “ghosted” object by other vehicles.

Currently, a region restart fixes this issue.

SL Viewer Updates

There has been no promotion of an RC viewer to the de facto release viewer so far in week 40. The Maintenance viewer (support for new particle capabilities; automatic avatar render limit and feedback system) gained a further update on September 30th, with the arrival of version 3.6.7.281793.

Mac OSX 10.6 Viewer roll-back

As reported here, due to the recent Cocoa updates causing regression for users on Mac OSX 10.6, the Lab has opted to roll-back all users on that operating system to version 3.6.4.280048 (August 20th, 2013).

Interest List Viewer

It’s now believed that the Interest List viewer is around two weeks from appearing as either a project viewer or an RC viewer.

Continue reading “SL projects update week 40 (2): SSA, group ban list, upcoming bug fixes”

SL projects update week 39 (3): viewer, interest list, HTTP, SSA and more

The following notes are taken from the TPV Developer meeting held on Friday September 27th. A video, courtesy of North, can be found at the end of this report. The numbers in braces after each head denote the time stamp at which the topic can be listened-to in the video.

A typical TPV dev meeting
A typical TPV dev meeting

SL Release Candidate Viewers

SLShare

[03:00]

Following my coverage of the release of SLShare, the opt-in capability for those wishing to link their Second Life accounts with their Facebook accounts, A question was asked as to whether the feature would be available to TPVs. Speaking at the TPV Development Meeting, Oz Linden provided comments which answered this question more fully, and and Merov Linden gave further information on the functionality in general.

“One of the design considerations is that this is a feature you [TPV developers] can all integrate without any problem,” Oz said. “All of the actual connections to Facebook, all of the handling of the requisite authentication tokens and permissions and [the] relationship with Facebook itself, is all handled server-side. So the code that’s in the release candidate viewer is something that you can integrate so that you can also make this feature available on whatever schedule you would like to.”

He went on to confirm that given this, no Facebook information for users of the service is exposed to TPVs.

As to how soon it might be before the SLShare RC is promoted to the release viewer, Oz again reiterated that it depends on how well the various candidates currently in the release channel perform. Currently, the metrics for the viewer look good, according to Merov, so it may still leapfrog its way to becoming the release viewer. However it is more likely that it will not become the de facto viewer for at least another two weeks.

Despite the negative reactions to the feature which have appeared in the comments following blog posts, etc., reporting on the functionality, the Lab believes SLShare is already “getting a lot of use”. This view is based on the numbers of people who have pro-actively gone and downloaded and installed the RC viewer manually.

While this may be a case of the Lab greasing the wheels a little bit (downloading and installing the viewer isn’t necessarily the same as running the feature),  Firestorm are reporting that they’ve had at least one request for the feature to be added to their next release.

During the meeting, a series of questions were raised on the feature:

  • Will the feature become opt-out in the future, rather than opt-in? Merov Linden:  “It’s opt-in. We’re not doing anything [behind] the back of the residents.”
  • Will the feature create a Facebook account on behalf of anyone using it? Merov Linden:  “There is no API to create an account on Facebook on behalf of someone.”
  • Will it lead to a merging of the current SL feeds with the Facebook feed?  Oz Linden: ” No, there is no connection between the Second Life profile feeds and the Facebook feed. They have no relationship at all … In theory one could probably build a viewer that did that, but we’re not planning on it.”

(Further questions passed unanswered due to the region in which the meeting was being held being subjected to a griefing attack which left it in a poor state and prompted a change of meeting venue.)

Viewer Statistics

[33:26]

The Lab has been putting together a new statistics reporting system, which is now starting to be used to generate a range of reports. Commenting on some of the information which is coming out of the system, primarily in response to questions asked at both Open-source dev and TPV dev meetings, Oz indicated that:

  • Almost one-third of regions within SL have at least one materials-enhanced object in them, which is described as “dramatically faster” than the adoption of mesh
  • The number of avatars wearing materials-enhanced mesh / prim clothing is “steadily climbing”
  • The number of people who have Advanced Lighting Model (ALM) enabled on a “class 3” (mid-range Graphics cards) or above is just under 20%

One of the problems here – from the Lab’s point of view at least – is that both Singularity and Firestorm have ALM turned off by default for almost all graphics settings, except perhaps High-Ultra, and Ultra. The flip side to this is the view that the Lab enables ALM by default on cards which are barely able to support it, with the result that people’s SL experience suffers through poor frame rates.

In the past the Lab has pointed to data which tends to show that viewers running on low-end graphics cards card do indeed suffer performance issues with ALM active; mid-range GPU show little difference in performance between running with ALM active or not and have “reasonable” fps rates; high-end (“class 5”, as they call them) cards  – e.g. ATI Radeon HD 7800, 7900, 8900, 8950 + similar, nVidia GTX 460/460SE, 465, 550TI, 580, 660/660TI + similar – perform significantly better with ALM active.

The problems here are how one defines “reasonable” frame rates and how one interprets ALM. For the Lab, it would appear that “reasonable” frame rates is anything in double figures – e.g. above 10; many users would disagree with this. At the same time, many users still appear to equate having ALM active with having Shadows enabled (which actually leads to a far larger performance hit), but the two are actually quite separate. As had been pointed out a number of times in these pages, ALM can be active without having to enable shadows.

Running with ALM active does not require shadows to be enabled
Running with ALM active does not require shadows to be enabled

Nevertheless, part of the new viewer statistics system should enable to Lab to gather and present performance numbers for cards with and with ALM enabled, filtered by viewer, so that TPVs can better judge matters for themselves.  In addition, Oz is going to be looking at ways and means of doing systematic testing with cards in order to generate more meaningful statistics, and which may allow for other factors which influcence performance (other avatars in the same region, the amount of movement going on, viewer settings, etc.).

Understanding Viewer Performance

[45:41]

A further problem with the viewer is that it is complicated, and while there are many tools to help monitor performance, people either focus on the wrong tools or cannot find those that would be helpful to them in diagnosing an issue when they do encounter unexpected performance drops.

To this end, Oz floated the idea at the TPV Developer meeting for TPV devs to give thought as to which tools and information feeds within the viewer would be useful to users to help them understand what is going on, and how best to present said tools, etc., in a way which would make sense to users and enable them to make use of the information they are seeing.

Continue reading “SL projects update week 39 (3): viewer, interest list, HTTP, SSA and more”