On Saturday, January 26th, 2019, the Kokua viewer updated with the release of version 188.8.131.52611 (no RLV) and version 184.108.40.206619 (originally .44610).
The RLV version of the viewer initially brought the RLV version of Kokua to parity with RLV 2.9.25, released on January 25th. However, that release had a bug in it, forcing Marine Kelley to issue a hot fix release, version RLV 220.127.116.11 on January 26th, which was quickly adopted by the Kokua team into Kokua 18.104.22.168619. Outside of this fix, .44619 is functionally identical to .44610.
The RLV updates can be summarised as:
Force a rebake whenever attachments and wearables are changed.
Prevent the avatar from going into T-Pose while editing an attachment that has been worn only for a few seconds.
When in Mouselook, don’t show rigged attachments that are worn on any head attach points.
Optimise the rendering of the vision restriction spheres.
Remove the artificial far touch restriction when vision is restricted, to allow objects to beyond an avatar’s visual range to be touched.
Both the .44611 and .44619 releases include the following updates from the Kokua team:
New Avatar right-click context menu option Reload My Outfit: this can be used to resolve clouded logins by manually forcing another attempt to wear the default outfit, effectively adding the current outfit onto itself.
Addition of Firestorm’s Wear Items option added to the inventory folder right-click menu. This causes the wearable items in the folder to be worn, replacing any items on the corresponding attachment points.
Reinstatement of the Help > Kokua Support Group option to obtain in-world help from other users (issues / bugs should still be filed via the Kokua Sourceforge support option).
Removal of the following menu options:
Disable Build Constraints (no longer supported by Second Life servers)
Texture Memory Stats (there was no code behind this menu entry, so it would always do nothing)
Toggle PG (again, there was no code behind this option)
Addition of various Firestorm improvements to login, inventory handling and outfit wearing.
Internal changes to make the performance statistics code more efficient.
A switch to using Linux GCC V7 from V5 for compilation.
Fixes for a number of errors in the XML configuration files for menus and floaters. These reduce the number of entries written to the log files and provides a small performance benefit.
I’ve not had time to drive this viewer following the release, so cannot comment on general performance, etc. However, as chance would have it I did get the chance to try the Reload My Outfit option, which seemed to work pretty well.
The last version of Kokua I looked at in these pages was version 6.0.0, which primarily added Animesh functionality to Kokua.
Since that time, there have been a number of further updates, up to and including 22.214.171.124454 (RLV), and this article is intended to catch up to the current releases. In short, the intervening updates have been:
126.96.36.199291 (RLV), November 29th, 2018: focused on parity with Marine Kelley’s RLV 2.9.24.
188.8.131.52301 (RLV for Windows), December 8th, containing RLV bug fixes and four new RLV information panels.
184.108.40.206374 (RLV) and 220.127.116.11375 (No RLV) for Windows, Mac and Linux, released on December 13th.
18.104.22.168454 (RLV), December 17th, 2018 for Windows, Mac and Linux – essentially a bug fix release for a issue with the 22.214.171.124374 (RLV) release.
In addition, the 126.96.36.199374/44375 updates saw Kokua merged to parity with the (at the time of writing) current SL viewer release, version 188.8.131.522263, formerly the Spotykach Maintenance RC viewer, promoted by the Lab of December 13th, 2018 (release notes here).
It is the the 184.108.40.206375 and 220.127.116.11454 (RLV) updates that I am focusing on in this update, together with an overview of the new RLV panels introduced with 18.104.22.168301.
The major visible change to both 22.214.171.124375 and 44454 is a revised menu structure. Up until now, Kokua has used the legacy (going back as far as v1 viewers) initial menu structure of File, Edit and View, as opposed to the Me, Communicate and World options found in the official viewer and followed by (for the most part) most other v5/v6 viewers.
To help Kokua users gain familiarity with the new menu structure, the Kokua team have produced a document outlining how and where options have been moved between menus in converting them from the old format of File, Edit and View to the more standard Me, Communicate and World.
By default, the new menu structure is OFF, to avoid the risk of confusion for users not expecting the change. For those wishing to to use the new menu system, it can be enabled via Advanced menu > unchecking Classic Kokua Menus. The viewer must be restarted to apply the change. This option can also be used to switch back to using File, Edit, View, if desired (again with a viewer restart required).
Kokua 126.96.36.199301 implemented a new set of RLV diagnostic panels designed to assist RLV users, as these were initially only available in the Windows version of the viewer, I’m covering them here, as they are now available on all OS flavours of Kokua.
The new panels are a combination of code from the Script Error window found in the standard viewer, and some code from the RLVa implementation within Firestorm. They’ve been designed by Chorazin Allen of the Kokua team, who gives full credit for the base code used, although as he notes, the operation of the panels based on Firestorm’s RLVa implementation have been substantially modified to work with RLV and his own design preferences.
The new panels are all accessed via the RLV menu, which includes a new section for the panels, shown on the top right in the image below. Chorazin also provides a comprehensive guide to their use, and I refer RLV users to that document for further information.
From 188.8.131.52374 (RLV) to 184.108.40.206454 (RLV)
Version 220.127.116.11374 (RLV) and 18.104.22.168454 (RLV) are functionally identical to one another with the exception of the Out Of Character (OOC) functionality – that is, the use of “((” and “))” in text during role-play to indicate comments / messages that should not be considered part of the on-going role-play exchanges.
In short, a change was implemented in RLV 22.214.171.124 that affected how OOC chat is handled when a user is under certain RLV restrictions. However, the change broke the OOC chat processing logic. While not a problem for the dedicated RLV third-party viewer, it has caused problems for Kokua users (see OOC chat with (( )) not working with Kokua RLV 126.96.36.199374).
188.8.131.52454 fixes the issue through the provision of two new options in Preferences > Kokua > General:
Allow OOC chat using (()) (requires restart): enabled by default, this must be checked in order for OOC chat to work at all. If it is disabled, all OOC will appear as “…” in local chat. So, only disable this option if you do not want to see OOC in local chat at all (as the option notes, you will have to restart Kokua when enabling / disabling this option).
Send OOC chat to redirected chat rather than local chat – enabled by default. This has two functions:
When enabled and applicable RLV restrictions are in operation, all OOC chat goes to redirected chat handlers and it will not appear in local chat.
When disabled, the expected OOC behaviour applies, and OOC chat will appear in local chat in the usual (( and )) parentheses.
This option can be set independently to the first, and does not require a viewer restart.
On Sunday, November 18th, 2018, Kokua issued version 6.0.0, which includes full Animesh support. As always with Kokua, the viewer is offered in two options:
With RLV support: 184.108.40.206120.
Without RLV support: 220.127.116.11121.
Both of these options are, again as always, available for Windows, Mac OSX and Linux.
As well as Animesh support, the update includes a series of third-party updates and additional bug fixes.
As per my release overview, Animesh has been in development for about a year, and like Bento, has been a collaborative effort between Linden Lab and Second Life content creators. Essentially, it allows the avatar skeleton to be applied to any suitable rigged mesh object, and then used to animate the object, much as we see today with mesh avatars. This opens up a whole range of opportunities for content creators and animators to provide things like independently moveable pets / creatures, and animated scenery features.
To help people get started with Animesh, there is already a range of available resources, including:
In particular, the user guide and test content offer the best way of getting started with Animesh for those who haven’t tried it thus far.
And, Animesh isn’t just for content creators: it has been designed such that just about any rigged mesh can be converted to Animesh directly from the Build / Edit floater. Do be aware, however that simply converting an object will not cause it to start animating – you’ll obviously need suitable animations and a script to run them.
Like any other object utilising animation, this is done by adding the animations and scripts via the Edit > Contents tab for your converted object. If you’re not a scripter / animator, you can still use the Animesh test content and have a play around with things.
The 6.0.0 release of Kokua re-introduces the NACL viewer sound explorer (found under World > Sound Explorer). In addition, a number of options have been ported from Firestorm:
The animation explorer (under World > Animation Explorer).
The Money Tracker/Tip Tracker (View > Money Tracker).
Phoenix-style extended hovertips (View > Highlighting & Visibility > Hover Tips > Show More Information).
Avatar Complexity score in name tags (Edit > Preferences > General) along with the Only If Too Complex and Show Own Complexity options.
Other updates comprise:
A bug fix so that Turning on Full Res Textures works.
If RLV is active, the Message Of The Day will appear in chat at login as a substitute to it being suppressed on the login progress screen.
Further ports of:
Reporting the latest grid status bulletin in chat at login (Edit > Preferences > Notifications).
The ‘do not hide worldmap after teleport’ option ( Edit > Preferences > Kokua > General).
I’ve not had time to take the viewer for a thorough test of the viewer, and the Kokua team note they’ve not had the opportunity to test Animesh. Therefore, If you see any strange behaviour please check it against the LL viewer and then either raise a Jira ticket on the LL viewer or against Kokua at: https://sourceforge.net/p/team-purple/kokua/tickets/.
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.
The formal release the release of Kokua’s Alex Ivy based 64-bit viewer for Windows and Mac, offers the viewer in both RLV (18.104.22.168) and non-RLV (22.214.171.124130) 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, 126.96.36.199364, formerly the Media Update RC viewer. The RLV version of the viewer also gains parity with RLV 188.8.131.52.
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.
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.
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.
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.
In week #21, both the Kokua viewer for Second Life and the Restrained Love viewer updated to achieve parity with the current SL viewer release (version 184.108.40.2066444 at the time of writing).
Kokua for Second Life updated to version 220.127.116.11208 (release notes) on Friday, May 26th, 2017, while the Restrained Love updating to version 18.104.22.168 (release notes) on Thursday, May 25th.
As the core changes to both viewers are more-or-less the same in terms of their parity with the official viewer, this review provides a combined recap of these updates for both viewers, from the oldest to most recent. Kokua users please note that the documented changes do not necessarily apply to the Kokua OpenSim version.
Custom Folders for Uploads
Kokua 22.214.171.124208 for Second Life and Restrained Love 126.96.36.199 users can now select the inventory folders into which uploads – images / textures, sounds, animations and mesh models – are saved by default (rather than having all textures + images go to Textures for example).
To set a custom folder for an upload type:
Go to Inventory and right-click on the desired folder.
Select Use As Default For. This opens a sub-menu of upload types (shown on the right).
Click on the type of upload you wish to always save to that folder.
Note that this only applies to uploads: images / textures, mesh models, etc., received via transfer or will still go to the their “default” system folders (so a texture received via transfer will still go to Textures, for example).
The folders set for uploads can be reviewed via the new Preferences > Uploads tab.
Block List Tally and Grid Status Button
Kokua 188.8.131.52208 and Restrained Love 184.108.40.206 now have display a tally of those blocked in the viewer (People Floater > Blocked), and include the Grid Status button which can be added to any toolbar position in the viewer window, providing direct access to Second Life grid status updates, which are displayed in the viewer’s built-in browser.
The Options for how another avatar is rendered are now Default (i.e. in accordance with your avatar complexity threshold setting); Always (i.e. always render the selected avatar) or Never (i.e. permanently render them as a grey imposter). These options have also been moved to a sub-menu on the right-click Avatar context menu.
Following Firestorm’s lead, adjusted settings for avatar rendering will now persist across log-ins for the viewer, until either reset or your settings are cleared by a clean install or similar.
There are two new options for Avatar Complexity, located on the Preferences > Graphics tab.
The first is a check box, Always Render Friends, which is pretty much self-explanatory: when checked, friends will always fully render, regardless of the viewer’s Avatar Complexity threshold.
The second is an Exceptions button, which adds a further level of control for how other avatars – including friends – are rendered by the viewer.
Note that Kokua’s pie menu does not display the “Default” option correctly when used on other avatars. Instead, the option is labelled as “>”. As per Nicky’s comment below, this is now fixed.
The Exceptions button described above enables named avatars to be either fully or never rendered by the viewer, regardless of any other avatar rendering settings. It comprises two new floaters: the exceptions list (Avatar Render Settings, below left) and the search floater (Choose Resident, below right), accessed by clicking the “+” button on the exceptions list and then selecting whether you want to always or never render the avatar you’re about to choose.
It is possible to update how an avatar in the exceptions list is displayed by right-clicking on the avatar’s name and selecting the required option (Default, Always, Never) from the displayed drop-down list. Note that “Default” will remove the avatar’s name for your exceptions list and display them in-world in accordance with your overall Avatar Rendering Complexity setting.
Kokua and Restrained Life have become the latest viewers to update to v5.x status, with release of versions support the Project Bento code.
Kokua 5.0.0..40327 for Second Life (release notes) appeared on Saturday, December 17th, bringing with it Bento rendering support, plus additional fixes and improvements:
FMOD Ex audio streaming libraries updated to version 4.44.64.
Avatar texture display now works.
Pie menu updates.
Pie menu “Sit here” response no longer ignores llSetSitText(string), and should now display the defined scripted target prompt (e.g. “Ride” or “Fly”, etc., rather than “Sit Here”).
Just in case there is anyone who missed it, Project Bento adds numerous new bones to the avatar skeleton to improve and enhance support mesh avatars (Bento does not work with the Second Life system avatar). This makes it easier to create and animate things like additional wings and limbs, and offers the opportunity for greater facial animations with mesh heads and faces, and even finger manipulation on mesh hands.
As with all Bento viewers, the visible viewer update is to the avatar menus (both right-click context and pie menu in the case of Kokua), where the Reset Skeleton and Reset Skeleton with animation options can be found.
These options have been added because sometimes, when changing between one mesh avatar and another, the basic SL avatar can become deformed, resulting in it looking squished, stretched, caught between two looks, or something else. This problem is generally the result of race conditions when the avatar’s appearance is being updated, and both of these buttons are intended to correct the problem – the option to reset animations being intended to fix deformations which may be due to animations also kicking-in incorrectly / at the wrong time as well, which may cause an avatar to deform.
Restrained Love Viewer
Restrained Love Viewer 2.9.21 (release notes), released on Friday December 16th, brings Bento support to that viewer as well. As with Kokua and other Bento capable viewers, this also sees the Reset Skeleton and Reset Skeleton with Animations options added to the right-click avatar context menus as the most visible sign of Bento support (outside of Bento meshes rendering correctly!).
In addition the update includes a minor change to RLV, with the “?” symbol no longer being used to identify a cheat inside emotes, as some emotes may end with genuine questions.