diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 36565573fa..7e7e070115 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -21941,6 +21941,17 @@ Change of this parameter will affect the layout of buttons in notification toast
Value
2
+ FSNoScreenShakeOnRegionRestart
+
diff --git a/indra/newview/llfloaterregionrestarting.cpp b/indra/newview/llfloaterregionrestarting.cpp
index 426b66d596..9c6d07efbb 100644
--- a/indra/newview/llfloaterregionrestarting.cpp
+++ b/indra/newview/llfloaterregionrestarting.cpp
@@ -32,6 +32,7 @@
#include "lluictrl.h"
#include "llagent.h"
#include "llagentcamera.h"
+#include "llviewercontrol.h" // FIRE-12900, FIRE-12901: gSavedSettings, make screen shaking optional
#include "llviewerwindow.h"
static S32 sSeconds;
@@ -100,6 +101,13 @@ void LLFloaterRegionRestarting::draw()
{
LLFloater::draw();
+ // FIRE-12900, FIRE-12901: Make screen shaking optional
+ if (gSavedSettings.getBOOL("FSNoScreenShakeOnRegionRestart"))
+ {
+ return;
+ }
+ //
+
double SHAKE_INTERVAL = 0.025;
double SHAKE_TOTAL_DURATION = 1.8; // the length of the default alert tone for this
const F32 SHAKE_INITIAL_MAGNITUDE = 1.5;
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_UI.xml b/indra/newview/skins/default/xui/en/panel_preferences_UI.xml
index b343926b15..daacf0a475 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_UI.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_UI.xml
@@ -847,6 +847,15 @@
left="10"
name="FSShowToastsInFront"
top_pad="10"
+ width="256" />
+
diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_UI.xml b/indra/newview/skins/default/xui/pl/panel_preferences_UI.xml
index 7a3138eefa..49dabf8c74 100644
--- a/indra/newview/skins/default/xui/pl/panel_preferences_UI.xml
+++ b/indra/newview/skins/default/xui/pl/panel_preferences_UI.xml
@@ -120,6 +120,7 @@
+