Notice to current users of openSUSE 11.3

This post only concerns those of you, who are currently running openSUSE 11.3 linux environment.

On January 20, 2012 Benjamin Brunner of the openSUSE team announced that openSUSE 11.3 has reached its end-of-life. That means that the repositories for openSUSE 11.3 are no longer available and it is no longer a valid build target.

Since openSUSE 12.1 is the version that I am working with, and there is no longer a controlled build environment for the previous version, I will not be providing any new Dolphin Viewer packages for openSUSE 11.3.

So if you have not already, I suggest you consider updating your OS 😉

Mesh myths debunked

So it’s “the day” now. Linden Lab has released mesh, and any number of people are 100% sure that mesh will bring back all those people who have quit SL in disgust, will make everyone else quit, will make your frame rate go up and down at the same time, and will make coffee while eating your kittens.

I’ve had a good close look at what mesh actually means, how it works, how it is created, and am now trying to make a few things clear.

  1. Myth: Mesh will replace sculpties for in-world objectsNo, not really. What mesh will do is add another tool to the creator’s toolbox.

    If a creator already uses software to create sculpts instead of working in-world with Sculpt Studio or similar tools, the creator can skip the step that converts his/her Autocad / Collada object into a sculptmap, though.

    And then there is the simple fact that meshes have variable prim equivalents, the “prim count” depending on their size and if they contain scripts.

    Here’s an example that I’ve tried out on the beta grid. I found this Blender object, an origami crane. I exported it as Collada, and uploaded it into a mesh object – it had a prim equivalent of one. After stretching it to the maximum size, it had an equivalent of three. Adding a flight script to make it into an airplane upped the prim equivalent to 36! Add the fact that uploading meshes is more expensive than working with other prim types. Mesh will be quite neat to quickly bring real life creations that exist in other software into Second Life, if cost is no objection.

  2. Myth: Mesh will be awesome for clothesThat might be true.

    But only if you happen to have exactly the same shape as the creator of the outfit in question, because mesh clothes can not be adjusted at all. And besides, I have no idea if mesh clothes could be layered. If not, mix&match is dead. And so far, what I have seen is a kind of weird bendiness at elbows and knees – kind of like the ‘wet noodle’ effect when arms/legs are flexed.

  3. Myth: Mesh will be awesome for full-body avatars 

    True. But only for non-humanavies.There are already shops selling human mesh avies. I tried a demo, and it has the same caveat as mesh clothes – it only works for the shape that is supplied with it.Attack of the clones, anyone? Reminds me of how in Blue Mars™ everybody looks the same, and we all know where that went, right?

My conclusion:

Mesh is not the holy grail. It is another option for creators that makes sense to use for some things, and does not make sense at all for some other things.

Something important to keep in mind –

As of last week, 2/3 of the Second Life population is running viewers that do not support mesh. And about half of them run viewer versions that are so old that I’d like to think that those people would rather cancel their accounts than upgrade to anything from this decade. Add to that what I’ve seen on the SL Merchants group chat, and I’ll have to conclude that at least half of the grid has not even heard of mesh yet. How sad is that?

That being said, I am working on a Dolphin Viewer with mesh support. I’m just not exactly rushing it.

Dolphin Viewer 1 might be dead soon, after all

It seems that my little April Fool’s joke was actually partially prophetic.

After the latest huge changes to the Second Life Viewer 2 source code in, the SL2 source now uses autobuild to build binaries.

Without going further into technical details that anyone interested can read up about on the wiki, let me put it this way:

  • Autobuild, and therefore any viewer based on the latest SL2 source code, requires Visual Studio 2010 Express, or better, to build on Windows. That means, as soon as that system gets used for viewer-release, I’ll have to have Visual Studio 2010 on my laptop, or I won’t be able to build Windows packages.
  • The old Snowglobe 1 code, which is what Dolphin Viewer 1 is based upon, requires Visual Studio 2005 or Visual Studio 2008, and does not build with Visual Studio 2010.

So, unless it is actually possible to have both 2005 and 2010 installed on the same machine … one of the two flavors of the Dolphin Viewer is going to go the way of the dodo.

And frankly, every day there are more and more improvements coming into the official Second Life Viewer 2 that I simply do not have the time and skills to backport to Snowglobe code, so I think it will be the Dolphin Viewer 1 that ceases to be developed.

I will of course keep the binaries of whatever the last version will be around until such day that Linden Lab decides to actively block 1.x-based viewers from connecting to their servers.

Dolphin Viewer

Lots of new stuff in this release – it’s a long list, so grab a fresh coffee.

New patches:

  • New MoreMutingChoicesInObjectInfo patch:
    • Allows muting by object UUID and by object name from the Object IM Info floater.
    • Normally, you can only mute objects by name. This patch allows you to block some of the more cleverly scripted spam-distributing objects.
  • New SoundPreviewCrashFix patch:
    • Fixes a crash bug which occurs when trying to preview a sound item in the reloading contents of a prim.
  • New getGeometryVolumeCrashFix patch:
    • Fixes a crash that may occur randomly in the “LLFace::getGeometryVolume()” function during rezzing.

