Quantcast
Channel: Phoenix Firestorm Project - Wiki
Viewing all 5258 articles
Browse latest View live

my_environments - created


fs_my_environments_6.4.5.png - created

fs_my_environments

$
0
0

My Environments Window

This window displays the Environment assets that you have in your inventory. These include those you have acquired (shown in your Inventory → Settings folder) and those provided by Linden Lab (shown in your Library → Environments folder).

The three Environment asset types are Days, Skies, and Water.

  • Days, Skies, Water: These three checkboxes are filters that determine which of the three are displayed in this window.
  • Double-click on an Environment asset to open its edit window.
  • Right click on an Environment asset for its menu.
  • Show All Folders: This displays all Inventory folders, whether or not they contain Environment assets.
  • Gear menu: Gives various options for the currently selected Environment asset, most of which are also in the item's right-click menu.
  • “+” Symbol: Click to create a new Day, Sky, or Water asset.

fs_compiling_firestorm_windows - [Microsoft Visual Studio 2017] Remove obscure suggestion to ...

$
0
0

Firestorm Windows Builds

This page describes all necessary steps to build the Firestorm viewer for Windows, using the updated build infrastructure introduced with Linden Lab's project Alex Ivy and the latest tools update.

NOTE: This description is NOT valid for building versions of the viewer prior to the tools update release!
Please note that we do not give support for compiling the viewer on your own. However, there is a self-compilers group in Second Life that can be joined to ask questions related to compiling the viewer: Firestorm Self Compilers

Install required development tools

This is needed for compiling any viewer based on the Linden Lab open source code and only needs to be done once.

All installations are done with default settings (unless told explicitly) - if you change that, you're on your own!

Windows

  • Install Windows 10 64bit using your own product key
  • Alternatively: Install 8.1 Pro 64bit

Microsoft Visual Studio 2017

  • Install Visual Studio 2017
  • Note: If you don't own a copy of a commercial edition of Visual Studio 2017 (e.g. Professional), you might consider installing the Community version (requires creating a Microsoft account if you do not already have one)
    • Run the installer as Administrator (right click, “Run as administrator”)
    • Check “Desktop development with C++” on the “Workloads” tab.
    • All other workload options can be unchecked

Tortoise Git

  • Download and install TortoiseGit 2.9.0 or newer (64bit)
    • Note: No option available to install as Administrator
    • Use default options (path, components etc.) for Tortoise Git itself
    • At some point, it will ask you to download and install Git for Windows
      • You can install with default options EXCEPT when it asks for “Configuring the line endings conversion”: You MUST select “Checkout as-is, commit as-is” here!

CMake

  • Download and install at least CMake 3.8.0
    • Run the installer as Administrator (right click, “Run as administrator”)
    • At the “Install options” screen, select “Add CMake to the system PATH for all users”
    • For everything else, use the default options (path, etc.)
    • Make sure that the following directory was added to your path:
      C:\Program Files (x86)\CMake\bin

Cygwin

  • Download and install Cygwin 64 (64bit)
    • Run the installer as Administrator (right click, “Run as administrator”)
    • Use default options (path, components etc.) *until* you get to the “Select Packages” screen
    • Add additional packages:
      • Devel/patch
    • Use default options for everything else
    • Make sure that the following directory was added to your path.:
      C:\Cygwin64\bin

Python

  • Download and install the most recent version of Python 2.7 (32bit)
    • Linden Lab advises to use the 32bit version as the VMP requires it. However, Firestorm currently doesn't use VMP, so the 64bit version might work (use at own risk!)
    • Note: No option available to install as Administrator
    • Use default options (path, components etc.) until you get to the “Customize Python” screen
    • Change “Add python.exe to Path” to “Will be installed on local hard drive”
    • Add the Python installation dir to the system path:
      C:\Python27

Intermediate check

Confirm things are installed properly so far by opening a Cygwin terminal and enter:

cmake --version
git --version
python --version

If they all report sensible values and not “Command not found” errors, then you are in good shape.

The Cygwin terminal is only needed for testing. All commands for actually building the viewer will be run from the Windows command shell.

Set up Autobuild and Python

  • Install Boostrip pip
    • Download (Save As) get-pip.py and copy to a temp folder
    • Open Windows Command Prompt
    • Switch to that temp folder and execute it:
      python get-pip.py
    • Pip will be installed
    • Add the following directory to your path:
      C:\Python27\Scripts
  • Install Autobuild
    • Open Windows Command Prompt and enter:
      pip install git+https://vcs.firestormviewer.org/autobuild-1.1#egg=autobuild
    • Autobuild will be installed. Earlier versions of Autobuild could be made to work by just putting the source files into your path correctly; this is no longer true - Autobuild must be installed as described here.
  • Set environment variable AUTOBUILD_VSVER to 150
  • Check Autobuild version to be 1.1.8 or higher:
    autobuild --version

NSIS

  • If you plan to package the viewer and create an installer file, you must install the NSIS from the official website.
  • Not required unless you need to build an actual viewer installer for distribution, or change the NSIS installer package logic itself
If you want to package the viewer built on a revision prior to the Bugsplat merge, you must install the Unicode version of NSIS from here - the installer from the NSIS website WILL NOT work!

Setup viewer build variables

In order to make it easier to build collections of related packages (such as the viewer and all the library packages that it imports) with the same compilation options, Autobuild expects a file of variable definitions. This can be set using the environmenat variable AUTOBUILD_VARIABLES_FILE.

  • Clone the build variables repository:
    git clone https://vcs.firestormviewer.org/fs-build-variables <path-to-your-variables-file>
  • Set the environment variable AUTOBUILD_VARIABLES_FILE to
    <path-to-your-variables-file>\variables

Configure Visual Studio 2017 (optional)

  • Start the IDE
  • Navigate to Tools> Options> Projects and Solutions> Build and Run and set maximum number of parallel projects builds to 1.

Set up your source code tree

Plan your directory structure ahead of time. If you are going to be producing changes or patches you will be cloning a copy of an unaltered source code tree for every change or patch you make, so you might want to have all this work stored in its own directory. If you are a casual compiler and won't be producing any changes, you can use one directory. For this document, it is assumed that you created a folder c:\firestorm.

c:
cd \firestorm
git clone https://vcs.firestormviewer.org/phoenix-firestorm

This can take a bit, it's a rather large download.

Prepare third party libraries

Most third party libraries needed to build the viewer will be automatically downloaded for you and installed into the build directory within your source tree during compilation. Some need to be manually prepared and are not normally required when using an open source configuration (ReleaseFS_open).

If you are manually building the third party libraries, you will have to build the correct version (32bit libraries for a 32bit viewer, 64bit versions for a 64bit viewer)!

FMOD Studio using Autobuild

If you want to use FMOD Studio to play sounds within the viewer, you will have to download your own copy. FMOD Studio can be downloaded here (requires creating an account to access the download section).

Make sure to download the FMOD Studio API and not the FMOD Studio Tool!
c:
cd \firestorm
git clone https://vcs.firestormviewer.org/3p-libraries/3p-fmodstudio
  • After you have cloned the repository, copy the downloaded FMOD Studio installer file to C:\Firestorm\3p-fmodstudio
  • If you downloaded a different version of FMOD Studio that is currently used in the viewer, you will have to modify the file build-cmd.sh in the root of the repository. Right at the top, you find the version number of FMOD Studio you want to package (one short version without separator and one long version). Change these values to the version you downloaded:
FMOD_VERSION="20102"
FMOD_VERSION_PRETTY="2.01.02"

Continue on the Windows command line:

c:
cd \firestorm\3p-fmodstudio
autobuild build --all
autobuild package

While running the Autobuild build command, Windows might ask if you want to allow making changes to the computer. This is because of the FMOD Studio installer being executed. Allow these changes to be made.

Near the end of the output you will see the package name written and the md5 hash below it:

