2025 week #19: SL TPVD meeting summary

Maison de L’amitie, March 2025 – blog post

The following notes were taken from my chat transcript + the video recording by Pantera (embedded at the end of this summary) of the Third-Party Developer meeting (TPVD) held on Friday, May 9th, 2025. 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 are generally conducted in 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

  • Default viewer: 2025.03 7.1.13.14343205944, issued April 9th and promoted April 15th.
    • New UI element for water exclusion surfaces: Build / Edit floater → Texture Tab → Hide Water checkbox.
    • The maximum amount of Reflection Probes can now be adjusted to better accommodate low VRAM scenarios.
      • Values will be set automatically depending on your chosen graphics quality. OR
      • Use Preferences → Graphics →  Advanced Settings →  Max. Reflection Probes to manually set.
    • An issue with being unable to see Sky Altitude values in the Region/Estate window has now been resolved.
    • Preferences → Graphics → Max. # of Non-Imposters has been renamed Max. # of Animated Avatars for clarity.
    • Bug and performance fixes and memory optimisations.
  • Release Candidate: 2025.04 – 7.1.14.14742193597, May 2nd – see below.
  • Second Life Project Lua Editor Alpha, version 7.1.12.14175675593, April 2nd.

Release Candidate 2025.04

  • Currently includes the following new features and updates:
    • Chat Mentions (Early Support): Type @ then pick a name. To follow: audible alerts and highlight colour pickers (New).
      • This does not support generic mentions such as @everyone or @here.
    • My Outfits subfolders: supports for the use of subfolders (new).
    • Build Floater improvements: increase to scale boundaries; Physics Material Type now updates when selecting linked objects; Repeats per Meter value no longer incorrect for non-uniform sized objects
    • Hover height: the minimum/maximum is now +/- 3 meters.
    • Snapshot floater: L$ balances can be hidden independently of the rest of the UI.
    • Preference Search bar: general usability and readability improvements.
  • Bug fixes as listed in the release notes (link above).

glTF Mesh Uploader

  • Originally planned for inclusion on the 2025.04 RC, this now looks as if it will be initially shipped as a project viewer.

2025.05 RC Viewer

  • This is being primed to contain the backporting of up fixes and updates originally intended for 2024’s Maintenance C RC. Details to follow as they are made available.

In Brief

  • Meeting format:
    • Following the previous TPVD meeting being held in local chat, the decision has been made to continue in chat only.
    • Both the TPVD meeting and the Open Source Development meeting now look on track to be combined into a single, text-only meeting, date and time going forward TBA.
  • Chromium Embedded Framework (CEF) Updates: used for the likes of media handling / web page presentation within the viewer, the current version of CEF is increasingly out-of-date. How to update it has been a subject of internal discussions at the Lab, with Geenz Linden noting:
