2024 week #39: SL TPVD meeting summary: WebRTC

New Deer Isle, August 2024 – – blog post

The following notes were taken from my audio recording + the video recording by Pantera (embedded at the end of this summary) of the Third-Party Developer meeting (TPVD) held on Friday, September 27th, 2024. My thanks to Pantera as always for providing it.

Meeting Purpose

  • The TPV Developer meeting provides an opportunity for discussion about the development of, and features for, the Second Life viewer, and for Linden Lab viewer developers and third-party viewer (TPV) / open-source code contributors to discuss general viewer development. This meeting is held once a month on a Friday, at 13:00 SLT at the Hippotropolis Theatre.
  • Dates and times are recorded in the SL Public Calendar, and they re conducted in a mix of Voice and text chat.
  • The notes herein are a summary of topics discussed and are not intended to be a full transcript of the meeting.

Official Viewers Status

[Video: 0:00-2:11]

  • Release viewer: version 7.1.10.10800445603, formerly the DeltaFPS RC (multiple performance fixes, etc), dated September 11th, promoted September 17th.
  • Release Candidate(s):
    • None at present.

Upcoming Viewers

  • The next RC viewer due to appear is the ExtraFPS viewer. There are some bugs still to be resolved before this viewer can see the light of day on the Alternate Viewers page; like DeltaFPS, it is primarily focused on performance improvements.
  • Further performance improvements will be made to the viewer following ExtraFPS, but work will also be transitioning to other viewer work. This next viewer after ExtraFPS will likely be the Maintenance B viewer. Details on it contents are still TBC, but it will hopefully include some of the work being put into getting Linux builds back up and running.
  • After this, maintenance viewer updates will follow in the usual alphabetical patten (C, D, E, etc.), with viewer being given a suitable name in accordance with the current dinosaurs naming convention.

WebRTC

[Video 2:31-7:55]

Summary

  • The replacement of the Vivox Voice service and plug-in, with the WebRTC communications protocol (RTC=”real-time communication”). Roxie Linden is leading this work.
  • Key benefits:
    • WebRTC supports a wide range of real-time communications tools in common use (e.g. Google Meet), supporting audio, video and data communications, and is thus something of a “standard” approach.
    • Offers a good range of features: automatic echo cancellation, better noise cancellation and automatic gain control, much improved audio sampling rates for improved audio quality.
    • Opens the door to features and capabilities to voice services which could not be implemented whilst using Vivox.

Status

  • Under the latest schedule, simulator deployment of WebRTC support is now set to commence during the week commencing Monday, October 7th. This means if all goes well, it could be fully deployed across the grid during the week commencing October 21st.
  • The delay has been to allow LL to make further adjustments to the service.
  • In the meantime, peer-to-peer and ad-hoc WebRTC can be tested on the WebRTC regions of WebRTC Voice 1, WebRTC Voice 2, WebRTC Voice 3 and WebRTC Voice 4. However, there is no bridging between WebRTC peer-to-peer  / ad-hoc and Vivox.
  • During the transitional period when there will be a split between regions running Vivox and region running WebRTC, so:
    • General spatial audio should work through the viewer, regardless as to whether a region is running WebRTC or Vivox.
    • However, peer-to-peer, conference calls and group chat sessions might be subject to various disruptions (e.g. if you attempt to make a peer-to-peer call from a WebRTC region to some on a Vivox region (or vice-versa), the call will not go through; if you commence a call with both parties on a WebRTC region and one subsequently moves to the Vivox region during the chat, the call will be dropped, etc.).
  • [12:42-14:00 and 24:04-27:45 – chat only] It was noted that Voice roll-off on WebRTC regions does not appear to be as effective as with Vivox, with people much further away still being heard.
    • This was apparently an intentional decision, but can be further adjusted.
    • It was noted that perhaps the roll-off for WebRTC should be adjusted, as it was felt the distance over which voice conversations can now be heard could discourage active conversations in Voice regions, due to potential problems of conversations overlapping one another.

Additional Changes

  • There have been issues with the overhead Voice visualiser (the white do that displays “sound waves” when someone is speaking) always being red on viewers with WebRTC, and in muting and unmuting – both of these issues should be fixed in the upcoming ExtraFPS viewer.
  • ExtraFPS also introduces a new Preference option for users to turn off the overhead Voice visualiser in their view if they wish.
    • The switch is located within Preference → Sound & Media.
    • The inference is that the option will likely be OFF by default (i.e. no visualiser shown), as the introduction of the toggle option is to “reduce screen clutter” – although this may be revised, subject to feedback.
    • A further inference is that having the option off will not alter the Voice visualisers in the Conversation / People floaters.

