In this post, I will show you how to make the most out of your setup if you have mismatched monitors. Before we get started:
What’s the problem?
If you use Nvidia Surround, there are restrictions on what you can do. For example:
- All monitors must be the same resolution and refresh rate
- If not, higher resolution monitors are scaled down to match lower resolutions
- Can’t choose scaling method, scaled images are always blurry
What’s the solution?
The idea is to use windowed mode and stretch the window over your desktop. This bypasses the above restrictions, allowing you to use any desktop configuration you desire. It takes some setup and third party software to make this work.
Example Setup
Personally, I’ve used 27” 4k, 1440p, and 1080p monitors in conjunction to make a unique quad monitor setup.
The 1440p monitor is running at native resolution (no scaling), and the center right monitor is 4k integer-scaled to 1080p for better performance and no blur. I’m also only using half of the far right screen, allowing me to use the remaining space for other programs.
Basically, you can create any desktop configuration you want and use it for the game. So let’s get into how to do this!
Windowed Trick
Here is how to bypass Nvidia Surround (or equivalents) using windowed mode in ATS/ETS2.
First Time Setup
- Install Simple Runtime Window Editor (SRWE). Link: https://github.com/dtgDTGdtg/SRWE/releases
- Adjust your monitors’ virtual positions to desired layout (see “Configuring the Desktop”).
- In config.cfg, set r_fullscreen to 0 and set r_mode_width and height to the size you want the window to be (see “Configuring the Game”).
- Edit your multimon_config.sii file (see “Configuring the Game”), and make sure r_multimon_mode is set to 4 in config.cfg.
- Start the game as usual. It will open on just one monitor.
- Go to options and change the Vsync setting (enable or disable), then hit apply.
- The window may disappear, press Esc to revert changes.
- Alt-Tab out, start SRWE, and select the game process (amtrucks.exe, eurotrucks.exe).
- Adjust the window x, y, width, and height until it fills the screen the way you want (see “Configuring SRWE”).
- Save it as a profile by check-marking amtrucks.exe/eurotrucks.exe and pressing save profile.
- Switch back to your game, and now you can play!
- Set your monitor layout (if needed).
- Start the game as usual.
- Change Vsync, then revert by pressing Esc.
- Alt-Tab out and start SRWE.
- Select the game process and load the profile you made.
- Switch back to the game, you are ready to play!
From 5:53 to 7:56, he shows most of the steps from “first time setup”. You can ignore the in-game settings he shows, they obviously aren’t applicable here. Instead, make sure to follow steps 3, 4, 6, and 7, those are the steps specific to ATS/ETS2.
Also, you can watch from 8:44 to 9:14, he shows you the steps for subsequent launches. He doesn’t show step 3 because it’s specific to ATS/ETS2, but make sure to do it!
Configuring the Desktop
Using the windowed trick, any desktop configuration can be used as the base for the window. An easy way to see your desktop configuration is looking at the Windows display settings screen. Your graphics control panel will likely have something similar as well. Here's an example.
There’s a utility named DPEdit, which lets you edit monitor positions with pixel precision. If you have trouble lining up your monitors or finding out their exact position, try using this tool. Link: https://github.com/programmer2514/DPEdit-GUI
For the game, you can just use your normal desktop, or you can choose to do scaling for performance or quality benefits.
If you’re after performance, I recommend integer scaling, which lets you scale to exactly half the pixel width and height without any blur. For example, you can scale 4k down to 1080p, or 1440p down to 720p. It gives a huge boost to performance (75% less pixels), but the resulting image will look more aliased. Only certain GPUs or monitors have support for integer scaling, look it up for your system.
If you’re after quality instead, I recommend just sticking to native resolution and using NPI AA, it looks the best to me. Link: viewtopic.php?f=23&t=1000
However, DSR (Nvidia) or VSR (AMD) are also options, and DSR can even be combined with NPI AA. Enable it in the graphics control panel, then your monitor’s resolution can be raised above native. This will drastically decrease game performance and cause some blur, but is a powerful anti-aliasing method.
If you need to change your desktop configuration every time when starting the game, there is software out there that can make it easier. I used Monitor Profile Switcher, which is free, lightweight, and allows for keyboard shortcuts.
Another free program is Display Magician. Among other things, it allows you to create game shortcuts that also change your monitor profile automatically. Then there's Display Fusion, which also has a profiles feature, along with many other functions too.
Configuring the Game
We need to configure the config.cfg and multimon_config.sii files to tell the game what to display and where. See my other post, it will guide you through installing the multimon file and using my calculator to configure the view. Link: viewtopic.php?f=23&t=2125
Just follow the guide, using the Hybrid Calculator to recreate your setup. Check the virtual screen space visualization diagram, it should fit what you see in your display settings. Don’t forget to set r_mode_width and height in config.cfg, as well as setting r_fullscreen to 0.
Remember that you don’t have to match your desktop configuration exactly. You can exclude monitors, or use only part of one, or split one monitor into multiple views. You’re free to create whatever setup you want.
Configuring SRWE
This section will quickly explain how to use SRWE to move and resize the game window. The first step is to select the game process.
Now you will be able to adjust the window x, y, width, and height settings. To make changes, simply enter a number into a box, and press the “set” button to apply.
The x and y are the coordinates of the top left corner of the window in pixels. Increasing x moves right, and increasing y moves down. Width and height is the size of the window in pixels, including borders. You want to pay attention to the area on the right titled “Client Area Position and Size”; that is the actual size and position of the game contents, without the borders.
You want the client width and height to match the window size you set in config.cfg (r_mode_width and height). For x and y though, it will differ for every setup, and it depends which monitor is set as primary. Just try adjusting it until it looks right, you should be able to get the correct values through trial and error.
If your Windows display scaling is not set to 100%, the pixel values in SRWE will all be scaled, which can be confusing. This can be fixed by right clicking SRWE.exe, going to Properties > Compatibility > Change High DPI Settings, checking the box under High DPI Scaling Override, and choosing Application in the dropdown.
Extra Tips
Compatibility/Quirks
A few things to note about using the windowed trick:
- Yes, you have to do it every time you launch the game.
- I have only tried Windows 10, I do not know about other operating systems.
- Nvidia Profile Inspector tweaks for anti-aliasing work just fine in conjunction with the windowed trick.
- Windows task view (Win+Tab) resets the game window, putting it back on 1 monitor again.
- Changing graphics settings may cause the window to disappear again; Alt-Tab out and reapply the SRWE profile.
- Generally, if a function works with the game in normal windowed mode, it will most likely work with the windowed trick.
- Try not to Alt-Tab excessively, I’ve had the game crash after tabbing in and out too much during testing.
SRWE Alternatives
Other people have expressed success using different software for the window resizing. Borderless Gaming and Resize Raccoon can do the same job as SRWE, with the main difference being that you don’t have to select the process and apply the profile on every startup. Note that you still have to change Vsync then revert. I haven’t tested them personally, but they seem like great options to try.
Performance
By tweaking the multimon_config.sii file, the game can render a non-rectangular picture within the rectangular window resolution. As far as I know, the performance is dependent on how many pixels are actually being rendered, not necessarily the window size. For example, my setup can use a 7680x2160 window, with my monitors all side by side. If I take a screenshot, there is clearly black space within the window.
If I use a 5760x2160 window instead, with the monitors tiled so there is no black space, the performance remains the same, even though the window area is reduced by 1/4. A screenshot looks like this.
Note that, with adjustments to the multimon file, the end result looks identical. So it probably doesn't matter which setup I use, since they both render the same number of pixels.
Other Games
Could the windowed trick work for other games? It depends. Other games will handle windowed mode differently, and very few games have something equivalent to the multimon_config.sii file. You will just have to try resizing the window, and see if you can expand it to span multiple screens.
For games with less extensive triple screen support, you will likely need monitors of the same size (or at least the same height) for it to look correct. The video referenced earlier shows using windowed mode to bypass surround in three different racing games, which inspired this post, but the specific steps required to make it work for ATS/ETS2 I discovered myself.
If you have any questions about mismatched monitor setups, ask them below. If you find any mistakes, let me know.