SL projects updates 5/2: viewer, GPU table, Rift, Leap Motion

Server Deployments: week 5 recap

  • On Tuesday January 28th, the Main channel received the server maintenance project previously on the three RC channels, which contains a single fix for a crash mode.
  • On Wednesday January 29th, all three RC channels received a new server maintenance project, which includes a crash mode fix and a fix for llModifyLand() modifying the wrong location in region, when called in a child prim – see part one of this report for further details.

SL Viewer Updates

The following notes are taken from the TPV Developer meeting of Friday January 31st, a video of which is included below. My thanks, as ever, to North for the latter.

Fitted Mesh

As noted in part one of this report, a new version of the Fitted Mesh viewer arrived in the release channel as an RC on Monday January 27th. Version 3.7.0.285669 includes a number of fixes, included a hoped-for resolution for FITMESH-6 and FITMESH-20. However, there is an issue with the fix, as reported by Latif Khalifa of the Singularity team, and which the Lab has confirmed.  The viewer will therefore have a further RC update in week 6 (week commencing Monday 3rd February).  If the new RC proves stable and reliable, then the Fitted Mesh viewer will be looked at as a contender to go to release status.

Interest List

Despite having been reported as having a much improved crash rate, the Interest List RC, version: 3.6.14.285213 released on January 14th, still appears to be reporting higher than expected crashes. The Lab is not 100% convinced the crash measurements are correct, and they may be measuring high. This is being poked at, but means in the interim the viewer will remain an RC.

HTTP Viewer

The HTTP RC viewer, version 3.6.14.285253 released on January 16th, is performing well and now stands as the strongest contender for the next promotion to the de facto release viewer.

Maintenance Viewer and GPU Table

The Maintenance viewer, version 3.6.14.285499 released on January 23rd has generated interest due to the inclusion of MAINT-3131 “Death to GPU Table”.

Essentially, the GPU table is used to define your graphics card to the viewer and the default graphics settings which are applied as a result when you first start the viewer. As many will be aware, the GPU table is manually maintained, and as a result is not a very effective mechanism for managing GPU evolution.

MAINT-3131 is part of ongoing work which the Lab hopes will eventually eliminate the GPU table. Discussing the work, Oz said:

The idea is to do two things: ask the [graphics] driver [on a local system] what version of OpenGL it supports, and use whatever capabilities that can be relied on to find that out;  and then to measure the performance of the GPU by doing a series of memory bandwidth tests. Basically copying big blocks of video memory back and forth a few times and seeing how long it takes. The theory is that it ends up being at least as good a predictor of what the GPU is capable of as we’re currently getting by the guesses in the GPU table, and maybe better.

The code linked to MAINT-3131 is believed to be the code needed to carry out the memory bandwidth tests (and likely recording the results), the idea being that it can be monitored to note how well it measures the performance of things the Lab believe they understand, and see if it handles them more effectively / efficiently. Should this work proceed the way the Lab hopes, then the hope is the GPU table can be removed from the viewer in the future.  It is thought that the bandwidth testing, which will likely only take place when or shortly after the viewer has launched (and then only after the GPU identifier string has changed), will be a “pretty good proxy” for measuring a GPU’s performance a GPU compared to just asking the OpenGL driver what it can do.

Continue reading “SL projects updates 5/2: viewer, GPU table, Rift, Leap Motion”

SL projects updates week 4 (2): server, viewer, webkit

Maestro Linden's disco-themed Server Beta meeting venue (stock)
Maestro Linden’s disco-themed Server Beta meeting venue (stock)

Server Deployments Week 4 Recap

As always, please refer to the deployment thread in the forums for the very latest news.

Server Deployments in Week 5

Details on the deployments for week 5 (commencing Monday January 27th) have yet to be finalised. However, it appears there will be a new server maintenance projects targeted at the RC channel, which Maestro Linden outlined during the Server Beta meeting on Thursday January 23rd:

We’ll have another small maintenance project going out next week which includes another crash fix and a fix to llModifyLand(), [where] the bug is that calling it in a child prim modifies the wrong land.

For example, if a child prim is offset by <8,4,0> from the root prim, then calling that function in the child prim will try to modify the terrain at <8,4,0>  of the region,  which may or may not work depending on who owns the parcel.