In Brief

Please refer to the video below.

  • [Video:  9:31-10:25] Graphics work:
    • The focus remains on performance fixes.
    • As per my previous TPVD Meeting summary and my week #38 CCUG summary, Geenz Linden is working with Rye Cogtail on the visual improvements  (improved tone mapping, alpha blending, etc.) , with work also continuing on the anti-aliasing improvements.
  • [Video: 10:26-11:39] The above led to a reminder  updates to improve linear alpha blending for objects using Blinn-Phong materials; again, please refer to my week #38 CCUG summary for specifics.
    • This work is being targeted at the Maint B viewer, and are said to be pending some simulator-side work (which itself should be in the Barbecue / BBQ simulator code update that will follow behind the WebRTC deployment.
  • [Video: 16:51-18:33] A question was asked on the state of the pose tool developed by NiranV Dean.
    • This was originally developed for Black Dragon and has been ported to Alchemy. It was also contributed to LL several years ago.
    • It give the ability to pose an avatar (in your local view), such as for photography.
    • The code has never been integrated into the SL viewer, and part of the reason seems to be the old chestnut of “shared experience”.
    • However, LL are interested in developing it, and in receiving code contributions which may help overcome their reservations.
  • [Video 29:14-32:46] There have been a number attachment issues making themselves felt (e.g. attachments vanishing on teleport arrival; attachments adding and then seeming to remove “after a few seconds”, etc.).
    • LL are aware of a number of such issues and are investigating them.
    • The fix for the attachments being lost following a TP will be deployed as a part of the WebRTC simulator update (which, as noted, is now due to start deployment during the week commencing Monday, October 7th).
    • Those encountering attachment issues should check the feedback portal, and if they have a specific issue that does not appear to have been reported, file a report.
  • [Video: 40:03-44:09 with extended chat discussion through to near the end of the meeting] Future viewer work:
    • Brad Linden has been looking at native Apple / ARM support for the viewer, and considered this more of a “next year” project as the number of ARM users increases as opposed to those on Intel-based Apple systems.
    • He also noted that he has been working on some of the 3rd party libraries required to build the viewer to make them more “universal” for use in different OS versions of the viewer. This should ease the viewer build process when working on multiple platforms, and he noted that contributions from TPVs who may have done similar would be welcome.
    • It was reiterated that where Mac systems are concerned, LL is unlikely to implement Metal as n OpenGL replacement, but could look to a middleware layer to implement Metal compatibility for the viewer via Vulkan (or whatever is finally chosen to replace OpenGL for Windows).
    • In terms of performance improvements beyond the current work, the Lab is looking to better profile hardware and then seek targets of opportunity where improvements might be made to general viewer performance.
  • [Video: 50:03-50:28] RLVa contributions from Kitty Barnett: one pull request has been taken and is expected to make its way into the viewer Develop branch soon (if it is not there already), with more to follow.
  • [Video: 50-29-End]  A discussion on have the avatar selection process within the viewer point to the Senra avatars rather than the older “classic” basic avatars to help new users (there is currently a strong disconnect with the on-boarding process which utilises Senra with no real pointers for new users to understand the different avatar selection processes, Senra being entirely inventory-based).

Next Meeting

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a gathering of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2024 SL SUG meetings week #39 summary

Walsh County, August 2024 – blog post

The following notes were taken from the Tuesday, September 24th, 2024 Simulator User Group (SUG) meeting. They form a summary of the items discussed, and are not intended to be a full transcript, and were taken from my chat log. Pantera’s video is embedded at the end – my thanks to her for providing it.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • These meetings are conducted (as a rule):
  • Meetings are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
  • Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.

Simulator Deployments

  • On Tuesday, September24th, the SLS Main channel was restarted without any deployment.
  • On Wednesday, September 25th:
    • Picnic /Doubtfire should be deployed across all RC channels.

Note: I had been under the impression WebRTC was on the Picnic /Doubtfire simulator releases based on previous comments at various UG meetings; however, Rider Linden indicated that the WebRTC updates will be going to the BlueSteel RC channel on Wednesday, October 2nd, suggesting that have not been deployed beyond the Pop Rocks WebRTC regions. My apologies for the misunderstanding.

In the meantime, the WebRTC test regions are due to be updated on Wednesday, September 25th in preparation for the deployment to BlueSteel, per the above.

SL Viewer Updates

No changes at the start of the week:

  • Release viewer: version 7.1.10.10708851543 (formerly the DeltaFPS RC), dated September 11th, was promoted to de facto release status on September 19th. This includes:
    • Performance boosts. Memory management has been optimized and users will experience a higher FPS across various systems. A comprehensive range of bug fixes are also provided. This includes better PBR material handling and resolving frequent crashes. See the release notes for more.
    • UI for scheduling region restarts now available via a new button located in the Region/Estate floater. (Note: there is currently an issue with scheduled region restarts working correctly and a fix is due to come in the next server release).
  • Release channel cohorts:
    • None at the time of writing.

In Brief

Please refer to the video below for the following:

  • This was a party meeting, so discussions were sparse.
  • Attachment losses / attachments getting stuck following teleports: a fix for some of this is set to be included in the upcoming WebRTC release.
  • Leviathan Linden’s viewer-side GameControl work broke against the Linux-build changes due to appear in the viewer Maintenance-B branch (this should be the RC viewer to follow after the (yet to surface at the time of writing) ExtraFPS RC viewer).
    • Leviathan notes that while he has game controller devices working on Linux, the controller is not being detected on start-up, requiring it to be unplugged and plugged back in. He is currently working to resolve this.
  • Future PBR LSL function (see this Canny and this Canny)  have received a lot of attention. These requests are being tracked, and may be implemented in the future.
  • A discussion on SL wind, in which Leviathan Linden noted an idea he had some time ago for SL wind, but which is not part of any current or future work pack.
The idea is: create a large interesting zero-divergence wind field with continuous border conditions (think tile-able texture). The servers would then query into that wind field by computing a texture position that is a continuous function of time+gridXY position … the wind field would be pre-computed and static. For each region its value at any particular time would be a position that changes over time, thus producing the time variance in that region. Neighbouring regions would use the same formula but with different gridXY position. The result would be consistent wind values at region boundaries.

– Leviathan Linden

  • The above followed into it discussions of SL weather, etc., but again, not anything that is being worked on; so take all of this as spitballing.

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2024 SL viewer release summaries week #38

Logos representative only and should not be seen as an endorsement / preference / recommendation

Updates from the week through to Sunday, September 22nd, 2024

This summary is generally 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 Current Viewer Releases 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. This page 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.
  • By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.
  • Note that for purposes of length, TPV test viewers, preview / beta viewers / nightly builds are generally not recorded in these summaries.

Official LL Viewers

  • Release viewer: version 7.1.10.10800445603, formerly the DeltaFPS RC, dated September 11, promoted September 17promoted August 26.
    • Performance boosts. Memory management has been optimized and users will experience a higher FPS across various systems. A comprehensive range of bug fixes are also provided. This includes better PBR material handling and resolving frequent crashes. See the release notes for more.
    • UI for scheduling region restarts now available via a new button located in the Region/Estate floater. (Note: there is currently an issue with scheduled region restarts working correctly and a fix is due to come in the next server release).
  • Release Candidate(s):
    • None.

LL Viewer Resources

Third-party Viewers

V6-style

V1-style

  • Cool VL Viewer Stable: 1.32.2.15, September 21 – release notes.

Mobile / Other Clients

Additional TPV Resources

Related Links

2024 week #38: SL CCUG summary: more on performance updates

[REN], August 2024 – blog post
The following notes were taken from my audio recording and chat log transcript of the Content Creation User Group (CCUG) meeting held on Thursday,  September 5th, 2024.

Tis meeting was also livesteamed on You Tube by the Lab. The video is embedded at the end of this summary, my thanks to the Lab for providing it.

Table of Contents

Meeting Purpose

  • The CCUG meeting is for discussion of work related to content creation in Second Life, including current and upcoming LL projects, and encompasses requests or comments from the community, together with related viewer development work. This meeting is held on alternate Thursdays at Hippotropolis.
  • Meeting dates and times are recorded in the SL Public Calendar, and they re conducted in a mix of Voice and text chat.
  • The notes herein are a summary of topics discussed and are not intended to be a full transcript of the meeting.

Official Viewers Update

[Video: 0:57-3:05]

  • Release viewer: version 7.1.10.10800445603, formerly the DeltaFPS RC (multiple performance fixes, etc), dated September 11th, promoted September 17th.
  • Release Candidates(s):
    • None at present.

Near-Term Viewer Release Roadmap

As a reminder, linden Lab is focused to bringing viewer performance back up to levels equal or close to “pre-PBR” performance,. This involves both further adjustments in the wake of the PBR releases and also fixing issues not directly related to PBR, which were coincidentally introduced with Graphics Featurette viewer release. This work is currently focused on, but not limited to, the following viewer updates from LL:

  • Atlasaurus, promoted to release status on August 16th, 2024.
  • DeltaFPS, promoted to release status (and thus superseding Atlasaurus) on September 17th, 2024.
  • ExtraFS, a new viewer that will be issued as a release candidate viewer in the near future.

Once ExtraFPS reaches at least RC status, work will commence on resuming the normal follow of maintenance update viewers, etc., as per the more usual flow of viewer updates.

  • The first maintenance RC to be issued will likely include contributions to help with Linux support in the viewer.
  • It will also likely also include a round of further “post-PBR” performance / aesthetic improvements.

WebRTC Status

[Video 3:10-5:30]

Summary

  • A new project intended to move Second Life away from reliance on the Vivox voice service and plug-in, and to using the WebRTC communications protocol (RTC=”real-time communication”). Roxie Linden is leading this work.
  • Key benefits:
    • WebRTC supports a wide range of real-time communications tools in common use (e.g. Google Meet), supporting audio, video and data communications, and is thus something of a “standard” approach.
    • Offers a good range of features: automatic echo cancellation, better noise cancellation and automatic gain control, much improved audio sampling rates for improved audio quality.
    • Opens the door to features and capabilities to voice services which could not be implemented whilst using Vivox.

Status

  • WebRTC is now fully supported in the official viewer.
  • Back-end deployment – WebRTC support is available on the following regions Pop Rock RC, comprising: WebRTC Voice 1, WebRTC Voice 2, WebRTC Voice 3 and WebRTC Voice 4.
  • Not that during the transitional period of moving from Vivox to WebRTC, there is no bridging between WebRTC peer-to-peer  / ad-hoc and Vivox.
  • There will be an updated Echo Island specifically for WebRTC, which will be be available soon.

Graphics Team Work

Performance / Aesthetics Improvements

[Video: 7:40-14:39]

  • DeltaFPS has a major change to the texture streaming system utilising the GPU:
    • Until now, the approach has been to drop the texture resolution down to a very low resolution (often causing a texture to blur on-screen) and then use the CPU to bring it back up to the appropriate resolution for display.
    • With DeltaFPS and going forward, the GPU is used to generate a copy of the texture at the appropriate resolution for display, and this is then used in rendering, with the higher-resolution version then discarded.
    • The overall results of this is a) there should be a lot less visible blurring of textures as they are loaded; b) the CPU load should be reduced; c) texture loading should be a lot smoother and faster.
  • The upcoming ExtraFPS viewer includes texture rendering improvements for rigged attachments:
    • Currently the viewer  does not have an clear idea as to the size of a rigged attachment, other than it being possibly as big as the avatar, so all attachments essentially get the same texture resolution no matter how small there actually are, which can impact performance.
    • With ExtraFPS the texture resolutions for attachments will be more correctly calculated by their size, reducing the texture rendering overheads (e.g. rather than the texture for buttons on a jacket being loaded at its full 2K resolution, a much lower resolution sample for the texture is used unless the camera is zoomed right in on a single button, when higher resolution are used until zoomed out again).
    • This should mean that general viewer performance in crowds of avatars is improved, as the viewer isn’t trying to load high-resolution textures across every attachment in its view.
    • Note: this change is purely with regards to attachment textures, it does not change attachment LODs.
  • Anti-Aliasing:
    • ExtraFPS will support Subpixel Morphological Anti-Aliasing (SMAA).
    • In addition, as as per the previous CCUG meeting, Rye Cogtail from the Alchemy team is planning (or already has) submitted contribution to improve the FXAA code for inclusion in the ExtraFPS viewer.
    • Those requiring more insight into anti-aliasing and the various types of AA, including FXAA and SMAA, can find out more in What Is Anti-Aliasing? TAA, FXAA, DLAA And More Explained, via Digitaltrends.
  • Tone mapping:
    • The viewer update after ExtraFPS should include the Khronos Neutral tone mapper (another code contribution by Rye Cogtail), which should improve overall ambient lighting in SL.
    • To help with this, the viewer will include additional user controls. During the previous CCUG meeting, these were described as a combo box and a slider within the Advanced Graphics settings, together with a new new control – Tone Mapping Strength – to alter the linear alpha colour.
  • Linear alpha blending:
    • Again, as per the previous CCUG meeting, in order for PBR lighting to render anywhere close to correctly, alpha blending had to be switched from SRGB to linear colour space. This can cause some older content using Blinn-Phong, to look either more opaque or more transparent than in did pre-PBR.
    • A fix for this giving people the ability to adjust the alpha/gamma on per texture entry for the object (including no mod items) is in development, and will likely surface in the viewer after ExtraFPS.

