Kokua: new faces, the future and release 5.1.3.43129/43130

In March I reported that Chorazin Allen, had joined the Kokua viewer development team. He volunteered after Nicky Perian’s decision to step back from day-to-day management of the project, announced in October 2017 to allow him to enjoy more of his retirement, failed to elicit hoped-for volunteers to take over the general management of the project.

Chorazin, although he modestly describes his C++ coding skills as “rusty” (causing him to initially hold back from volunteering sooner), has considerable experience in project management, software development and build experience coupled with many years of experience of in-world LSL scripting and working with RLV/RLVa.

Since joining Kokua, he has been getting familiar with the rest of the Kokua team, and together they have been working on updates to the Second Life viewer to bring it up to parity with the current Linden Lab code base, including full integration with the Alex Ivy 64-bit code. I’ve been tracking these updates – made through the projects Sourceforge pages, rather than being “official” releases, for the past few weeks via my Current Viewer Releases page and my weekly viewer release summaries.

Kokua: The Future

On April 15th, this work reached a point where the team were ready to resume making formal Kokua releases, and to publish a blog post outlining the viewer’s future development. I strongly urge all Kokua users to read this post in full, and am only bullet-pointing the key elements here:

  • Until such time as an OpenSim developer can join the project, Kokua will only be actively maintained for use with Second Life.
  • Kokua for Second Life will be developed as a 64-bit bit viewer only, offering both RLV and non-RLV variants.
    • The Windows and Mac versions will be actively maintained, based on Linden Lab’s  Alex Ivy 64-bit code base.
    • Effort will also be put towards a 64-bit Linux flavour of the viewer based on the Lab’s Alex Ivy code. However, this will doubtless be dependent on the Lab’s broader attempts to work with the Linux community to develop a 64-bit Linux viewer.
  • In keeping with a request from Linden Lab, the major version numbers for Kokua releases will reflect the Lab code base release they are based on. So, for example Kokua 5.1.3.xxxxx indicates it is based on the Lab’s 5.1.3 code base.
  • Legacy 32-bit versions of Kokua will remain available via the download page, but will not be actively maintained.
  • The Kokua group within Second Life is the preferred medium for user-to-user support and will also be used for group notices about new versions or other significant developments. All other channels of outward  communication (IRC, Twitter, etc), have been discontinued.
  • The Kokua wiki will continue to be used for viewer release notes (as seen in the viewer when a new version is launched) and for the summary of current versions and download sites.
  • The preferred method of inward  communication to the team is via a ticket raised in Sourceforge against the Kokua Project.

Kokua 5.1.3.43129/43130

The formal release the release of Kokua’s Alex Ivy based 64-bit viewer for Windows and Mac, offers the viewer in both RLV (5.1.3.129) and non-RLV (5.1.3.43130) variants on both platforms. It brings with it a full parity with the Second Life viewer up to and including (at the time of writing) the current official release viewer, 5.1.3.51364, formerly the Media Update RC viewer. The RLV version of the viewer also gains parity with RLV 2.9.23.0.

Performance Feedback Capabilities

The core element of the updates made by the Kokua team comprise new performance and information feedback capabilities, including the ability to report on changes in the number of scripts in a region, changes in the server channel with changes of region.

All of the new settings can be found in two new Preferences tabs: Preferences > Kokua > Performance 1 and Preferences > Kokua  > Performance 2:

  • Performance 1 deals with notifications on entering a new region and agent (avatar) and script notifications, which must be enabled on a group basis – agent and / or script notifications, and then individual options within group set as required.
  • Performance 2 provides notifications on Frame Timing and Basic Performance.

In addition, it should be noted that:

  • Performance 2 also includes a check box to display the information from these features either as a notification in the top right of the viewer window and in chat history, or have them only displayed in chat history.
  • All of the options have default values which are intended to be representative of fairly average performance. If you aren’t familiar with what they do, it is probably preferable that you don’t randomly enabling them, as you could end up  swamped in notifications and feedback.
  • It is important to not that any changes made relate what is reported by the viewer and when – changing these values does not change actual simulator performance.
The new Preferences > Kukua Performance 1 tab, allowing users to set notifications for region, agent (avatar) and script notifications.