Backports from the official Second Life Viewer version 2:

  • New DeadObjectsFixes patch:
    • Fixes how dead objects are dealt with.
    • A dead object is an object where the server and your client disagree if the object is there or not.
  • New setParameterEntryInUsePotentialCrashFix patch:
    • Fix for a potential crash bug in the “LLViewerObject::setParameterEntryInUse()” function.
  • New UnavailableVBOcrashFix patch:
    • Fix for a crash bug that can occur when trying to reset to the default graphic settings on cards without VBO support.
  • New CorruptedChunkSizeInUploadedWavCrashFix patch:
    • Fix to an infinite loop bug that occurred when uploading a .wav file with corrupted chunk size.
  • New GroupCreationDuringGroupUpdateCrashFix patch:
    • Fix for a crash bug that could occur while creating a new group while the members list for another group was loading.
  • New resetViewPotentialCrashFix patch:
    • Fix for a rare crash bug that could occur while resetting the camera view.

Updated Patches:

  • Updated MuteBlueDialogs patch:
    • This new version improves the muting decision based on either object UUID or object name, in line with the new MoreMutingChoicesInObjectInfo patch mentioned above.
  • Updated FloaterGroupTitles patch:
    • Adds a “Refresh” button to the floater (useful if some group moderator just added a new group role/title for you in their group).
    • Preserves the scrolling position in the group titles list on activation of a new title (used to be reset to top of list), and auto-updates should the floater stay open while you change your group by another mean (for example via the Groups floater, or by joining a new group).
  • Updated DisplayNamesSupport patch:
    • This new version fixes the broken active speaker list when Display Names are disabled, and prevents “Resident” to be displayed in chat, IMs, active speakers list and profile while the “Never display “Resident” in legacy names” setting is on.
    • Note that “Resident” is still displayed for new residents in some floaters regardless of this setting, for example in the Inspect floater or Build floater (not a bug, since this setting is only aimed at IM, chat and related floaters/lists).
  • Updated Radar patch:
    • This new version omits “Resident” as the last name when Display Names are disabled and the “Never display “Resident” in legacy names” setting is on.
  • Updated BlurryAndGreyTextures patch:
    • This new version fixes a bug introduced in
    • It moves the “Get HTTP Textures” setting from the Advanced/Rendering menu to the Network tab of the Preferences floater also adding a new setting allowing to change the maximum number of simultaneous HTTP requests during fetches.
    • Cures the high memory consumption issue that was observed in all previous versions, thanks to an adaptive algorithm and a smarter virtual size calculation for textures on attachments.
    • Anew “Advanced” -> “Rendering” -> “Reload selected textures” action which allows to manually force-reload textures of any selected object.
  • Updated PreDecodedUIsounds patch:
    • This new version ensures that UI sounds are preloaded instead of attempting to play UI sounds at an inaudible level on log in (which failed, since the audio engine purposely doesn’t decode/play inaudible sounds).
    • It also adds an Advanced setting (“Advanced” -> “UI” -> “Decode all UI sounds”), allowing to force-decode the sounds and playing them at normal level.
  • Updated SLPluginAndMediaFixes patch:
    • No change in functionality, just makes sure that the mime_*.xml files are properly bundled at build time.
  • Updated RestrainedLove patch:
    • Brings RestrainedLove features on par with Marine Kelley’s RestrainedLove v2.05.00.01.
  • Updated FloaterGroupTitles patch:
    • Adds support for the new @setgroup RestrainedLove command.
  • Updated DisplayNamesSupport patch:
    • Fixes a crash bug that could occur when closing an avatar profile floater immediately after opening it while that avatar’s Display Name was still being fetched.
  • Updated StutteringLagAndBugsInAudioEngine patch:
    • This new version adds another crash fix.

The downloads are on the download page as usual.

More details about the future of the Dolphin Viewer and the Dolphin Viewer 2

…today is April Fool’s so I simply could not resist.

gomen. my bad.

The next versions will be:

  • Dolphin Viewer I decided to skip 1.5.50 because just when I was ready to release that version, Henri published another big batch of important patches for his Cool Viewer which absolutely have to go into the next version.
  • Dolphin Viewer 2.6.0, which is waiting for a bugfixed version of Marine Kelley’s RLV 2.5.0.x, and there’s still a lot to be done in porting my own patches to the 2.6.x codebase. From the looks of it I might just skip the 2.6.0 code and go directly for something based on 2.6.2.

Dolphin Viewer

The Dolphin Viewer, codebase 1.5, has been updated to

