Euro Truck Simulator 2 VR Quality Settings

Euro Truck Simulator 2 VR Quality Settings

Beta support for Oculus Rift and HTC Vive has been available in Euro Truck Simulator 2 for some time. Unfortunately, the beta default quality settings leave something to be desired. With the default settings, the image appears ‘jagged’. The image in the far distance seems often to be a jumble of pixels.

I’ve been experimenting with ETS2 quality settings on the Vive. I think I’ve achieved some significant improvement. If you’ve been struggling with the VR quality settings, hopefully I can help you out here.

This article looks at the most useful settings to change to improve visual quality.

Euro Truck Simulator 2 VR Quality Settings Config File.

ETS2 has some VR specific config options contained within a config file. You should find config.cfg at My Documents\Euro Truck Simulator 2. First of all, make a backup of this file.

Lines that I worked with were:


uset o_openvr_independent_timewarp "0"
uset o_openvr_interleaved_reproject "0"

These are really about VR performance consistency. You can experiment with them. Switch either to “1” or both to “0” but not both to “1” and see what works (or feels) best.

Finding the line with uset r_mode, I set it to:

uset r_mode "2160x1200x32x0"

This matches up to the HMD’s native resolution.

Also, make sure MSAA is off. It’s unhelpful for VR in ETS2.

uset r_msaa "0"


Now, the real game-changer (pardon the pun) is r_manual_stereo_buffer_scale.

This setting can be used to increase the size of the rendered image. The rendered image is then distorted for VR. It appears the better the quality of the initial image, the better the quality of the VR image. Especially in the far distance.

There’s a trade-off though, the higher you set this, the greater the peformance penalty for your GPU. I found using a GTX 970 that a setting of “1.3” was smooth and looked better. A setting of “1.5” or more made for a very much improved scene. However, at “1.5”, there was judder depending on the scene complexity.

The trick is to find a happy middle ground between quality and performance. With at least at GTX 970 or equivalent, I recommend starting off with:

uset r_manual_stereo_buffer_scale "1.3"

…and work up from there.

Hitting the speed limit.

This setting gave the single biggest improvement in visual quality for me.

The higher the performance your graphics card provides, the higher you can go with this setting. Go too high and you’ll see and feel the framerate dropping off.

You can recover some FPS by reducing the video quality settings in the game menu. Be sure to leave ‘scaling’ at 100% and MSAA off. Most of the other settings yield a little performance improvement. With current Virtual Reality systems being more about the ‘feel’ than the overall look, you can do without some of the bells and whistles.

The unedited, unstretched screenshot. The instrument cluster didn’t render for the screenshot but with readable in the HMD in-game.

Due to the way screenshots work in VR, it’s not possible to directly convey how much improvement you can get. You need to try the settings for yourself and make up your own mind what works best.

Certainly, getting rid of the jagged edges in the far distance makes a big difference. This takes the simulator from playable to enjoyable with VR in my opinion.

If you find settings that work well for you, consider posting them in the comments section below.



Sharing is caring!