Some of these options mirror similar capabilities found in other TPVs – such as reporting a change in the server channel when moving between regions; others may be of more benefit to region holders and their estate managers than they are for general consumption. The idea with them is not to simply turn everything on, but to select those options which might be of specific interest.

For example, while knowing how many avatars (agents) are in a region might be of use to some users when hopping about Second Life, information on how the physics  simulation is performing or on overall timing information within a region, together with the active object count and script count is only likely to be of interest to those managing a region. Similarly, enabling the Physics time section of the frame monitoring options in the Performance 2 tab could help creators monitor vehicle performance during testing (e.g. on region crossings.

The new Preferences > Kokua > Performance 2 tab, providing Frame Timing and Basic Performance notifications

For a more rounded examination on how these options might be used, please refer to the Kokua release notes, which provide a range of examples of now the tabs might be used. It should also be notes that general “real-time” monitoring of the options provided can also be done via the Statistics (CTRL-SHIFT-1) and Scene Load Statistics (CTRl-SHIFT-2) floaters. Finally, those particularly interested in learning more about the viewer’s statistics reporting abilities and on tuning viewer performance should refer to the Viewer Statistics wiki page, and the Viewer Performance Knowledge Base article respectively.

Feedback

While the lack of OpenSim maintenance for Kokua – at least until such time as an OpenSim developer volunteers to work with the team, as noted – will probably be lamented in some quarters, the “return” of mainstream release announcements of Kokua, together with information how the viewer’s development will proceed into the foreseeable future is to be welcomed.

That Kokua is only being maintained on Windows 64-bit might cause frustration for some. However, given that systems capable of running 64-bit Windows (e.g. supplied with more that 4Gb of RAM) are far more prevalent on the marketplace; ergo, the decision to focus the team’s limited resources on providing support for the one flavour of Windows  makes sense.

It’s hard to judge how well the two new Performance tabs will be utilised. Aso noted, for the likes of those engaged in region management, or scripting, they could potentially be very useful. For others, the tabs might rarely see the light of day. But that’s what TPVs are about – providing choice for users.

I’ve not had an opportunity to run Kokus 5.1.3 hard, having only spent part of a morning bouncing around SL with it. However, in that time I found it to be (as usual) robust and providing frame rates and general experience with the official viewer and – on a frame rate basis – somewhat above that managed by Firestorm on the basis of very rough-and-ready “like for like” testing across some of my preferred regions where things like agent numbers., etc tend to remain constant.

Additional Links

2018 viewer release summaries week #15

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

Updates for the week ending Sunday, April 15th

This summary is generally published on 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 5.1.3.513644, dated March 27th, promoted April 13th – formerly the media update RC – NEW.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • Love Me Render RC viewer update to version 5.1.4.514437 on April 13th.
    • Ouzo Maintenance RC updated to version 5.1.4.514434 on April 13th.
  • Project viewers:
    • No Updates.

LL Viewer Resources

Third-party Viewers

V5-style

V1-style

Mobile / Other Clients

  • MetaChat updated to version 1.2.5 on April 13th.

Additional TPV Resources

Related Links

2018 SL UG updates #15/2: TPVD meeting

Isle of May; Inara Pey, March 2018, on FlickrIsle of Mayblog post

The majority of these notes are taken from the TPV Developer meeting held on Friday, April 13th 2018. A video of the meeting is embedded below, my thanks as always to North for recording and providing it. Time stamps in the text below will open the video in a new tab at the relevant point of discussion.

The meeting was reduced to under 15 minutes, with extended pauses marking a greater portion of it.

Server Deployments

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

  • The Main (SLS) channel was not updated on Tuesday, April 9th, nor was there a restart.
  • BlueSteel, LeTigre and Magnum are all now on server maintenance package 18#18.03.29.513939 after Magnum was updated on Wednesday, April 11th.

SL Viewer

[0:05-1:32] The Media Update RC viewer, version 5.1.3.513644, dated March 27th, was promoted to de facto release status on Wednesday, April 11th. As a result, the remaining RC viewer were updated to parity on Friday April 13th, as follows:

The remainder of the SL viewer pipelines remain as:

  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer, version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

[1:33-1:50] With regards to the 360 snapshot project viewer, this is being routinely updated internally by the Lab to keep pace with release viewer promotions. However, no actual work is being carried out on the 360 snapshot element at the moment. Work will resume in the future.

[1:58-2:29] A new Voice update RC is due in the future at some point, which fixes some issues from the last Voice release. However work on this is currently a “low priority”.

Off-Line and Abuse Reports Capabilities

[2:31-3:30] Two new capabilities are now grid-wide server-side:

  • A new abuse report cap which replaces the need for the viewer to have AR categories hard-coded into it.  Instead it will request the list of valid categories directly from the simulator.
  • A new IM cap is to overcome of off-line IMs failing to be delivered when a user logs in. This cap will allow the viewer to request off-line IMs, which the server will package and deliver to the viewer via HTTP, rather than sending off-lines en masse whether or not the viewer is ready.

Both of these caps require viewer-side updates in order to work. However, there is currently a bug impacting the viewer update for the new off-line IMs capability. In short, if you receive an off-line Friend request, there is no way to accept it with the new capability in place. The abuse report capability appears to be working correctly, so expect both to appear in a viewer update soon.

Friending can be fragile, and the Lab hope to make it more robust over time.

 

2018 SL UG updates #15/1: Simulator User Group

Spirit of Sun; Inara Pey, March 2018, on FlickrSpirit of Sunblog post

Server Deployments

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

  • The Main (SLS) channel was not updated on Tuesday, April 9th, nor was there a restart.
  • On Wednesday, April 11th:
    • The BlueSteel and LeTigre will not be updated, and remain on server maintenance package 18#18.03.29.513939, containing internal fixes.
    • The Magnum channel will apparently receive a further revision to 18#18.03.29.513939.

SL Viewer

  • The Love Me Render RC viewer updated to version 5.1.3.514115, dated April 5th.
  • The Ouzo Maintenance RC viewer updated to version 5.1.3.514128, dated April 5th.

The remainder of the SL viewer pipeline remains unchanged from the end of week #14:

  • Current Release version 5.1.2.512803, dated February 23, promoted March 1 – formerly the Nalewka Maintenance RC – No change
  • Release channel cohorts:
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer, version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Bakes on Mesh

This is the project to extend the current avatar baking service to allow wearable textures (skins, tattoos, clothing) to be applied directly to mesh bodies as well as system avatars. This involves server-side changes, including updating the baking service to support 1024×1024 textures, and may in time lead to a reduction in the complexity of mesh avatar bodies and heads.

This work does not include normal or specular map support, as these are not part of the existing baking service.

As noted in my last CCUG update, the project viewer, version5.1.3.513936, arrived on March 30th, 2018 (see the Bakes on Mesh JIRA filter for reported issues). There is a forum thread on the project, which carries a degree of misinformation on the project. Siddean Munro has sought to clarify things in a blog post, and Cathy Foil has produced an introductory video as well.

Environmental Enhancement Project

This is the project to create a set of environmental enhancements including the ability to define the environment (sky, sun, moon, clouds, water settings) at the parcel level; new environment asset types (Sky, Water, Days – the latter comprising multiple Sky and Water) that can be stored in inventory and traded through the Marketplace / exchanged with others; Experience-based environment functions and an extended day cycle (e.g a 24/7 cycle) and extended environmental parameters. The work involves simulator and viewer changes, and includes some infrastructure updates.

Rider Linden is working on EEP, and he reported, “I’ve been dealing with a little bit of a tangent having to do with internal inventory. Turned out to be a bit more complex than I anticipated when I said: “Sure, I’ll just knock that off as part of EEP”. It is almost resolved and then I can get back to direct EEP development.”

He also revealed more on how EEP will be “layered”: “EEP will have four different altitude layers. (Right now I’m operating with ground, 1km, 2km and 3km.) … The use case I see for the layers isn’t so much skyboxes, more for landing areas for RP sims that may want their own atmosphere; orbiting space stations , etc. (and the layers need to be set by the parcel owner.)”

Aditi Inventory Sync

Usually, sync on inventory from Agni, the Main grid, to Aditi, the Beta grid is designed to take place during a routine syncing operation run at around 2:00am PST daily, triggered by an Aidit log-in (see here for more).

However, as most of those who routinely log-in to Aditi will know that the system isn’t working correctly, and often, a ticket is required to get your Aditi inventory correctly synchronised with your Agni inventory. Commenting on the situation at the Simulator User Group, Mazidox Linden said, “We’ve got a dev working on the inventory sync to Aditi. We’re making some interesting progress, hopefully more news soon.” Oz Linden further indicated that a fix is in the pipeline.

 

2018 viewer release summaries, week #14

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

Updates for the week ending Sunday, April 8th

This summary is generally published on 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 5.1.2.512803, dated February 23rd, promoted March 1st – formerly the Nalewka Maintenance RC – No Change.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
    • No updates.
  • Project viewers:
    • No Updates.

LL Viewer Resources

Third-party Viewers

V5-style

V1-style

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

2018 SL UG updates #14/2: CCUG summary

Animesh dragons by Wanders Nowhere and used by Lucia Nightfire as Animesh test models

The following notes are primarily taken from the Content Creation User Group (CCUG) meeting, held on  Thursday, April 5th, 2018 at 13:00 SLT. For the purposes of Animesh testing, the meetings have relocated to the Animesh4 region on Aditi, the beta grid – look for the seating area towards the middle of the region. The meeting is chaired by Vir Linden, and agenda notes, etc, are usually available on the Content Creation User Group wiki page.

Medhue Simoni Live streamed the meeting, and his video is embedded at the end of this summary. My thanks to him for providing it. Time stamps are included in the text below to allow easy referencing to the video for details. Please note that Vir’s microphone was not behaving during the meeting, causing his voice to drop-out at times, breaking up the context of his conversation (I had the same issue with my audio recording).

Bakes On Mesh

Project Summary

Extending the current avatar baking service to allow wearable textures (skins, tattoos, clothing) to be applied directly to mesh bodies as well as system avatars. This involves server-side changes, including updating the baking service to support 1024×1024 textures, and may in time lead to a reduction in the complexity of mesh avatar bodies and heads.

This work does not include normal or specular map support, as these are not part of the existing baking service.

Resources

Current Progress

The project viewer is now available – version 5.1.3.513936, which as noted in previous updates, was released on March 30th. This is the first pass of the viewer, and there is much more work to come.

General Notes from the Meeting

[2:55-04:00] Some mesh body creators are already involved in looking at Bakes on Mesh, and the Lab has been gathering names and details of creators, but there has – as of the time of the meeting – been no direct outreach to any of them. Siddean Munro (Slink) is reported to be “thrilled” with the capability, and sees it as a means to dramatically reduce her workflow.

[4:45-5:55] Status of 1024×1024 support: While the first part of the Bakes on Mesh project was to update the Bake Service to support 1024×1024, currently, these back-end changes have not been deployed, so all Bakes on Mesh testing currently use the existing 512×512 textures supplied by the Bake Service. The deployment has been delayed due to other work being carried out on the Baking Service, but it is hoped it will be deployed in the next few weeks.

[13:26-14:22] It terms of 10242 texture support with the baking services is eye textures. Currently 128×128, these will be increased to 256×256, the pixel density on so small a target compensating for the lower resolution.

When  the increased texture resolution support is deployed, the Lab will also be implementing additional servers to support the additional load on the Baking Service.

[6:01-8:49] Wearable/ Texture Map issues: It’s been noted that the eyelashes are tied to the avatar eyeball texture, not the avatar head, which might cause some issues.

The right / left arm being mirrored in the texture map has also been re-noted. This is prompting some creators to consider re-purposing the system skirt or hair wearable (which are now almost never used) to be assigned to one or other of the arms. This would  allow, for example, a tattoo to appear on one arm only, rather than being mirrored on both arms, as is currently the case on system avatars.

[9:52-11:05] In order for this to work, the textures would need to be uploaded as a skirt or system hair. Basically, the system wearables act as containers of the textures, so if you want to apply a texture to a specific body region (as supported by the viewer / Bakes on Mesh), you can assign it to that wearable (e.g. the texture can be applied to the undershirt, shirt or jacket wearable to be applied to the upper body, or to the skin wearable to be applied to the entire body).

Cathy foil also gave feedback on using Bakes on Mesh to apply system eye textures to mesh eyes.

[8:53-9:49] Will the baked texture slots be expanded in to future? (there are currently 6 slots: BAKE_HEAD, BAKE_UPPER, BAKE_LOWER, BAKE_EYES, BAKE_SKIRT, BAKE_HAIR.) Possibly, but not being considered with Bakes on Mesh at present. Currently, the bake texture slots are tied to the supported wearable textures. Adding more slots  would require defining the underpinning data to be stored in the additional slots (i.e. define additional wearables).

[12:10-12:36] One thing to remember is that if an alpha layer in used to hide your system avatar (or a major part of it), it will be baked as well, and if that bake is applied to a mesh, it can end up masking more of the mesh than intended, due to the extent of the alpha.

[14:42-17:02] Hiding the base avatar: a means to hide the system avatar without having to use an alpha mask has long been a request, raised again during the Bakes on Mesh project. No decision has been made on if this will be done or how. One approach might be to make a further change to the Bake Service so it ignores the base avatar; another might be it use an unassigned texture slot to “hide” the avatar from the Bake Service – this has the advantage of not requiring a change to the Bake Service.

[17:29-25:00] A general discussion on how a more flexible use of Bakes on Mesh might be achieved – such as re-purposing rarely used texture slots, or extending the Bake Service itself.

  • Re-purposing texture can be done with care – such as using the skirt or system hair as described above to give individual texture for the arms.
  • Further extensions to the Bake Service itself – e.g. additional bake slots beyond the current 6  are unlikely to form a part of this project, but might be considered for any follow-on that comes after it.

The Lab also have some concerns about opening-up the Bake Service further include the potential for performance hits, possible abuse.

Cathy Foil demonstrates Bakes on Mesh. Left: she is wearing a mesh body with system layer clothing applied to it, as seen through the Bakes on Mesh viewer. Currently, only those using the Bakes on Mesh project viewer will still mesh bakes in this way. Right: until the Bakes on Mesh code is incorporated in all viewers, those running viewers without the code will see avatars using Bakes on Mesh with place holder textures on place of the baked texture.

[25:09-27:35] Extending the Bake Service to support materials: this is a complex step to take, which may not even be properly defined. Maps (diffuse (texture), normal and specular) all have to be defined by layer and brought together properly in a composite bake in such a way to ensure normal and specular maps from one layer are correctly associated with the diffuse map from that layer, so they aren’t displayed over another layer. As such, materials support will only be considered as a potential element for a follow-on project to the current Bakes on Mesh work. See also BUG-214631 for a proposal on how materials support might work.

[33:37-34:11 and 36:40-37:20] Bakes on Mesh for HUDs / Bakes and Textures: conversation on bakes on mesh and HUDs, expansion on Bakes on Mesh vs. appliers, and texture and Bake UUIDs. In short: Bakes on Mesh can also be applied to HUDs, which could help reduce the number of textures commonly found in them (a single composite rather than multiple textures). Complexity of HUDs might also be reduced, simply because the texture applying elements may no longer be required as textures will come via the Bake Service – although applier HUDs for materials will still be required.

Some are concerned allowing bakes on HUDs increases the risk of texture theft (by allowing the textures to be screen capped, for example). However given this can be done anyway, simply by displaying a texture on a cube and then attaching the cube to the screen as a “HUD”, it’s hard to see what the fear really is (it’s also not the most efficient way of wrongly getting a texture out of SL).

[42:40-44:13] Fewer textures: the general hope with Bakes on Mesh is that over time, it will allow mesh bodies  / heads to be less onion layer complex, and also reduce the number of different textures being applied, by allowing layers (e.g. skin, make-up, tattoo, etc.), to be composited down to a single baked texture.

[44:26-45:52] Wearables cap: a reminder that up to 60 wearables can be applied to a single avatar in any combination of layers, and the order in which they are displayed corresponds to the individual layers (e.g. undershirt, shirt, jacket), and the order in which multiple items in those layers are worn. See this 2015 project update for more on the global wearable allowance.

[47:17-47:32] Can local textures be used with Bakes on Mesh? No. local textures are just that, local to a user’s system; they are not transmitted to LL’s servers, and therefore, they cannot be baked.

[48:10-49:00] Bakes on Mesh and Edit Appearance:  it’s been noted that mesh bakes don’t update with changes made in the Edit Appearance mode (see BUG-216014). This is because Edit Appearance is local changes within the viewer, usually applied to the system avatar. Bakes on Mesh require the data to be sent to the baking service, composited, and applied – which only happens on exiting Edit Appearance. Vir has indicated it might be possible to add the logic required to have the appearance editor update in real-time when using mesh bakes.

Continue reading “2018 SL UG updates #14/2: CCUG summary”