Linden Water

[Video: 11:52-12:40]

  • Linden Water reflections have been reduced in quality with PBR. Geenz linden is experimenting with using elements of the mirror reflection code to try an improve them, but was not at the meeting to provide and update.
  • This work is also not a current priority, as Geenz is focused on the performance improvements work.
  • Adjusting screen space reflections (SSR) to correct the issue is not an option as “SSR has it own bunch of problems”.

PBR Terrain Work

[Video:39:34-41:44]

  • Texture transforms (as a subset of the KHR texture transform) for applying scale, offset and rotation to any one of the four PBR terrain materials, are in development for the viewer, and are currently behind a feature flag and is awaiting further work on the server-side, which is currently in a very preliminary state.
  • The server support is available on Aditi (the Beta grid), those wishing to test it should contact Cosmic Linden.
  • In addition, an LSL API for manipulating PBR terrain materials has been requested, but this is not something that is currently being worked upon.

In Brief

  • [Video: 14:48-17:18] Will GLTF mesh uploads address the issues of random linkset ordering (i.e. currently, when uploading a multi-object .DAE file, it is turned into a linkset with random ordering, so the root object can never be know until post-upload)?
    • Yes. What should happen is whatever the hierarchy is used within Blender (or similar glTF-compliant mesh modelling tool us used) should be reflected in SL after upload.
    • The basic interoperability between Blender and SL can be found here in the Blender documentation, although note that LL are not going to support extensions like Clearcoat, Sheen and Anisotropy with the initial release.
  • [Video: 18:25-30:15] In-world build tools:
    • As a part of the upcoming glTF scene import support, the in-world build tools will be given the ability to edit such scenes (subject to permissions). These will likely take the form of a Scene Explorer and Scene Management tools.
    • LL has had internal discussions on a “simplified editor for decorating houses, etc.”, and feedback has been requested as to what kind of improvements to the existing in-viewer toolset / additional tools people would like to see.
    • This sparked a brief conversation on possible improvements to the build tools / options, together with a discussion on the growing complexity of wearable layers (due to creators effectively “splitting off” face !skins” into layers, which can cause issues with the ordering of layers, and the ability to “lock” the ordering of specific items in a layer class  – e.g. the “face tattoo” should always be “below” any “make-up” tatt0o, etc.) .
    • Please refer to the video for more.
  • [Video: 30:35-36:20] A general discussion on getting started on avatar rigging and animation + suggested resources (e.g. AvaStar, AvaStar discord channel, Bento Buddy; making the avatar UV files, etc., more accessible via secondlife.com rather than being buried in the SL Wiki) – again please refer to the video.
  • [Video: 36:25-38:32 and 57:39-end] Generative AI and SL content creation:
    • Some basic internal experimentation has been carried out with meshy.ai. It is described as “compelling” in terms of content creation, but “definitively cost prohibitive to host such a thing”.
    • As such LL are brainstorming how they might interact with such a tool from SL, should they opt to go that particular route.
    • In addition, other AI tools are being speculatively looked at as well.
    • Please refer to the video for more.
  • [Video: 45:59-49:50] a request for additional LSL functions llGetSTPos and / or llGetUVPos get a world positioning from a texture coordinate. The short answer was no, and for a combination of reasons, but might be something for the upcoming viewer-side Luau scripting. Please refer to the video.
  • [Video 50:36-57:29] General discussion on the feedback portal, feature requests, duplication of requests etc.

