SL project updates week 17/2: TPV meeting – CEF, Inventory

Fantasy Faire 2015: YoZakura; Inara Pey, April 2015, on Flickr Fantasy Faire – April 23rd to May 3rd, 2015: YoZakura (Flickr)

The following notes are primarily taken from the TPV Developer meeting held on Friday, April 24th,  a video of which is included below (my thanks as always to North for recording it and providing it for embedding), and from the Server Beta meeting held on Thursday, March 26th. Any time stamps contained within the following text refer to the TPV developer meeting video.

Server Deployments, Week 17 – Recap

As always, please refer to the server deployment thread for the latest updates.

  • On Tuesday, April 20th, the Main (SLS) channel received the server maintenance package deployed to all three RC channel in week #16, which comprises internal server logging changes and new flags for llGetObjectDetails()
    • OBJECT_BODY_SHAPE_TYPE – returned list entry is a float between 0.0 and 1.0. Anything > 0.5 is male, otherwise female; -1.0 if the avatar is not found
    • OBJECT_HOVER_HEIGHT – returned list entry is a float, -1.0 if the avatar is not found.
  • There were no deployment or restart on the three RC channels on Wednesday, April 22nd.

SL Viewer Updates

[05:50] The Tools Update viewer, version  3.7.28.300918, was promoted to the de facto release viewer on April 23rd – see my article here for details. During its run as an RC viewer, this release had around a 2% lower crash rate than the release viewer built using the “old” tool set and processes.

As a result of this, all the remaining RC and project viewers are being updated to match the release viewer code base, and updated versions should be appearing soon.

Attachment Fixes Viewer (Project BigBird)

[07:42] This viewer, current available as a project viewer – version 3.7.28.300856 – and which fixes a range of issues related to avatar attachment failures, is in the process of being updated to a Release Candidate status, and should be appearing in the release pipeline as such in week #18.

[29:28] The Lab believes that these fixes resolve all of the viewer-side issues related to attachment problems which are related to AIS v3. However, a number of the more noticeable issues  – such as problems with attachments being detached on teleporting – are server-side, and require further investigation / fixing.  Similarly, failures with requests to attach multiple items (such as during an outfit change) also appear to be simulator-related, rather than anything within the viewer or linked to AIS v3.

Oculus Rift Viewer

[07:55] The Oculus Rift viewer is now on the schedule to be updated and brought into line with more recent viewer code releases. There is no set time scale for this project (and the Oculus Rift itself, according to Oculus VR, is unlike to reach a consumer release in 2015), but the aim is to bring it back to a “more active” state.

Viewer-Managed Marketplace

[00:08] Brooke Linden gave an update on VVM – as this is of interest to a potentially wider audience than those interested in viewer development, I’ve provided a separate article on it.

Web Media (Webkit and CEF)

[08:41] The Lab is making “pretty good” progress on replacing webkit, an increasingly outdated third-party library used within the viewer for powering the built-in web browser, displaying web profiles and powering in-world media (TVs, MOAP, etc.), with the Chromium Embedded Framework. The Mac work is lagging a little behind this, but the Lab has now called-in external expertise to help move the project forward as a whole.

Request for TPV / Open-source Support for Linux

[09:17]  The Lab is seeking support from TPV developers and the open-source community to help maintain and move the Linux flavour of the viewer forward. For details, please see my  separate article in this blog, complete with an audio extract from the meeting.

Snapshots to E-mail

[12:27] The send snapshot as e-mail capability is in the process of being removed from the viewer.

The main reason for this is that wherever possible, snapshots are sent via the “secondlife.com” domain, but use the sender’s own e-mail address as the originating address in the “from” field of the sent e-mail which appears as if the “from” address is being forged. This, and other ways in which e-mails flowing out from “secondlife.com” are handled, has resulted in some ISPs regarding the domain as a spam domain, and have been pro-actively blocking it (Germany-based GMX is one such example).

To rectify these problems, the Lab is reviewing how e-mails from “secondlife.com” are being managed as a whole, and eliminating those uses which may conceivably lead to the domain In the case of the snapshot floater, the Lab’s perspective is that the easiest way to fix the problem is to remove the option from the snapshot floater; however as was pointed out to them in the meeting, this will break content such as wardrobe HUD systems which utilise the snapshots to e-mail functionality.

Other Items

HTTP and CDN Use Expansion