Current line of thinking is just have one CEF instance – use CEF’s tab mechanism. Seems to be the preferred solution by CEF as well for cookie management. It’s more work, but it’s also generally what seems to be the “preferred” route from CEF land. 
Now that being said.. Depending on when we can get that work scheduled (we have _a lot_ on our plates right now), we may be open to a stop gap with that work on the docket in the future. We want to do this by the book as best as we can, I want to be clear about that. We are well aware of how out of date CEF is in the viewer, and it is something we want to fix. We’re still figuring out the path to do so – do we have a stop gap for now with a firm commitment to a proper upgrade later? Do we just skip to upgrade? We’re still discussing it.
    • This discussion revolved around a suggested approach to update used within the Cool VL Viewer and submitted to (and rejected by) LL. Further discussions on both the Lab’s thinking on the CEF tab mechanism and a possible discussion on interim options such as the Cool VL Viewer approach.
  • Terrain texture blending: there can be a noticeable difference is results when trying to blend terrain textures when seen on viewers running on different operating systems.
    • See: Terrain blends are different for different users (raised April 25th, 2025, and closed on May 1st (“expected behaviour”) for a description of the issue.
    • See: Terrain Texture Blending Consistency for one suggested solution and further discussion.
    • The issue appears to be the manner in which the Windows viewer applies a randomiser for blend textures between different elevations compared to Mac OS / Linux (see: SL Wiki : Creating Terrain Textures – Elevation Ranges).
    • This discussion became mixed with one concerning issues with PBR mirrors yielding different results / failing to work at log-in (notably under Windows), and the discussion of potential fixes, although the root cause seems to be similar in nature.
    •  It terms of any “fix” for terrain blending issues, the problem is that any adjustment made to the calculations could end up impacting some percentage of users in some way.
    • LL’s view (at the meeting) was to lean towards keeping the calculations used by Windows untouched, and to try to adjust Linux / MacOS to match; the reasoning for this is that as around 90% of the user base is running Windows (and potentially landscaping in Windows), they are seeing things “correctly”.
    • This led to something of a debate along the lines of the “needs of the many”; the question of ROI on fixes of one types or another (time to implement, overall impact, etc.).
    • This discussion took up much of the latter half of the meeting, but no firm view on any likely “fix” or time-frame at this point.

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.

2025 week #14: SL TPVD meeting summary

Island of Kalokairi, February 2025 – blog post

The following notes were taken from my chat transcript + the video recording by Pantera (embedded at the end of this summary) of the Third-Party Developer meeting (TPVD) held on Friday, April 11th, 2025. 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 are generally 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

  • Default viewer: 7.1.12.13550888671, formerly the ForeverFPS, dated March 1, 2025, promoted March 5th.
    • Numerous crash and performance fixes.
    • Water exclusion surfaces.
    • Water improvements.
  • Second Life Release Candidate: 2025.03 7.1.13.14343205944, April 9th, 2025.
    • Will only work on Aditi, within the following regions: [Luau Yardang], [Luau Tombolo], [Luau Mesa] and [Luau Tideland].
    • See below for more.
  • Second Life Project Lua Editor Alpha, version 7.1.12.13907344519, April 2nd.

Upcoming Viewers

  • The 2025.03 RC is now in “crash fixes only” mode, and LL are still hoping to get it promoted to de facto release status “soon”.
  • Due to the focus on 2025.03, the 2025.04 viewer update is still in development, but its appearance as an RC viewer is likely to be delayed. As a re-cap: this viewer will include:
    • Hover height improvements.
    • The ability to have sub-folders within the Outfits system folder.
    • The introduction of the glTF mesh importer.
  • As a reminder, as as per recent CCUG meetings the glTF mesh importer:
    • Is purely for glTF format mesh models – it is not the full glTF scene importer that had been in development.
    • Will initially operate pretty much as per the current COLLADA .DAE importer (e.g. anything that can be done with that importer can be done with glTF mesh imports).
    • Is only a first cut with glTF imports, and will be enhanced over time.
    • Is not a replacement for COLLADA .DAE support – LL hope to continue to support COLLADA alongside glTF for as long as is realistically feasible.
  • 2024.03 might additionally include Inventory Favourites and foundational work on RLVa inclusion. However, both of these might simple to the 2025.05 viewer.

In Brief

  • This meeting was held entirely in text as an experiment as decisions are made on the future of both the TPV Developer meeting (generally held in Voice) and the Open Source Development meeting (held in text), and potentially combining them.
  • The official Second Life Discord Channel now has a TPV role / channel to go alongside the opensource role / channel.
    • In order for someone to be eligible for the TPV role, they must be a part of a viewer team that is in the TPV programme and gain confirmation from LL to access the channel.
  • There is to be a “renewed push” to get the Voice service switched over to WebRTC across all simulators – although there are remaining bugs to be resolved before that happens, together with a back-end update required to allow for better service scaling.
    • The switch-over will follow the simulator update schedule: remaining updates will be deployed to RC channels first (with the switch from Vivox to WebRTC), then to the Main SLS channel.
  • The SLua alpha testing on Aditi has progressed well, and LL are now working towards a follow-up beta test.
  • The work on Linux support has been intentionally removed from the viewer repositories for the time being, while LL reviews Linux and determine its overall maintainability.

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.

2025 week #11: SL TPVD meeting summary

Coda Haze, January 2025 – 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, March 14th, 2025. 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

  • Default viewer: 7.1.12.13550888671, formerly the ForeverFPS, dated March 1, 2025, promoted March 5th – NEW.
    • Numerous crash and performance fixes.
    • Water exclusion surfaces.
    • Water improvements.
  • Second Life Project Lua Editor Alpha, version 7.1.12.13858460198, March 14th, 2025 – NEW.
    • Will only work on Aditi, within the following regions: [Luau Yardang], [Luau Tombolo], [Luau Mesa] and [Luau Tideland].
    • See below for more.

Viewer Releases, Cadence and Open Source Contributions

  • As previously noted in these pages, viewer releases are changing:
    • The viewer version numbering will be changed to reflect the year / month of release, so 2025.03 (March 2025) will be the next viewer in the pipe, followed by 2025.04 (April 2025).
    • The new viewer numbering may not initially be reflected in installer / viewer About floater, but it is something Signal Linden would like to see achieve – and maybe even back in the viewer’s top bar.
    • The will be a move towards a monthly release cadence, although during the TPV meeting, Signal Linden indicated it might be every other month at times.
  • Overall the viewer release cadence is intended to better match the sever updates cadence, so that simulator updates with require viewer changes will not have to wait so long for those changes to appear in the release viewer.
  • In line with all of the above, Geenz Linden has put forward a proposal for revamping the open source programme and making it more responsive, inviting input from TPV and open source developers. This will likely include a new Contribution Agreement.

SLua Alpha Testing

  • SLua (Slew-ah, or SL Lua) is the name given to the server-side implementation of Lua as a replacement for Mono as the compiled scripting language for Second Life.
  • The alpha is now available on Aditi.
  • Please refer to the official blog post and (if you prefer) my blog post for more.
  • At the TPVD meeting, Signal Linden indicated that LL is considering open-sourcing the SLua virtual machine, once it is ready.

In Brief

  • It is likely that the open Source Developer meeting and the TPVD meeting will be merged, with one (or both) changing time (and frequency?) as a result.
  • With new simulator certificates coming in, it was recommended that older viewer versions on Aditi to ensure they can still access SL on simulators running with the new certificates. These Aditi simulators are:
    • Cloud Sandbox 1-4.
    • All of the Blake Sea regions.
    • Bonifacio.
  • The viewer-side implementation of Luau (as distinct from the SLua project) is described as being in a “project branch and liable to stay that way for now”, with no short-term plans for rolling it out.
  • Still no firm date on when the Vivox Voice service will be switched off in favour of WebRTC.

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.

2025 week #7: SL TPVD meeting summary

Poetic Moon, January 2025blog 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, February 14th, 2025. 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.

Vir Linden Departure

Vir Linden is one of the latest departures from Linden Lab. A long-time members of the Viewer Team and well-liked and respected for his work their and on a range of projects such as Bento (which he morphed into the Content Creators User Group), and will as running the open Source Developer meetings. No information on Vir’s departure was given, but his place for this meeting (at least) was taken by the Lab’s Director of Engineering, Signal Linden.

My personal best wishes to Vir, and thanks for all his work at the Lab, and time spent working with users.

Official Viewers

  • Default viewer: version 7.1.11.12363455226, formerly the ExtraFPS RC (multiple performance fixes, aesthetic improvements and UI optimisations), dated December 17, promoted December 20 – No Change.
  • Release Candidate: Forever FPS, version 7.1.12.12999043440, February 4, 2025.
    • Numerous crash and performance fixes.

Status

  • ForeverFPS is defined as “being in a home stretch” in getting the viewer to release status.
  • The focus now is on showstopper bugs and getting as much feedback as possible on the viewer.
  • And upcoming version of ForeverFPS will include all the updates to Linden Water (some of which are also in the latest Firestorm Beta versions undergoing testing).
  • Geenz Linden re-iterated the overall status on the work with Linden Water as stated at the last CCUG meeting, including outlining the new water exclusion surfaces (e.g. for keeping water out of boat hulls) and their limitations (e.g. they are not intended for use as exclusion volumes in underwater structures, that’s “for the future”).

Open-Source Contributions, Viewer Release Cadence and Roadmap

[Video: 3:43-5:18 and Video: 7:35-11:55]

  • Signal Linden has put forward a document for improving how open-source contributions are managed, including general communications between the Lab and contributors and offering more transparency on how contributions are managed.
  • Alongside of this, LL are hoping to introduce a more predictable release cadence with viewer updates, something delayed since the move to gitflow in 2024 due to the sheer volume of viewer changes and updates spread across multiple viewer RC branches which had to be directed into the core Develop branch.
  • The hope is that implementing the latter will:
    • Enable TPVs to have a more predictable calendar of viewer updates they need to pull and merge.
    • Open-source contributors can have a more reasonable expectation as to when they might see contributions reach the viewer.
  • The aim is to move to a monthly viewer update cadence, and to implement a viewer version numbering system which reflects this cadence (e.g. viewer version numbers with 2025.03 to indicate a March 2025 release, 2025.04 for April, etc.).
  • To achieve this, the plan is to make releases smaller and more digestible for TPVs to absorb (again, making the flow of contributions and key code updates faster) rather than having them face huge merge requirements and testing.
  • One possible caveat to this is might be with “significant” projects which do incorporate large numbers of changes to the viewer, leading to them being handled differently. However, exactly how they might differ will be dependent on what comes along in this regard (e.g. glTF mesh uploads (and scene imports?)) .
  • To further assist in viewer development visibility, LL hope to update and be more forward in maintaining a visible viewer roadmap, together with “public planning meetings”.
  • [Vide0: 28:50-37:45] A discussion on ways of highlighting issues among the 700+ LL have in github for which they really need help from TPV / open-source developers, including some form of rewards system (in addition to the SEC bounty payments) as used to be done with LL merchandise, credits in the viewer Help →  About, etc.

In Brief

  • [Video:  43:25-EndAccount Takeovers:
    • LL recently blogged on matter of account and L$ balances security, the post came in the wake of LL noting a rise in reports of what they call “account takeovers”.
    • One specific vector used for phishing for account credentials is the use of links sent via Group (or even direct) IMs and within Profiles which carry the user to a fake SL website (e.g. a false Marketplace page), encouraging the user to enter their credentials, or which hide a potentially malicious webpage with in link.
    • Given this, Philip Rosedale asked for ideas on how such false flag links might be better countered / reduced in their threat level.
    • Displaying external link found in Group IMs, Profiles, etc., could be via dialogues which display the URL, to help prevent phishing, etc.

      Numerous suggestions were made, including: new accounts shouldn’t be able to start a large group chats; only Group owners and moderators can share links; posting links in Groups should be made a specific Group ability to be granted by the owners / moderators; making users more aware that hovering the mouse over links in chat, Profiles, etc will reveal the link URL; having a dialogue interdict clicks on links which displays the URL and requests the users to confirm whether or not they wish to go to the website (as with licking in-world items with embedded links (see right); force the URL to be the link (rather than hidden behind text).

    • This discussion also encompassed logging-in and alerts based on geo-location (e.g. in cases where user X traditionally logs-in from one country, but suddenly logs-in from the other wise of the world, so they get an alert to confirm they are actually logging in).
    • Please refer to the video for the specifics of the discussion.
  • Still no firm date on when Voice services will become WebRTC only (and the Vivox service turned off), outside of “hopefully, early this year”. Several factors are delaying this, including the number of users who are not utilising WebRTC-enabled viewers (predominantly those who have not moved to a PBR-capable viewer).
  • Havok physics in the viewer: over a decade ago, Havok sub-libraries were added to the viewer specific to assist with Pathfinding mesh uploads.
    • These libraries are starting to prove problematic in various areas (e.g. getting the viewer to run with native Apple Silicon support).
    • As a result, there have been discussion internally at LL about removing Havok support from the viewer.
    • One suggestion for doing so is to switch over to the open-source Recast Navigation for Pathfinding, and to use a convex hull decomposition library for mesh uploads.
  • A general discussion on text rendering in-world on prims, etc., such as by using Signed Distance Field (SDF).

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.

2025 week #3: SL TPVD meeting summary

Simurg + Winter Valley, November 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, January 17th, 2025. 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: 1:13-2:17 and [4:07-4:45]

  • Release viewer: version 7.1.11.12363455226, formerly the ExtraFPS RC (multiple performance fixes, aesthetic improvements and UI optimisations), dated December 17, promoted December 20 – No Change.
  • Release Candidate: Forever FPS, version 7.1.12.12793544240, January 17, 2025.
    • Numerous crash and performance fixes.

Upcoming Viewers

  • ForeverFPS surfaced somewhat faster as an RC viewer than had been anticipated at the CCUG meeting.
  • Other plans for viewer updates are under review; there a numerous code commits in the Develop branch awaiting a viewer, but collectively, they are regarded as to many to all go into a single viewer update, so the order of release over several viewer updates needs to be determined.

WebRTC / Updating to Viewers with WebRTC Support / Rendering Holdbacks

[Video: 5:22-24:14]

  • Further re-iteration of the desire to see as many users as possible to move from viewers which lack WebRTC support (e.g. Firestorm 6.6.17) to those (predominantly PBR-based) viewers with the WebRTC support, so that the Vivox service can be turned off across the grid.
  • A further request was made as to why people are resistant.
    • Once again, the response was largely around the quality of the reflections / general look of the Linden Water plane on PBR viewers, lack of exclusion volumes for water; darker ambient tones to natural lighting.
    • Ambient issues, particularly with legacy EEP skies should have been largely corrected in ExtraFPS.
    • It was also pointed out that there are cohorts of users who are happy with what works for them, even if half their in-world view seems to be “broken” in some manner, and simply will not update as long as the viewer they use can still access SL.
  • A particular issue here with regards to WebRTC, is that while a high percentage of users are not updating to viewers with PBR + WebRTC support, it is not clear how many would be adversely affected by the loss of Vivox voice, given that many in SL rarely, if ever use Voice.  If the number is small, turning off Vivox might not be an issue; if the number is large, it could cause people to abandon SL.
  • It was also suggested that wider communications from LL (and TPVs) on the nature of upcoming changes like WebRTC might help to make users more aware of what is going on.
  • In response to exclusion volumes and water quality  / reflections, Geenz Linden noted:
    • There might be a way to provide exclusion volumes for water (e.g. to prevent water rendering inside boat hulls, etc.), but the issue is complicated.
    •  There has been a regression in the way water appears and generates reflections; part of this was the result of the “pre-PBR” means of rendering water required multiple passes, which became a performance issue. However, improving water is on his list of things to do, and he hopes that some of the ideas he has will also help improve screen space reflections (SSR) .
    • However, he also indicated that bring back “full real-time reflections” on water  is a not insignificant ask, and will likely only be possible after the moiré system has been further optimised, as  reflection generation will likely piggyback off of that. As such, the work to recover water reflections will take time and will be iterative in nature, and there may be impacts on the general appearance of water.
  • Commenting on SSR, Geenz also noted that while improvements can be made, it will be “really hard” to return SSR quality to pre-PBR – but then, pre-PBR SSR had its own performance issues. As such, work in this area requires careful consideration on how to make improvements without impacting performance.

In Brief

  • [Video: 2:17-4:07] A further announcement on the departure of Runitai Linden (see: Runitai Linden departs LL for public service).
  • [Video: 24:14-29:30] General discussion / opinions on how and where to present assorted graphical settings and options within the Preferences / debugs, and how users understand / learn about the viewer’s internals.
  • [Video 30:16-32:25] Discussion on graphics and lighting – improving HDRi rendering, ambient like, introducing punctual lighting, using physical units for lighting.
  • [Video: 37:14-43:40] EventQueueGet is a simulator Capability that delivers messages from a simulator to viewers over HTTP using a long-poll scheme. It is core functionality without which viewer/simulator coordination is impossible. However, a number of defects in the design and maintenance of this capability have been found (see here for both defects and proposals to resolve).
    • Monty Linden  has implemented a “phase 1” project to address some of these issues, and has set-up a channel of several regions on Aditi (the Beta grid) for public testing of the changes to validate that they do not in fact break anything. He has also published information on how users can help with the test and what is involved in the “phase 1” work.
    • During the meeting, he requested that people take the time to visit the test regions, carry out TPs and physical crossing between regions, leaving suitably scripted objects running on the regions, etc., per the testing information forum topic and report back via the topic or via the Feedback Portal.
    • This work may become part of the Banana Bread simulator release (still in the process of being defined), and further references to the work will most likely be via the Simulator User Group meetings.
  • User groups for discussing Project Zero / SL Mobile:
    • The Project Zero viewer-in-a-browser project is open for discussion at the Web User Group (as Sntax Linden leads both the WUG group and Project Zero); and it has been indicated it might spin-up its own user group in time.
    • There are internal discussions going on in the Lab about starting a SL Mobile User Group. More to follow on this.

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 week #51: SL CCUG & TPV meeting summaries

Ashemi, October 2024 – blog post
The following notes were taken from:

  • My chat log of the Content Creation User Group (CCUG) meeting of Thursday, December 19th, 2024.
  • My chat log  of the Third Party Viewer Developer’s Meeting (TPVD) of Friday, December 20th, 2024.

Please note that this is not a full transcript, but a summary of key topics. .

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.
  • 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 of both meetings are recorded in the SL Public Calendar, and they are conducted in a mix of Voice and text chat.

Official Viewer Status

    • Release viewer: version 7.1.11.12363455226, formerly the ExtraFPS RC (multiple performance fixes, aesthetic improvements and UI optimisations), dated December 17, promoted December 20 – NEW.
    • Release Candidate: none at present.

ExtraFPS Notes and Rendering – Both Meetings

ExtraFPS Notes

  • The majority of legacy (non-PBR) skies should now look “extremely close” (if not “spot on”) to how they looked prior to the initial PBR release:
    • This is in part due to the default for the RenderSkyAutoAdjustLegacy debug setting being changed to False, which means that legacy skies should render close to the “pre-PBR” look, whilst leaving PBR skies unchanged.
      • This change in the default (from True to False) has caused some confusion among those using the Firestorm ExtraFPS beta versions, as they have been mistakenly switching the default back to True. This should not be done.
    • Tone Mapping is no longer applied the legacy skies, which should help eliminate legacy environments looking too bright / dark.
    • There is a chance that some legacy skies may have been missed, so the request is for those on non-PBR viewer to give ExtraFPS a try and check their preferred legacy skies, just in case. Issues should be reported via the feedback portal – including any noted issue with transitions when moving between different EEP settings.
  • Ambient lighting should be generally improved and “much more consistent” with pre-PBR viewers.
  • Exposure has been reset to 1.0.
  • As a part of the performance options for lower-specification machines, there is now an options to disable HDR rendering and emissives (single check box).
    • This should be automatically unchecked for those running on very low-spec systems (e.g. those running with Intel HD graphics), but those on lower-spec machines might want to check.
  • It terms of overall performance on older hardware types, LL believe theta in the “vast majority” of cases, ExtraFPS runs on a par with FPS rates seen on pre-PBR viewers.
  • Absent from ExtraFPS is the updated alpha/linear/exponential (aka alpha/gamma) settings. This is awaiting decisions around matter of permissions to allow people to apply the changes to legacy content they might own but for which they may not have the required permissions. The hope is to have this in an future viewer as an update.

General Rendering Comments and Feedback

  • The PBR deployment has made LL particularly aware that significant changes which may impact viewer performance need to be monitored far more on a case-by-case basis in terms of older hardware types (graphics cards / types, etc.), rather than looking at across-the-board averages.
    • As has been previously mentioned in CCUG meetings (and elsewhere), this has led to the graphics and viewer teams spending time pulling together older hardware and cards to build what has been unofficially dubbed the Potato Farm, so that changes can be tested against specific older hardware known to be popular among SL users.
  • The Graphics Team acknowledge Linden Water still “doesn’t look anywhere near as good as it should”, and is part of a series of legacy consistency issues they are still addressing.
    • In particular, Geenz Linden noted that Screen Space Reflection (SSR) is “in need of improvement”, but LL just have not had the cycles available to work on it. He has ideas on how things can be improved without having to uproot everything, and hopes that there may be an opportunity to work on them in 2025.
    • One suggestion was to place a glTF transmission texture on Linden Water to help resolve problems. However, this doesn’t appear to be an option due to Linden Water rendering being “kind of incompatible” with the glTF materials specification.
    • Bringing back water reflections to a point where they matched pre-PBR water reflections is seen is expensive in terms of performance, ergo while improvements will be made, they are unlikely to offer the same level of real-time reflections as seen “pre-PBR”.
  • Firestorm ExtraFPS Beta: Firestorm have been iterating on a beta version of their viewer incorporating the ExtraFPS updates. However:
    • Geenz Linden noted that there are some “broken things” in the Firestorm ExtraFPS beta which are leading to some “very noticeable differences” between it and the official ExtraFPS. He is currently working with the Firestorm team to try to correct these issues.
    • The environment doesn’t always change over to the local shared environment on a region crossing (physical or teleport), together with ambient reflection probes getting discarded and rebuilt as a Day Cycle advances to the next preset (keyframe). This is not something the Lab’s graphic’s tam have noted on their viewer; if it can be reproduced on the official ExtraFPS release, bug reports would be appreciated.
  • It has been noted that cube reflection probes do not affect water (although spherical probes do appear to affect water). It’s not clear if this is an unintended breakage as a result of various testing (e.g. with water reflections) or intended (as those in a position to address this question are out of the office on holiday breaks).
  • Tone Mapping:
    • Tone mapping is a highly subjective area – what looks good to one person might not appeal to another.
    • Because of this, and without changing defaults beyond what have been set within the ExtraFPS viewer – the Lab is seeking to provide choice by making options available (e.g. the Khronos Neutral Tone Mapper as well as ACES), and through options to adjust tone mapping (which will eventually be including in the Sky Settings floater), enabling people to make choices for themselves.
  • To assist with manging environment-related settings, Geenz Linden hopes to move things to enable asset versioning for sky / water assets, thus allowing for easier maintaining of legacy code paths when required, which in turn should help with avoiding some of the issues seen with the likes of sky settings in the move to PBR / glTF.
  • Requests:
    • Allow arbitrary meshes to be used as reflection probes. Whilst this could help with fitting probes into difficult spaces (e.g. within cave tunnels), arbitrary mesh shapes as probes are not seen as particularly performant, particularly WRT lower specification systems.
    • Allow blending on reflection probes so that neighbouring / overlapping probes offer smoother transitioning (such as at the entrance to a cave or tunnel or an entrance into a darker interior. In theory this could be done.
    • Provide a new means to “hide” Linden Water from the interior of boats, etc., in a manner similar to using invisiprims under the (now defunct) Forward Renderer. Unfortunately there is no easy means of providing occlusion volumes for Linden Water to replace invisiprims in this use.
  • A lot of questions on PBR Materials which really boiled down to the need for more informative documentation / FAQs / tutorials.

TPVD Meeting

The Lab Using TPVs

  • A long standing policy at the Lab is that staff and contractors have been required to only use the official viewer, and that bugs reported to the Lab need to be reported using the official viewer.
  • In recognition of the widespread use of TPVs – notably, but not exclusively, Firestorm – this policy is now changing.
  • The Lab has already taken steps to implement the ability to build Firestorm internally and with the necessary security options in place to make it “safe” for use by Linden personnel and contractors.
We’re all using Firestorm more … so we can be helpful if need be on integration work and stuff like that with Firestorm. There were security changes in general to allow Lindens to log-in to any third-party viewer, but we’re definitely changing to respect that Firestorm in particular comprises almost all active use of Second Life today and we’ve got to do everything we can to make sure it’s working first, even before our own viewer.

– Philip Rosedale, TPVD Meeting, Friday December 20th, 2024

  • This does not mean that the Lab is adopting Firestorm or taking any form of control over it (or any other TPV); the Firestorm team remains in control of their viewer,  and the roadmap and plans for it. Rather, the aim is to provide assistance for Firestorm and other TPVS where it is needed.
  • Right now for Firestorm, this assistance – as noted above – is focused on evaluating the ExtraFPS code and performance updates for inclusion in Firestorm as quickly as possible.

The Viewer Structure and Open-Source Development

  • The above led to Philip expanding on some of the issues which have arisen due to the way in which the viewer was coded and opened out as a open-source project.
Looking all the way back to 2005, which is when I think we open-sourced the viewer, we didn’t have the team then – nor do we have it now – to properly separate the viewer into into a bunch of modular components that could connect to each other and have plug-ins attached to them in a way that Chrome does. I think that coming back now and being the CTO and looking at what’s going on, one of the elephants in the room is that the structure of the code doesn’t support extensions and plug-ins in the way that would make sense for a properly-run open-source project. I say that without a specific solution in mind, I’m just recognising it. 

– Philip Rosedale, TPVD Meeting, Friday December 20th, 2024

  • Because of the approach taken, the viewer code has become “a plate of spaghetti”, with third-parties developers able to open the code up and make changes then deem necessary at any point in the code.
  • This has been further exacerbated by the lack of overall documentation for the viewer that might be constructively used by developers internally and externally to the to the Lab to understand the viewer code – a point that is again acknowledged.
  • Ideas for trying to make the viewer code more modular are being looked at, but no decisions  – much less a roadmap – for starting to do so have yet been reached.
    • As both Philip Rosedale and Vir Linden noted, the fact that there has been 15-20 years of open-source viewer development, with TPVs (and the Lab) picking their own paths does make doing so “tricky”.
    • One possible avenue being considered here is trying to separate the viewer UI more from the underlying rendering engine, potentially making updates to either less intrusive either way.
  • An additional goal of the work currently being carried out to support Firestorm with ExtraFPS is to try to ensure the code in question can be more easily pulled-in by other TPVs as well.

General Discussion Points

  • Web development:
    • The Marketplace is written on Ruby on Rails, communicating with a SQL running on Redis, an infrastructure which is making it hard to chase down query optimisation problems.
    • As a result, there is a likelihood that some engineering support is going to be pivoted towards SL’s web properties and infrastructure, which may result in work in the viewer / server areas slowing down.
  • Open positions at LL:
    • Time was taken in discussing current (at the time of the meeting) open positions at LL – server developer, Mobile developer and senior product manager.
    • This touched on some of the upcoming features coming to Mobile – such as the Lobby capability due to surface in SL Mobile during Q1 2025 (see: Second Life Blogger Town Hall, December 2024: Mobile, marketing and more).
    • Specifically, there was a request for any Second Life developers / users who have the requisite skills for the posts and who might be looking for a career change (or who know someone who does / is) to considering applying / pointing people to the Lab’s careers page.
    • In addition, Philip noted, in line with the above web development, the Lab is seeking expertise in Ruby on Rails development (preferably with SQL experience as well) – although this is not currently advertised on the LL careers page. Anyone who has / knows of such experience can contact him – preferably via e-mail.

Next Meetings

 

† 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.