Next Meeting

Footnotes

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a gathering of people every week. They are taken from my list of region visits, with a link to the post for those interested.

Firestorm 7.1.10: WebRTC and performance tweaks

On Tuesday, September 17th (SLT), Firestorm released version 7.1.10.75913 of their viewer.

This release is primarily focused on a merge with the Linden Lab Atlasaurus release code base, which combines initial performance bug fixes to help correct some of the issues seen with recent viewer releases with the WebRTC code in preparation for the switch away from using Vivox Voice with Second Life.

In addition to the above, there are some cherry-picked updates from the Lab’s upstream code (DeltaFPS), and also updates from the Firestorm Team.

Note that the following is not a complete review of the 7.1.10 release and all the changes made therein; it focuses on the more visible and user-facing updates. Those requiring a list of all changes and updates to Firestorm 7.1.10 should refer to the Firestorm 7.1.10 release changelog, which also provides all proper credits for the work.

Table of Contents

Note: as this review was going to post, Linden Lab promoted the DeltaFPS viewer to de facto release.

General Notes

Installation

  • Only download Firestorm from the Firestorm website. Do not utilise and other third-party site purporting to offer the Firestorm viewer, and remember Firestorm will never ask for log-in credentials in order to download a release version of their viewer.
  • There is no need to perform a clean install with this release if you do not wish to.
  • Do, however, make sure you back-up all your settings safely so you can restore them after installing 7.1.10.