[20:35] The Lab is working on increasing the number of assets such as animations, sounds, and gestures, consumed by the viewer to being delivered via HTTP the CDN, and removing the reliance on UDP. This is for a number of reasons:

  • It further fees-up resources on the simulator to do what they do best – simulate the world around us, rather than using them for managing UDP file transfers
  • The use of UDP is not the most efficient or robust means of carrying out these transfers
  • UDP is bad for the network; there’s no flow control packet or congestion control behaviour, it can result in high packet losses which may occur anywhere between the the server and the viewer, and thus be hard to identify and prevent in future, etc.

As this work progresses, the Lab will be removing the server-side support for the UDP messaging currently used by such transfers. This has already happened with inventory fetching (and the option to disable HTTP Inventory is due to be removed from the viewer), and will be happening soon with texture fetching (which will also see the removal of the option to disable HTTP Textures in the viewer).

To help with this, TPVs are being encouraged to work with the Lab to identify specific / reproducible  issues users are encountering vis HTTP, etc., so that more work can be put into fixing them, and the Lab is asking TPVs not to recommend to users to switch back to the “old ways” of doing things when potential HTTP problems are encountered, as the 2old way may not be around for much longer.

Continue reading “SL project updates week 17/2: TPV meeting – CEF, Inventory”

Tools update viewer reaches release status

secondlifeOn April 23rd, 2015, the Lab updated the de facto official viewer to version 3.7.28.300918, formerly the Tools update Release Candidate viewer.

As regular readers of this blog know from my regular SL project updates, this release is primarily focuses on a change to the tools used to build the viewer (to Visual Studio 2013, Xcode 6.1, and some other tools improvements).

Two important aspects of this update are that:

  • The Windows version of this viewer will not install on Windows XP systems, regardless of the Service Packs also installed (previous versions of the release viewer would install on Windows XP system which had Service Pack 3 installed)
  • The Mac version of the viewer will not install on any version of OS X below 10.7.