The fix is to make it modify the land underneath the child prim (which of course follows the same permissions rules – you can only modify land owned by the script owner.

Unless another project pops-up in the interim, it is likely this update will be deployed to all three RC channels in week 5.

SL Viewer Updates

A new Maintenance RC viewer appeared in the release channel on Thursday January 23rd. Version 3.6.14.285499 includes some 43 MAINT related fixes and updates, as listed in the release notes.

All other viewer RC, project and the release viewer remain unchanged, per my notes in part one of this week’s report.

HTTP Work – Monty Linden

Monty attended the Server Beta meeting to provide some more information on the HTTP project work.

“Basically, my hope is to move http operations to a domain where ping time has far less impact on experience as well as just doing HTTP better,” he said of the current work, the benefits of which are currently in an RC viewer – version 3.6.14.285253. “And that is happening.” (See Monty’s blog post on the subject.)

HTTP Pipelining

This work was slightly sidetracked as Monty got involved in issues around third-party libraries (see below). However, pipelining is seen as the first major step that will give the Lab some ping time independence, and it is likely that it will involve some server-side work.

“The server work will be small, a change in fairness policies,” Monty stated by way of a broad explanation, “and throttle implementation but that isn’t set in stone yet.”

Third-party Library Work

The work on the third-party libraries has been covered in a number of recent HTTP project updates. These are the used in building the SL viewer, including zlib, libpng, openssl, ares, libcurl, boost and SDL, all of which Monty has been rebuilding, as well as “tweaking” colladadom, openjpeg, Google-mock and llqtwebkit.

The aim is to ensure that these libraries are up-to-date, and are probably managed and maintained and correctly used throughout the viewer build process.  This work should help, longer-term with any move by the Lab to 64-bit viewer builds, and should be of benefit to those TPVs already building 64-bit variants of their viewers.

Webkit Woes

Webkit is a third-party library used within the viewer for a number of tasks. For example,  it powers the built-in web browser, and is used to display profiles (unless you’re using a viewer supporting legacy profiles). It is also used with like Media on a Prim (MOAP) and many in-world televisions.

There have been an increasing number of issues with Webkit. The libraries used within SL are out-of-date, for example, something which has caused the Lab and TPVs a considerable amount of pain.

More recently,  users have been encountering issues when trying to view YouTube videos via the built-in browser or MOAP, reporting that they are seeing an error message informing them that  “You’re using Safari browser on Windows that we’ll soon stop supporting” (BUG-4763 and FIRE-12642), or reporting they have sound but no video (FIRE-11057). An Adobe engineer has commented on the latter Firestorm JIRA, explaining the problem, and has indicated he has contacted Linden Lab as well.

It’s unclear as to how this matter will be handled going forward. While Monty has prodded at Webkit as a part of his additional work on third-party libraries, and overall fix may not be that straightforward. As such, it appears the way forward in dealing with the video issues is currently unclear.

SL projects updates 2014: week 4 (1): Server releases, viewer, snapshot uploads

Server Deployments, week 4

As always, please refer to the server deployment thread in the SL forums for the latest updates and news.

Main Channel: Tuesday January 21st, 2014

The Main channel received the server maintenance project which had been on the RC channels for the last couple of weeks. This comprises:

Details on the scaling functions can be found by following the links, or by checking my week 2 projects update. All of these functions, including llLoadURL can be used in any current viewer.

There were two further updates included in the package, both of which require viewer-side updates which have yet to be released by the Lab. These are:

  • Preliminary support for custom default permissions on newly created objects – currently awaiting viewer-side support via STORM-68
  • Preliminary support for the viewer fetching the LSL syntax rules from the simulator, for up-to-date syntax highlighting in the script editor – currently awaiting viewer-side support via STORM-1831.

Release Candidate Channels, Wednesday January 22nd, 2014

All three RC channels should receive the same server maintenance project, which contains a single fix for a crash mode.

SL Viewer

As per my last report, the “Project Interesting” viewer appears to be running at a substantially reduced crash rate, and has seen the majority of issues resolved within it. If this continues through the current week, given the amount of time the viewer has been in the release channel as an RC, it could be a good candidate for promotion to the de facto release viewer in week 5 (week commencing Monday January 27th), assuming the Lab keeps to its plans of promoting a release candidate  every two weeks.

the Fitted Mesh viewer is also a potential candidate for promotion. However, as there are currently two significant issues with this RC at present,  any promotion of this candidate may well be delayed.

The two issues concerned are:

  • Certain non-rigged mesh invisible with ALM disabled -see FITMESH-20 – which has been confirmed by Marissa Linden and
  • worn mesh which is not rigged to the collision bones is seen to stretch away towards the 0,0,0 point of the region the avatar is standing in when using the Fitted Mesh viewer on systems with AMD graphics and with ALM turned off – see FITMESH-6 –  which Oz Linden has confirmed the Lab is investigating.
The Fimesh-6 issue, which affects how mesh garments not rigged to the collision bones can appear in the Fittted Mesh viewer running on systems using AMD graphics and with ALM disabled, is getting a further look at from the Lab
The Fitmesh-6 issue, which affects how mesh garments not rigged to the collision bones can appear in the Fitted Mesh viewer running on systems using AMD graphics and with ALM disabled, is getting a further look at from the Lab

Other News

Snapshot Uploads to SL Feeds

As many are aware, the ability to upload snapshots to the profile feeds was broken for many before the Christmas / New Year holidays. While the functionality was restored for some who could not upload snaps was restored, many have remained unable to use the facility. However, speaking at the  simulator User Group meeting on Tuesday January 21st, Simon Linden indicated that the Lab believe the issue has now been completely resolved for all users. I’ve not had time to test the upload myself due to RL issues, but those who have continued to experience problems my wish to try things out once more. If problems are still evident, please raise a JIRA.

Lab issues Fitted Mesh release candidate viewer

Update January 22nd: As per the comments below, Oz Linden has posted the correct region restart sound to STORM-1980, and the sound is now included in the boday of this report.

On Thursday January 16th, Linden Lab issued a release candidate version of the Fitted Mesh viewer. Given the changes made to the avatar skeleton, the  release sees the viewer’s release number increment by 1, so the Fitted Mesh RC is version 3.7.0.285178.

The upgrade of the project to a release candidate status had been expected to come relatively early in 2014, given that Oz Linden gave a “last call” for issues in which he indicated that a release candidate would be forthcoming “after the holidays”. Speculation that the RC was at the status of Real Soon NowTM was heightened at the Open-source Developer meeting on Wednesday January 8th, when Oz further revealed that as far as the Lab was concerned, there were no further outstanding issues.

It is currently not clear as to how long the viewer will remain as a release candidate prior to promotion to the de facto release viewer.

STORM Contributions

As well as the Fitted Mesh updates, the new release candidate includes a number of open-source contributions from Jonathan Yap and Ansariel Hiller.

Jonathan’s contributions notably include the following, but please refer to the viewer release notes to see all of them:

STORM-1975: IM windows occasionally report false typing status – an annoyance to many for some time has been the situation whereby, during an IM conversation, the recipient of an IM will see the “…. is typing” message (where “…” is the other person’s name), even though the other person isn’t actually sending a message. This update should fix this issue.

STORM-1980: Region Restart Warning Changes – described in the release notes as “World-shaking improvement to region restart warnings”, STORM-1980 is designed to improve the awareness of region restarting message and add a default region restart sound. The sound is designed to be played automatically by the viewer on receipt of a region restart message, adding an additional warning of an approaching restart (for those with their viewer’s sound on!).

STORM-1981: Changes to Tracking Beacons – alters the behaviour of three types of tracking beacon: the avatar tracking beacon, the landmark tracking beacon and the beacon shown as a result of clicking on the map. Under these changes:

  • Beacons begin at a height of 0 metres and extend up to the maximum unassisted flight ceiling (5,020 metres)
  • The beacon colour is blue from 0 metres to the base height of the object being tracked, and red from 5,020 metres down to the height of the object being tracked
  • Users can optionally set the beacon to pulse towards the target object using the CheesyBeacon debug setting (Advanced->Highlighting). The blue beacon will pulse up towards the object, the red beacon will pulse down towards the object.

Ansariel provides two contributions in this release aimed at fixing a couple of issues in the UI:

  • STORM-1979: Groups count in groups list does not display if the floater is resized
  • STORM-1984: Mousing over UI elements does not make them light up.

Related Links

SL project updates week 3 (1) Server and viewer + misc items

Simulator User Group meeting (stock)
Simulator User Group meeting (stock)

Server Deployments: week 3, 2014

There are no server deployments this week on either Tuesday 14th (Main channel) or Wednesday 15th January (RC channels). The latter was anticipated to be the case, after Maestro Linden indicated there were no maintenance or other projects in the RC pipeline during the Server Beta meeting of Thursday January 9th.

While it had been thought that issues relating to STORM-1831 were not sufficient to prevent the RC package deployed in week 2 from being promoted to the Main channel, the decision has been taken to allow the package to run a further week on the RCs.

Week 4 Deployments

It now seems as if the plan is to deploy the RC maintenance project to the Main grid in week 4 (week commencing Monday January 20th), and to issue a new server maintenance project on the Wednesday of that week, although details on this have yet to be finalised.

SL Viewer

The Project Interesting viewer with the viewer-side interest list changes (notably the changes to how region information is cached and re-used by the viewer) gained a further update on Tuesday January 14th, with the release of release candidate 3.6.14.285213, which includes a number of additional bug fixes – see the release notes and download page.

STORM-1831: LSL Syntax Highlighting

This contribution by Ima Mechanic will allow LSL syntax highlighting in the viewer’s LSL editor to be updated and defined using a file obtained directly from the simulator the viewer is connected to, with the intention to eliminate issues of the viewer using outdated versions of the file. The server-side updates for this work are currently deployed to all three RC regions. However, as of the end of week 2, additional work was required on the syntax file itself.

In addition, there are a number of issues which are currently being addressed with the viewer-side code. These are listed on the JIRA for the project – STORM-1831, and require resolution prior to the code being issued  in a release candidate viewer. Most of these are currently being worked on, and are not seen as major show-stoppers, but will delay the code’s appearance in the short-term.

Other Items

Values for brush constants in calls to llModifyLand

One issue which has (again) been raised through STORM-1831 is that the values for brush constants in calls to llModifyLand, used for scripted terraforming operations, are out by 1 each (they are set to 1, 2, 3 and should be 0, 1, 2). This means that, for example, a call using LAND_SMALL_BRUSH will edit an area of 4×4 metres, not 2×2. The wiki documentation for the function notes the error as well. As a result of discussing this issue in the Open-source Developer’s meeting on Monday January 13th, a STORM JIRA was raised to (again) highlight this issue (STORM-2006).

However, as the issue itself is actually related to either STORM-1831 per se and because it will actually require server-side changes, the issue is liable to be moved to a BUG status and triaged from there.

Snapshot uploads to the SL Feeds

“It has to do with authentication under the hood when getting the credentials and then using them to fetch the snapshot config info,” Simon Linden said at the Simulator User Group meeting on Tuesday January 14th. The problem is still being worked upon for those still affected by it (I am), but there is currently no ETA as to a complete fix for the matter.

With thanks to Mona Eberhardt for the meeting notes.

SL projects update: week 2 (2): Fitted mesh, breedable issues and [L4L]-Gestures & Walkers (Freebies) <3

Week 2 Deployments – Recap

  • On Tuesday January 7th, the Main channel  received the server maintenance project that had been on the RC channels for the past few weeks. It contains a single bug fix, related to vehicles becoming stuck in the ‘sat upon’ state (which prevents parcel auto return)
  • On Wednesday January 8th, all three RC channels received a new server maintenance project, which contains some crash fixes and the new LSL functions for uniformly scaling linksets, all of which are immediately accessible using current viewers (see part one of this week’s report for details).  This project also contains updates related to STORM-68 and STORM-1831, both of which require viewer-side updates which have yet to be released by the Lab.

LSL Syntax Highlighting Updates

Related to STORM-1831, these updates, which were deployed to the RC channels as noted above, will eventually see the viewer able to fetch LSL syntax highlighting rules directly from the simulator. However, there are currently some errors in the syntax file as deployed to the RC channels this week (repeating text, bad whitespace, or inaccurate definitions of functions), which require further corrective work. As there is currently no publicly available viewer which can use this new capability, it is unlikely this issue will prevent the server maintenance project from being promoted to the Main channel in week 3.

The file is designed to be cached by the viewer (once the viewer-side updates are released), and is around some 600KB in size. This means that the file should only ever be downloaded and updated if the LSL editor is open, and the viewer detects a version number difference between the file it has cached and the file held by the simulator to which it is connected.

It is unclear when the viewer-side updates for this work will appear. While planned to arrive in a release candidate viewer containing a number of Snowstorm updates, it appears there are still a few bugs in the STORM-1831 code, such as with function arguments being presented in an incorrect order in the tool tips, which may delay its inclusion.

Week 3 Deployments

It is likely the server project currently on the three RCs will be promoted to the Main channel in week 3 (commencing Monday January 13th). However, it is also likely there will be no RC updates for the week, as there are no server maintenance updates ready to go, and no other projects (such as group ban lists) are in a position to be deployed.

The first Server Beta UG meeting of 2014
The first Server Beta UG meeting of 2014

Viewer News

Release Viewer

Thursday January 9th saw the PackageFix viewer (dated January 2nd, 2014) promoted to the de facto release viewer. As per pervious notes in this blog, this viewer has no SL-related functional updates. Rather, it corrects an issue introduced with the 3.6.12 code base whereby the Windows executable name was changed from “SecondLife” to “SecondLifeViewer”, without removing any executable using the “SecondLife” name from the installation folder. As a result, any shortcuts pointing to the “old” executable would allow it to run if used, thus potentially triggering further auto-updates.

With this fix, any executables using the old name (“SecondLife”) are removed from the installation folder, so any shortcuts created to them will cause Windows to display an error message, and the user can then remove them or modify them to point to the correct executable.

Fitted Mesh Progress

Oz Linden is anticipating a release candidate of the Fitted Mesh viewer Real Soon NowTM. There are currently no open issues at present, and work is underway to move it to a release candidate status. Exactly how soon “Real Soon Now” might be, however, is a little up in the air, as Oz went on to note at the Open-source Dev meeting on Wednesday January 8th, saying, “there are a bunch of steps [still to be taken] and I don’t know how long they’ll end up taking.”

Continue reading “SL projects update: week 2 (2): Fitted mesh, breedable issues and [L4L]-Gestures & Walkers (Freebies) <3”