Dale's SL Viewer
This is a version of the SL Viewer modified by me. It adds a few features that aren't present in the standard viewer.
Index
- Downloads
- Features for users
- Features for developers
- Avatar Scanner
- Event Logger
- Chat Source Logging
- Stereoscopic Mode
- Signatures
- FAQ
- Disclaimer
Windows Vista users: Starting from version 1.18.3.5.285, the installer should work on Vista. If you have problems, please tell me about it, and try the .zip file meanwhile.
The latest Windows installer is 1.18.4.2.416 (signature)
The latest Windows .ZIP is 1.18.4.2.416 (signature, original installer must be installed first)
The latest Linux version is 1.18.4.2.427 (signature)
The latest installer can always be downloaded at http://sl.daleglass.net/download
If you want to get an older version, there is an archive at http://sl.daleglass.net/installer/
The source code is available under the GPL2 at my SVN repository
Changelog
- 1.18.4.2.416:
- Network2080 functionality added
- 1.18.4.2.415:
- Fixed stereoscopic active mode1.18.4.2.411:
- Updated to 1.18.4.2
- Added stereoscopic patch from the University of Michigan
- 1.18.3.5.299:
- Fixed region_names.xml, solves sim name resolution problems
-
- Avatar Scanner: Adds a list of nearby avatars (see below for details)
- TrustNet support: Support for my reputation system. Under development, currently disabled by default.
- Stereoscopic Patch: Support for 3D with anaglyph or shutter glasses.
Branding: This viewer contains changes that customize the interface, change the location where crash reports are sent and updates downloaded from. The intention is to provide a replacement for the functions Linden Lab won't support in a third party viewer. If you're a developer, you can look at my changes to see what I did to produce your own.
Installer: This version features an improved installer that automatically grabs files from existing SL installations, and only downloads what can't be obtained from the user's system. This drastically reduces the size of the download: Instead of the 35MB or so of the official viewer, each update only needs to download about 5MB.
The scanner can be enabled in the View menu, by choosing the Avatar Scanner item.
The scanner shows a list of the avatars found nearby. It shows the avatars the viewer knows about, and the range roughly corresponds to drawing distance. Unlike scripted scanner HUDs, it updates every frame, and shows everybody your viewer sees. Tricks to hide from scanners don't work against it.
Multiple avatars can be selected by holding the Shift or Control keys. Double clicking on a name in the list will move the camera to that avatar.
Columns
- Name: Avatar's name
- Distance: Distance in meters
- Age: Days since signup. Currently doesn't work on Windows.
- Score:TrustNet score. Currently doesn't work.
- Payment info: Indicates payment info with an icon
- Empty: No payment info on file
- Card: Payment info filled
- Cash: Payment info used
- SL logo: Linden
- Activity: Indicates what the avatar is doing with an icon
- Empty: Avatar isn't doing anything of interest
- Running: Avatar is moving
- Speaker: Avatar is producing a sound
- Blue square: Avatar is emitting particles
- Plus: Avatar just appeared
- Minus: Avatar left the area and isn't around anymore
Avatar Tab
- Track: Places a beacon on the avatar that tracks the avatar's position, like the one used to track friends. Only works as long as the avatar remains within rendering range.
- Mark: Marks avatar with a flag icon in the list.
- Get Key: Copies avatar's key to the clipboard
- Teleport: Teleports to the avatar's location
- Prev: Moves the camera to the previous avatar in the list. The order is determined by the column by which the list is sorted.
- Next: Moves the camera to the next avatar in the list
- Prev marked: Same as Prev but only cycles through marked avatars
- Next marked: Same as Next but only cycles through marked avatars
Actions Tab
- Profile: Shows avatar's profile
- IM: Shows avatar's profile. If multiple avatars are selected, starts a conference with them.
- Freeze: Freeze/Unfreeze selected avatars
- Eject: Eject/ban selected avatars
- Mute: Mute/unmute selected avatars
- AR: Open Abuse Report screens on selected avatars, moving the camera to each of them and taking a screenshot. These reports will go to Linden Lab, so abusing this feature would be a very bad idea.
TrustNet Tab
Currently in development, not functional.
Luskwood
Special tools for Luskwood moderators. Only works in Luskwood for the people authorized to use the "gohomer" tool.
- Warn: Give a warning to the avatar
- Eject: Eject avatar from the land. They'll be able to come back immediately
- Keep away: Eject and ban for 2 hours
- Send home: Send home and ban for 4 hours
- Off: Stop trying to eject the last avatar on which an action was taken
Options
- Update: Uncheck to make the list stop refreshing
- Get avatar info: Retrieve age/payment information
The event logger keeps track of various interesting events and collects statistics on them. Currently it only keeps track of particles, but more event types will come later. The log allows locating the source of the event, and displays useful information about it.
Columns
- Owner Name: Owner of the object that's producing the event
- Object Name: Name of the object that's producing the event. This will be often empty.
- UUID: UUID associated with the event. For particles this is the texture's key, for sounds it would be the sound's key, etc. While this information is generally not very useful to look at, it's included to allow telling apart different events coming from the same object.
- Distance: Distance in meters from the emitter object.
- Count: Number of times the event ocurred. For particles this counts the number of particles emitted.
- Duration: Accumulated amount of time this event has been ocurring.
- Age: Time since the last ocurrence of the event.
- Score: An estimation of how important is the event. For particles this is based on a calculation of the amount of space taken by the effect. Particle effects that cover a large area and have large particles get a bigger score than small effects like bling.
Options
- Enabled: If checked, events are collected. This implies a performance hit, which depends on how much is going on.
- Update list: If checked, the list is updated continously. It may be useful to check this while investigating something.
- Show null UUIDs: If checked, the list shows events with a NULL UUID. For particles this is the default texture. Checking this will reduce the amount of entries in the list, and can be helpful when looking for the source of a particle effect with a texture that's not the default one.
- Show zero count: If checked, shows the events with a count of 0. For particles, there exist objects which have an active emitter that doesn't actually emit anything, and is invisible except for when beacons are used, or this option is checked. This should be normally left off, as the entries it hides have no visible effect anyway.
Particle Display
When a particle is selected, the display area shows the texture and particle parameters.
Quick Display
The left side of the window shows the 3 highest scored effects with a texture. This allows very quickly locating things like particle griefing, which will nearly always have a much higher score than anything else.
Settings
Settings not currently configurable through the interface are available in Client/Debug Settings. An interface will eventually be created for these options, but meanwhile they can be changed manually.
- EventLogMaxAge: Maximum age of entries shown in the log. Older entries than this are still remembered, but not shown.
- EventLogMaxEntries: Maximum amount of entries shown in the log. Reducing this may improve performance.
- EventLogQuickAction: Defines the function of the buttons located under the images in the Quick Display. The buttons will automatically change as this value is modified.
The viewer can log the source of chat messages. It will log the owner of speaking objects, as well as the chat source's location. For IMs, it's capable of giving the exact position of the IM's source on the grid, even if it's nowhere near the one who receives it.
This feature is enabled by checking the "Log owner and coordinates" checkbox in the chat history window.
Limitations
The current implementation is not ideal, and has been done by gathering the list of sims and their identifiers by using a bot. This means the viewer can only find out the sim where the IM's source is located if the sim's key is found in the list shipped with the viewer. This will be eventually replaced with something that always works, but help from LL is needed for that to happen.
The list also does not include the sims that the bot failed to visit, because they were down, completely inaccessible, or not created yet when the bot was run.
The latest viewer can produce the sensation of depth when used with anaglyph red/cyan glasses, or shutter glasses. If you have red/cyan glasses, check the gallery. This is not my own code, it was contributed by the University of Michigan. I have made some adaptations to make various parameters configurable.
To use the stereoscopic mode, enable it in Preferences, Adv. Graphics.
Stereoscopic Modes
Eric Maslowski, who contributed the patch explained the different supported modes on the mailing list:
- Anaglyph: which consists of Red/Cyan glasses. This method works on any
screen or surface since it relies on color theory to separate the images for
the left/right eyes, but suffers from some color distortions. We often demo
the viewer using this mode since it's the most widely accepted and works on
brilliant LCD HDTVs and even printed flyers. You can find these glasses in
various places like science or toy stores. You can also pickup a pair via
some 3D DVDs like "Spy Kids 3D." So, check the bargain bin. :)
- Passive: This method retains all of the full color information but
requires two projectors with polarized filters in front of them. Common
installations that follow this setup are the Geowall and IMAX theatres. We
often use this for live demos or long term viewing since it's more
comfortable to view. To use this mode on a supporting system you will need
to enable "stereo" via your graphics driver as well as "clone mode stereo."
We have only tested this with NVIDIA software to date, so your mileage may
vary.
- Shutter Glasses: If your system supports shutter glasses via a 3-pin DIN
on the back of your graphics board, you can use this mode. You will need
supporting shutter glasses which can cost anywhere from $50-$400 dollars.
Just be sure to enable "stereo" in your graphics driver with the source set
to "3 pin DIN".
Anaglyph Mode (Red/Cyan Glasses)
You will need specifically red/cyan glasses. Other colors exist but won't work properly. However if you're interested in the concept in general it could be a good idea to get glasses of the other varieties as well (Red/Green for example), as not all the images on the web are made for Red/Cyan.
Where to get the glasses
The glasses are cheap (about $1 or even free in some places), and can be had from many places:
- Science or toy stores
- Ebay
- 3D movies like Spy Kids 3D
- A few places even send them for free
List of shops
This is a contributed list of places where to get the glasses. I can't guarantee its correction or accuracy. Contact me if you want to add a shop to the list, or found a listed shop doesn't sell them anymore.
Country | Where | Price | Description |
Spain | CENInet | Free | Free only in Spain, only 1 pair per address/order. |
Brazil | Mercadolivre, Tecnoglasses | USD $1,25 | Card with plastic lenses
(with 4 sets for replacement) |
Passive Mode (Dual Projectors)
This mode is reported to give the greatest quality. It requires two identical DLP projectors. LCD projectors are not compatible.
Mark Dubin from 3D Embodiment explained:
Your question about stereo viewing is interesting, and given the new
availability of stereo in SL, important. You are right-on about the
intrinsically poor quality of anaglyph viewing. I am retired as an
academic visual neuroscientist into a second life as a partner in the
company 3D Embodiment which provides immersive
stereo systems in first life and is also working in SL at our
Embodiment island. In the fullest sense, immersive stereo is a human-
size projection system such as a CAVE, or a Geowall (sort of a
"front-wall-only-CAVE" described at http://geowall.geo.lsa.umich.edu/home.html.
We use two projectors with differently crossed polarizers
in front of each, and cheap crossed-polarizing glasses, to put the
scene on a large screen that fills the front wall of a small room.
The projectors can be had for as little as $1300 each. The graphics
is handled by an Nvidia Quadro FX 3400 graphics card, which sells on
e-Bay for under $300. In "clone" mode, it automatically feeds the
correct signal to each projector.
For a desktop system I use the same graphics clone made to feed a
Planar SD1710 stereo display.
which is pricey at $4000, but which produces a remarkably beautiful result!
Active Mode (Shutter Glasses)
Mark Dubin from 3D Embodiment explained:
This only
takes one monitor (but not an LCD monitor), and an emitter and
optical-shutter glasses. There is a port on the Nvidia Quadro FX card
that provides an output signal to sync an emitter. When I worked at a
CAVE, we used CrystalEyes shutter glasses, which are the top-of-the-
line, standard of the industry, which at $795. The emitter is another $200., making a $1000. package. There are
significantly less expensive shutter-glasses on the market, normally
they have a smaller field of view and are less optically dense in the
blanked eye. Many are listed at: http://www.stereo3d.com/shutter.htm
Note: Shutter glasses need a monitor that supports a very fast refresh rate, since they effectively halve the normal one. If the monitor refreshes at 60Hz (which is generally considered the lowest acceptable rate), the result will be 30Hz, which is almost certainly very painful to look at. A monitor capable of doing at least 120Hz will be required.
Some people, myself included, find that 60Hz is still too low to be comfortable, so they may need a monitor with an even higher refresh rate (twice of whatever is the minimum acceptable one). Such high refresh rates may not be supported by all video cards, and finding a monitor that can refresh that fast at high resolutions may be difficult.
Keys
My installers are signed now with GNU Privacy Guard. Feel free to mirror them, and mirror the .sig file as well.
I use the following keys:
CBEA0CA8
- Fingerprint:
EEAB D704 2275 4CF6 6BC0 869C AB37 72BF CBEA 0CA8
- Usage: Main key. Used to sign posts on mailing list.
8822EF93
- Fingerprint:
EC18 EE68 50FD 15FB 1194 C829 B5C9 F33E 8822 EF93
- Usage: Alternate key, used on other computers. Used to sign posts on mailing list.
A3021E6D
- Fingerprint:
DC29 3E36 5DD9 6968 2537 06DD 24A4 57F8 A302 1E6D
- Usage: Code signing key.
These fingerprint of the main key is in the First Life tab of my SL Profile (Dale Glass). The rest didn't fit, but the main key signs the others.
Verification
These instructions are for GNU Privacy Guard. PGP will also work, by following the same process (only using a GUI).
If you don't have it yet, install it from the website. I recommend reading this introduction if you're not familiar with the concept of public key crypto.
First, import the keys:
$ gpg --recv-keys CBEA0CA8 8822EF93 A3021E6D
Check the fingerprint:
$ gpg --fingerprint CBEA0CA8
pub 1024D/CBEA0CA8 2007-01-06
Key fingerprint = EEAB D704 2275 4CF6 6BC0 869C AB37 72BF CBEA 0CA8
uid Dale Glass
sub 4096g/89B1B0F8 2007-01-06
Compare the fingerprint with the one in the first life tab of Dale Glass. This ensures that you can have a degree of trust in my key, as with this you can be sure that the key belongs to me. If the fingerprint doesn't match don't continue and IM me about it.
Now locally sign the key. This marks the key as trusted, but this trust can't be relied on by anybody else.
$ gpg --edit-key CBEA0CA8
gpg (GnuPG) 1.4.7; Copyright (C) 2006 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
Secret key is available.
pub 1024D/CBEA0CA8 created: 2007-01-06 expires: never usage: SC
trust: ultimate validity: ultimate
sub 4096g/89B1B0F8 created: 2007-01-06 expires: never usage: E
[ultimate] (1). Dale Glass
Command> lsign
[enter password, etc]
Command> save
Verify the signature. You verify the .sig file, not the .exe installer.
$ gpg --verify .sig
gpg: Signature made Mon Jul 30 05:09:52 2007 CEST using DSA key ID A3021E6D
gpg: Good signature from "Dale Glass (Code signing key) "
How do I know you won't steal my money, password, etc?
It would be very stupid for me to try that. Linden Lab has my name and address (you can check that I've used my payment info in my profile) and if I tried to do something of the sort they could very easily send the authorities after me. Somebody trying to pull something like this off would try to be as anonymous as possible to avoid consequences.
If you don't trust me, you can take the source and build it. There are instructions on the SL wiki on how to do so. You can check the differences between the official SL source and mine to make sure nothing nasty is there. It's possible to build SL on Windows and Linux using only free tools.
Won't plugins solve that?
Probably not. The easiest way to do plugins is by using a shared library, but that means that the plugin can do anything a third party viewer can do. The other alternative is some sort of language for plugins in the viewer, if such a thing appears it won't be soon, and will probably be quite limited in what can be done with it, unless there's a complete overhaul of the viewer's code.
Who will the crash reports go to?
Me. The crash screen has been modified to notify the users of this.
The data sent might contain something sensitive in it (although it usually doesn't). If that concerns you, don't send the crash report.
The installer fails to find files
It really isn't. What's happening is that the installer tries to reuse files from your current SL installs to avoid having to download them. It must be an exact match. If the file is not found or doesn't match, it's downloaded. This means that a typical install of my viewer will need to download about 5MB or so, instead of the full package.
So it's just saying that it couldn't find the file on your computer and will have to download it.
Do you have a Mac version?
No, and probably won't for quite some time. I don't own any Mac hardware, and currently don't plan getting any. You can still download the source and build it, or get somebody else to do it for you.
Do you have a Linux version?
Yes, I do now. Releases of Linux versions may lag a bit though, as I need to improve the scripts I use for building and releasing viewers.
Why doesn't it work on Vista?
The installer has been updated, and should work on Vista starting from version 1.18.3.5.285.
What is "The file (insert filename) was not found on your computer, and can't be downloaded because it's not redistributable."?
Some files in the Second Life viewer are licensed by Linden Lab from other companies and not redistributable by other people. They're all optional and can be left out, but this can mean a loss of functionality.
Note that you may receive such a warning even if you have this file on your computer. The installer looks for an exact version of the file, and will ignore any others, as an incorrect version could result in crashes or incorrect behavior.
The files are:
- llkdu.dll: Kakadu JPEG2000 library. This is used to decode textures. If not present, the viewer will use OpenJPEG, an open source library. However, OpenJPEG at this time has bugs and may result in graphical defects or crashes in rare cases. It should work well most of the time. Usage of OpenJPEG currently results in the map being displayed incorrectly.
- SLVoice.exe, SLVoiceAgent.exe: Voice components. They're optional, but their lack will result in loss of voice functionality
To get a fully functional viewer, simply install the viewer from Linden Lab with the same version. To find the right version to install, simply remove the last component of my installer's version number. For example, for my version 1.18.3.5.285 to work 100% you need to install the official 1.18.3.5 version first.
This is a third party viewer and not supported by Linden Lab. Please don't contact them if you have problems with it.
Crash reports are sent to my server and not to LL's. Don't send reports if this makes you uncomfortable. Updates will be downloaded from my server as well.
I cannot guarantee that installing my viewers won't break your computer. However I take great care to try to prevent anything of the sort from happening. This viewer is installed in parallel with the official one, and doesn't modify your current installation. The settings it uses are separate as well. Nevertheless, have in mind that this is an experimental viewer, and not guaranteed to work correctly.