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.
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 220.127.116.115669 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.
Despite having been reported as having a much improved crash rate, the Interest List RC, version: 18.104.22.1685213 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.
The HTTP RC viewer, version 22.214.171.1245253 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 126.96.36.1995499 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.
- Google Breakpad is anticipated to be making another RC appearance shortly, and the Lab is looking at how best to compare the reports it generates with those from other branches and determine next steps
- Group Ban List viewer appears to be on the home straight, and a project viewer should be appearing very soon. According to notes in the Server Beta agenda, there may be a test of the group ban list functionality in week 6 at that meeting. I wasn’t able to make that meeting due to Aditi log-in issues (if indeed the meeting went ahead as the issues were widespread), and Oz was unsure if the project viewer would surface in week 6 or not
- Sunshine AIS v3 is described as being “on the verge” of putting out what is most likely a project viewer which may be appearing in week 6
- The Oculus Rift viewer is in what is hoped to be “final QA” and is thought to be getting “closer and closer” to an initial release.
Before anyone gets too excited about the Oculus Rift viewer appearing, Oz did hold up a cautionary warning that it and / or the Sunshine viewer may be held back until the release channel has thinned down a little on release candidates so that things don’t get too overburdened (including the TPVs who have to integrate all this stuff!).
The work on Leap Motion integration is being undertaken by TPV / open-source developers from the Firestorm team.
There had been a crash on exit issue with running Leap motion on Linux which had to be referred back to the Leap Motion people. It’s believed that as a result, a new Leap Motion package for Linux may have been put out which fixed the crash problem.