13 thoughts on “Euro Truck Simulator 2 VR Quality Settings”

  1. This made a night and day difference for me. I was considering ditching VR for this game because I felt like I could barely see the scenery. You rock!

    1. Awesome, Thanks! 🙂

      I’m not sure why the settings are so low to start with but there’s lots of scope to get it looking good!

    1. I get even better looks with
      uset o_openvr_interleaved_reproject “1”
      set to 1 for my htc vive.

      the white flickering lines on the road dissapears then.

  2. Im having good results in VR by going easy on the various supersampling (none in steamvr, 1.2 in ATS config file) but using the in game scaling at 200%, which ive read doesnt work in VR, but surely does at least as of Oct ’18. Getting smooth framerate in all but the busiest areas on a 1080 (yeah its a mega card but this game is a hog sometimes)

  3. these are my vive settings as of 11/june/2019 for update 1.35 I have a 1080ti video card but a poor cpu
    …# prism3d variable config data

    uset r_hide_helpers “0”
    uset r_full_resolution_corrections “0”
    uset g_mm_help_shown “1”
    uset g_save_indicator “1”
    uset g_game_version “”
    uset g_force_online_lscrs “0”
    uset g_frame_image_fmt “jpg”
    uset g_frames_path “”
    uset g_hw_info “1”
    uset g_sns “”
    uset g_glass_debugging_level “0”
    uset g_line_sort “0”
    uset g_cargo_sort “2”
    uset g_bloom_standard_deviation “0.5”
    uset g_bloom_filter_radius “6”
    uset g_bloom_resizing_steps “3”
    uset g_bloom_override “0”
    uset g_bloom “1.0”
    uset g_global_force_load_selector “0”
    uset g_desktop_fadeout “60”
    uset inst_flags “0”
    uset g_color_feedback “1”
    uset g_disable_hud_activation “0”
    uset r_wireframe “0”
    uset g_interior_camera_zero_pitch “0”
    uset r_multimon_exterior_in_aux “0”
    uset r_multimon_interior_in_main “1”
    uset r_multimon_rotation_aux “0”
    uset r_multimon_rotation_right “0”
    uset r_multimon_rotation_left “0”
    uset r_multimon_rotation_center “0”
    uset r_multimon_vert_offset_right “0”
    uset r_multimon_vert_offset_left “0”
    uset r_multimon_border_fov_right “0”
    uset r_multimon_border_fov_left “0”
    uset r_multimon_fov_vertical “0”
    uset r_multimon_fov_horizontal “50”
    uset r_multimon_mode “0”
    uset r_use_depth_bounds “1”
    uset r_show_light_pixel_coverage “0”
    uset r_buffer_page_size “10”
    uset r_deferred_debug “0”
    uset r_mirror_scale_y “2”
    uset r_mirror_scale_x “2”
    uset r_scale_y “2”
    uset r_scale_x “1”
    uset r_normal_maps “1”
    uset r_sunshafts “1”
    uset r_color_saturation “1.0”
    uset r_color_yellow_blue “0.0”
    uset r_color_magenta_green “0.0”
    uset r_color_cyan_red “0.0”
    uset r_color_correction “1”
    uset r_cloud_shadows “1”
    uset r_dof_filter_size “0.5”
    uset r_dof_transition “400.0”
    uset r_dof_start “200.0”
    uset r_dof “1”
    uset r_mlaa_threshold “1.0”
    uset r_mlaa “1”
    uset r_hdr “1”
    uset r_fake_shadows “2”
    uset r_sun_shadow_texture_size “4096”
    uset r_sun_shadow_quality “4”
    uset r_mirror_group “3”
    uset r_mirror_view_distance “400”
    uset r_deferred_mirrors “2”
    uset r_deferred “1”
    uset r_nowmi “1”
    uset r_startup_progress “0”
    uset r_setup_done “1”
    uset r_gamma “0.98”
    uset r_manual_stereo_buffer_scale “1.5”
    uset r_manual_stereo_ui_fov_game “100”
    uset r_manual_stereo_ui_fov “80”
    uset r_manual_stereo_ui_dist_game “0.5”
    uset r_manual_stereo_ui_dist “0.8”
    uset r_manual_stereo_in_menu “1”
    uset r_nv_stereo_mode “2”
    uset r_minimal_unfinished_frames “0”
    uset r_no_frame_tracking “0”
    uset r_msaa “0”
    uset r_fullscreen “1”
    uset r_mode_refresh “0”
    uset r_mode “2160x1200x32x0”
    uset r_path “”
    uset r_device “dx11”
    uset i_virtual_cursor_speed “216”
    uset g_tobii “1”
    uset g_trackir “1”
    uset g_lod_factor_pedestrian “1”
    uset g_pedestrian “1”
    uset g_light_span_factor “1”
    uset g_light_distance_factor “1”
    uset g_vehicle_flare_lights “1”
    uset g_auto_traffic_headlights “1”
    uset g_lod_factor_parked “1”
    uset g_lod_factor_traffic “1”
    uset g_traffic “4.0”
    uset g_kdop_preview “0”
    uset g_screenshot_on_bug_quality “100”
    uset g_screenshot_on_bug “0”
    uset g_shoulder_block_coloring “0”
    uset g_debug_map_limits “0”
    uset g_city_name_move “0”
    uset g_developer “0”
    uset g_semantical_pause_inactivity “120”
    uset g_pause_on_disconnect “1”
    uset g_semantical_ff_inactivity “300”
    uset g_steam_rich_presence “1”
    uset g_steam_browser “1”
    uset g_steam_screenshots “2”
    uset g_artist_id “0”
    uset g_save_format “0”
    uset g_trailer_cables_mode “3”
    uset g_spec_trans_refill_tank “1”
    uset g_flyspeed “100.0”
    uset g_online_loading_screens “1”
    uset g_news “1”
    uset g_colbox “0”
    uset g_radio_mode “2”
    uset g_ignore_low_fps “0”
    uset g_truck_light_quality “1”
    uset g_truck_light_specular “1”
    uset g_gfx_all_scales “0”
    uset g_gfx_advanced “1”
    uset g_gfx_quality “-1”
    uset g_hq_3d_scale “0.0”
    uset g_hq_3d_screenshot “0”
    uset g_menu_aa_limit “8”
    uset g_additional_water_fov “20.0f”
    uset g_rain_reflect_hookups “1”
    uset g_rain_reflect_actor “1”
    uset g_rain_reflect_traffic “1”
    uset g_rain_reflect_cache “1”
    uset g_rain_reflection “3”
    uset g_reflection “3”
    uset g_grass_density “2”
    uset g_veg_detail “2”
    uset g_minicon “0”
    uset g_console “0”
    uset g_texture_usage_stats “0”
    uset g_fps “0”
    uset ui_tooltip_delay “0.4”
    uset g_stream_exts “.ogg;.mp3”
    uset r_vsync “1”
    uset r_color_mode “0”
    uset r_anisotropy_factor “1”
    uset r_texture_detail “0”
    uset t_locked_fps “0”
    uset t_averaging_window_length “20”

Leave a Reply

Your email address will not be published. Required fields are marked *