Note that this is not a deliberate attempt to block XP users or those on older versions of OS X from Second Life; it is purely the result of the Lab using up-to-date tools for building the viewer (and which will yield positive benefits elsewhere. for example, during its time as an RC viewer, the new build version has had a crash rate some 2% lower than than of the official viewer built using the “old” tool chain. There have, however, been some reported issues of Linux users experiencing problems using this version of the viewer.

A further benefit of the tools project is that it offers the Lab and TPVs the opportunity to work with a more common set of viewer building tools due to the removal of some licensing issues. It is therefore more than likely that at least some TPVs will move over to using the new tool chain as well.

This viewer also introduces the updated log-in options at the top of the viewer’s splash screen. The three button approach seen by most users  has been replaced with a log-in area with a single button (note that users logging-in to SL for the first time or after a clean install will still see the “first time user” log-in splash screen).

LL viewer log-in updates: as they first appeared after an initial log-in following the 2014 revisions to the log-in / splash screen (top); and as the log-in options are displayed in the new RC viewer (bottom) - click for full size, if required
LL viewer log-in updates: as they first appeared after an initial log-in following the 2014 revisions to the log-in / splash screen (top); and as the log-in options are displayed in the updated release viewer (bottom) – click for full size, if required.

Related Links

 

UKanDo Kokua and RLV updates

UKanDo, Kokua and the Restrained Love Viewer (RLV) have all seen recent updates in April 2015, bringing them up-to-par with the Lab’s 3.7.27 code base, which features the most recent maintenance updates from the Lab. In the case of UKanDo and Kokua, this means that Avatar Hover Height (AHH) is now available in the viewers, while RLV sees a couple of tweaks to AHH.

Core updates to the three viewers are summarised below.

UKanDo Viewer

UKanDo updated to version 3.7.27.28099 on April 16th. As well as incorporating AHH and the maintenance updates from the Lab, this release also brought with it:

  • Develop > HTTP Inventory now permanently enabled in UKanDo viewer, in line with recent LL server-side updates
    Develop > HTTP Inventory now permanently enabled in UKanDo viewer, in line with recent LL server-side updates

    An update to RLV release 2.9.8

  • Complete disabling of the Develop menu option allowing people to turn off HTTP Inventory loading. This is to ensure people do not encounter issues with avatar and / or inventory loading as a result of the Lab removing UDP inventory messaging support for the simulator code – see my notes on this for further information
  • The addition of a new debug setting, EnvironmentPersistAcrossLogin. When set to True, will to counter MAINT-2477 Feature Request – Sun position override should not persist across logins
  • The ability to toggle the Paste As Link option in the Inventory right-click context menu on or off, according to your personal preference (Preferences > General > Inventory Show ‘Paste As Link’ Option
  • A change to allow copy of worm items – So links for worn items can be created
  • Don’t show inventory item links or folder links in Recent Tab.

Kokua Viewer

Kokua updated to version 3.7.27.35441 on April 23rd. As well as incorporating AHH and the maintenance updates from the Lab, this release also brought with it:

  • AHH in Kokua's pie menu can be found under the Appearance ... option in the main pie menu
    AHH in Kokua’s pie menu can be found under the Appearance … option in the main pie menu

    The most recent RLV 2.9.9 updates

  • Fixes for:
  • In-world Flash playback issues on Linux – Ticket #333
  • Fix to top bar Draw Distance slider showing distance – Ticket #338
  • Upload fee not reflected on menus for OpenSim – Ticket #340
  • “compile as mono” option does not work – Ticket #342
  • File -> Upload -> Set Default Upload Permissions does nothing – Ticket #344
  • Changing the grid-selection option in preferences crashes viewer – Ticket #346
  • Determine correct webkit libraries that need delivered with the Linux version of the viewer – Ticket #347
  • Kokua 3.7.26.36845.x86_64 Linux Fails to start – Ticket #348
  • Chat history compact mode does not convert the Avatar Name in OpenSim – Ticket #351

Issues and feature requests can also be found in the release notes.

RLV Updates

RLV updated to version 2.9.8 on April 8th and then to version 2.9.9 on April 21st. The 2.9.8 release saw the existing avatar height slider in the RLV top bar tied to the Lab’s new Avatar Hover Height functionality, so that using either the top slider or Avatar Hover Height from the Avatar right-context menu will use the same code and result in the same adjustments.

The RLV avatar height slider (top bar) is now tied to the Avatar Hover Height functionality. Notice the top bar operates to 2 decimal places and AHH to 3, so small rounding differences are to be expected when comparing the two
The RLV avatar height slider (top bar) is now tied to the Avatar Hover Height functionality. Notice the top bar operates to 2 decimal places and AHH to 3, so small rounding differences are to be expected when comparing the two

In addition, the 2.9.8 update saw a tweak the viewer so that HTTP Inventory is enabled by default in the viewer, again in line with the Lab’s recent move to deprecate the UDP messaging for inventory loading server-side. As RLV previously had HTTP Inventory disabled by default, this meant RLV users were no longer seeing their own avatars render in-world, and could lead them to experiencing inventory load issues as well (see my nots, linked-to in the UKanDo section above for further information). The release also saw some nips and tucks to RLV functionality.

Version 2.9.9 added a small fix to the linked AHH functionality and incorporates the Lab’s 3.7.27 maintenance release updates, as noted at the top of this article.

Related Links

SL project updates week 17/1: server, viewer, Avatar Complexity

221B Baker Street; Inara Pey, April 2015, on Flickr 221B Baker Street, circa 2012-2015, as seen in the BBC’s series Sherlock – and in Second Lifeblog post

Server Deployments, Week 17

As always, please refer to the server deployment thread for the latest updates.

  • On Tuesday, April 20th, the Main (SLS) channel received the server maintenance package deployed to all three RC channel in week #16, which comprises internal server logging changes and new flags for llGetObjectDetails()
    • OBJECT_BODY_SHAPE_TYPE – returned list entry is a float between 0.0 and 1.0. Anything > 0.5 is male, otherwise female; -1.0 if the avatar is not found
    • OBJECT_HOVER_HEIGHT – returned list entry is a float, -1.0 if the avatar is not found.
  • There will be no deployment or restart on the three RC channels on Wednesday, April 22nd.

This means there will be no Main channel roll in week #18, but there should be a new RC update, although this is still being worked on.

SL Viewer

The Avatar Layer Limits RC viewer updated to version 3.7.28.301019 on April 20th. This viewer allows users to wear up to 60 wearable layers (jackets, shirts, tattoo, alpha, etc.) in any combination and any number per layer up to the overall maximum of 60, rather than each individual layer being limited to a maximum of 5 items.

The Tools Update RC viewer has been performing very well since the last update (April 15th), and there has been something of a debate in the Lab as to whether or not to promote it to the de facto release viewer. While there is no hard-and-fast rule about when an RC is promoted to release status, very often the Lab prefers to leave two weeks between releases unless something is urgently required. Sticking to this would mean the viewer won’t be promoted until week #18 (week commencing Monday, 27th April); however we’re still early in the week, and things might change.

Viewer Managed Marketplace Beta

The Viewer-Managed Marketplace (VMM) officially started an open beta test on the main grid, which is scheduled to last for about a month for details see:

Avatar Complexity

Avatar Complexity is the term the Lab has settled upon for the upcoming functionality which provides greater control to user to define how other avatars are rendered in their world-view.

The idea is that as avatars can often be the single biggest impact on the viewer in terms of rendering, particularly in crowded places, so  Avatar Complexity will present a means by which avatars which require a load of render processing by your GPU can be rendered as a solid colour instead, which should help with performance on lower specification systems. Due to their solid colours, avatars rendered in this way have already been dubbed Jelly Babies or Rainbow People.

At the Open-source Developer’s meeting on Monday, April 20th, Oz Linden explained that “Avatar Complexity” has been chosen for the name of the capability to distinguish it from avatar imposter rendering, which will remain in the viewer alongside Avatar Complexity when it arrives. The difference between the two can be summarised as:

  • Avatar impostor rendering is a simplified and less frequent rendering of avatars further away from you, while those close to you remain fully rendered
  • Avatar Complexity renders any avatar exceeding the value set within your viewer as a single, solid colour, regardless of the avatar’s distance from you.
Avatar complexity is intended to help those who may hit performance issues as a result of their GPU struggling to render complex (hight render cost) avatars, by rendering such avatars as solid colours.
Avatar complexity is intended to help those who may hit performance issues as a result of their GPU struggling to render complex (hight render cost) avatars, by rendering such avatars as solid colours.

Oz further indicated that Avatar Complexity will be managed via the Advanced panel in Preferences > Graphics, and will initially be enabled / disabled in the official viewer based on your GPU’s benchmark (the value use to determine the viewer’s default graphics settings when first installed). Some TPVs may opt to leave the capability disabled by default (once the code is available for inclusion in TPVs), and allow users determine whether they wish to use it or not.

Currently, work at the Lab is focusing on a couple of aspects of the functionality:

  • Toning down the colours used by the viewer when rendering avatars in this way – as the functionality can currently be tested via two debug settings within the viewer, there have already been strong criticisms of that “Jelly Baby” rendering on account of the brightness of the colours
  • Server support is being added to pass on the counts of avatars that are and are not rendering to those using Avatar Complexity.

It is also probable that before the capability appears in a project viewer, it will also be set to  display notifications when you change your own complexity, and when the number of avatars not rendering you changes.

If you wish to experiment with the settings are they are at the moment, go to Advanced > Debug Settings and type-in RenderAutoMute. Select RENDERAUTOMUTEFUNCTIONS and set it to 7, then experiment with values under RENDERAUTOMUTERENDERWEIGHTLIMIT (start with 100,000, and increase or decrease it to alter the number of avatars around you rendered as solid colours (lower values = more avatars rendered as colours).

2015 viewer release summaries: week 16

Updates for the week ending: Sunday, April 19th, 2015

This summary is 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.

Official LL Viewers

  • Current Release version updated to version 3.7.27.300636 on April 13th (formerly the Maintenance RC viewer) download page, release notes
  • Release channel cohorts (See my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • Experience RC viewer updated to version 3.8.0.300963 on April 17th – provides support for viewing and managing Experiences and for contributing content for Experiences (download and release notes)
    • Tools Update project viewer updated to version  3.7.28.300918 on April 15th – builds Windows and Mac viewers using the new tool chain and autobuild process and also incorporates the revised viewer log-in screen (download and release notes)
  • Project viewers:
    • Attachment fixes project viewer (Project BigBird) updated to version 3.7.28.300856 on April 17th – core updates: a number of fixes for various attachment issues (download and release notes)
    • Viewer-managed Marketplace project viewer updated to version 3.7.28.300920 on April 16 – allows Merchants to manage inventory associated with Marketplace Listings from within the viewer + sale of items which Merchants do not have the right copy will now be supported with the Direct Delivery purchase mechanism (download and release notes)

LL Viewer Resources

Third-party Viewers

V3-style

  • UKanDo Viewer updated to version 3.2.27.28099 on April 16th – core updates: parity with LL 3.7.27 code base and RLV 2.9.8 (release notes)

V1-style

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

SL project updates week 16/1: server, viewer updates, misc

The City Skyline - Remnants of Earth
The city – Remnants of Earthblog post

Server Deployments Week 16

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

On Tuesday, April 14th the Main (SLS) channel was updated with the server maintenance package previously deployed to all three RC channels. This comprises a crash fix, minor CDN configuration updates and an internal server configuration update.

On Wednesday, April 15th, all three RC channels should receive a new server maintenance package, which comprises internal server logging changes and new flags for llGetObjectDetails()

  • OBJECT_BODY_SHAPE_TYPE – returned list entry is a float between 0.0 and 1.0. Anything > 0.5 is male, otherwise female; -1.0 if the avatar is not found
  • OBJECT_HOVER_HEIGHT – returned list entry is a float, -1.0 if the avatar is not found.

SL Viewer Updates

The Maintenance RC viewer, version 3.7.27.300636 was promoted to the de facto release viewer on April 13th. The viewer contains multiple fixes and improvements, as detailed in the release notes.

This release also includes the fix for the URI parsing error, which was originally issued in the HeatWave RC viewer (formally version 3.7.27.300424, which has been withdrawn from the release channel as a result.

Webkit Replacement, Flash and Quicktime

As I’ve reported on a number of occasions, Webkit is a third-party library which has been used within the viewer for a number of media-related tasks (powering the built-in web browser, displaying profiles, and is used with MOAP  and many in-world TVs). However, it has been something of a problem for the Lab,  with out-of-date libraries and other issues.

Because of this, there is a project under-way in the Lab to replace webkit with the Chrome Embedded Framework (CEF). Work on this within the Lab has been progressing, and they now have CEF working with the windows version of the viewer, and are now focusing on getting it working on the Mac version.  There are no plans to release a test or project viewer with CEF support until it is running on both platforms (it is thought that Linux will be able to use the Mac version).

Avatar Complexity (RenderAutoMute Functions)

The new rendering controls will allow users to set a level above which avatars will be rendered as a solid colour
The new rendering controls will allow users to set a level above which avatars will be rendered as a solid colour “jelly baby”

In week #47. 2014, I reported on how the Lab is working to give greater control to users over how other avatars are rendered in their own view.

Avatars can frequently have very high render costs associated with them which, even in modestly populated areas, can have a detrimental impact on viewer performance on lower specification hardware.

The idea with the new, still-to-be-released functionality is that users will be able to define a render weight for their viewer when drawing avatars. Any avatar that exceeds this limit will be rendered as a solid colour “imposter”, regardless as to how near / far they are from a person’s viewpoint.  Thus, the rendering load is reduced, improving overall performance.  Because of the solid colour aspect of the avatars when rendered in this way, they were somewhat quickly dubbed “Jelly Babies” after the sweets of that name. note they are only rendered like this in your own view, it doesn’t affect how others see them.

This work has been going on for some time, now, and is approaching maturity. Commenting on it at the Open-source Developer’s meeting on Monday, April 12th, Oz Linden indicated that things are currently waiting server side updates. Included in the functionality is a means by which someone can see the number of other people who are rendering their avatar as a “jelly baby”.

The capability can actually be experimented with at the moment, although it is a case of trial and error until the new UI controls are added to the viewer. Should you wish to try, go to Advanced > Debug Settings and type-in RenderAutoMute. This will list a series of options, of which RENDERAUTOMUTEFUNCTIONS and RENDERAUTOMUTERENDERWEIGHTLIMIT are the two you need:

  • RENDERAUTOMUTEFUNCTIONS is essentially the “on / off” option for enabling the other options, and must be set to 7 in order for any of them to work
  • RENDERAUTOMUTERENDERWEIGHTLIMIT is the function that determines how avatars are rendered. Try starting with a value of around 100,000 and experimenting from there.

Group Chat

BUG-9020 reports issues with people being unable to see anything typed in certain group chats they belong to – either their own messages, or anything typed by anyone else. The problem appears to possibly be more widespread than the report indicates – if you are experiencing a problem, please consider adding the details to the report: the specific groups, etc., and specific issues. The Lab is currently looking into this and checking through the additional logging / diagnostic tools they’ve added to the group chat services to see if anything is showing-up as causing the problem.

Other Items

In-viewer Translation Tool Fix

As noted in my week #12 update, the built-in viewer translation tools are now pretty much broken (Google and Bing). Nalates Urriah filed a bug report on the Bing situation recently (see: BUG-8794 “The Bing API used by the viewer is depreciated [sic]”).

Commenting on the situation at the Open-source Developer’s meeting on Monday, April 13th, Cinder Roxley indicated that the Alchemy TPV team are working to get the viewer translation tool working again, although there is currently no ETA on this. The fix is liable to appear in the Alchemy viewer, but the code will be contributed to Linden Lab.

Forum Log-in Issue

As noted in BUG-8953, there is currently an issue with signing-in to the the SL forums, and staying logged-in. the problems are broadly two-fold. In short, people are finding they are being randomly logged-out of the forums for no apparent reason, or are being redirected to the top-level community page when logging-in, rather than being redirected back to the page in the forums they had displayed prior to the log-in request being displayed (e.g. when replying to a post).