Linden Lab Updates

Atlasaurus/WebRTC Viewer

  • Viewer version number 7.1.9.10515727195 – release notes in full.
  • Date of promotion to release status: 26th August, 2024.

WebRTC

WebRTC communications protocol (RTC=”real-time communication”) is the new Voice communications protocol for Second Life, replacing Vivox Voice.

Why Make The Change?

Voice in Second Life has been supplied through an arrangement with Vivox. This has required Linden Lab to utilise a viewer plug-in tool – SLvoice.exe – to manage voice services within the viewer., which in turn has made LL both reliant on Vivox for bug fixes for the plug-in, and subject to changes in support for operating systems imposed by Vivox such as the latter ending native support for Linux some years ago).

WebRTC by contrast is the predominant telephony protocol used by web-based applications, such as Google Meet, and is integrated into most common browsers. It has almost all the features common to Vivox in supplying a voice service – spatial in-world voice; peer-to-peer sessions; Group voice (including moderation) and multi-user Voice conferencing – although the are some limitations (see below).

Benefits and Improvements

WebRTC Offers a range of benefits over Vivox, including, but not limited to:

  • 48khz audio bandwidth providing cleaner sound.
  • User control over:
    • Audio noise reduction – high reduction for noisy environments, no reduction for clean audio sources (performers, etc.)
    • Automatic gain control – less need to individually tune other user’s audio levels.
  • Audio/video device selection.
  • Improved: spatialization,  audio echo cancellation and audio sampling rates for improved audio quality.
