Austin Tate’s Blog Backup to 31st Aug 2019 contains a backup of Austin Tate’s Blog for posts up to 30th September 2018 created via a WordPress Blog “All Content” export and via a top up for June 2019 to August 2019 “Posts” export from

The original WordPress theme used is Twenty Ten which has a main content width of 640 pixels. Twenty Ten may not be supported on in future. Twenty Sixteen is a similar theme but has a narrower main blog post text area. So a lot of the images may not lay out side-by-side where they were intended to.

All current posts are at

Posted in Blog | Tagged

Pangea Roleplay on OpenSim Metropolis Grid

I have blogged before about the Pandora Universe group in Second Life which offers role play based on the “Avatar” film directed by James Cameron and based on Pandora, a moon of Alpha Centauri and the Na’vi that inhabit the moon. Ralph Steglenzer altered me to the OpenSim “District 153 – Pangea Roleplay” region on Metropolis Grid…

Access Metropolis Grid via the viewer map: arrive at the metropolis Grid Welcome area.

You can then teleport via the map to:

  • “Pangea – Welcome” or use hop://
  • “District 153 – Pangea Roleplay” or use
  • “District 153 – Pangea Roleplay” Forest Area:
  • Note: may need rather than

More information:
More Pictures:

Another Pangea themed role play area on Metropolis Grid as at Pangea (944,146,31).

Posted in OpenSim, Virtual World | Tagged , , | 1 Comment

Bakes on Mesh – Resources

Update 31-Aug-2019: Ubit Umarov, an Opensim developer, is working on further implementation of Bakes on Mesh for OpenSim with support for all 11 bakes textures (already in latest dev master) and the new Universal wearable.

This is a blog post to collect together resources related to the Bakes on Mesh [BoM] feature for Second Life and OpenSim. This has been in testing for some time by Linden Lab on Second Life, and the official Linden Lab viewer release dated August 26, 2019 as well as all Second Life regions supports this. More detail in these articles…

Firestorm view code is currently under development to merge in the changes to support BoM and development versions of Firestorm 6.3.1 are being tested for this.

Bakes on Mesh facilities allow mesh avatars to be used with standard avatar skins, tattoos and tight to skin wearables which is useful for undergarments, etc. It can help avoid the need for “appliers” used to apply textures onto mesh avatars, and “onion skin” outer meshes to give layers for clothing.

OpenSim and Bakes on Mesh

OpenSim dev master code as at OpenSim 0.9.1 1079 0e33014 (2019-08-28 04:54) can support some parts of BoM (thanks to Ubit Umarov) and using a test build of Firestorm 6.3.1 (thanks to the Firestorm team and Bill Blight for the test build – autobuild configure -c ReleaseFS_open – with map search patch and a couple of other tweaks):

    • The 6 basic bakes channels work for BoM (HEAD, UPPER, LOWER, EYES, SKIRT, HAIR)
    • The 5 added bakes channels are not supported for BoM (LEFTARM, LEFTLEG, AUX1, AUX2, AUX3)
    • The new “Universal” wearable type is not supported
    • Bakes are done using viewer side code and are a maximum of 512×512

Ruth 2.0 and Roth 2.0 Mesh Bodies with BoM

Open source resources in action… OpenSim virtual world server, Firestorm Viewer and Ruth 2.0/Roth 2.0 low poly mesh avatars…

Ruth 2.0 RC#3 and Roth 2.0 RC#1 Mesh Bodies with BoM on OSGrid RuthAndRoth region using Dev Master code as at 28-Aug-2019.

Example Simple Mesh Body and BoM

The Aditya_for_BOM.dae Collada sample avatar mesh file provided by Linden Lab can be found via the Bakes on Mesh Knowledge Base Article at Note its a very simple mesh body and a lot of the usual avatar shape adjustment sliders will not work on it (e.g. it has very large feet that cannot be changed).