wrote C:\firestorm\3p-fmodstudio\fmodstudio-{version#}-windows-{build_id}.tar.bz2
md5 c3f696412ef74f1559c6d023efe3a087

where {version#} is the version of FMOD Studio (like 2.01.02) and {build_id} is an internal build id of the package.

cd \firestorm\phoenix-firestorm
cp autobuild.xml my_autobuild.xml
set AUTOBUILD_CONFIG_FILE=my_autobuild.xml

Copy the FMOD Studio path and md5 value from the package process into this command:

autobuild installables edit fmodstudio platform=windows hash=<md5 value> url=file:///<fmodstudio path>

For example:

autobuild installables edit fmodstudio platform=windows hash=a0d1821154e7ce5c418e3cdc2f26f3fc url=file:///C:\firestorm\3p-fmodstudio\fmodstudio-2.01.02-windows-192171947.tar.bz2
Note: Having to copy autobuild.xml and modify the copy from within a cloned repository is a lot of work for every repository you make, but this is the only way to guarantee you pick up upstream changes to autobuild.xml and do not send up a modified autobuild.xml when you do an hg push.

Configuring the viewer

Open the Windows command prompt.

If you are building with FMOD Studio and have followed the previous FMOD Studio setup instructions AND you are now using a new terminal you will need to reset the environment variable first by entering

set AUTOBUILD_CONFIG_FILE=my_autobuild.xml

Then enter:

 c:
 cd \firestorm\phoenix-firestorm
 autobuild configure -c ReleaseFS_open

This will configure Firestorm to be built with all defaults and without third party libraries.

Note: Configuring the viewer for the first time will take some time to download all the required third-party libraries. As of Autobuild 1.1, the download progress is hidden by default. If you want to watch the download progress, you can use the verbose option to display a more detailed output:
autobuild configure -v -c ReleaseFS_open

Configuration switches

There are a number of switches you can use to modify the configuration process. The name of each switch is followed by its type and then by the value you want to set.

  • -A <architecture> sets the target architecture, that is if you want to build a 32bit or 64bit viewer (32bit is default if omitted).
  • –fmodstudio controls if the FMOD Studio package is incorporated into the viewer. You must have performed the FMOD Studio installation steps in FMOD Studio using Autobuild for this to work.
  • –package makes sure all files are copied into viewers output directory. You won't be able to start your compiled viewer if you don't enable package or do 'compile' it in VS.
  • –chan <channel name> lets you define a custom channel name for the viewer
  • -LL_TESTS:BOOL=<bool> controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or
    more of them.
TIP: OFF and NO are the same as FALSE; anything else is considered to be TRUE

Examples:

  • To build a 32bit viewer with FMOD Studio and to create an installer package, run this command in the Windows command window:
    autobuild configure -c ReleaseFS_open -- --fmodstudio --package --chan MyViewer -DLL_TESTS:BOOL=FALSE
  • To build a 64bit viewer without FMOD Studio and without installer package, run this command:
    autobuild configure -A 64 -c ReleaseFS_open -- --chan MyViewer -DLL_TESTS:BOOL=FALSE

Building the viewer

There are two ways to build the viewer: Via Windows command line or from within Visual Studio.

Building from the Windows command line

If you are building with FMOD Studio and have followed the previous FMOD Studio setup instructions AND you are now using a new terminal you will need to reset the environment variable with

set AUTOBUILD_CONFIG_FILE=my_autobuild.xml

Then run the Autobuild build command. Make sure you include the same architecture parameter you used while configuring the viewer:

autobuild build -A 64 -c ReleaseFS_open --no-configure

Now, sit back, read War and Peace, calculate PI to 50 places, tour the country, whatever you desire. Compiling will take quite a bit of time.

Building from within Visual Studio

Inside the Firestorm source folder, you will find a folder named build-vc150-<architecture>, with <architecture> either being 32 or 64, depending on what you chose during the configuration step. Inside the folder is the Visual Studio solution file for Firestorm, called Firestorm.sln.

  • Double-click Firestorm.sln to open the Firestorm solution in Visual Studio.
  • From the menu, choose Build → Build Solution
  • Wait until the build is finished

Parallel building of pre Alex Ivy viewers

Older versions of the viewer before the merge of Linden Lab's project Alex Ivy use Autobuild 1.0 that is incompatible with the build process as it is now. By default it is not possible to install two different versions of Autobuild on the same computer at the same time. Making use of virtualenv will overcome this problem, allowing simultaneous installations of Autobuild 1.0 and Autobuild 1.1 in two distinct “virtual” Python environments.

Install virtualenv

Install virtualenv by opening a Windows command prompt and enter:

pip install virtualenv

This requires the Boostrip pip already installed. After virtualenv has been installed, you can create virtual Python environments using the command

virtualenv <virtual-environment-name>

This will create the directory <virtual-environment-name> within the Python installation folder and add some required folders and files. Among these files is a batch file called activate.bat in the folder Scripts. To switch to the newly created virtual environment execute the activate.bat batch file. After switching to the virtual environment, your command prompt will be prepended by the name of the virtual environment.

In this example we will create a virtual environment called “Autobuild11”:

virtualenv Autobuild11
c:\Python27\Autobuild11\Scripts\Activate.bat

Your command prompt should look like this now:

(Autobuild11) C:\

After you switched to a particular virtual environment, you can now install as described in Set up Autobuild and Python.

Complete example:

virtualenv Autobuild11
c:\Python27\Autobuild11\Scripts\Activate.bat
pip install hg+https://bitbucket.org/lindenlab/autobuild-1.1#egg=autobuild

Configuring and building the viewer

Configuring and building the viewer from the Windows command line is basically identical as described in Building from the Windows command line with the difference that you now have to call the activate script first:

c:
\Python27\Autobuild11\Scripts\Activate.bat
cd \firestorm\phoenix-firestorm
autobuild configure -c ReleaseFS_open -- --fmodstudio --package --chan MyViewer -DLL_TESTS:BOOL=FALSE
autobuild build -A 64 -c ReleaseFS_open --no-configure

If you plan to build the viewer from within Visual Studio, you will have to configure the viewer the same way as if you were to build from the Windows command line:

c:
\Python27\Autobuild11\Scripts\Activate.bat
cd \firestorm\phoenix-firestorm
autobuild configure -c ReleaseFS_open -- --fmodstudio --package --chan MyViewer -DLL_TESTS:BOOL=FALSE

To be able to build from Visual Studio, you will have to set a Windows environment variable called VIRTUAL_ENV pointing at the virtual Python environment to use, in our example “C:\Python27\Autobuild11”. Now open the Firestorm Visual Studio solution to start Visual Studio and build the viewer.

NOTE: Setting the VIRTUAL_ENV environment variable only has an effect if building a version greater or equal than 53671! If you plan to build older versions of Firestorm, it is advised to install Autobuild 1.0 as the default Autobuild version and create a virtual environment for Autobuild 1.1!

Troubleshooting

SystemRootsystem32: unbound variable

When trying to execute the Autobuild build command, you might encounter an error similar to

../build.cmd.sh line 200: SystemRootsystem32: unbound variable

This error is caused by the order of the items in the Windows “path” environment variable. Autobuild exports all paths set in the “path” environment variable into Cygpath names and variables. Since these Windows “paths” can also contain variables like %SystemRoot% and they can also depend on each other, it is important to keep the dependency order intact. Example:

%SystemRoot%
%SystemRoot%\system32
%SystemRoot%\System32\Wbem

The following screenshot shows the correctly ordered paths containing variables and depending on each other.

fs_panel_region_environment_tab

$
0
0

Region Details - Environment Tab

For detailed information about the Environmental Enhancement Project (EEP) see this page.

Region Details - Environment Tab

In this tab, you can set specific day cycle, sky, or water settings for your parcel, or create a day cycle ad-hoc.

Select Environment

  • Use Default Settings
  • Use Inventory: Click this to select a predefined day cycle, sky, or water asset from your inventory.
  • Customize: Allows you to create an ad-hoc day cycle for the parcel. Refer to this page for information on creating a day setting.

Day Settings

Day Length (hours)

How many (real) hours the day cycle is to last. “Legacy” SL days are 4 hours long, but you can use any value here from 4 to 168.

If you want a day cycle that matches the Legacy day cycle of 3 hours daylight, and 1 hour night, refer here.

Day Offset (hours)

Offset from UTC. The default is -8, which is SL time, or Pacific time.

Apparent Time of Day

An indication of the apparent time of day, based on the day asset in use, and the current time of day (sun position).

Sky Altitudes

Shows what sky and water assets are in use for the day cycle assigned to the parcel. The sky heights here cannot be changed; they are indicative only.

  • Sky 4 3000m
  • Sky 3 2000m
  • Sky 2 1000m
  • Ground
  • Water


See this page for documentation on Firestorm 6.3.9 and earlier.

phototools_menu_floater

$
0
0

Phototools

This is a powerful set of tools for SL photographers and machinima makers. It combines a large number of settings from many places, into a single, multi-tabbed window.

This is accessed via a button on the button bar. If you do not have the button visible, right click any button on the button bar, and select Toolbar Buttons; the Toolbar Buttons window opens. Locate the Phototools button there, and drag it onto any of the button bars (bottom, left or right). Alternately, you can access via top menu, World → Photo and Video → Phototools.

NOTE: If an input field has a 'D' button to the right, click this to restore the default value.

WL (WindLight)

Phototools - WL

This tab controls many environmental features.

Note: As of Firestorm 6.4.5, there is no more Windlight in the viewer; it has been replaced by EEP. Some of the terminology in Phototools still refers to Windlight; it will be updated as soon as possible (refer to FIRE-29893). This help page uses the terms that match the Phototools floater.

Windlight Settings

  • Enable Atmospheric Shaders: Enables full environmental lighting features. This needs to be on to take full advantage of the settings on this tab.
    If this is greyed out, make sure you have Basic Shaders enabled (Preferences → Graphics → General → Basic Shaders).
  • WL Sky: A drop down menu from which you can select a different sky preset. (It is similar to the one available in the QuickPrefs window.)
  • WL Water: You can select a different preset to apply to water.
  • Day Cycle: Here you can select from one of several different day cycles. These use settings that are different from the default.
  • Personal Lighting: This opens the Personal Lighting window.
  • Pause Clouds: This freezes the clouds in their current position. Useful for photography.
  • Quick Windlights: An easy way to select default time of day. Same as going to the top menu -> World→ Sun Position.
  • Shared Environment: Activates whatever lighting is set for your current location.

Water Reflection Settings

  • Type: This drop down allows you to select what water will reflect. Note that the more you enable, the lower the viewer performance (i.e., the higher the client lag).
    This setting can also be accessed via PreferencesGraphics -> General.
  • Resolution: Select the quality of water reflections. Note that for anything above “Good” to work properly, you must enable Advanced Lighting in the Light tab.
    As above, increasing quality results in lower performance.
  • Transparent Water: If disabled, water will always be opaque.

Light

Lights and Shadows Settings

Phototools - Light

  • Enable Lighting and Shadows: This allows a variety of additional features, beyond shadows, to be enabled and used, such as Depth of Field.
    This can also be accessed via PreferencesGraphics -> General→ Lighting and Shadows.
  • Enable All Local Lights: Enables light sources other than sun/moon.
    This can also be accessed via PreferencesGraphics -> General→ Local Lights.
    • Enable attached Lights (Face Lights): With this on, you will also see local lights which are attached to avatars.
      Normally, this option would be accessed via the top menu -> Develop→ Rendering → Render Attached Lights.
  • Shadow Types: Select what types of shadows you want to be cast. Point light (lights that do not have the projection feature enabled) will always create a sense of shadows, yet they will not cast them upon any surface. It is important to note that regardless of the setting you choose here, textures projected from projection lights will still be enabled.
  • Shd. Res (Shadow Resolution): This determines the quality of the shadows. It also is very demanding of computer resources. It is a good idea to leave this setting as LOW as possible when you are not shooting. When you are shooting, set it to 1.0 while preparing your shot. When you are ready to take your shot, slowly raise the slider bar to the right. You need to be careful of your framerate while you raise this setting. It is helpful to turn on the Statistics Bar (under Aids) when you do this for the first few times so you can be familiar with the level of shadows that works best with your system.
    NOTE: Setting this too high or moving it too fast will cause viewer crashes.
  • Shd Clarity: This is a VERY important setting. It essentially determines how clear the Sun/Moon shadows are drawn overall. This setting should be set first before adjusting the setting below. With the value of 'Shd. Res' above set to 1.0, slide the value for 'Shd. Clarity' until the sharpest possible result is achieved.
    Please note, the clarity of shadows is directly related to the position of the camera and Sun/Moon. Every time you move either the camera or the Sun/Moon, it is best to adjust this value again. In addition, in order to make adjusting this value easier, it is helpful to set 'Shd. Blur' to 0.0 first.
  • Shd. Blur (Shadow Blur): The higher the number, the softer the shadow edges. Set to '0' for the sharpest shadows possible. This setting is directly related to the one below it as well. It allows you to set the overall possible amount of shadow blur. If set to 4.00, you can use Shadows Soften to adjust the shadow blur independent of the ambient occlusion. PLEASE NOTE: Ambient Occlusion must be enabled for this setting to work.
  • Shd. Soften: Controls the softening effect of Sun/Moon shadows. One simple way to set this value for your specific needs is to first set the 'Shd. Blur' value above to around 3.0. Then the slider here to soften the AO to your liking. Please note, a value of 0.0 will effectively turn off all Sun/Moon shadows. In addition, this has no effect of shadows the caused by projector lights.
  • Blur. Dist. (Blur Distance): This will determine the point at which the shadows will begin to blur relative to the camera. The lower the value the closer the point of shadow blur will begin.
    PLEASE NOTE: Ambient Oclussion must be enabled for this setting to work.
  • FOV Cutoff: This determines the Field Of View cutoff at which the viewer will switch between ortho instead of perspective projection. If you are getting shadows that are 'jaggedy' try adjusting this setting for improvement. Also, adjusting the XYZ values for the debug setting RenderShadowSplitExponent can be very helpful.
  • Show Bounding Boxes for All Lights in Scene: Will show wireframe boxes for all lights within a scene.
  • Show Light Radius for Selection: Shows the circular light casting of any selected light(s).

Ambient Occlusion

  • Enable Ambient Occlusion: Ambient Occlusion adds shading to all objects. It is most effective when the Effect and AO Soften settings below are used. It can add a high level of realism to the image. This is especially true when images are made at resolutions of 2048 pixels or above. For further details, see here.
    This can also be accessed via PreferencesGraphics -> General→ Ambient Occlusion.
  • Scale: Controls the sampling region; larger regions are more accurate. It can be helpful to set these values high and then add a bit of shadow blur to soften their effect.
  • Max Scale: Controls the maximum screen radius from which to sample from, to avoid graphics card cache misses and associated large performance penalty. It can be helpful to set these values high and then add a bit of shadow blur to soften their effect.
  • Factor: Scaling factor for the effect (larger is darker). It can be helpful to set these values high and then add a bit of shadow blur to soften their effect.
  • Effect: Controls the overall darkening effect of Ambient Occlusion. The default value of 0.8 produces an almost imperceptible effect. Values of 0.0 and below provide a more realistic result. Please note that the Ambient Occlusion produces a noise like effect and this can be softened using the 'AO Soften' controls below. In addition, the standard mesh avatar can look less than appealing with high Effect values due to the low quality geometry of the avatar. Please Note: The lowest value you can set in the slider is 0, while in the spinner you can enter negative values of up to -10000.
  • AO Soften: Controls the softening of the Ambient Occlusion effect. One simple way to set this value for your specific needs is to first set the 'Shd. Blur' value above to around 4.0. Then the slider here to soften the AO to your liking. Please note, a value of 0.0 will effectively turn off Ambient Occlusion rendering.

Dof / Glow

Phototools - DoF/Glow

Depth of Field

Depth of field simulates real life blurring that occurs when things are not in focus. For example, if you are taking a photo of a person, then typically, things in the background will be blurred; the futher away, the more blurred. If you shift your focus to a tree behind the person, then the person will, in turn, become blurred.

For more information, refer here.

Many of the settings below are also found in PreferencesGraphics -> Depth of Field.

  • Enable Depth of Field (DOF): Turns on the DoF feature. This function requires that Shadows and Local lights both be enabled in the Light tab.
  • Show the Current FOV of Viewer Screen: This will show you the vertical field of view for the camera. In SL is possible to change the lens length just like in RL. The smaller the FOV the longer the camera lens. A 50mm lens has a FOV of 27.0 degrees. To adjust the FOV use the zoom slider bar below.
    Please see here for a table showing the relationship between FOV and Lens Focal Length (mm).
    Remember to disable this before taking pictures, or it will show in them.
  • View angle: In real-world terms, this is a Zoom feature. This will change the field of view in your viewer window. It is the same as hitting Ctrl+0 or Ctrl+8.
    NOTE: This will not function if you have flycam enabled (3D SpaceNavigator).
  • FOV (Field of View): This tells the viewer what FOV you would like to simulate for the DOF effect. Higher values will produce a more narrow depth of field.
  • f-number: Controls maximum screen radius from which to sample from. In real world terms this is the aperture setting for the lens and the lower the value the shorter the depth of field will be. The same applies to SL.
  • Foc Length (Focal Length mm): This tells the viewer what Focal Length/Lens Length to simulate for the DOF effect. Higher numbers produce a narrower depth of field.
  • Foc Time (Focus Time): This sets the time in seconds it take to the viewer to change focus from one object.
  • CoC (Circle of Confusion): This is an important setting. It determines the strength of the blur itself. It does not change the depth of field, it adjusts how much those objects outside of it will be blurry. (This number can be negative, for some “odd” effects.)
  • Resolution: This determines the quality of the DOF Effect. For non-photography uses '.25' is good. For setting up shots '.50' or '.70' is very nice. For shooting quality images '1.00' is best. Note that High values will slow down your FPS.
  • Aspect Ratio: This is supposed to be aspect ratio of the camera you're modelling. For example, a 35mm camera has an aspect ratio of 3:2 (1.5). Second Life will use this as a frame of reference for how field of view and focal length must be adjusted depending on window size.
    Apparently, this currently has no effect.

Glow Settings

  • Quality: This will determine the quality of the glow effect, higher is better. There is little visual difference between 8 and 10.
  • Iterations: The basic setting for how strong the glow will be. Equivalent to PreferencesGraphics -> Rendering→ Render Glow - Strength.
  • Strength: Additive strength of glow. Very low values are needed to see this effect. Start low.
  • Luminance: Minimum luminance intensity necessary to consider an object bright enough to automatically glow.
  • Warmth: Amount of warmth extraction to use (versus luminance extraction). 0 = lum, 1.0 = warmth.
    Often has little or no effect.
  • Width: Glow sample size. Higher = wider and softer glow, but eventually it will become more pixelated.
  • Alpha: Basically how bright the glow is allowed to get.

Gen (General Render Settings)

Phototools - General Rendering

Many of these settings are also available via PreferencesGraphics -> General.

  • Draw Dist.: This sets the furthest distance the viewer will draw anything. High values will slow your FPS.
  • Avi Count: Maximum number of non-impostor avatars to render in a scene. Very helpful for situations where many avatars are slowing your FPS.
  • Avi Detail: Sets the render quality of the avatars. Higher is better quality.
  • Avi Physics: Controls level of detail of avatar physics (such as chest physics). Higher is better.
  • Particle Cnt.: Sets the maximum number of particles to render.
  • Terr. Scale: Sets the quality of the default Linden Labs ground (terrain) texture. Requires a restart if changed.
  • Terrain Qal: Sets the quality of terrain. High numbers mean more detailed terrain in the distance.
  • Obj. Detail: Controls the detail of prims. Higher values produce greater detail for objects.
  • Flexiprims: Controls level of detail of flexible objects. Higher means more detail.
  • Tree Detail: Controls level of detail of vegetation. Higher numbers produce greater detail.
  • Sky Detail: Controls vertex detail on the WindLight sky. Lower numbers will give better performance and less than lovely skies.
  • Vig. Amount: Amount of vignette to apply. Please refer to this page for more info on the vignette feature.
  • Vig. Power: Power of the vignette.
  • Vig. Multiply: Multiply factor.
  • Enable Draw Distance: If you disable this feature, the viewer will render past your set draw distance, but only if you then reduce draw distance. In other words, this setting will not provide limitless draw distance.(For example, set draw distance to 96, and move your cam upward so you have a long view. Wait for everything to rez in. Uncheck “Enable Draw distance”. Wait. Observe no change. Now set draw distance to 128, more items rez in, to about 128m. Once everything has rezzed in, set draw distance back to 96. Note there is no change to what you can see; items further away are still visible. Now uncheck “Enable draw distance”. Items beyond 96 now vanish.)
  • Dynamically adjust level of detail: This enables the feature that allows the viewer to dynamically adjust the level of detail in scene as you move further away from objects. It helps improve performance, it also can reduce the quality of the objects in the scene.
  • Render only Objects Visible to the Camera: This allows the viewer only to process/draw those objects that are within the camera field of view and not hidden behind anything else. Usually this is a performance booster. Sometimes it can actually reduce performance especially when the scene/sim has few objects. Toggle to see if it helps or not.
  • Anisotropic Filtering: Enables anisotropic filtering to improve texture quality. This setting may reduce your viewer's performance. For more information see this wikipedia page.
  • Render Particles Attached to other Avatars: Enables the viewer to render any and all particles attached to/coming from other avatars.
  • Anti-aliasing: Determines how sharp and smooth the edges of objects will be. On top level graphics cards, higher values have virtually no performance impact. On lower graphics cards, higher values can slow performance significantly.
  • Texture Bumpiness: Controls the strength and resolution of normal and bump maps. You must toggle to check box below for changes to take effect.

(Interface) Aids

Phototools - Aids

Interface Aids

The settings here are, as the name suggests, user interface aids. Some of the options are normally only accessible via the Advanced or Develop menus.

  • Show Bounding Boxed for All Lights in Scene: Displays colored bounding boxes around all objects in your view which emit light.
  • Show Light Radius for Selected Light(s): If you enable this, and then edit one or more objects which emit light, an orange shpere will show, indicating the radius for the light(s).
  • Show Bounding Boxes for Objects in the Scene: Displays colored bounding boxes around all objects in your view.
  • Show the Statistics Bar: Opens the Stats bar, where you can get detailed info about viewer and region performance.
  • Show Detailed Camera Position Data: Display camera info in the lower right of the screen, in white text.
  • Show Detail Texture Loading Information: Shows details about texture load and texture memory use, in the upper portion of the screen.
  • Show RGB-I Color Values Under Cursor: Displays the Red, Green, Blue and Alpha values for whatever is under your mouse cursor. Note that the color of the light affects the color of objects; if you are trying to match colors, make sure you sure a pure white WL setting.
  • Hightlight Transparent Objects in Red: Any objects with transparency will be highlighted. Can also be activated with Ctrl-Alt-T.
  • Show the Scene as Wireframe: Switches the view to wireframe display mode; disable to switch back.
  • Show the HUD attached to your avatar: If this is disabled, any worn HUDs will not be visible. Useful for doing screen capture.
  • Slow-mo Your Avatar: Makes your movements go in slow motion (visible to you only).
  • Force Appearance Update: Rebakes your avatar; useful in cases of bake fail.
  • Set Window Viewer Size: Change the size of the viewer window.
  • Show Debug Settings Menu: Opens the Debug Settings window.

Quick Stats

This portion of the window gives a partial view of rendering statstics. It is a subset of the information shown in the Stats bar.

  • Frames Per Second:The number of times per second your computer is redrawing (or refreshing) what's on the screen. Higher values mean a smoother experience.
  • Bandwidth: How much data is being transferred between your computer and the Second Life world. This number varies wildly depending on what bandwidth settings you've used, where you are inworld, what's going on, and whether you're still loading some things (objects/textures/etc) that are in your field of view. If bandwidth is 0kbps, something may be wrong (you may be partially disconnected).
  • KTris Drawn per Frame: Computer-generated 3D objects are built out of triangles (the basic geometric shape). This is a count of the number of triangles, or “tris”, in each frame of the current scene.
  • KTris Drawn per Sec: This is a count of the number of triangles ('tris') drawn every second.
  • Total Objects: The number of objects currently in view, which includes: prims, avatars, terrain patches, trees, particle groups, and water patches.
  • New Objects: The number of objects being downloaded per second.
  • Texture Count: The number of unique textures loaded by the viewer.

Cam

Phototools - Camera

Many of the settings here duplicate those found in the Phototools Camera window. However, there are also some here which are not present in that window.

3D Mouse (Joystick) Settings

Some of the more requently needed settings from the Joytsick settings window, accessed from PreferencesMove & View -> Movement.

  • Left/Right: Adjusts the sensitivity of the Left/Right movement. If you find it difficult to move with precision, use lower scale values.
  • Up/Down: Adjusts the sensitivity of the Up/Down movement.
  • In/Out: Adjusts the sensitivity of the In/Out movement.
  • Pitch: Adjusts the sensitivity of the Tilt movement.
  • Yaw: Adjusts the sensitivity of the Spin movement.
  • Roll: Adjusts the sensitivity of the Roll movement.
  • Zoom Speed: Adjusts the sensitivity of the Zoom speed.
  • Feathering: Setting the slider all the way to the right will make the camera very rigid, giving complete control to the joystick. Setting the slider all the way to the left will make the camera very fluid like the camera weighs a lot; good for fly-by shots, not good for framing.
  • Zoom Axis Mapping: Controls which mouse axis the zooming function is mapped to (set to work with).
  • Enable 3D Mouse: This turns on the 3D Mouse.
  • Enable Zoom Control: In order for the zooming control to work, you must set the 'Zoom Mapping' above to '4'.
  • Enable Auto Levelling: When enabled, the camera will always remain level.
  • Use the 3D Mouse to move the avatar: The mouse will move your avatar.
  • Use the 3D Mouse to move objects (building): Uses the 3D mouse to move objects when building and editing.
  • Show the Current FOV of Viewer Screen: This will show you the vertical field of view for the camera. In SL is possible to change the lens length just like in RL. The smaller the FOV the longer the camera lens. A 50mm lens has a FOV of 27.0 degrees. To adjust the FOV use the zoom slider bar below.
    Please see here for a table showing the relationship between FOV and Lens Focal Length (mm).
    Rember to disable this before taking pictures, or it will show in them.
  • Show Detailed Camera Position Data: Display camera info in the lower right of the screen, in white text.

Viewer Camera Menu Settings

This tab is, in turn, divided into 3 sub tabs, as follows:

Camera Movement
  • View Angle: In real world terms this is a Zoom feature. This will change the field of view in you viewer window. It is the same as hitting Ctrl + 0 or Ctrl+8.
    NOTE: This will not function if you have flycam enabled (3D SpacenNavigator).
  • Zoom Speed: Controls how fast/slow the camera will zoom in and out. Higher values produce slower and smother zoom.
  • Camera Lag: Amount camera lags behind avatar motion (0 = none, 30 = avatar velocity).
  • Camera Offset: Controls how far the camera is offset/distance from the default point of view.
  • Cam. Smoothing: Controls how smoothly the camera starts and stops. Higher values produce smoother (and somewhat slower) movement.
Mouse
  • Mouse Sensitivity: Controls responsiveness of mouse when in mouselook mode.
  • Display avatar & attachments in mouselook: Display avatar and attachments below neck while in mouselook. Default is OFF.
  • Smooth Mouselook Movements: Smooths out motion of mouse when in mouselook mode.
Misc Settings
  • Clicking your avatar keeps camera position: Normally, clicking on your avatar resets the camera position. This option removes this behavior.
  • Reset camera position after teleport: Normally, the camera position gets reset when teleporting (within a region). This option prevents this behavior.
  • Disable minimum camera zoom distance: Disable the constraint on the closest distance the camera is allowed to get to an object.
  • Allow the camera to move w/o constraints: Ignores the 'push' the simulator applies to your camera to keep it out of objects.
    Requires a restart to take effect.
  • Reset camera position on avatar movement: If this is disabled and you move your avatar, the camera will not follow it.


See this page for documentation on Firestorm 6.3.9 and earlier.

fs_debug_account - [Table]

$
0
0

Firestorm Debug Settings - Per Account

These settings are separate for each account logging in with Firestorm.

Please do not alter debug settings unless you know what you are doing. If the viewer “breaks”, you own both parts.

Some settings may have side effects, and if you forget what you changed, the only way to revert to the default behavior might be to manually clear all settings.
Also note that the settings given here are outdated; newer settings are not listed.
Information current for Firestorm 5.0.11
Setting Default Description
AnimationUploadFolder All animation uploads will be stored in this directory (UUID)
AvatarHoverOffsetZ 0.0 After-everything-else fixup for avatar Z position.
AvatarHoverOffsetStepSize 0.05 Specifies the increment by which Hover Height will change when the /zoffset_up and /zoffset_down commands are used (refer to Preferences: Chat Tab).
BridgeIntegrationLM 1 Allow LockMeister protocol to enable or disable built in AO. Client LSL Bridge needs to be enabled.
BridgeIntegrationOC 1 Allow OpenCollar protocol to enable or disable built in AO. Client LSL Bridge needs to be enabled.
ConversationsExpandMessagePaneFirst 1 Expand either messages or conversations list pane from Conversations compact mode.
ConversationsListPaneCollapsed 0 Stores the expanded/collapsed state of the conversations list pane in Conversations floater.
ConversationsListPaneWidth 205 Conversations floater list pane width.
ConversationsMessagePaneCollapsed 0 Stores the expanded/collapsed state of Conversations floater message pane.
ConversationsMessagePaneWidth 412 Conversations floater message pane width.
ConversationsParticipantListCollapsed 1 Stores the expanded/collapsed state of Nearby chat participant list
DebugLookAt 0 Show Debug LookAt targets
DebugLookAtHideOwn 1 Don't show own LookAt target with DebugLookAt
DoNotDisturbModeResponse This resident has turned on 'Do Not Disturb' and will see your message later. Auto response to instant messages while in do not disturb mode.
DoNotDisturbResponseChanged 0 Does user's do not disturb mode message differ from default?
ExodusFlickrFullName Flickr Username
ExodusFlickrNSID Flickr User ID
ExodusFlickrToken Flickr OAuth Token
ExodusFlickrTokenSecret Flickr OAuth Token Secret
ExodusFlickrUsername Flickr Username
floater_rect_animation_overrider_full 0, 0, 0, 0 Position and size for the full Animation Overrider interface. The defaults are just dummy values.
FSAutoResponseChanged 0 Does user's auto response mode message differ from default?
FSAutoResponseNonFriendsChanged 0 Does user's auto response to non-friends mode message differ from default?
FSAutorespondMode 0 Has the user selected autorespond mode?
FSAutorespondModeResponse The Resident you messaged has activated Firestorm viewer's 'autorespond mode' which means they have requested not to be disturbed. Your message will still be shown in their IM panel for later viewing. Auto response to instant messages while in autorespond mode.
FSAutorespondNonFriendsMode 0 Has the user selected autorespond mode for those who aren't in the friends list?
FSAutorespondNonFriendsResponse The Resident you messaged has activated Firestorm viewer's 'autorespond mode' which means they have requested not to be disturbed. Your message will still be shown in their IM panel for later viewing. Auto response to instant messages from non-friends while in autorespond to non-friends mode.
FSAutoresponseItemUUID UUID of the inventory item that is sent as part of an auto-response message
FSAwayAvatarResponse The Resident you messaged is currently away from keyboard. Your message will still be shown in their IM panel for later viewing. Auto response to instant messages from all avatars while in away mode.
FSAwayAvatarResponseChanged 0 Does user's away response message differ from default?
FSBuildPrefs_EmbedItem 0 New object created default of adding content
FSBuildPrefs_Item Item UUID to add to the contents of the new object created
FSCrouchToggle 0 Enables using the crouch key as a toggle.
FSCrouchToggleStatus 0 Status of crouch toggle.
FSDontRejectTeleportOffersFromFriends 0 Don't reject teleport offers and requests from friends.
FSKeywordCaseSensitive 0 Keywords are case-sensitive
FSKeywordChangeColor 0 change message color if keyword found
FSKeywordColor 1.0, 0.600000023842, 0.0, 1.0 Color of keyword detects messages
FSKeywordInChat 0 Look for keywords in local chat
FSKeywordInIM 0 Look for keywords in IMs and group chats
FSKeywordMatchWholeWords 0 Keywords will only match whole words
FSKeywordOn 0 Turns on keyword alerts
FSKeywordSpeakersName 0 Look for Keywords in the names of speakers
FSKeywords Comma seperated list of keywords
FSLastNotificationsTab 0 Stores the last selected tab in the notifications list floater
FSMutedAvatarResponse The Resident you messaged has blocked you from sending them any messages. Auto response to instant messages from avatars this account's muted.
FSMutedAvatarResponseChanged 0 Does user's muted avatar response message differ from default?
FSRejectAllGroupInvitesMode 0 Has the user selected reject all group invites mode?
FSRejectFriendshipRequestsMode 0 Has the user selected reject all friendship requests mode?
FSRejectFriendshipRequestsResponse The Resident you messaged has activated Firestorm viewer's 'reject all friendship requests mode' which means they have requested not to be disturbed with friendship requests. You may still send an IM message manually. Auto response to instant messages from all avatars while in reject all friendship requests mode.
FSRejectFriendshipRequestsResponseChanged 0 Does user's reject friendship requests response message differ from default?
FSRejectTeleportOffersMode 0 Has the user selected reject all teleport offers and requests mode?
FSRejectTeleportOffersResponse The Resident you messaged has activated Firestorm viewer's 'reject all teleport offers and requests mode' which means they have requested not to be disturbed with teleport offers and requests. You may still send an IM message manually. Auto response to instant messages from all avatars while in reject all teleport offers and requests mode.
FSRejectTeleportOffersResponseChanged 0 Does user's reject teleport offers and requests response message differ from default?
FSRenderFriendsOnly 0 If enabled, only avatars on your friend list will be rendered.
FSRenderFriendsOnlyPersistsTP 0 If enabled, Render Only Friends will persist across TPs. Default (false)
FSSendAwayAvatarResponse 0 Has the user checked 'send autoresponse when in AWAY mode'?
FSSendMutedAvatarResponse 0 True if the user wants to send a special autoresponse to muted avatars
FSShowOnlyActiveGestures 0 Show only active gestures in the gestures floater
FSStaticEyes 0 Disables built in random eye moment on own avatar via animation defined at FSStaticEyesUUID.
FSStoredCameraFocus 0.0, 0.0, 0.0 Stored camera focus position in camera tools
FSStoredCameraFocusObjectId Stored object ID of camera focus in camera tools
FSStoredCameraPos 0.0, 0.0, 0.0 Stored camera position in camera tools
FSllOwnerSayToScriptDebugWindow 0 Show llOwnerSays in script debug window instead of local chat
FirestormTagColor 1.0, 0.0, 0.0, 1.0 The tag color you wish to have.
GlobalOnlineStatusToggle 1 Saves the state of global online status permission for friends
InstantMessageLogPath Path to your log files.
InventoryInboxHeight 200 Inventory inbox panel height in Inventory floater.
InventoryInboxToggleState 0 Stores the open/closed state of inventory Received Items panel.
KeepConversationLogTranscripts 2 Keep a conversation log and transcripts
LastInventoryInboxActivity 0 The last time the received items inbox was poked by the user.
LastLogoff 0 Last logoff
LastPostcardRecipient Last recipient of postcard
layout_size_chat_bar_stack 400, 600 Fractional size for layout panel chat_bar_stack
LogChat 0 Obsolete - this setting is no longer used and has no effect.
LogChatIM 0 Obsolete - this setting is no longer used and has no effect.
LogChatTimestamp 0 Obsolete - this setting is no longer used and has no effect.
LogFileNamewithDate 0 Add Date Stamp to chat and IM Logs with format chat-YYYY-MM-DD and 'IM file name'-YYYY-MM.
LogInstantMessages 1 (DEPRECATED) Only used for restoring settings!!! Use KeepConversationLogTranscripts
LogNearbyChat 0 Log Nearby Chat messages to a file. Is used instead of LogChat but with the “1” default value.
LogShowHistory 1 Log Show History
LogTimestamp 1 Log Timestamp
LogTimestampDate 1 Include Date with Timestamp
ModelUploadFolder All model uploads will be stored in this directory (UUID)
NavigationBarRatio 0.6 The ratio between the width of Navigation layout panel and the width of whole Navigation layout stack
NearbyChatIsNotCollapsed 0 Saving expanded/collapsed state of the nearby chat between sessions
NearbyChatIsNotTornOff 1 saving torn-off state of the nearby chat between sessions
PlayModeUISndFSKeywordSound 0 Play a sound when a keyword is found.
PreviousScreenshotForReport 0 Use Previous Screenshot for Abuse report
ProtectAOFolders 1 Keep the AO folders in Inventory safe from manual changes.
ProtectBridgeFolder 1 Keep the Bridge folder in Inventory safe from manual changes.
ProtectWearableFavoritesFolders 1 Keep the Wearable Favorites folder in Inventory safe from manual changes.
RLVaLoginLastLocation Determines whether the next login will be forced to the last logoff location (set by the viewer)
RelockMoveLockAfterMovement 0 If movelock built-in into LSL Bridge is active, then lock and unlock position after stopping or starting movement
ShowFavoritesOnLogin 1 Determines whether favorites of last logged in user will be saved on exit from viewer and shown on login screen
SoundUploadFolder All sound uploads will be stored in this directory (UUID)
TextureUploadFolder All image(texture) uploads will be stored in this directory (UUID)
TranslatingEnabled 0 Translation prefs are set
UISndFSKeywordSound a3f48b85-c29f-1f97-ebb6-644b7c053512 UUID of sound to play on keyword alert.
UseAO 0 Use the viewer side Animation Overrider
UseFullAOInterface 0 Use the full Animation Overrider interface (TRUE) or the small, reduced interface (FALSE).
UseLSLFlightAssist 0.0 Use the client LSL bridge for flight boost - boost power: 0.0 (disabled), 1.0 (low), 3.0 (standard), 5.0 (high).
UseMoveLock 0 Use the client LSL Bridge for movelock
VoiceEffectDefault 00000000-0000-0000-0000-000000000000 Selected Voice Morph

fs_eep_beta_downloads

$
0
0

Firestorm Beta EEP!

Firestorm Beta 6.4.5 (60799) EEP! Release for Second Life

Firestorm 6.4.5 (60799) Prerelease Notes

“n/a” in the table below means “not available”; see the boxed note above.

Windows

Version32/64-bitGridsHavokLevel of SupportDownload
Windows
64-bit
64-bit only SL only Beta Release Firestorm Beta 6.4.5.60799 64 bit Windows Setup.exe
MD5 Checksum: B06A3408ADA6EAFC0858D6736C1BAD14
Windows
32-bit
32 and 64 SL only Beta Release Firestorm Beta 6.4.5.60799 32 bit Windows setup.exe
MD5 Checksum: FBECEFF58D23E82F99EDDB7F0CB8D8BC

Mac

Version32/64-bitGridsHavokLevel of SupportDownload
Mac
64-bit
64-bit only SL only Beta Release Firestorm Beta 6.4.5.60799 64 bit Intel Mac.dmg
MD5 Checksum: 902CDEB30F5E94E436B0189FD86A3D1D

Linux

Version32/64-bitGridsHavokLevel of SupportDownload
Linux
64-bit
64-bit only SL only Beta Release Firestorm Beta 6.4.5.60799 64 bit Linux.tar.bz2
MD5 Checksum: A81C456113DE1FD2BA4FB52671DDED42

Firestorm Beta 6.4.5 (60799) EEP! Release for Opensim

OpenSim versions of Firestorm do not have Havok. That only matters if you're uploading mesh objects and need to specify the mesh physics properties, or if you need to manipulate the region navmesh for pathfinding. The terms of the Havok license prohibit its use anywhere but Second Life, so it's not present in OpenSim versions.
In order to be able to login to grids other than Second Life, you need to enable a setting. From the login screen, go to
Viewer Menu → Preferences → Advanced → Allow login to other grids. Also see Grid Selector

Firestorm 6.4.5 (60799) Prerelease Notes

“n/a” in the table below means “not available”; see the boxed note above.

Windows

Version32/64-bitGridsHavokLevel of SupportDownload
Windows
64-bit OpenSim
64-bit only OpenSim only Beta Release Firestorm Beta 6.4.5.60799OS 64 bit Windows Setup.exe
MD5 Checksum: 7DB2260E1FD032E09621CF4BA7929F49
Windows
32-bit OpenSim
32 and 64 OpenSim only Betal Release Firestorm Beta 6.4.5.60799OS 32 bit Windows setup.exe
MD5 Checksum: DBD151F4AE1D09EF145AB4E4C9D25D31

Mac

Version32/64-bitGridsHavokLevel of SupportDownload
Mac
64-bit OpenSim
64-bit only OpenSim only Beta Release Firestorm Beta 6.4.5.60799OS 64 bit Intel Mac.dmg
MD5 Checksum: EDB8757B3A2346EA77DF207E8EB66497

Linux

Version32/64-bitGridsHavokLevel of SupportDownload
Linux
64-bit OpenSim
64-bit only OpenSim Only Beta Release Firestorm Beta 6.4.5.60799OS 64 bit Linux.tar.bz2
MD5 Checksum: A3374C370646BDC36B7079DB347375CA

archive:fs_compiling_firestorm - created

$
0
0
Links on this page point to procedures for older, outdated or unsupported versions of Linux.
Please note that we do not offer support for compiling the viewer on your own. However, there is a self-compilers group in Second Life that can be joined to ask questions related to compiling the viewer: Firestorm Self Compilers

Compiling Firestorm Viewer

archive:fs_compiling_firestorm_64bit_debian_8 - ↷ Page moved from ...

$
0
0

Building Firestorm in 64-bit Debian Jessie

There is no official support for compiling or operating self-compiled viewers. There may be unofficial support as listed at the bottom of this page.
These instructions only apply to Firestorm version 5.1 and above.

This procedure is used for building a 64-bit viewer on 64-bit Debian systems and was tested and verified on Debian 8.11. This procedure assumes that your system has been properly updated.

This procedure may not work on older versions of Debian, nor has it been tested on any other version of Debian or any other distribution/variant/derivative.

The build process requires at least 4GB RAM with swap, a modern dual-core CPU and 32GB available HDD space. Recommded 8GB or more RAM, quad-core CPU and 32GB available HDD space.

Establish your programming environment

This is needed for compiling any viewer based on the LL open source code and only needs to be done once.

Install Required Tools

The required tools, some of which may already be installed, are:

make | g++ | gdb | mercurial (for hg) | python2.7 | python-pip

sudo apt-get upgrade # to make sure all installed packages are current
sudo apt-get install --install-recommends make g++ gdb mercurial python2.7 python-pip

(the –install-recommends flag tells apt-get to install all packages recommended by each named package.)

Do not install cmake from the repositories, Debian 8 comes with too old of a version, we will be downloading and installing a newer version from cmake's website.

Install Required Libraries

These libraries may be included with your distribution, and some may already be installed:

libGL.so (libgl1-mesa-dev) LibGLU.so (libglu1-mesa-dev) libstdc++.so.6 (libstdc++6)
libX11.so (libx11-dev) libxinerama-dev libxml2.so (libxml2-dev) libXrender.so (libxrender-dev)
sudo apt-get install --install-recommends libgl1-mesa-dev libglu1-mesa-dev libstdc++6 libx11-dev libxinerama-dev libxml2-dev libxrender-dev

Install Autobuild

Autobuild is a Linden Lab resource that does all the hard work. Firestorm 5.1 uses a stock, unmodified version of autobuild from Linden Lab, version 1.1 or above.

sudo pip install --upgrade pip
sudo pip install autobuild

This will install autobuild and add a link in the exec path.

Set up your source code tree

Plan your directory structure ahead of time. If you are going to be producing changes or patches you will be cloning a copy of an unaltered source code tree for every change or patch you make, so you might want to have all this work stored in its own directory. If you are a casual compiler and won't be producing any changes, you can use one directory. For this document, I will assume ~/src.

cd ~/src

There are several repositories but the one wea re after is the development repository. You can grab all the sources if you wish, but but keep in mind that each FS source requires around 110MB initially and around 4.3GB after the binaries have been built, plus possible compiling overhead.

hg clone https://hg.firestormviewer.org/phoenix-firestorm-lgpl

It will create a folder called phoenix-firestorm-lgpl. You can optionally add a folder name to the end of the hg clone command and it will use that as the destination directory name:

hg clone https://hg.firestormviewer.org/phoenix-firestorm-lgpl firestorm-source

The rest of this document will assume the default directory, phoenix-firestorm-lgpl

This can take a bit, it's a rather large download. On a slow network, it may fail, and this script can help mitigate the issue:

pull_in_chunks.sh
#!/bin/bash
 
cd ~/src
hg clone -r 10000 https://hg.firestormviewer.org/phoenix-firestorm-lgpl
cd phoenix-firestorm-lgpl
for i in {15000..40000..5000}
do
	echo "Grabbing to change $i"
	hg pull -u -r $i
done
echo "Grabbing to tip"
hg pull -u
cd ~/src

Set up autobuild build variables

Autobuild 1.1 uses a separate file to control compiler options, switches, and the like for different configurations. Ansariel Hiller maintains a Firestorm-specific version of this file and an associated convenience script. You will want to put this near your source code tree. The rest of these instructions will assume you put it in the source tree at the same level as your main source repository, using the default name.

cd ~src
hg clone https://hg.firestormviewer.org/fs-build-variables/

Downloading cmake

Because Debian 8 comes with cmake version 3.0 and cmake 3.8 is the minimum needed to build the viewer, we will download the prebuilt version of cmake 3.15.3.

cd ~src
wget https://github.com/Kitware/CMake/releases/download/v3.15.3/cmake-3.15.3-Linux-x86_64.tar.gz
tar xf cmake-3.15.3-Linux-x86_64.tar.gz
PATH=$PATH:~/src/cmake-3.15.3-Linux-x86_64/bin/
export PATH

Preparing to configure and build

Autobuild 1.1 uses a series of environment variables to control the build process. The fs-build-variables reposirory includes a convenience script to set them. You will need to perform this step in any new shell window that you are going to run autobuild in.

cd ~/src/phoenix-firestorm-lgpl
export AUTOBUILD_VARIABLES_FILE=$HOME/src/fs-build-variables/variables

Configuring the Viewer

Unlike previous versions of autobuild, version 1.1 requires the address size switch (-A) after the command, not before it. If you want a 32-bit build, you must specify that; there is no longer a default.

cd ~/src/phoenix-firestorm-lgpl
autobuild configure -A 64 -c ReleaseFS_open

This will set up to compile with all defaults and without non-default libraries. It will fetch any additional necessary libraries.

Configuration Switches

There are a number of switches you can use to modify the configuration process. The name of each switch is followed by its type and then by the value you want to set.

  • LL_TESTS (bool) controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or
    more of them.
  • clean will cause autobuild to remove any previously compiled objects and fetched packages. It can be useful if you need to force a reload of all packages
  • package will result in a bzip2 archive of the completed viewer. Enabled by default, you would have to use -DPACKAGE:BOOL=Off to disable it

TIP: OFF and NO are the same as FALSE; anything else is considered to be TRUE

Examples:

autobuild configure -A 64 -c ReleaseFS_open -- --clean -DLL_TESTS:BOOL=FALSE
autobuild configure -A 64 -c ReleaseFS_open -- --clean
autobuild configure -A 64 -c ReleaseFS_open -- --chan="MyBuild"

In the last example, the channel and resulting viewer name would be “Firestorm-MyBuild”.

The first time you configure, several additional files will be downloaded from Firestorm and Second Life sources. These are mostly binary packages maintained outisde the viewer development itself. And if you use the –clean switch, you will re-download them all.

Compiling the Viewer

autobuild build -A 64 -c ReleaseFS_open

Now, sit back, read War and Peace, calculate PI to 50 places, tour the country, whatever you desire. Compiling can take quite a bit of time depending on your computer's processing power.

NOTE: It is possible to use autobuild to do both the configure step (only needed once) and the build step with one command (autobuild build -A 64 -c ReleaseFS_open [– switches] . For clarity, they are mentioned separately.

Running your newly built viewer

Running from a menu item

Create the desktop launcher

cd ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged/etc
./refresh_desktop_app_entry.sh

Then open your applications menu and look in the Internet or Network branch for the Firestorm launcher.

Running from command line or file browser

cd ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged
./firestorm

"Installing" the viewer

You can copy or move the contents of ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged to another location if you choose, and then launch firestorm from there. Example:

mkdir ~/Firestorm
cp -a ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged/* ~/Firestorm
cd ~/Firestorm
./firestorm # or etc/refresh_desktop_app_entry.sh to create a desktop launcher

Troubleshooting

Handling problems

If you encounter errors or run into problems, please first double check that you followed the steps correctly. One typo can break it. Then, check whether someone else already had the same issue. A solution might be known already.

  • IRC: The #phoenixviewer-dev channel is the best place to look for solutions.
    A lot of self-compilers and project developers hang out there and are ready to help you.
  • Jira:JIRA may contain resolved tickets.
    Search using the error you encountered.
  • Included documentation: In the Firestorm root folder are several “README” documents. You should make yourself familiar with their content, even if they appear to be out of date.

If you found a procedural error in this document, please let us know in as much detail as you can, either contact the author (preferred) or discuss on IRC.

Common Issues/Bugs/Glitches And Solutions

  • Missing libraries/applications/packages This may occur if you did not or could not install the listed packages. The packages do exist in the default Debian repositories, so make sure you did not disable those. If you find that a library or application is in a different package for your system, contact the team with the name of the library or application, the name of its package and your Linux OS so that information can be checked and added here.
  • Delayed sounds Some users have noted that OpenAL plays sounds from the viewer up to 20 seconds after they are triggered. There is no solution to this via the viewer, but there may be some solutions on the Internet
  • No Sounds The viewer will try to use whatever sound service you have running, but might need a little coaxing. Read through the firestorm script inside the program folder, you will find various commended options. Uncommenting one or more may help restore sound.
  • Voice Won't Connect It was observed in testing that voice would not connect unless “No Device” was chosen for the Input device (Preferences ⇒ Sound & Media ⇒ Voice ⇒ Audio Device Settings). This was resolved by replacing Firestorm/lib/libvivoxal.so.1 with a copy from release.

archive:fs_compiling_firestorm_64bit_debian_9 - ↷ Page moved from ...

$
0
0
The current viewer codebase includes AlexIvy components from Linden Lab. This code does not compile in Linux. Developers are working on the code to make it compile correctly. New procedures will be published

Building Firestorm in 64-bit Debian Stretch

There is no official support for compiling or operating self-compiled viewers. There may be unofficial support as listed at the bottom of this page.

This procedure is used for building a 64-bit viewer on 64-bit Debian systems and was tested and verified on Debian 9.3. This procedure assumes that your system has been properly updated.

This procedure may not work on older versions of Debian, nor has it been tested on any other version of Debian or any other distribution/variant/derivative.

The build process requires at least 4GB RAM with swap, a modern dual-core CPU and 32GB available HDD space. Recommded 8GB or more RAM, quad-core CPU and 32GB available HDD space.

Establish your programming environment

This is needed for compiling any viewer based on the LL open source code and only needs to be done once.

Add Jessie Repo

Firestorm requires version 4.9 or 4.8 of the gcc/g++ compiler. This is not available in Debian 9's default repositories, so we need to add a Jessie repo.

sudo echo "deb http://ftp.us.debian.org/debian/ jessie main" >> /etc/apt/sources.list
sudo apt update

Install Required Tools

The required tools, some of which may already be installed, are:

bison bzip2 cmake curl flex g++ gdb m4 (for make) mercurial (for hg) moreutils (for additional build tools python python-dev python-pip
sudo apt-get upgrade # to make sure all installed packages are current
sudo apt-get install --install-recommends moreutils bison bzip2 cmake curl doxygen flex g++-4.9 gdb m4 mercurial python python-pip

(the –install-recommends flag tells apt-get to install all packages recommended by each named package.)

The build environment need to know to use gcc 4.9:

sudo update-alternatives --remove-all gcc
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 49 \
--slave /usr/bin/g++ g++ /usr/bin/g++-4.9 \
--slave /usr/bin/gcov gcov /usr/bin/gcov-4.9
sudo update-alternatives --config gcc

Note that this will “hide” the current gcc from the build environment, so you will want to add it as an alternative, then use the “update-alternatives –config gcc” command to switch versions as needed.

Install Required Libraries

These libraries may be included with your distribution, and some may already be installed:

libGL.so (libgl1-mesa-dev) LibGLU.so (libglu1-mesa-dev) libstdc++.so.6 (libstdc++6)
libX11.so (libx11-dev) libxinerama-dev libxml2.so (libxml2-dev) libXrender.so (libxrender-dev)
sudo apt-get install --install-recommends libgl1-mesa-dev libglu1-mesa-dev libstdc++6 libx11-dev libxinerama-dev libxml2-dev libxrender-dev

Install Autobuild

Autobuild is a Linden Lab resource that does all the hard work. The 64-bit version requires a modified autobuild package, which our Nicky Djasmin has provided.

pip install --upgrade pip
pip install llbase
pip install hg+https://bitbucket.org/NickyD/autobuild-1.0#egg=autobuild

This will install autobuild and add a link in the exec path

Set up your source code tree

Plan your directory structure ahead of time. If you are going to be producing changes or patches you will be cloning a copy of an unaltered source code tree for every change or patch you make, so you might want to have all this work stored in its own directory. If you are a casual compiler and won't be producing any changes, you can use one directory. For this document, I will assume ~/src.

cd ~/src

There are several repositories but the one wea re after is the development repository. You can grab all the sources if you wish, but but keep in mind that each FS source requires around 110MB initially and around 4.3GB after the binaries have been built, plus possible compiling overhead.

hg clone https://hg.firestormviewer.org/phoenix-firestorm-lgpl

It will create a folder called phoenix-firestorm-lgpl. You can optionally add a folder name to the end of the hg clone command and it will use that as the destination directory name:

hg clone https://hg.firestormviewer.org/phoenix-firestorm-lgpl firestorm-source

The rest of this document will assume the default directory, phoenix-firestorm-lgpl

This can take a bit, it's a rather large download. On a slow network, it may fail, and this script can help mitigate the issue:

pull_in_chunks.sh
#!/bin/bash
 
cd ~/src
hg clone -r 10000 https://hg.firestormviewer.org/phoenix-firestorm-lgpl
cd phoenix-firestorm-lgpl
for i in {15000..40000..5000}
do
	echo "Grabbing to change $i"
	hg pull -u -r $i
done
echo "Grabbing to tip"
hg pull -u
cd ~/src

Configuring the Viewer

cd ~/src/phoenix-firestorm-lgpl
autobuild -m64 configure -c ReleaseFS_open

This will set up to compile with all defaults and without non-default libraries. It will fetch any additional necessary libraries.

Configuration Switches

There are a number of switches you can use to modify the configuration process. The name of each switch is followed by its type and then by the value you want to set.

  • LL_TESTS (bool) controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or
    more of them.
  • clean will cause autobuild to remove any previously compiled objects and fetched packages. It can be useful if you need to force a reload of all packages
  • package will result in a bzip2 archive of the completed viewer. Enabled by default, you would have to use -DPACKAGE:BOOL=Off to disable it

TIP: OFF and NO are the same as FALSE; anything else is considered to be TRUE

Examples:

autobuild -m64 configure -c ReleaseFS_open -- --clean -DLL_TESTS:BOOL=FALSE
autobuild -m64 configure -c ReleaseFS_open -- --clean

The first time you configure, several additional files will be downloaded from Firestorm and Second Life sources. These are mostly binary packages maintained outisde the viewer development itself. And if you use the –clean switch, you will re-download them all.

Compiling the Viewer

autobuild -m64 build -c ReleaseFS_open

Now, sit back, read War and Peace, calculate PI to 50 places, tour the country, whatever you desire. Compiling can take quite a bit of time depending on your computer's processing power.

NOTE: It is possible to use autobuild to do both the configure step (only needed once) and the build step with one command (autobuild -m64 build -c ReleaseFS_open [– switches] . For clarity, they are mentioned separately.

Running your newly built viewer

Running from a menu item

Create the desktop launcher

cd ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged/etc
./refresh_desktop_app_entry.sh

Then open your applications menu and look in the Internet or Network branch for the Firestorm launcher.

Running from command line or file browser

cd ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged
./firestorm

"Installing" the viewer

You can copy or move the contents of ~/src/phoenix-firestorm-lgpl/build-linux-i686/newview/packaged to another location if you choose, and then launch firestorm from there. Example:

mkdir ~/Firestorm
cp -a ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged/* ~/Firestorm
cd ~/Firestorm
./firestorm # or etc/refresh_desktop_app_entry.sh to create a desktop launcher

Troubleshooting

Handling problems

If you encounter errors or run into problems, please first double check that you followed the steps correctly. One typo can break it. Then, check whether someone else already had the same issue. A solution might be known already.

  • IRC: The #phoenixviewer-dev channel is the best place to look for solutions.
    A lot of self-compilers and project developers hang out there and are ready to help you.
  • Jira:JIRA may contain resolved tickets.
    Search using the error you encountered.
  • Included documentation: In the Firestorm root folder are several “README” documents. You should make yourself familiar with their content, even if they appear to be out of date.

If you found a procedural error in this document, please let us know in as much detail as you can, either contact the author (preferred) or discuss on IRC.

Common Issues/Bugs/Glitches And Solutions

  • Missing libraries/applications/packages This may occur if you did not or could not install the listed packages. The packages do exist in the default Ubuntu repositories, so make sure you did not disable those. If you find that a library or application is in a different package for your system, contact the team with the name of the library or application, the name of its package and your Linux OS so that information can be checked and added here.
  • Delayed sounds Some users have noted that OpenAL plays sounds from the viewer up to 20 seconds after they are triggered. There is no solution to this via the viewer, but there may be some solutions on the Internet
  • No Sounds The viewer will try to use whatever sound service you have running, but might need a little coaxing. Read through the firestorm script inside the program folder, you will find various commended options. Uncommenting one or more may help restore sound.
  • Voice Won't Connect It was observed in testing that voice would not connect unless “No Device” was chosen for the Input device (Preferences ⇒ Sound & Media ⇒ Voice ⇒ Audio Device Settings). This was resolved by replacing Firestorm/lib/libvivoxal.so.1 with a copy from release.

archive:fs_compiling_firestorm_alexivy_debian_9 - ↷ Page moved from ...

$
0
0

Building Firestorm in 64-bit Debian Stretch

There is no official support for compiling or operating self-compiled viewers. There may be unofficial support as listed at the bottom of this page.
These instructions only apply to Firestorm version 5.1 and above. For older versions, please see this page.

This procedure is used for building a 64-bit viewer on 64-bit Debian systems and was tested and verified on Debian 9.3. This procedure assumes that your system has been properly updated.

This procedure may not work on older versions of Debian, nor has it been tested on any other version of Debian or any other distribution/variant/derivative.

The build process requires at least 4GB RAM with swap, a modern dual-core CPU and 32GB available HDD space. Recommded 8GB or more RAM, quad-core CPU and 32GB available HDD space.

Establish your programming environment

This is needed for compiling any viewer based on the LL open source code and only needs to be done once.

Install Required Tools

The required tools, some of which may already be installed, are:

make | cmake | g++ | gdb | mercurial (for hg) | python2.7 | python-pip

sudo apt-get upgrade # to make sure all installed packages are current
sudo apt-get install --install-recommends make cmake g++ gdb mercurial python2.7 python-pip

(the –install-recommends flag tells apt-get to install all packages recommended by each named package.)

Install Required Libraries

These libraries may be included with your distribution, and some may already be installed:

libGL.so (libgl1-mesa-dev) LibGLU.so (libglu1-mesa-dev) libstdc++.so.6 (libstdc++6)
libX11.so (libx11-dev) libxinerama-dev libxml2.so (libxml2-dev) libXrender.so (libxrender-dev)
sudo apt-get install --install-recommends libgl1-mesa-dev libglu1-mesa-dev libstdc++6 libx11-dev libxinerama-dev libxml2-dev libxrender-dev

Install Autobuild

Autobuild is a Linden Lab resource that does all the hard work. Firestorm 5.1 uses a stock, unmodified version of autobuild from Linden Lab, version 1.1 or above.

sudo pip install --upgrade pip
sudo pip install autobuild

This will install autobuild and add a link in the exec path.

Set up your source code tree

Plan your directory structure ahead of time. If you are going to be producing changes or patches you will be cloning a copy of an unaltered source code tree for every change or patch you make, so you might want to have all this work stored in its own directory. If you are a casual compiler and won't be producing any changes, you can use one directory. For this document, I will assume ~/src.

cd ~/src

There are several repositories but the one wea re after is the development repository. You can grab all the sources if you wish, but but keep in mind that each FS source requires around 110MB initially and around 4.3GB after the binaries have been built, plus possible compiling overhead.

hg clone https://hg.firestormviewer.org/phoenix-firestorm-lgpl

It will create a folder called phoenix-firestorm-lgpl. You can optionally add a folder name to the end of the hg clone command and it will use that as the destination directory name:

hg clone https://hg.firestormviewer.org/phoenix-firestorm-lgpl firestorm-source

The rest of this document will assume the default directory, phoenix-firestorm-lgpl

This can take a bit, it's a rather large download. On a slow network, it may fail, and this script can help mitigate the issue:

pull_in_chunks.sh
#!/bin/bash
 
cd ~/src
hg clone -r 10000 https://hg.firestormviewer.org/phoenix-firestorm-lgpl
cd phoenix-firestorm-lgpl
for i in {15000..40000..5000}
do
	echo "Grabbing to change $i"
	hg pull -u -r $i
done
echo "Grabbing to tip"
hg pull -u
cd ~/src

Set up autobuild build variables

Autobuild 1.1 uses a separate file to control compiler options, switches, and the like for different configurations. Ansariel Hiller maintains a Firestorm-specific version of this file and an associated convenience script. You will want to put this near your source code tree. The rest of these instructions will assume you put it in the source tree at the same level as your main source repository, using the default name.

cd ~src
hg clone https://hg.firestormviewer.org/fs-build-variables/

Preparing to configure and build

Autobuild 1.1 uses a series of environment variables to control the build process. The fs-build-variables reposirory includes a convenience script to set them. You will need to perform this step in any new shell window that you are going to run autobuild in.

cd ~/src/phoenix-firestorm-lgpl
export AUTOBUILD_VARIABLES_FILE=$HOME/src/fs-build-variables/variables

Configuring the Viewer

Unlike previous versions of autobuild, version 1.1 requires the address size switch (-A) after the command, not before it. If you want a 32-bit build, you must specify that; there is no longer a default.

cd ~/src/phoenix-firestorm-lgpl
autobuild configure -A 64 -c ReleaseFS_open

This will set up to compile with all defaults and without non-default libraries. It will fetch any additional necessary libraries.

Configuration Switches

There are a number of switches you can use to modify the configuration process. The name of each switch is followed by its type and then by the value you want to set.

  • LL_TESTS (bool) controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or
    more of them.
  • clean will cause autobuild to remove any previously compiled objects and fetched packages. It can be useful if you need to force a reload of all packages
  • package will result in a bzip2 archive of the completed viewer. Enabled by default, you would have to use -DPACKAGE:BOOL=Off to disable it

TIP: OFF and NO are the same as FALSE; anything else is considered to be TRUE

Examples:

autobuild configure -A 64 -c ReleaseFS_open -- --clean -DLL_TESTS:BOOL=FALSE
autobuild configure -A 64 -c ReleaseFS_open -- --clean
autobuild configure -A 64 -c ReleaseFS_open -- --chan="MyBuild"

In the last example, the channel and resulting viewer name would be “Firestorm-MyBuild”.

The first time you configure, several additional files will be downloaded from Firestorm and Second Life sources. These are mostly binary packages maintained outisde the viewer development itself. And if you use the –clean switch, you will re-download them all.

Compiling the Viewer

autobuild build -A 64 -c ReleaseFS_open

Now, sit back, read War and Peace, calculate PI to 50 places, tour the country, whatever you desire. Compiling can take quite a bit of time depending on your computer's processing power.

NOTE: It is possible to use autobuild to do both the configure step (only needed once) and the build step with one command (autobuild build -A 64 -c ReleaseFS_open [– switches] . For clarity, they are mentioned separately.

Running your newly built viewer

Running from a menu item

Create the desktop launcher

cd ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged/etc
./refresh_desktop_app_entry.sh

Then open your applications menu and look in the Internet or Network branch for the Firestorm launcher.

Running from command line or file browser

cd ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged
./firestorm

"Installing" the viewer

You can copy or move the contents of ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged to another location if you choose, and then launch firestorm from there. Example:

mkdir ~/Firestorm
cp -a ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged/* ~/Firestorm
cd ~/Firestorm
./firestorm # or etc/refresh_desktop_app_entry.sh to create a desktop launcher

Troubleshooting

Handling problems

If you encounter errors or run into problems, please first double check that you followed the steps correctly. One typo can break it. Then, check whether someone else already had the same issue. A solution might be known already.

  • IRC: The #phoenixviewer-dev channel is the best place to look for solutions.
    A lot of self-compilers and project developers hang out there and are ready to help you.
  • Jira:JIRA may contain resolved tickets.
    Search using the error you encountered.
  • Included documentation: In the Firestorm root folder are several “README” documents. You should make yourself familiar with their content, even if they appear to be out of date.

If you found a procedural error in this document, please let us know in as much detail as you can, either contact the author (preferred) or discuss on IRC.

Common Issues/Bugs/Glitches And Solutions

  • Missing libraries/applications/packages This may occur if you did not or could not install the listed packages. The packages do exist in the default Debian repositories, so make sure you did not disable those. If you find that a library or application is in a different package for your system, contact the team with the name of the library or application, the name of its package and your Linux OS so that information can be checked and added here.
  • Delayed sounds Some users have noted that OpenAL plays sounds from the viewer up to 20 seconds after they are triggered. There is no solution to this via the viewer, but there may be some solutions on the Internet
  • No Sounds The viewer will try to use whatever sound service you have running, but might need a little coaxing. Read through the firestorm script inside the program folder, you will find various commended options. Uncommenting one or more may help restore sound.
  • Voice Won't Connect It was observed in testing that voice would not connect unless “No Device” was chosen for the Input device (Preferences ⇒ Sound & Media ⇒ Voice ⇒ Audio Device Settings). This was resolved by replacing Firestorm/lib/libvivoxal.so.1 with a copy from release.

archive:fs_compiling_firestorm_64bit_ubuntu - ↷ Page moved from ...

$
0
0
The current viewer codebase includes AlexIvy components from Linden Lab. This code does not compile in Linux. Developers are working on the code to make it compile correctly. New procedures will be published

Building Firestorm in 64-bit Ubuntu

There is no official support for compiling or operating self-compiled viewers. There may be unofficial support as listed at the bottom of this page.

This procedure is used for building a 64-bit viewer on the current 64-bit LTS Ubuntu systems and was verified on Ubuntu 14.04. This procedure assumes that your Ubuntu system has been properly updated, and also assumes any derivative system (eg.: Mint, Kubuntu) includes all the standard Ubuntu libraries.

This procedure may not work on older LTS versions of Ubuntu and has not been tested on any other versions or distributions. It is advised that you have/use a dedicated system for compiling, or a virtual guest running Ubuntu 14.04.

Establish your programming environment

This is needed for compiling any viewer based on the LL open source code and only needs to be done once.

Install Required Tools

The required tools, some of which may already be installed, are:

bison bzip2 cmake curl flex g++ m4 (for make) mercurial (for hg) python python-dev python-pip
sudo apt-get update # to make sure the repository list is current
sudo apt-get upgrade # to make sure all installed packages are current
sudo apt-get install --install-recommends bison bzip2 cmake curl flex g++ m4 mercurial python2.7 python2.7-dev python-pip

(the –install-recommends flag tells apt-get to install all packages recommended by each named package.)

The recommended version of gcc/g++ for compiling Firestorm is 4.8. If you have multiple versions of g++ installed, you may have to set version 4.8 as the default. These steps will set version 4.8 as the only option, you can duplicate the second line for 4.4, 4.6 and so forth, then choose when prompted.

sudo update-alternatives --remove-all gcc
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 48 \
--slave /usr/bin/g++ g++ /usr/bin/g++-4.8 \
--slave /usr/bin/gcov gcov /usr/bin/gcov-4.8
sudo update-alternatives --config gcc

Install Required Libraries

These libraries may be included with your distribution, and some may already be installed:

libGL.so (libgl1-mesa-dev) LibGLU.so (libglu1-mesa-dev) libstdc++.so.6 (libstdc++6)
libX11.so (libX11-dev) libxinerama-dev libxml2.so (libxml2-dev) libXrender.so (libxrender-dev)
sudo apt-get install --install-recommends libgl1-mesa-dev libglu1-mesa-dev libstdc++6 \
libX11-dev libxinerama-dev libxml2-dev libxrender-dev

Install Autobuild

Autobuild is a Linden Lab resource that does all the hard work. The 64-bit version requires a modified autobuild package, which our Nicky Djasmin has provided.

sudo pip install hg+https://bitbucket.org/NickyD/autobuild-1.0#egg=autobuild

This will install autobuild and add a link in the exec path

Set up your source code tree

Plan your directory structure ahead of time. If you are going to be producing changes or patches you will be cloning a copy of an unaltered source code tree for every change or patch you make, so you might want to have all this work stored in its own directory. If you are a casual compiler and won't be producing any changes, you can use one directory. For this document, I will assume ~/src.

cd ~/src

There are several repositories but the one wea re after is the development repository. You can grab all the sources if you wish, but but keep in mind that each FS source requires around 110MB initially and around 4.3GB after the binaries have been built, plus possible compiling overhead.

hg clone https://hg.firestormviewer.org/phoenix-firestorm-lgpl

It will create a folder called phoenix-firestorm-lgpl. You can optionally add a folder name to the end of the hg clone command and it will use that as the destination directory name:

hg clone https://hg.firestormviewer.org/phoenix-firestorm-lgpl firestorm-source

The rest of this document will assume the default directory, phoenix-firestorm-lgpl

This can take a bit, it's a rather large download. On a slow network, it may fail, and this script can help mitigate the issue:

pull_in_chunks.sh
#!/bin/bash
 
cd ~/src
hg clone -r 10000 https://hg.firestormviewer.org/phoenix-firestorm-lgpl
cd phoenix-firestorm-lgpl
for i in {15000..40000..5000}
do
	echo "Grabbing to change $i"
	hg pull -u -r $i
done
echo "Grabbing to tip"
hg pull -u
cd ~/src

Configuring the Viewer

cd ~/src/phoenix-firestorm-lgpl
autobuild -m64 configure -c ReleaseFS_open

This will set up to compile with all defaults and without non-default libraries. It will fetch any additional necessary libraries.

Configuration Switches

There are a number of switches you can use to modify the configuration process. The name of each switch is followed by its type and then by the value you want to set.

  • LL_TESTS (bool) controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or
    more of them.
  • clean will cause autobuild to remove any previously compiled objects and fetched packages. It can be useful if you need to force a reload of all packages
  • package will result in a bzip2 archive of the completed viewer. Enabled by default, you would have to use -DPACKAGE:BOOL=Off to disable it

TIP: OFF and NO are the same as FALSE; anything else is considered to be TRUE

Examples:

autobuild -m64 configure -c ReleaseFS_open -- --clean -DLL_TESTS:BOOL=FALSE
autobuild -m64 configure -c ReleaseFS_open -- --clean

The first time you configure, several additional files will be downloaded from Firestorm and Second Life sources. These are mostly binary packages maintained outisde the viewer development itself. And if you use the –clean switch, you will re-download them all.

Compiling the Viewer

autobuild -m64 build -c ReleaseFS_open

Now, sit back, read War and Peace, calculate PI to 50 places, tour the country, whatever you desire. Compiling can take quite a bit of time depending on your computer's processing power.

NOTE: It is possible to use autobuild to do both the configure step (only needed once) and the build step with one command (autobuild -m64 build -c ReleaseFS_open [– switches] . For clarity, they are mentioned separately.

Running your newly built viewer

Running from a menu item

Create the desktop launcher

cd ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged/etc
./refresh_desktop_app_entry.sh

Then open your applications menu and look in the Internet or Network branch for the Firestorm launcher.

Running from command line or file browser

cd ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged
./firestorm

"Installing" the viewer

You can copy or move the contents of ~/src/phoenix-firestorm-lgpl/build-linux-i686/newview/packaged to another location if you choose, and then launch firestorm from there. Example:

mkdir ~/Firestorm
cp -a ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged/* ~/Firestorm
cd ~/Firestorm
./firestorm # or etc/refresh_desktop_app_entry.sh to create a desktop launcher

Troubleshooting

Handling problems

If you encounter errors or run into problems, please first double check that you followed the steps correctly. One typo can break it. Then, check whether someone else already had the same issue. A solution might be known already.

  • IRC: The #phoenixviewer-dev channel is the best place to look for solutions.
    A lot of self-compilers and project developers hang out there and are ready to help you.
  • Jira:JIRA may contain resolved tickets.
    Search using the error you encountered.
  • Included documentation: In the Firestorm root folder are several “README” documents. You should make yourself familiar with their content, even if they appear to be out of date.

If you found a procedural error in this document, please let us know in as much detail as you can, either contact the author (preferred) or discuss on IRC.

Common Issues/Bugs/Glitches And Solutions

  • Missing libraries/applications/packages This may occur if you did not or could not install the listed packages. The packages do exist in the default Ubuntu repositories, so make sure you did not disable those. If you find that a library or application is in a different package for your system, contact the team with the name of the library or application, the name of its package and your Linux OS so that information can be checked and added here.
  • Delayed sounds Some users have noted that OpenAL plays sounds from the viewer up to 20 seconds after they are triggered. There is no solution to this via the viewer, but there may be some solutions on the Internet
  • No Sounds The viewer will try to use whatever sound service you have running, but might need a little coaxing. Read through the firestorm script inside the program folder, you will find various commended options. Uncommenting one or more may help restore sound.
  • Voice Won't Connect It was observed in testing that voice would not connect unless “No Device” was chosen for the Input device (Preferences ⇒ Sound & Media ⇒ Voice ⇒ Audio Device Settings). This was resolved by replacing Firestorm/lib/libvivoxal.so.1 with a copy from release.

archive:fs_compiling_firestorm_64bit_ubuntu_16 - ↷ Page moved from ...

$
0
0
The current viewer codebase includes AlexIvy components from Linden Lab. This code does not compile in Linux. Developers are working on the code to make it compile correctly. New procedures will be published

Building Firestorm in 64-bit Ubuntu 16.04

There is no official support for compiling or operating self-compiled viewers. Unofficial support options are listed at the bottom of this page.

This procedure is used for building a non-standalone viewer on 64-bit Ubuntu 16.04 LTS systems and was tested on a fresh installation within a virtual guest. This procedure assumes that your Ubuntu system has been properly updated, and also assumes any derivative system (eg.: Mint) includes all the standard Ubuntu libraries.

The build process requires at least 4GB RAM with swap, a modern dual-core CPU and 32GB available HDD space. Recommded 8GB or more RAM, quad-core CPU and 32GB available HDD space.

Establish your programming environment

This is needed for compiling any viewer based on the LL open source code and only needs to be done once.

Install Required Tools

The required tools are:

bison bzip2 cmake curl flex g++ 4.7 m4 (for make) mercurial (for hg) python newer than 2.4.3 but not 3.0 python development pip llbase
sudo apt-get update # to make sure the repository list is current
sudo apt-get upgrade # to make sure all installed packages are current
sudo apt-get install --install-recommends bison bzip2 cmake curl flex g++-4.7 m4 mercurial python python-dev python-pip
sudo pip install --upgrade pip # The version in the repository is not the latest version
sudo pip install llbase

(the –install-recommends flag tells apt-get to install all packages recommended by each named package.)

In case you have multiple versions of g++ installed, which is possible, we need to identify 4.7.x as the default version.

update-alternatives --remove-all gcc 
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 47 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7 --slave /usr/bin/gcov gcov /usr/bin/gcov-4.7
update-alternatives --config gcc

It doesn't hurt to run those commands if you only have one g++ version installed.

Install Required Libraries

These libraries may be included with your distribution, and some may be automatically installed as dependencies for the tools you just installed:

libc.so (libc6-dev) libGL.so (libgl1-mesa-dev) LibGLU.so (libglu1-mesa-dev) libstdc++.so.6 (libstdc++6)
libx11.so (libx11-dev) libxinerama.so (libxinerama-dev ) libxml2.so (libxml2-dev) libXrender.so (libxrender-dev)
sudo apt-get install --install-recommends libc6-dev libgl1-mesa-dev libglu1-mesa-dev libstdc++6 \
  libx11-dev libxinerama-dev libxml2-dev libxrender-dev 

You can optionally install doxygen to eliminate related errors, but it is not needed to build Firestorm

sudo apt-get install --install-recommends doxygen

Install Autobuild

Autobuild is a Linden Lab resource that does all the hard work. For Firestorm, you will need a modified version of autobuild from one of our Developers.

sudo hg clone https://bitbucket.org/NickyD/autobuild-1.0 /opt/autobuild
sudo ln -s /opt/autobuild/bin/autobuild /usr/bin/autobuild 

Set up your source code tree

Plan your directory structure ahead of time. If you are going to be producing changes or patches you will be cloning a copy of an unaltered source code tree for every change or patch you make, so you might want to have all this work stored in its own directory. If you are a casual compiler and won't be producing any changes, you can use one directory. This document will refer to src in your home directory, ~/src.

cd ~/src

There are several repositories but the one we are after is the development repository. You can grab all the sources if you wish, but but keep in mind that each FS source requires around 110MB initially and around 4.3GB after the binaries have been built, plus possible compiling overhead.

hg clone https://hg.firestormviewer.org/phoenix-firestorm-lgpl

It will create a folder called phoenix-firestorm-lgpl. You can choose a different destination folder by adding that folder's name to the end of the command, such as:

hg clone https://hg.firestormviewer.org/phoenix-firestorm-lgpl firestorm-source

The rest of this document will assume the default directory, phoenix-firestorm-lgpl

Cloning the Firestorm repository can take a bit, it's a rather large download. On a slow network, it may fail, and this script can help:

pull_in_chunks.sh
#!/bin/bash
 
cd ~/src
hg clone -r 10000 https://hg.firestormviewer.org/phoenix-firestorm-lgpl
cd phoenix-firestorm-lgpl
for i in {15000..40000..5000}
do
	echo "Grabbing to change $i"
	hg pull -u -r $i
done
echo "Grabbing to tip"
hg pull -u
cd ~/src

Configuring the Viewer

cd ~/src/phoenix-firestorm-lgpl
autobuild configure -c ReleaseFS_open

This will set up to compile with all defaults and without third party libraries. It will fetch any additional necessary libraries.

Configuration Switches

There are a number of switches you can use to modify the configuration process. The name of each switch is followed by its type and then by the value you want to set.

  • LL_TESTS (bool) controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or
    more of them.
  • clean will cause autobuild to remove any previously compiled objects and fetched packages. It can be useful if you need to force a reload of all packages
  • package will result in a bzip2 archive of the completed viewer. Enabled by default, you would have to use -DPACKAGE:BOOL=Off to disable it

TIP: OFF and NO are the same as FALSE; anything else is considered to be TRUE

Examples:

autobuild -m64 configure -c ReleaseFS_open -- --clean -DLL_TESTS:BOOL=FALSE
autobuild -m64 configure -c ReleaseFS_open -- --clean

The first time you configure, several additional files will be downloaded from Firestorm and Second Life sources. These are mostly binary packages maintained outside the viewer development itself. And if you use the –clean switch, you will re-download them all.

Compiling the Viewer

autobuild -m64 build -c ReleaseFS_open

Now, sit back, read War and Peace, calculate PI to 50 places, tour the country, whatever you desire. Compiling can take quite a bit of time depending on your computer's processing power.

NOTE: It is possible to use autobuild to do both the configure step (only needed once) and the build step with one command (autobuild -m64 build -c ReleaseFS_open [– switches] . For clarity, they are mentioned separately.

Running your newly built viewer

Running from a menu item

Create the desktop launcher

cd ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged/etc
./refresh_desktop_app_entry.sh

Then open your applications menu and look in the Internet or Network branch for the Firestorm launcher.

Running from command line or file browser

cd ~/src/phoenix-firestorm-lgpl/build-linux-i686/newview/packaged
./firestorm

"Installing" the viewer

You can copy or move the contents of ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged to another location if you choose, and then launch firestorm from there. Example:

mkdir ~/Firestorm64
cp -a ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged/* ~/Firestorm64
cd ~/Firestorm64
./firestorm # or etc/refresh_desktop_app_entry.sh to create a desktop launcher

Troubleshooting

Handling problems

If you encounter errors or run into problems, please first double check that you followed the steps correctly. One typo can break it. Then, check whether someone else already had the same issue. A solution might be known already.

  • IRC:The #phoenixviewer-dev channel is the best place to look for solutions.
    A lot of self-compilers and project developers hang out there and are ready to help you.
  • Jira:JIRA may contain resolved tickets.
    Search using the error you encountered.
  • Included documentation: In the Firestorm root folder are several “README” documents. You should make yourself familiar with their content, even if they appear to be out of date.

If you found a procedural error in this document, please let us know in as much detail as you can, either contact the author (preferred) or discuss on IRC.

Common Issues/Bugs/Glitches And Solutions

  • Missing libraries/applications/packages This may occur if you did not or could not install the listed packages. The packages do exist in the default Ubuntu repositories, so make sure you did not disable those. If you find that a library or application is in a different package for your system, contact the team with the name of the library or application, the name of its package and your Linux OS so that information can be checked and added here.
  • Delayed sounds Some users have noted that OpenAL plays sounds from the viewer up to 20 seconds after they are triggered. There is no solution to this via the viewer, but there may be some solutions on the Internet
  • Voice Won't Connect It was observed in testing that voice would not connect and no devices could be selected in Preferences ⇒ Sound & Media ⇒ Voice ⇒ Audio Device Settings. This was resolved by replacing Firestorm/lib/libvivoxal.so.1 with a copy from release.

archive:fs_compiling_firestorm_alexivy_ubuntu_16 - ↷ Page moved from ...

$
0
0
Under Construction!
This page is very experimental. Don't rely on it unless you want to do a lot of pioneering yourself.

Building Firestorm 5.1 in 64-bit Ubuntu 16.04

There is no official support for compiling or operating self-compiled viewers. There may be unofficial support as listed at the bottom of this page.
These instructions only apply to Firestorm version 5.1 and above. For older versions, please see this page.

This procedure is used for building a 64-bit version of Firestorm 5.1 on 64-bit Ubuntu systems. It was tested and verified on Ubuntu 16.04. This procedure assumes that your system has been properly updated.

This procedure will not work on other versions of Ubuntu, and has not been tested on any other version of Ubuntu or any other distribution/variant/derivative.

The build process requires at least 4GB RAM with swap, a modern dual-core CPU and 32GB available HDD space. Recommended 8GB or more RAM, quad-core CPU and 32GB available HDD space.

Establish your programming environment

This is needed for compiling any viewer based on the LL open source code and only needs to be done once.

Add The Toolchain Updates Repository

This repository is needed so that gcc version 6 can be installed.

sudo add-apt-repository "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main"
sudo apt update

Install Required Tools

The required tools, some of which may already be installed, are:

bison bzip2 cmake curl doxygen flex g++-6 gdb m4 (for make)
mercurial (for hg) moreutils (for additional build tools pkg-config python python-dev python-pip
sudo apt upgrade # to make sure all installed packages are current
sudo apt install --install-recommends bison bzip2 cmake curl doxygen flex g++-6 gdb m4 mercurial moreutils pkg-config \
                                      python python-dev python-pip

(the –install-recommends flag tells apt-get to install all packages recommended by each named package.)

The build environment needs to know to use gcc 6

update-alternatives --remove-all gcc 
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 6 \ 
--slave /usr/bin/g++ g++ /usr/bin/g++-6 \
--slave /usr/bin/gcov gcov /usr/bin/gcov-6
update-alternatives --config gcc

Note that this will “hide” the current gcc (v7) from the build environment, so you will want to add it as an alternative, then use the “update-alternatives –config gcc” command to switch versions as needed.

Install Optional Tools

If you build in a virtual machine (guest), you probably don't want to run the viewer from there, but rather from the host, or a different machine altogether. To simplify the process of sending the viewer oustide the guest, you will need rsync. Rsync will copy only the changed files, dramatically speeding up subsequent processes, and it will properly handle symbolic links.

Note that this procedure assumes you have correctly configured your guest and host, and that the destination path is accessible and writable from the guest.

sudo apt install --install-recommends rsync

Install Required Libraries

Firestorm 5.1, like Linden Lab's AlexIvy release, is built with the USESYSTEMLIBS flag set so that the libraries are installed on the user's system as needed and not shipped with - or maintained by - the viewer. This means that a large number of development libraries must be installed on the build system.

These libraries should all be available in the standard Debian repositories, and some may already be installed:

libalut-dev libapr1-dev libaprutil1-dev libatk1.0-dev libboost-all-dev libcairo2-dev libcollada-dom2.4-dp-dev libcurl4-openssl-dev
libdbus-glib-1-dev libfreetype6-dev libGL.so (libgl1-mesa-dev) LibGLU.so (libglu1-mesa-dev) libgtk2.0-dev libjpeg-dev
libjsoncpp-dev libnghttp2-dev } libogg-dev libopenal-dev libpangox-1.0-dev libpng-dev libsdl1.2-dev libssl-dev
libstdc++.so.6 (libstdc++6) liburiparser-dev libvorbis-dev libX11.so (libx11-dev) libxinerama-dev
libxml2.so (libxml2-dev) libxmlrpc-epi-dev libXrender.so (libxrender-dev) zlib1g-dev
sudo apt install --install-recommends libalut-dev libapr1-dev libaprutil1-dev libatk1.0-dev libboost-all-dev libcairo2-dev \
libcollada-dom2.4-dp-dev libcurl4-openssl-dev libdbus-glib-1-dev libfreetype6-dev libgl1-mesa-dev \
libglu1-mesa-dev libgtk2.0-dev libjpeg-dev libjsoncpp-dev libnghttp2-dev libogg-dev libopenal-dev \
libpangox-1.0-dev libpng-dev libsdl1.2-dev libssl-dev libstdc++6 liburiparser-dev libvorbis-dev libx11-dev \
libxinerama-dev libxml2-dev libxmlrpc-epi-dev libxrender-dev zlib1g-dev

Install Autobuild

Autobuild is a Linden Lab resource that does all the hard work. Firestorm 5.1 uses a stock, unmodified version of autobuild from Linden Lab, version 1.1 or above.

sudo pip install --upgrade pip
sudo pip install autobuild

This will install autobuild and add a link in the exec path.

Set up your source code tree

Plan your directory structure ahead of time. If you are going to be producing changes or patches you may be cloning a copy of an unaltered source code tree for every change or patch you make, so you might want to have all this work stored in its own directory on its own hard drive, or on a hard drive with lots of free space. Currently, the source code tree takes up over 1GB initially, 3GB after configuring and several times that after building the viewer. If you are a casual compiler and won't be producing any changes, you can use one directory. For this document, I will assume ~/src.

cd ~/src

There are several repositories but the one we are after is the lgpl (release) repository. You can grab all the sources if you wish, but keep in mind that each requires over 1GB initially.

hg clone https://hg.firestormviewer.org/phoenix-firestorm-lgpl

This will create a folder called phoenix-firestorm-lgpl and add all the source files. If you desire, you can choose a different folder name by adding the name to the end of the command:

hg clone https://hg.firestormviewer.org/phoenix-firestorm-lgpl firestorm-source

The rest of this document will assume the default directory, phoenix-firestorm-lgpl

This can take a bit, it's a rather large download. On a slow network, it may fail, and this script can help mitigate the issue:

pull_in_chunks.sh
#!/bin/bash
 
cd ~/src
hg clone -r 10000 https://hg.firestormviewer.org/phoenix-firestorm-lgpl
cd phoenix-firestorm-lgpl
for i in {15000..50000..5000}
do
	echo "Grabbing to change $i"
	hg pull -u -r $i
done
echo "Grabbing to tip"
hg pull -u
cd ~/src

Set up autobuild build variables

Autobuild 1.1 uses a separate file to control compiler options, switches, and the like for different configurations. Ansariel Hiller maintains a Firestorm-specific version of this file and an associated convenience script. You will want to put this near your source code tree. The rest of these instructions will assume you put it in the source tree at the same level as your main source repository, using the default name.

cd ~src
hg clone https://hg.firestormviewer.org/fs-build-variables

Preparing to configure and build

Autobuild 1.1 uses a series of environment variables to control the build process. The fs-build-variables reposirory includes a convenience script to set them. You will need to perform this step in any new shell window that you are going to run autobuild in.

cd ~/src/phoenix-firestorm-lgpl
source ../fs-build-variables/convenience Release
export AUTOBUILD_VARIABLES_FILE=$HOME/src/fs-build-variables/variables

Configuring the Viewer

Unlike previous versions of autobuild, version 1.1 requires the address size switch (-A) after the command, not before it. If you want a 32-bit build, you must specify that; there is no longer a default.

cd ~/src/phoenix-firestorm-lgpl
autobuild configure -A 64 -c ReleaseFS_open

This will set up to compile with all defaults and without non-default libraries. It will fetch any additional necessary libraries.

Configuration Switches

There are a number of switches you can use to modify the configuration process. The name of each switch is followed by its type and then by the value you want to set.

  • LL_TESTS (bool) controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or
    more of them.
  • clean will cause autobuild to remove any previously compiled objects and fetched packages. It can be useful if you need to force a reload of all packages
  • package will result in a bzip2 archive of the completed viewer. Enabled by default, you would have to use -DPACKAGE:BOOL=Off to disable it
  • chan will set a unique channel (and the name) for the viewer, appending whatever is defined to “Firestorm-”. By default, the channel is “private” followed by your computer's name.

TIP: OFF and NO are the same as FALSE; anything else is considered to be TRUE

Examples:

autobuild configure -A 64 -c ReleaseFS_open -- -DLL_TESTS:BOOL=FALSE
autobuild configure -A 64 -c ReleaseFS_open -- --clean
autobuild configure -A 64 -c ReleaseFS_open -- --chan="MyBuild"

In the last example, the channel and resulting viewer name would be “Firestorm-MyBuild”.

The first time you configure, several additional files will be downloaded from Firestorm and Second Life sources. These are mostly binary packages maintained outisde the viewer development itself. And if you use the –clean switch, you will re-download them all.

Compiling the Viewer

autobuild build -A 64 -c ReleaseFS_open

Now, sit back, read War and Peace, calculate PI to 50 places, tour the country, whatever you desire. Compiling can take quite a bit of time depending on your computer's processing power.

NOTE: It is possible to use autobuild to do both the configure step (only needed once) and the build step with one command (autobuild build -A 64 -c ReleaseFS_open – –clean [more switches]). For clarity, they are mentioned separately.

Copy Out Of The Guest

If you build the viewer using a virtual machine (guest), you may want to copy the viewer files over to your host or to a different machine in order to use the viewer. Your guest may not have sufficient resources to run the viewer. The rsync program can make copying easy and accurate. And if you build the viewer again, the options included in the command example will cause rsync to only copy the new files, cutting down on the time needed to copy.

rsync -rptgoDLK --update --progress $HOME/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged/* /path/to/host/machine

Again, we will assume that you have already made that destination accessible and writable by the guest.

Running your newly built viewer

Running from a menu item

Create the desktop launcher

cd ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged/etc
./refresh_desktop_app_entry.sh

Then open your applications menu and look in the Internet or Network branch for the Firestorm launcher.

Running from command line or file browser

cd ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged
./firestorm

"Installing" the viewer

You can copy or move the contents of ~/src/phoenix-firestorm-lgpl/build-linux-i686/newview/packaged to another location if you choose, and then launch firestorm from there. Example:

mkdir ~/Firestorm
cp -a ~/src/phoenix-firestorm-lgpl/build-linux-x86_64/newview/packaged/* ~/Firestorm
cd ~/Firestorm
./firestorm # or etc/refresh_desktop_app_entry.sh to create a desktop launcher

Troubleshooting

Handling problems

If you encounter errors or run into problems, please first double check that you followed the steps correctly. One typo can break it. Then, check whether someone else already had the same issue. A solution might be known already.

  • IRC: The #phoenixviewer-dev channel is the best place to look for solutions.
    A lot of self-compilers and project developers hang out there and are ready to help you.
  • Jira:JIRA may contain resolved tickets.
    Search using the error you encountered.
  • Included documentation: In the Firestorm root folder are several “README” documents. You should make yourself familiar with their content, even if they appear to be out of date.

If you found a procedural error in this document, please let us know in as much detail as you can, either contact the team (preferred) or discuss on IRC.

Common Issues/Bugs/Glitches And Solutions

  • Missing libraries/applications/packages This may occur if you did not or could not install the listed packages. The packages do exist in the default Ubuntu repositories, so make sure you did not disable those. If you find that a library or application is in a different package for your system, contact the team with the name of the library or application, the name of its package and your Linux OS so that information can be checked and added here.
  • Delayed sounds Some users have noted that OpenAL plays sounds from the viewer up to 20 seconds after they are triggered. There is no solution to this via the viewer, but there may be some solutions on the Internet
  • No Sounds The viewer will try to use whatever sound service you have running, but might need a little coaxing. Read through the firestorm script inside the program folder, you will find various commended options. Uncommenting one or more may help restore sound.
  • Voice Won't Connect It was observed in testing that voice would not connect unless “No Device” was chosen for the Input device (Preferences ⇒ Sound & Media ⇒ Voice ⇒ Audio Device Settings). This was resolved by replacing Firestorm/lib/libvivoxal.so.1 with a copy from release.
  • Voice Won't Connect pt 2 The current version of the voice files may not function correctly in the Linux viewer, in which case you will see the red indicator on the Nearby Chat tab, and you may or may not get an error message. This is a known issue and is being addressed. Hopefully we can soon remove this as an issue. The workaround is to copy the win32 folder from our Release viewer's bin folder and paste it into your build's bin folder.

archive:fs_compiling_firestorm_gentoo - ↷ Page moved from fs_compiling_firestorm_gentoo to ...

$
0
0
The current viewer codebase includes AlexIvy components from Linden Lab. This code does not compile in Linux. Developers are working on the code to make it compile correctly. New procedures will be published

Compiling in Gentoo

You can refer to this site for instructions.

fs_compiling_firestorm_64bit_debian - ↷ Links adapted because of a move operation

fs_camera_floaterviewadvanced - created

firestorm_classes - [Table]

$
0
0

Firestorm Classes

These classes are based on our current Firestorm release and are conducted in text and/or voice as noted. There's no need to talk in a voice class, but you may want to be able to hear the instructor. We also usually have help available to answer questions in text.

Note that it is not mandatory that you use Firestorm to attend our classes, but it is best if you do.

Classes are held at the Firestorm Classroom unless otherwise noted.

Classes normally held daily between 8 am to 7 pm SLT. The schedule may change without notice. if the class times are inconvenient some classes have been recorded and are available on YouTube.

Unscheduled classes may also be held on an impromptu basis. If this happens, a notice will be sent in Firestorm Support English. secondlife:///app/group/3a1be8d4-01f3-bc1a-2703-442f0cc8f2dd/about

*All times SLT*

Date Time and Class Loc
Thur 30 Jul 10 Am – Contact Sets (TEXT ONLY)
There is a cool feature called Contact Sets that lets you organize your Contact List. We'll cover how to set them up and use this epic feature.
FS
Fri 31 Jul 6 Pm – Introduction to Firestorm and the Wiki (VOICE & TEXT)
This class gives you an overview of the Firestorm Viewer and of our greatest informational resource, our Wiki, including search tips.
FS
Sat 1 Aug 3 Pm – Clean Re-Install (VOICE & TEXT
Learn how to correctly and quickly perform this most fundamental and important of tasks. Recommended taking Settings Backup class first.
FS
Sun 2 Aug 3 Pm – Menus 1 (VOICE & TEXT)
We will be covering the menus on the top bar, from Avatar through Help.
FS
Mon 3 Aug 2 Pm – Menus 2 (TEXT ONLY)
We will cover the Advanced and Developer menus in the top bar.
FS
Tue 4 Aug 5 Pm – Odds & Ends 1 (VOICE & TEXT)
This class covers some of Firestorm's handiest features, like Inventory, Radar, and some hard-to-find gems.
FS
Wed 5 Aug 3 Pm – Odds & Ends 2(TEXT ONLY)
Learn about fun and useful items like how to use Auto-Replace, using the Command Line for a number of tools, and more.'
FS
Thur 6 Aug 10 Am – Preferences Set 1 (TEXT ONLY)
We will cover some of the Firestorm preferences (General, Advanced, Opensim and Firestorm), based on our current release.
FS
Fri 7 Aug 6 Pm – Preferences Set 2 (VOICE & TEXT)
We will cover some of the Firestorm preferences (Chat and Privacy), based on our current release.
FS
Sat 8 Aug 3 Pm – Preferences Set 3 (VOICE & TEXT)
We will cover some of the Firestorm preferences (Colors, User Interface and Backup), based on our current release.
FS
Sun 9 Aug 12 Pm – QuickPrefs Customization + Lag (VOICE & TEXT)
Two mini-classes in one. One discusses the causes of lag in SL. The other explains how to customize your Quick Preferences.
FS
Mon 10 Aug 2 Pm – Preferences Set 4 (TEXT ONLY)
We will cover some of the Firestorm preferences (Graphics, Sound & Media, Skins and Crash Reports).
FS
Tue 11 Aug 5 Pm – Reporting Bugs, Requesting Features (VOICE & TEXT)
Learn how to communicate effectively with our devs to make the changes to Firestorm you want or need.
FS
Wed 12 Aug 2 Pm – Preferences Set 5 (VOICE & TEXT)
We will cover some of the Firestorm preferences (Network & Files, Move & View and Notifications).
FS
Thur 13 Aug 10 Am – Avatar Complexity and Graphics Presets (TEXT ONLY)
Learn how to boost performance with av complexity and improve usability with the presets.
FS
Fri 14 Aug 6 Pm – Firestorm Skins (VOICE & TEXT)
This class covers the differences among Firestorm's many skin options, including the Vintage Classic and Colorable User Interface skins
FS
Sat 15 Aug 3 Pm – Animation Overrider (VOICE & TEXT)
On Firestorm, you can save scripts and HUD space by running your AO animations through the viewer. Learn how to set up and get the most out of this feature.
FS
Sun 16 Aug 2 Pm – Basic Troubleshooting (VOICE & TEXT)
An introduction to basic methods to start locating problems. Focused on Firestorm but some parts are non-viewer-specific.
FS
Mon 17 Aug 2 Pm – Backing up Settings and Chat (TEXT ONLY)
This class covers how to save your settings and chat files on your computer. Recommended to take this before the Clean Install class.
FS

fs_media - [Flash]

$
0
0

Music and Media Issues

This section covers issues related to audio, video and some aspects of search.

General

  • For situations where you cannot hear audio, be it streaming music, or the audio from a movie/video, the first thing to do is check the following:
    • Windows users: see this page.
    • Make sure streaming music and/or media are enabled in PreferencesSound & Media -> Sounds.
    • In the same place, check that volumes for music and media are not at minimum.
    • Make sure audio is configured correctly in your operating system (i.e., Windows, Linux, OSX), that sound is going to the correct device (i.e., speakers or headset), and so on. This may require you to adjust settings in your sound mixer, volume mixer, and/or other similar software.
    • Confirm that you have not blocked the stream/video: open Preferences → Sound & Media → Media → Manage Media Sites and see if the problem URL is listed there; if so, remove it.
    • For streaming music, test the music URL in your external web browser, to make sure that the URL actually works.
  • If you have plugged in a USB sound device, you may need to relog so that the viewer can use it.
  • HTTP fetching may be overloading your router; please try the suggestions given here; if they do not help, revert the changes made then return to this page and continue.
  • The Dullahan Plugin (for those who have questions): Dullahan is a headless browserSDK that uses the Chromium Embedded Framework (CEF). In addition to playing media, Dullahan is also used for:
    • Websearch
    • Web profiles
    • Built-in browser
    • Splash Screen when the viewer is launched
    • Media-based HUDs
    • Avatar Menu - Choose an Avatar
    • Destination Guide
    • Wiki Help pages (when clicking the ? in a floater)

Videos or Music Don't Play at All

  • Relog Firestorm and open the Search window
  • Go to your computer processes and look for “slplugin.exe”
    • For Windows users, go to Task Manager → Processes Tab
    • For Mac users, go to Activity Monitor → My Processes (usually by default, but you can check top right drop down)
    • For Linux users, go to Command Terminal, and type “ps aux”
    • You may see four instances of the slplugin running (that is normal behavior)
    • If you do not see any instances of slplugin running, that is the cause of media failing
  • If slplugin is not running, disable all firewall and virus protection (including anti-virus software and windows or other operating system firewalls). Do this check also for dullahan_host.exe.
  • Relog and attempt video playback again
  • If it works, you will need to stop your firewall/virus protection from blocking the slplugin and/or dullahan_host.exe files by granting appropriate permissions in your firewall/virus protection software
  • NOTE: If you have several viewers installed, you will have to allow to each one access through your firewall, as well as to SLPlugin and dullahan_host.exe for each one.
  • If all of the above does not resolve the issue, you can try downloading the latest SL Viewer and replacing your Firestorm slplugin file with the one from SL Viewer.

Videos Are Not Playing, or Black/Blank Search Page

  • In Preferences → Sound & Media → Sounds, make sure the “Enabled” checkbox to the right of the “Media” slider is checked
    (For audio, check “Streaming Music”)
  • In Preferences → Sound & Media → Media, check “Allow inworld scripts to play media”
  • In Preferences → Network & Files -> Connection, make sure the Maximum Number of Web Browser Windows dropdown is set to Five, Ten or Unlimited
  • Make sure the issue is not with the specific television you are using, by attempting to view videos on a television that plays video normally for other Firestorm users.
  • Make sure that “Enable plugins” is ticked in Preferences → Network & Files -> Connection, else the external media plugin can not be executed, and you may see a message saying: Adobe Flash Player or an HTML5 supported browser is required for video playback.

TV and Videos Are Not in Sync Between 2 or More People Watching

In-world videos (on TVs and Prim Media, a.k.a. Media-on-a-Prim) are independent streams from the source to each person watching. The only way to synchronize them is for each person to click Play at the exact same time, and even then the streams can get out of sync depending on lag, connection, buffering, and other network & computer issues.

If you have Parcel Media rights, Parcel Media is an alternative. Like a music stream, it will generally be sync'd for everyone watching (World menu > Parcel Details > Media tab). Click the ? at the top of the Media tab page or see here for more information on how to configure Parcel Media.

Embedded MP4

Embedded MP4s no longer are supported by Second Life. Consult your TV maker to determine if they use this format. Refer to BUG-224979, as well as this blog post.

Flash

Please read https://support.microsoft.com/en-au/help/4520411/adobe-flash-end-of-support before considering installing flash. Flash has a LONG history of very serious security issues. If someone is providing content that only works with flash, please contact them and let them know that flash will be end of life in the near future, this means there will be NO security updates from the vendor beyond that point. Nobody should be forcing flash on anyone in this day and age, it is 2020, not 2001 anymore. If you want to take the risk, read ahead….

The Flash plugin is not installed with Firestorm; you have to install it yourself. However, you need specific plugin versions:

  • Windows users:
    • In order to play Flash format videos (e.g., YouTube videos), you must have the Opera & Chromium version of the Adobe Flash plugin installed. Unless you already have this specific version of Flash installed already, you will need to get the Opera & Chromium Flash plugin from Adobe.
  • Linux users
    • You need to have the pepperflash plugin installed, which can be satisfied by installing pepperflashplugin-nonfree for Chromium
  • Mac users
    • Mac users currently need the Safari & Firefox version of Adobe Flash plugin installed. Download it from Adobe.
  • All users: Test your Flash
    • To make sure you have successfully installed the correct version of Flash and that it is working, use the in-world Flash game to test it.
      • Open the Developer menu: CTRL-Alt-Q. (Close this after testing; it's best not to leave this menu open.)
      • Then type CTRL-SHIFT-Z to open the internal browser.
      • Once the browser loads, click the Home icon in the upper left of the browser window.
      • Click the Media tab, at top.
      • Click “Flash game.”
      • A bubble-shooter game should load.
  • NOTE: If you experience graphics driver crashes on nVidia cards when viewing Flash media (for example Youtube) both in-world and on a website and/or severe drops in your GPU clock mhz on any card then you will need to disable hardware acceleration on Flash Player. To do this, go to Youtube and Pick any video. Right click the video play area to bring up the options and follow the instructions here.
  • “You have requested a file download which is not supported within Firestorm”: This message indicates you do not have Flash installed. To avoid seeing this error if you do not intend to install Flash, go to Preferences → Notifications → Alerts. Scroll down to “Warn about unsupported file downloads.” Select to highlight, and click the down arrow to move it from “Always Show” section to “Never Show” section.

QuickTime

QuickTime is no longer needed for Windows users (and never was for Linux users). Mac users, however, still need to have it.

YouTube

  • If YouTube videos suddenly will not play, and you just get a white screen, go to PreferencesPrivacy -> General, and click on Clear History, then try again.
  • See also the Flash section, above.

I Hear No Music or Sound from Movies

Go to PreferencesSound & Media -> Sounds and make sure the volume sliders for streaming music and media are not all to the left and that there is no mute symbol (red no entry sign) on the speaker icon next to those. Make sure the Master Volume is not all to the left.

Check that Sound Source rolloff distance (Media tab) is correct; set back to default, if you changed it (5m and 30 respectively for min and max).

I Hear No In-world Sounds Apart From Streaming Music and Voice

1) Check viewer settings

  • Go to PreferencesSound & Media -> Sounds and check that you have the Sounds and UI sliders up high enough and that there is no mute symbol (red no entry sign) on the speaker icon next to those.

2) Check your audio drivers

  • Look in Help menu → About Firestorm for the line that begins with “Audio Driver Version.” If that line says “Undefined,” reboot your computer and see if the Audio Driver Version appears.
  • If this doesn't help:

Audio "Skipping"

Go to the top menu bar→ Advanced → Use Plugin Read Thread, and disable it, if it is enabled - or vice versa. (If you cannot see Advanced on the top menu, press Ctrl-Alt-D.)

If that doesn't help, first ensure that you have your bandwidth set correctly. Also, test the audio stream in your regular media player, and/or try a different audio stream in-world.

Audio "Fading"

If the music volume fades as you cam around or edit objects, check the sound equalization settings in your operating system. For example, this may be caused by “Loudness equalization” being enabled in your speaker properties on Windows 7. (Refer to https://jira.firestormviewer.org/browse/FIRE-19885.)

Preferences - Sound & Media - Music - Enable Parcel Audio Fading - uncheck if checked. (reference for Support only https://jira.firestormviewer.org/browse/SUP-20376|SUP-20376).

"You have requested a file download which is not supported within Firestorm" error message

This error is due to Flash not being installed, or not installed correctly. See above.

"No media plugin was found to handle the 'text/html' mime type" error message

There are two possible causes:

  • Flash is not installed, or is not installed correctly. See Flash, above.
  • Your antivirus has deleted or mangled the plugin. See Antivirus Whitelisting for instructions on how to fix this.

By Operating System

Windows

• If using a VEA4 TV, you get a “File could not be found” error, disable the IPv6 protocol in the Windows network adapter. Note that this is not recommended, but apparently is the only way to get this brand of TV to work.

• If sound eventually cuts out on your computer while using Firestorm and the only way to get it back is to log off Firestorm, disable Audio Enhancement via the steps shown here. Another possibility is Loudness equalization; reference this JIRA.

•Windows 10: If voice doesn't work when Skype is on, or sounds don't work while using voice:

  1. In Windows Control Panel > Hardware & Sound > Manage Audio Devices
  2. Select the Recording tab, select the microphone, select Properties
  3. Select the Advanced tab - untick 'Allow applications to take exclusive control of this device' - click OK
  4. Select the Communications tab
  5. Select 'Do Nothing' - click OK NOTE: this will affect other applications on your computer, not just Firestorm.

Refer to this page for all Win10 issues.

Mac

Please ensure that you have the most recent version of Flash for Safari installed. You can get this via the normal update process, or from Adobe.

For streaming music on OS X 10.9 Mavericks, please refer to this page.

For users on Sierra, there are reports of media features (such as MOAP, TVs, web search, and web profiles) working more slowly. Ref. BUG-40552.

Linux

Both the 32-bit and 64-bit versions of Firestorm for Linux require 32-bit libraries to function. See this page for a link to your Linux flavor to verify you have all the needed audio-related packages installed and to troubleshoot stream issues.

Viewing all 5258 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>