Options for managing WebRTC Voice quality can be found under Preferences → Sound & Media → Voice

Most significantly, WebRTC removes all reliance on a third-party plug-in for the viewer. Instead, it is supplied as a  a library and wrapper within the viewer. This means:

  • Linden Lab has greater ability to address Voice related issues directly, without having to await fixes from a supplier.
  •  Potentially opens the door to adding features and capabilities to SL Voice in the future, including some which have been long-requested.
Limitations
  • WebRTC does not support the existing Voice Morphing capability in Second Life.
    • This is because voice morphs are tied to the Vivox service, and cannot be utilised with WebRTC.
    • Those who do use the current Voice Morphing capability are directed to this SL Wiki article on Voice Morphing, which provides a list of solutions which can be used with WebRTC.
  • Conferences and group voice calls are limited to 50 participants.
Security

The Second Life implementation of WebRTC addresses security issues such as potential eavesdropping, exposing users’ IP addresses, etc., by routing communication through proxy servers managed directly by LL .

Project Status
  • At the time of writing this update, back end support is available on the WebRTC “Pop Rocks” simulator channel: WebRTC Voice 1WebRTC Voice 2WebRTC Voice 3 and WebRTC Voice 4.
  • Deployment to RC channel should  commence on Wednesday, October 2nd, when the code will be deployed to the BlueSteel RC channel.
  • During this deployment period both WebRTC Voice and Vivox Voice will be supported.
  •  LL will turn off the Vivox support on the simulators some time after WebRTC has been fully deployed and there is sufficient support for the service across all viewers.
Additional Information

Usability Enhancements

Object Take
LL’s new object Take options, as displayed through the Firestorm right-click context menu

When picking-up in-world objects you can now chose to:

  • Take As Combined Item: return all the selected objects to inventory as a single, coalesced object.
  • Take Copy As Combined Item: return copies all the selected objects to inventory as a single, coalesced object, leaving the originals in-world as individual objects.
  • Take As Separate Items: return all the selected objects to inventory, but list them as individual items, not as coalesced.
  • Take Copies As Separate Items: return copies all the selected objects to inventory, but list them as individual items, not as coalesced, leaving the originals in-world.

Note that for Firestorm 7.1.10, these options are ONLY available as a sub-menu set in the right-click context menu; they have not as yet been added to the Pie menu (see: FIRE-34438).