This can be edited and textured manually with “Bake” textures when worn and edited, or this script could be used to set up the faces of the sample Aditya_90 avatar for BoM… thanks to Ubit Umarov…

        llSay(0, "Script running");

Simple HUD to Show Bakes In Use

NOTE: A HUD that may have parts BoM textured when attached to a HUD position will locally make the relevant parts of the underlying classic avatar transparent in the view of the avatar that attached such a HUD, but that does NOT show to other users. Its probably a viewer bug to have this difference in behaviour?

For testing… but see note above… a simple HUD can attached set up to show all 11 BoM textures that can be applied to a worn attachment. As shown in the following image, when using a viewer that supports BoM (such as the forthcoming Firestorm 6.3.1, test build 57811 pictured) the “basic” bakes channels already supported by OpenSim dev master code at 28-Aug-2019 (head, upper, lower, eyes, skirt, hair) are instantiated (skirt and hair are transparent in this example) whereas the new bakes textures (leftarm, leftleg, aux1, aux2, aux3) are not.

If a viewer that is not updated to support Bakes on Mesh is used, a set of coloured “fallback” textures will be displayed. These same fallback back images are used on any object face that is BoM textured when it is displayed in world, rather than attached to an avatar.

As a comparison, the same setup in Second Life with a BoM capable viewer looks like this…when a BoM textured object is rezzed I world it shows the coloured “fallback” textures…

Bakes on Mesh Resources and Issues

OpenSim Source Code – Dev Master –

Firestorm Viewer Source Code –

BAKES Texture Constant Names and Associated UUIDs

IMG_USE_BAKED_HEAD 5a9f4a74-30f2-821c-b88d-70499d3e7183
IMG_USE_BAKED_UPPER ae2de45c-d252-50b8-5c6e-19f39ce79317
IMG_USE_BAKED_LOWER 24daea5f-0539-cfcf-047f-fbc40b2786ba
IMG_USE_BAKED_EYES 52cc6bb6-2ee5-e632-d3ad-50197b1dcb8a
IMG_USE_BAKED_SKIRT 43529ce8-7faa-ad92-165a-bc4078371687
IMG_USE_BAKED_HAIR 09aac1fb-6bce-0bee-7d44-caac6dbb6c63
IMG_USE_BAKED_LEFTARM ff62763f-d60a-9855-890b-0c96f8f8cd98
IMG_USE_BAKED_LEFTLEG 8e915e25-31d1-cc95-ae08-d58a47488251
IMG_USE_BAKED_AUX1 9742065b-19b5-297c-858a-29711d539043
IMG_USE_BAKED_AUX2 03642e83-2bd1-4eb9-34b4-4c47ed586d2d
IMG_USE_BAKED_AUX3 edd51b77-fc10-ce7a-4b3d-011dfc349e4f

Bakes Fallback images for OpenSim have a solid colour 32×32 and are saved as JPEG2000 (.j2c) with “JPEG2000 Codestream Only” selected as save options (JPEG2000 J2C stream format). They also have “Lossless” (no compression) selected though that may not be important.

Posted in OpenSim, Virtual World | Tagged , ,

Firestorm VR – Visiting OpenSim Virtual Worlds