New in this release:

  • New NoObscuredURLs patch: backport from SnowStorm of the removal of the now useless (deprecated) “Hide URL” feature for parcel media and streaming audio URLs.
  • New MessageTemplateUpdates patch: backport from SnowStorm, updating the message templates (cosmetic change).
  • New BetterPreferrencesGraphics patch: adds the “Max non-impostors” settings to the custom Graphics Preferences panel, and the “Object-object occlusion” setting to the hardware graphic settings floater, as well as an explanation as to why some settings are disabled in the latter.
  • New BetterDebugSettings patch: makes the Debug Settings available from the login screen (code by Siana Gearz), saves the floater position and allows up to 1024 characters (instead of 255) per string variable.
  • New DebugGLCrashFix patch: fixes the crash in Advanced -> Rendering -> Debug GL (by Thickbrick Sleaford).
  • New llimageFixes patch: fixes a potential crash bug and improves performance (code by Siana Gearz).
  • New VectorizeFixes patch: fixes a crash bug in the SSE2 vectorization path (by Armin Weatherwax). Skin vectorization is now enabled by default.
  • New AwayTimeout patch: removes an Advanced Menu Debug setting (AllowIdleAFK), replacing it with the possibility to set the AFKTimeout setting to ‘0’ so to disable completely the auto-AFK feature. Also allows setting the timeout to up to 999 seconds (instead of 600) and optimizes this part of the code for speed. If you had the “Advanced” -> “Character” -> “Character Test” -> “Go Away/AFK When Idle” setting unchecked, go to the Preferences floater, General tab and set the Away Timeout value to ‘0’.
  • New lineSegmentIntersectFix patch: fixes a potential cause for a crash bug (backport from Snowglobe v2 by Siana Gearz).
  • Updated MediaFilter patch: this new version improves security and usability over previous versions.
  • Updated RevertUIchanges patch: in this new version, the “Shout” button was removed from the chat bar and the “Say” button was replaced with a flyout button. The menu also contains the “Shout” and “Whisper” items (saves space for the chat input line, and adds the Whisper functionality that was previously only available via the SHIFT ENTER keyboard shortcut).
  • Updated BlurryAndGreyTextures patch: this new version brings more backports from SnowStorm and adds two Advanced settings (in Advanced -> Rendering): “Boost Attachments Textures” is enabled by default (disabling it saves memory in very crowded areas but causes the viewer to fail to load attachments textures on other avatars at full resolution; “Full Res Textures” is disabled by default and allows the viewer to load all textures at full resolution, regardless of their importance to the camera (this causes a *massive* memory consumption).
  • Updated ReinstateOldSearchTabs patch: this new version declares as deprecated some of the now unused search-related messages (DirPopularQuery & Co).
  • Updated AlignTool patch: this new version includes improvements borrowed from Imprudence/Phoenix/Singularity viewer teams.
  • Updated AutoMaxGroups patch: this new version properly sets the maximum number of groups for some OpenSim grids that used to make the viewer wrongly assume that the maximum was 100.
  • Updated MuteBlueDialogs patch: this new version fixes a bug that prevented the muting to work properly.
  • Updated CoolVLViewerBranding patch: updates to the list of contributors.

The downloads are on the downloads page.

Dolphin Viewer

New in this release:

  • New ATIrenderStarsFix patch: Shyotl Kuhr’s fixes to some rendering issues with stars in the sky, for ATI video cards.
  • Updated MediaFilter patch: this new version fixes a race condition that could eventually be exploited to get through the filters, and implements a Media Filter floater (View -> Media Filter) to allow adding/removing/clearing/viewing filtered domains. See this message for full details.
  • Updated SLPluginAndMediaFixes patch: this new version adds two new debug settings for Linux/MacOS-X: PluginPriority and PluginPrioForWebkitOnly. See this message for details.
  • Updated TeleportHistory patch: just a reordering of the “Teleport History” menu item in the “View” menu.
  • Updated CoolPreferences patch: changed to remove the “Reset filters” button related to the old MediaFilter patch (now has its own floater for editing/clearing filters).
  • Updated CoolVLViewerBranding patch: Shyotl Kuhr added to the contributors list.

Downloads are on the download page.

Dolphin Viewer

Dolphin Viewer has been updated to!

New in this release:

  • New MediaFilter patch: based on a patch by Sione Lomu, this (largely) reworked patch allows you to authorize or deny individual media and audio streams. See this message for full details.
  • Updated SLPluginAndMediaFixes patch: this new version fixes the internal web browser “cache” folder quirk which caused the latter to be written at the root of your filesystem (“/cache” in Linux, “c:\cache” in Windows). See this thread for details.
  • Updated ContextMenuTextEntry patch: this new version improves the context menu of input lines and text entries by greying out automatically unavailable actions in the menu (for example, disabling “Copy” when no text is selected).
  • Updated RevertUIchanges patch: changed to cope with the new MediaFilter patch.
  • Updated CoolPreferences patch: changed to implement the options related to the MediaFilter patch (in the “Miscellaneous” sub-tab of the “Advanced features” tab: new checkbox and “Reset filters” button).

The downloads are on the download page as usual.