Avatar Rendering Updates

Linden Lab added new options to enable the prioritisation of rendering avatars using the following criteria:
  • Limit by complexity – any avatar with a complexity greater then your Avatar Maximum Complexity” setting will be rendered as a Jellydoll.
  • Always show friends – your friends will never be rendered as Jellydolls, no matter what their complexity
  • Only show friends – all avatars except your friends will be rendered as Jellydolls.

Within Firestorm, these options can be found as follows:

  • In  the  top menu → World → Avatar Display.
  • In the Performance Floater → Avatars Nearby.
Linden Lab’s avatar rendering options, as located within Firestorm 7.1.10
  • Notes:
    • In addition to these updates, Firestorm 7.1.10 retains the Firestorm option World → Show Friends Only. When enabled, the viewer will only renders your friends.
    • The now redundant Always Display Friends In Full Detail checkbox has been removed from the Performance Floater → Avatars Nearby.

Avatar-Related Improvements

  • Avatar height now correctly displays  in edit appearance window (see: FIRE-34192).
  • Worn clothing layers now all correctly report as such in inventory (see: FIRE-34343).
  • Fix for integer underflow causing issues with wearables.
  • Fix for avatar attachments & surroundings not rezzing after teleport when teleport screens are disabled (see: FIRE-33981).
  • Setting for AvatarRotateThresholdSlow and AvatarRotateThresholdFast added back into Firestorm following their removal as part of a viewer code clean-up by LL (see: FIRE-34196 and LL Bug #1963).

General Updates / Improvements

  • Add Images to Inventory Items in Bulk: select up to 50 inventory items → Right click selection → Image.
  • Option to control the amount of lights: Preferences → Graphics → General → Max Nearby Lights slider.
Control nearby lighting through the nearby lighting slider
  • GLTF model preview: use a prim to preview the appearance of a glTF scene / model:
    • Edit the prim. then Top menu bar → Developer → GLTF → Open.
      • To enable the Developer menu, either go to Advanced → Show Developer Menu or press Ctrl-Alt-Q or go to Preferences → Advanced → check  Show Developer Menu
    • Note that this feature is still in the early stages of development and that glTF models will only appear locally in your own viewer, they will not be rendered for others to see in their viewers.
  • Better MOAP URL handling in order for users to not only be able to CTRL-C or Cmd-C copy but also to see decoded URL payloads for easy inspection. In the nearby media list, you can also right click a media/data link and Copy URL/Copy Data.

Performance Improvements Summary

  • Mirrors disabled by default for all graphics quality levels to improve performance.
    • You can choose to enable mirrors manually in Preferences → Graphics → General → Mirrors.
  • Improved general performance with PBR – Issue 1769.
  • Fixed performance regression since Graphics Featurettes viewer – Issue 1831.
  • Fixed viewer failing to detect more than 4Gb of video memory on Windows – Issue 1583.
  • Improved texture memory calculation – Issue 799.
  • Various performance improvements for Mac:
    • Improved PBR viewer performance on Apple Silicon – Issue 1527.
    • Fixed setting a map beacon causing extreme lag on Mac – Issue 999.
    • Fixed severe stall and stutter in PBR viewers on Mac when editing objects – Issue 1203.
  • For the full list of fixes and improvements from Atlasaurus, please refer to the Atlasaurus release notes, linked to above.

Upstream Fixes from LL

  • Added error handling for intel crashes from the GLTF Scene shader – this fixes the login crashes on systems with older Intel HD graphics (see Issue 1856).
  • Fixed visual corruption caused by divide by zero in lighting functions – this fixes black & white areas in certain locations (see Issue 1852).
  • Fixed the voice call button being greyed out when you logged in to a voice disabled parcel (see this Canny bug).

Significant Firestorm Updates

Camera Roll

Ever wanted to physically roll the camera with ease when taking pictures? With Firestorm 7.1.10 you can, using an update based on an Alchemy viewer feature.  Both the large and the small camera control floaters have new camera roll buttons (see image below):

The new camera roll buttons and the button for re-centring the view
  1. The left button will roll the camera view clockwise on your screen through 360º.
  2. The right button will roll the camera view counter-clockwise on your screen through 360º.
  3. Clicking the button at the centre of the rotation controls will revert the viewer to “normal”.

General Improvements

  • Check folder limit safeguard:
    • If you select the Wear Items option in the Inventory folder context menu, and the total number of items in the folder(s) exceeds the maximum limit for wearable items / attachments, a warning pop-up is displayed.
    • This prevents multiple items withing a folder (and sub-folders) being worn / removed / worn in excess of the limit when the Wear Items option is clicked.
A new safeguard warning is displayed when clicking on the Warn Items Inventory menu option for a folder containing items that exceed the maximum number of wearable items / attachments
  • Raised the 512×512 limitation for uploading snapshots to inventory to 2048×2048.
  • Multiple bug fixes for memory issues, RAM detection, texture management, UI bugs, stability and improvement fixes, crash fixes and more – please refer to the Firestorm 7.1.10 changelog for specifics.

OpenSim Updates

  • Fix for inventory fetching issues on OpenSim (see FIRE-34403).
  • Fix for occasional crashes on large inventories or slow grid asset servers (see  FIRE-34403).
    • Previously, an assertion failure would occur if mComplete.size() was zero. This has been downgraded to a warning message and early return, improving stability especially for large inventories or slow grid asset servers.
    • This entire code path is only accessed by OpenSim pending their implementation of AISV3, when it will be removed.

Feedback

As with the PBR release, I have no feedback to offer with this release, as I’ve not had time time to bounce around with it to any great degree.

Note that the performance improvements from the Lab’s Atlasaurus viewer constitute a first round of fixes; more will be coming with the upcoming DeltaFPS viewer (promoted to release status, Tuesday, September 17th) and the ExtraFPS viewer (still to be issued by LL at the time of writing).

2024 SL SUG meetings week #38 summary

Winchester Harbor, August 2024 – blog post

The following notes were taken from the Tuesday, September 17th, 2024 Simulator User Group (SUG) meeting. They form a summary of the items discussed, and are not intended to be a full transcript, and were taken from my chat log. Pantera’s video is embedded at the end – my thanks to her for providing it.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • These meetings are conducted (as a rule):
  • Meetings are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
  • Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.

Simulator Deployments

  • On Tuesday, September 17th, the SLS Main channel was restarted without any deployment.
  • On Wednesday, September 18th:
    • A new version of the Picnic simulator release (which includes the WebRTC support) called Doubtfire should be deployed to the BlueSteel RC channel.
    • Ferrari and the remaining RC channels will be restarted without update.

SL Viewer Updates

  • The DeltaFPS RC, version 7.1.10.10708851543, dated September 11th, was promoted to de facto release status on September 19th. This includes:
    • Performance boosts. Memory management has been optimized and users will experience a higher FPS across various systems. A comprehensive range of bug fixes are also provided. This includes better PBR material handling and resolving frequent crashes. See the release notes for more.
    • UI for scheduling region restarts now available via a new button located in the Region/Estate floater. (Note: there is currently an issue with scheduled region restarts working correctly and a fix is due to come in the next server release).
  • Release channel cohorts:
    • None at the time of writing.

Region Crossings Update

We have some attachment fixes available for testing on the Beta grid. Channel is ‘ghi-1419’.Some Blake Sea regions are running on it: Binnacle, Flotsam, Half Hitch, Hawser, Jones Locker, Lanyard, Swab.

– Monty Linden

Note that these fixes are entirely separate to the general tweaks Monty has been making to improve simulator performance on avatars entering / leaving a region, which are due to be deployed to the main grid soon.

In Brief

Please refer to the video below for the following:

  • 2K BoM texture bakes on mesh now available for testing on Aditi (the Beta grid). See my 2K BoM blog post for more.
  • A further discussion on attachment losses / attachments getting stuck following teleports. In the case of the latter, Monty suggested a potential workaround:
As for the stuck attachment, there may be a workaround: 1) once stuck, TP to another region (not adjacent), 2) wait one minute, 3) TP back. You may find your attachments in the correct state. But they will get stuck again on re-attachment.

– Monty Linden

  • Github issue #1519 (also Canny issue: llDetectedTouchPos returns TOUCH_INVALID_VECTOR when used in touch_start or touch) affecting Touch when in mouselook has been confirmed as a viewer-side issue, and not simulator-side (the viewer is reporting the wrong initial data). However, no current ETA on a fix.
  • Rezzing delays affect all scripts in an object is currently being tracked, and Rider Linden indicated he hopes to get to grips with it and have it available for the Barbecue simulator update package. Barbecue (or BBQ, as the notation seems to change between meetings) will be the simulator update to follow-on from the WebRTC deployments currently in progress via Picnic and Doubtfire. This issue sparked a discussion commencing roughly half-way through the meeting.
  • Note that the next SUG meeting (Tuesday, September 24th) will be a party to mark the autumnal equinox.

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.