As noted before in this blog post Peter Kappler has created a VR version of the Firestorm virtual world viewer (based on version It can work very well indeed for Social VR purposes allowing all the capabilities and content available in Second Life and OpenSim to be used in scenes where chat, get togethers, tutoring sessions, seminars and other meetings take place.

Here are a few environments in OpenSim virtual worlds tested in Firestorm VR that are more for fun and role play regions…

OpenSim – AiLand – Gerry Anderson Regions

My usual test regions with mainly mesh content for Supercar (Black Rock), Fireball XL5 (Space City) and Stingray (Marineville)…

OpenSim – AiLand – Castles and Pirates

Heavy mesh regions on Castle Spring, Castle Winter (with heavy blizzard), Cove and Tortuga…

Posted in OpenSim, VR | Tagged , ,

Oil Rig Training Experience in Firestorm VR

The RGU Oil Rig enhanced education and virtual training experience created by the Robert Gordon University (RGU) Oil & Gas Centre in Aberdeen, Scotland ported to OpenSim OSGrid has been tested in Peter Kappler’s Firestorm VR 6.0.1.

The VR mode view is seen here…

The 2D Firestorm VR screen is shown here… looking identical in quality to the view seen in the HMD…

Typical frame rates were 38-40fps. A little less when other tools were running.

Dell Precision T5810 with Xeon CPU E5-1620 v3 @3.50GHz.
32GB Memory, SSD drives, Nvidia GeForce GTX 1080 GPU.
100Mbps broadband connection.
Oculus Rift DK2.
Windows 10 Pro version 1903.
Firestorm graphics quality: Ultra, view distance: 256m.
OpenSim – OSGrid Oil Rig – region objects: 9492 (land impact: 9786) – mostly mesh.

Another Comparison of the 2D and VR images for a scene on the Oil Rig…

Posted in OpenSim, VR | Tagged , , , , ,

Social VR using Firestorm VR

As noted before in this blog post Peter Kappler has created a VR version of the Firestorm virtual world viewer (based on version If the graphics settings, draw distance and scene complexity allow it, this can work very well to view 3D content. It is not best suited to build and creation modes. But it can work very well indeed for Social VR purposes allowing all the capabilities and content available in Second Life and OpenSim to be used in scenes where chat, get togethers, tutoring sessions, seminars and other meetings take place.

If the scene in a normal 2D view is adjusted to achieve at least (say) 50fps then it should work will in the Firestorm VR viewer. Make Graphics settings, draw distance and other changes until you achieve that sort of frame rate or the scene will be choppy or flicker. For Social VR functions draw distances can be quite small, so even very busy mainland Second Life regions become accessible.

Some specific figures I observed on one Second Life scene trying to make the view distance (256m), graphics settings (High), etc the same for the comparison…

  • Linden Lab 6.2.4 96-106fps
  • Firestorm 6.0.2 176-188fps
  • Firestorm VR 6.0.1 2D mode 136-144fps
  • Firestorm VR 6.0.1 VR mode 82-84fps

Put simply it looks roughly like Firestorm 6.0.2 (normal 2D) 100%, Firestorm VR 6.0.1 2D mode after enabling SteamVR in settings 75%, Firestorm VR 6.0.1 VR mode 50%. But the 6.0.1 VR mode is still roughly the same as the Linden Lab 6.2.4 viewer in 2D mode.

The following images were take on a Dell Precision T5180 with 32GB Memory and Nvidia GTX 1080 GPU, with High graphics settings and 128m view distance.

Here are some examples of Social VR settings in Second Life and on OpenSim grids…

Second Life

OpenSim (OSGrid, Openvue and Ailand Grids)

RGU Oil Rig Training Environment in Firestorm VR

Click here for more images of the Oil Rig region in Firestorm VR.

Posted in OpenSim, Second Life, VR | Tagged , , ,

Firestorm VR – Resources

Update 31-Aug-2019: Peter Kappler is working on an updated version of Firestorm VR. I will post information here when details are available.

Peter Kappler [YouTube Channel] (PWNED Magic in Second Life) has created a VR version of the Firestorm Viewer using OpenVR/SteamVR that should be compatible with Vive, Oculus Rift, and Windows Mixed Reality headsets (HMDs).

Wagner James Au blogged on this in January and February 2019, and David Rowe, creator of the CtrlAltStudio VR viewer, pointed me at this development just in time since CtrlAltStudio now has a messy visual glitch on exit to the operating system [Blog Post on CtrlAltStudio VR Viewer].

YouTube Video: Second Life Firestorm VR V0.3 test, 27 Feb 2019:

Discord Discussion Channel: P373R-WORKSHOP by p373r_kappler [ Invite ]


Here is the source code and compiled version 0.3 27 Feb 2019 Build 57000** (currently based on Firestorm
Source Code: [only needed to build the viewer from source]
** The “57000” serial number that is reported is not meaningful.
     Peter chose that as beyond the current version at the time to avoid update messages.


  • Install the special version of the Firestorm viewer.
  • Put the openvr_api.dll contained in the compiled version .rar/.zip into the top level of the freshly installed firestorm folder with all the other dlls.
  • Start SteamVR. [Install SteamVR if you don’t already have it available.]
  • Start Firestorm.

Once you are logged in:

  • Go to Preferences -> Move & View and set the Field of View to 1.80 (default 1.04)
  • Go to Preferences -> Graphics-> Steam VR Tab and tick to enable Steam VR. (a viewer restart may be needed, so do that to be sure)

For the Oculus Rift these settings should also be adjusted:

  • Preferences -> Graphics -> Steam VR -> Texture Shift: Set to 0 (the default) for Oculus Rift DK2, and set to 200 for Oculus Rift CV1. If you have double vision in VR mode in your HMD, move this setting until the image is in sync.
  • Preferences -> Graphics -> Camera distance from center: Set to your inter-pupil distance (IPD) to get a good 3D image. If this setting is not accurate the 3D view can look too layered on Oculus Rift. Note that a setting of 0 means the image will be 2D.

Xbox One Controller

An Xbox One controller as used with the Oculus Rift (or an Xbox 360 controller) can be enabled, as usual, in Firestorm via Preferences -> Move & View -> Movement -> Joystick Configuration -> Enable Joystick.

You will probably find the controls are under or over sensitive, or some buttons and triggers don’t do what you expect. See this blog post and the image here (click for a larger version) for some suggestions as to how to amend the settings…

You might want to enter “-1” rather than axis “5” as an indication that axis is not mapped. With the setup suggested the “A” button toggles between the normal avatar view and “FlyCam” mode allowing you to move the camera separately to the avatar.


PRESS TAB key to enable and disable VR output.

The Camera Controls floater has two extra buttons << and >> to let you turn the angle at which your camera points.

If you move the mouse to one of the four corners of the screen the HMD view jumps to show that corner in VR mode. This enables menus and HUD attachments to be more easily reached. Return the mouse to the centre of the screen to return to normal HMD directional view.

When in VR mode, the F5 key can be used (repeatedly) to zoom out the VR view through stages further away, then it toggles views centred on each corner before returning to the default VR view.

The Firestorm VR Viewer will not work well if the Second Life/OpenSim region you visit cannot normally be displayed with a decent frame rate. The higher the better. At low frame rates bad flickering will occur in VR mode. My suggestion is to look at the framerate (in Firestorm it is displayed in the upper right hand corner of the viewer) and to adjust the graphics settings (especially draw distance and quality sliders) until you have around 50fps (30fps min.) and then try VR.

On my Oculus Rift setup SteamVR usually was launched whenever the Firestorm VR viewer was started, and that automatically started the underlying Oculus software. But if the SteamVR or Oculus Home screens shows in the HMD or the HMD is blank rather than showing the Second Life/OpenSim virtual world display, start SteamVR first, check Oculus Home is launches, and then run the Firestorm VR viewer.


Tips from David Rowe for using the CtrlAltStudio Viewer may be relevant:

  1. To improve your frame rate, reduce your draw distance and/or tweak other display settings such as advanced lighting model, shadows, FOV, pixel density, etc.
  2. Make sure you don’t have Preferences > Graphics > Rendering > Limit Framerate enabled.
  3. You can use keyboard shortcuts to show and hide dialog boxes such as the Conversations window (Ctrl-T), Inventory (Ctrl-I), e.g., if you want to select a landmark to teleport to, Ctrl-Shift-M to display the minimap, etc. Keyboard shortcuts are shown beside menu items.
  4. To display avatar toasts in the Rift — Preferences > Chat > General > Show chat in bubbles above avatars.
  5. With floating text you may want to adjust the distance the floating text fades at so that distant text is not so annoying in VR mode: Preferences > Graphics > Rendering > Floating text fades.

Peter Kappler also suggested some things:

  1. Particles… a fireplace is going to eat 20 to 30 fps! So make sure they are off.
  2. I moved my cache to a RAM drive. Just make a 2GB RAM drive. SSD is no comparison to RAM drive. Its way faster. Not even NVMe (non-volatile memory express) can reach that kind of speed. E.g. see SoftPerfect RAM Disk : high-performance RAM drive for Windows.
  3. F5 modes: There are two modes: one where HMD rotation is locked, and one with HMD rotation. F5 cycles through these, on and off. The problem is that if you have HMD rotation on its hard to use flycam or edit things since it does not select properly. That’s where you turn it off.

Debug Settings

There is a Firestorm Viewer Debug Setting “EnableSteamVR”. This performs the same function as the Settings -> Graphics -> Steam VR -> tick on/off. Default Off.

There is a Firestorm Viewer Debug Setting “TextureShift”. This performs the same function as the Settings -> Graphics -> Steam VR -> Texture Shift. This may need to be adjusted for different VR headsets. I found it could be left at the default setting of 0 for the Oculus Rift DK2, and needed to be set to +200 for the Oculus Rift CV1. Adjust this if you have double vision in VR mode.

There is a Firestorm Viewer Debug Setting “EyeDistance” to adjust the interpupil distance (IPD). This performs the same function as the Settings -> Graphics -> Steam VR – Camera distance from center slider. This is an important setting to get good 3D depth. Set it to the Interpupil distance for your headset (64mm is a sensible default). If set to 0mm the image will be 2D. If set wrongly you may find that the 3D effect is in distinct layers or not as good as it can be.

Firestorm JIRA

A Firestorm JIRA Issue relates to this…

This JIRA issue has comments concerned over low frame rates and poor support for all the menus, popups and creator/editing facilities in Second Life and OpenSim. Personally, I don’t think ALL the creator/build menu facilities are needed all the time, and those can be done by switching back into VR mode… which is easy with the TAB key method uses to switch between 2D and VR mode. Concerning frame rates, some users are probably seeing very busy mainland regions with tens of thousands of objects. When I use Firestorm on OpenSim builds with a few avatars in training modes I can get 160fps frame rates! And high frame rates when we have used private regions on Second Life for educational meetings.

User Experience with Firestorm VR 6.0.1

  1. Question: In the Steam VR settings tab, what does “Zoom out the display” do?
  2. Text: Peter Kappler’s notes indicate “The slider “Lens distance” lets you adjust the distance between the 2 cameras to improve stereo depth separation. ((There is a bug with world not updating while slider > 0)). Slider set to 0 uses only 1 camera (non-stereo) and doubles your fps.“. There is not a “Lens Distance” slider… but it is the Steam VR tab setting for “Camera distance from center”.
  3. Improvement: The “Texture Shift” slider is difficult (impossible?) to reset to 0 if needed. You can instead set it to 0 (or any specific value) via the Debug Settings for “TextureShift”.
  4. Bug:The default value set for “EyeDistance” in Debug Settings is 0.064. It should be 64.0. I.e. in millimetres not metres. It can be amended in
  5. Improvement: The mouse cursor in VR mode only shows as a simple arrow pointer. It does not change to the custom cursors such as seat, hand, etc as active items are pointed at.
  6. Bug: The Debug Setting descriptive text for “TextureShift” is incorrect. It is a copy of the descriptive text for “EyeDistance”.
  7. Bug: On the Camera Controls tool, after using the added buttons the circular movement controls get squashed to the lower left or disappear.
  8. Clarification: F5 button is described as disabling and enabling HMD direction changes. Peter’s read me text says that it is better to disable HMD direction interface when editing and flying with the camera. Does this work as described? F5 seems to make the screen view go further away and focus on the corners in turn rather than showing a view that fills the visual field.
  9. Improvement: The various SteamVR related debug settings could be collected together and identified more readily by prefixing them all with SteamVR, SVR or just VR. So for example SteamVREyeDistance.
  10. Improvement: Change the app_settingsgrids.xml loginpage strings for the Second Life and Second Life Beta grids to rather than

Amended Firestorm XML Configuration Files

I have created two amended .xml configuration files which can be placed in the special version Firestorm installation directory to (hopefully) improve some of the Settings tool tips, and correct two of the bugs described above…


Obtain these at:

Sample Tests

Some specific figures I observed on one Second Life scene trying to make the view distance (256m), graphics settings (High), etc the same…

  • Linden Lab 6.2.4 96-106fps
  • Firestorm 6.0.2 176-188fps
  • Firestorm VR 6.0.1 2D mode 136-144fps
  • Firestorm VR 6.0.1 VR mode 82-84fps

Put simply it looks roughly like Firestorm 6.0.2 100%, Firestorm VR 6.0.1 2D mode 75%, Firestorm VR 6.0.1 VR mode 50%. But the 6.0.1 VR mode is still roughly the same as the Linden Lab 6.2.4 viewer in 2D mode.

The following images were take on a Dell Precision T5180 with 32GB Memory and Nvidia GeForce GTX 1080 GPU, with Ultra graphics settings and 512m view distance.

On OSGrid RuthAndRoth region showing approx. 50fps in VR HMD mode…

On OSGrid Black Rock region showing approx. 40fps in VR HMD mode, nearer 75fps when seated in the vehicle…

HMD Black Screen on TAB

Unfortunately after a successful initial test period and what appeared to be a working setup I experienced the (Oculus DK2) HMD screen going black when switching to VR mode in Firestorm VR via the TAB key. And whatever I tried did not seem to fix it. I tried reinstalling Steam and SteamVR, uninstalling and reinstalling afresh both, upgrading to the Steam and SteamVR Betas, downgrading again to the release versions, and reinstalling Firestorm VR.

The following worked for me after the black screen in the HMD TABbed view occurred…

Start Firestorm VR… turn off the Steam VR enabled tick box. Change the graghics settings (I went between High and Ultra or vice versa). Then DO NOT enter VR mode with TAB. Instead stop Firstorm VR, SteamVR (and Oculus Home). Then launch Firestorm VR again, tick Steam VR enabled (I did that before login but that may not matter) and TAB to VR. My assumption is that something about the gpahics settings interferes with the VR mode HMD display unless the settings are committed in some way when a relog and Steam VR enable takes place. Just ticking Steam Enabled on and off while its running does not seem to fix this problem.

Peter Kappler gave me feedback which indicates it could indeed be related to specific graphics settings or changing them…

There are people that have issues with having tracking but no image. It may have something to do with deferred lighting or shadows in the viewer. Or GPU buffer settings since I copy the images directly from BACKBUFFER before swap.

Peter also offered some advice on Discord to others with the HMD black screen problem…

Nvidia GPUs: In the Nvidia Control Panel -> Manage 3D Settings -> Global Settings, there is a setting for Virtual Reality Pre-rendered Frames. Check it is set to 1. Also check that Triple buffering is OFF. Then under Program Settings check that these settings are not explicitly overridden to something else for Firestorm VR.

AMD Radeon GPUs: AMD drivers have a setting called Flip Queue Size… make sure it is set to 0. The flip queue size option may not be available in recent AMD driver updates in which use the “Main3D_DEF” and “Main3D” settings to change your “flip queue size”. These should match. I.e. “0” and “0x3000”.

Posted in OpenSim, Second Life, VR | Tagged , , , , , | 9 Comments