Metro 2033 Redux Guide

Fix mouse controls for multi-monitor linux setups for Metro 2033 Redux

Fix mouse controls for multi-monitor linux setups

Overview

With the default config, there’s a lot of issues regarding mouse control on multi monitor Linux setups.This guide details some changes that might help you have a better experience.

Guide

This guide details the config changes required to make the game playable on a multi-monitor setup.
All changes in this guide apply to both Metro 2033 Redux and Metro: Last Light Redux.

Before we start fixing

Start the game and see which display the game lands on. If it’s the correct one, you’re all good. If it’s the wrong one, find out how you can force applications to other displays (for me on MATE, it’s ctrl+alt+num1/num3/num7/num9).

Once you can get the game on the right display, go to options and set that as you want.
– I recommend not using SSAA, at it’s _really_ heavy (basically multiplies the number of times the fragment shader has to run).

Now, find your config file, it should be located here:
Metro 2033 Redux:
<steam folder>/steamapps/common/Metro 2033 Redux/<userID>/user.cfg
Metro: Last Light Redux:
<steam folder>/steamapps/common/Metro Last Light Redux/<userID>/user.cfg

Then start making the required changes (output produced with diff -u):

Remove mouse acceleration
@@ -67,8 +67,8 @@ joy_sens_y_scale 0.89999998 lang_sound us lang_text us -mouse_curve_coef 70. -mouse_curve_num 1 +mouse_curve_coef 0. +mouse_curve_num 0 name must net_friendly_fire 1 net_stats off @@ -103,8 +103,8 @@ s_effects_volume 1.00 s_master_volume 0.70 s_music_volume 1.00 -sens 0.40000001 -sens_border 0.5 +sens 0.22 +sens_border 2. show_game_ui 1 st_motions_hud off st_net_props off

TBH, I have no idea where the sens numbers come from, but they feel good when playing.

Fix mouse X/Y movement disparity

This is a major annoyance when playing, as it seems the mouse movement calculation is always done assuming a resolution of 2560×1600 (16:10), which gives the wrong result on f.inst. a 16:9 monitor.

@@ -91,8 +91,8 @@ r_gamma 0.5 r_gi_volume 1. r_quality_level 3 -r_res_hor 2560 -r_res_vert 1600 +r_res_hor 1920 +r_res_vert 1080 r_ssaa_auto 0. r_sun_cop_initial_offs 1000. r_sun_ortho_initial_offs 750.

Set this to whatever your resolution is.

Fix FOV
@@ -83,7 +83,7 @@ preset1_joy_sens_aiming_x 0.30000001 preset1_joy_sens_x 0.40000001 r_af_level 1 -r_base_fov 50.625 +r_base_fov 59. r_blur_level 0 r_dx11_tess 1 r_enum_ssaa 10

Note that this is vertical FOV, not horisontal. Use this tool[themetalmuncher.github.io] to calculate the FOV you want.

Disable aim assist
@@ -1,6 +1,6 @@ _gamepad_preset_sens 0 _show_subtitles 1 -aim_assist 1. +aim_assist 0. auto_aim_border 0.25 unbindall bind changemenumap kESCAPE

Because we don’t need that with a working mouse.

Stop the game from overwriting your changes

Alright, we now got a proper config file. However, the game tends to disagree and overwrite our values on launch, which is annoying.
Therefore, we need to stop the game from being able to do that.

There are several ways of doing this, for example with chattr:

$ chattr +i user.cfg

or by making the file owned by root:

$ sudo chown root user.cfg $ sudo chmod go+r user.cfg

Choose whichever you like.

That’s about it, your game should now be playable.

SteamSolo.com