Setting up eyefinity with bezel correction on AMD Adrenalin 2020
Currently AMD eyefinity is really not well supported and probably won’t be for the foreseeable future. The subset of users with multiscreen setups seems to be at the bottom of a very long list of issues and has been now for several years. I think in part this is because this is generally incompatible with other tools such as relive etc. and cool things like streaming and maybe because the intent was to hand this functionality off to windows 10, but again these tools are lacking the control to make it work correctly.
However the tools still mostly exist within the software suite to setup eyefinity with bezel correction, but it’s a mess and requires several steps.
I’ll assume your monitors are connected and arranged correctly, firstly to get accurate bezel compensation we will need to do a little work. Using an image editing application such as GIMP or Photoshop create a new file large enough to draw a large triangle polygon, i.e 20x20cm at 72dpi. Below is an example of mine:
No you can't use this graphic as you need to be able to mover the layers independently, make your own..
Draw the polygon, then duplicate the layer and set the layer to a different transparency or effect, so you can effectively see through it. Place the document window in the join between two monitors ensure graphic is set at 1:1 size. Now move the top layer left or right to align the top polygon layer with the lower layer. (You want the top edge of the back layer triangle on one monitor to line up with the top edge of the upper layer triangle on the other monitor). The simplest way is to nudge the graphic 1 pixel at a time using the cursor keys and simply count how many pixels you have to move it, i.e 67 pixels. Make a note and repeat this for any other monitors or if you also have to do vertical alignment. (This might sound crazy but hopefully you’ll see what I mean as you do it).
Now we need to use AMD’s Eyefinity Pro tool, this can be found in C:\Program Files\AMD\CNext\Cnext
Load this up, and you should be presented with your available displays. In layout mode select Fill, fit or expand. I can’t seem to determine much difference between them so start with fit (you can google it if you want). Select your center monitor (I am assuming a typical 3 monitor set up), and then in horizontal offset enter the value that you counted up earlier. For me this is 67, you should see the center monitor move to the right slightly away from the left screen to compensate for the bezel, if you need to add a vertical offset then add that in the relevant box. Select the right most monitor and add the required values in again for this screen and again it should move to represent the bezel compensation. A positive number will move the screens right or down while negatives with move them left or up, (overlapping the screen will produce a duplication of overlapped area).
Finally click create AMD eyefinity Configuration.
Now wait…… No wait a bit longer! Your screens will go black and reconfigure to the eyefinity group, then you must wait another 10-30 seconds don’t press anything and your screens should go off again and reconfigure once more but now with the bezel compensation! Hurrah.
Now if you goto your windows display settings (you can click screen resolution button in eyefinity pro) you should see you are running a custom resolution such as 5984x1080. Job Done!
Ok so if you don’t want to be running eyefinity all the time and you want to switch between that and normal screen setup what to do. Now we need another old AMD tool, yes good ol CCC. This can be found enjoying its retirement in C:\Program Files (x86)\AMD\CNext\CCCSlim\CCC.exe
Now you should be greeted with the ancient Radeon additional settings control panel. Inside which is the control for AMD Eyefinity Multi display. In this you can select that the taskbar only fits on one screen, and you can disable the eyefinity display group. In here you can then also re-enable the eyefinity display group too, (this is the only correct way to disable and re-enable the group without breaking it). There are no hot keys, or shortcuts I'm afraid, so you may want to add the app to your start menu if you use it.
What not to do:
If you use the new Adrenaline 2020 control panel, to turn off eyefinity, then this will actually discard the eyefinity settings including bezel compensation, so you will have to use eyefinity pro to set it all back up again.
If you use AMD eyefinity pro to disable the eyefinty group (in the menu) it will discard the settings and you have to start over. Also if you click start over, guess what, yeah you have to start over!
However if you click Disable eyefinity display group in CCC, if you go into Adrenaline 2020 to preferences and eyefinty, you will see all three screens displayed (and they will appear in the graphic like they do in eyefinty pro offset from each other) you can click quick setup and it will actually re-enable the group with bezel compensation, (just don’t discard it here).
If you disable the eyefinity in windows by changing back to the normal resolution windows thinks you only have one display with your desktop mirrored across them, and no you can't detect any more displays or turn off mirroring. You then need to open AMD Adrenaline control panel, goto preferences and display, and there you will find your monitors are set as clones. Select the monitors one at a time to turn off cloning in the top right corner.
And that’s it. All the tools, settings etc. still actually exist and work, just AMD in their wisdom have only added a bit into Adrenaline and bits into Eyefinity pro and CCC has bits stripped out or missing. (this used to have the graphic in to adjust bezel compensation). It’s a shame as it probably wouldn’t be much work to integrate these elements and get it working correctly but clearly its not on the todo list…
Here is a little follow up to this as well now I have had a little more time to play...
Automatically enabling and disabling eyefintiy.
Here is the most useful thing I have found in Adrenaline 2020, if you open the control panel and goto the Gaming Section, here you can select the game and customise graphic settings for a particular game. If you goto the settings on the lower far right there is an option to launch with AMD eyefinity mode. Therefore for normal day to day use you can have eyefinity disabled then when you start your game it will reconfigure your displays to eyefinity as it starts, and then disable it when you end the game and won't destroy the custom bezel corrected config.
However once again not is all smooth sailing here. For one you have to do this for each and every game that you want to play in eyefinity, (but at least you can leave out titles that don't support ultra wide resolutions). The other is that it reconfigures the screens once the game has started loading which doesn't always seem to work in time.
For example on testing this with the elderly Battlefield 4 it seems to work just fine. But with Apex legends instead I just got white screens and an error in the background saying the resolution was unsupported. (However if I switched into eyefinity manually first in CCC, then ran Apex it would work just fine).
The option in CCC to place the taskbar on a particular screen, i.e the middle screen of your 3 window eyefinity layout, doesn't work correctly. The taskbar will goto the center screen but when you click on the start menu, the menu itself will appear on the leftmost screen. Same with the hidden icons menu on the right, notifications etc will appear on the right most screen. I think this is a windows related issue as much as an eyefinity one. Either way it makes repositioning the taskbar pretty pointless.
Plugging in a VR (WMR) headset or other display device plays merry havoc with the screen settings.
Lastly the enabling and disabling of eyefinty does generally cause a mess with windows 10 itself, nothing major but everytime you enter eyfinity windows either seems to remember odd positions of open application windows or just decide to mix things up a bit for laughs, then when you come back out again it reorganises everything into a pile on your main display meaning you have to put all your app windows back where you want them, every friggin time!!
The bottom line on eyefinity or multi dispalys is that while we can do it and work around some of the issues the fact is Windows itself doesn't work so well with multiple screens, it seemed to be better in the days of windows 7 but with 10 its trying to be a bit smarter in how it manages them and if anything just gets in the way and mucks things up and shrugs it sholders and saunters away leaving you to clear up its mess. Really with neither the AMD application or windows fully working and managing whats going on 100% its a lumpy handoff from one to the other.
Here is a little nugget of goodness. The link will take you to an online image editor with the layered bezel correction already set up and ready to roll. Before you start goto view and be sure to select "pixel to pixel" (CTRL+1). Place the webpage window in the join, and click on Top layer, in the layers panel (it should already be selected). Use the cursor keys to move the top layer to the left, and count up as you go... the result is your bezel correction.
And if you really want you can copy the link and open it in the Adrenaline control panel home page itself, and add a bookmark to it there
This is an excellent tutorial and the best that I've been able to find for working with eyefinity over the past year or 2. I could not get your bezel measurement tool to work correctly for me. I think my brain must just be tired because as I move the triangles without Eyefinity enabled the pixels on either side of the bezel are touching, so there's not virtual gap to match the real gap of the bezels. I ended up having to use a tape measure to measure the bezel and then move the triangles on a single screen to determine the number of pixels. Once I enabled Eyefinity, I was able to place the triangles across the bezel to make sure that the virtual gap matched the bezel gap. Your way sounds much easier, but I think I'd need to see a video of it to be able to do it correctly.
I have an issue with my monitor setup that I'm hoping that you can send me in the correct direction to overcome. I have a 3 monitor setup. All monitors are 1920 x 1080, but their physical sizes are different. I have a BenQ EX3200R as my center display. It is 31.5". The 2 side monitors are Dell SE2717H 27-inch monitors. I would like to be able adjust the resolution of the Dell monitors so that they match the physical pixel size on the BenQ and when I slide objects from one monitor to another they remain the same size on the screen as well the mouse cursor leaving one screen and entering another screen at the same elevation. I know that this would effectively reduce the vertical pixels of the Dells. I'm trying out DisplayFusion Pro to see if it is capable of making these adjustments, but so far I have not found it capable of this. In the end, I'll probably start saving up money to get 3 matching displays (and up my refresh rate when I do). I'd appreciate any help you can give me. Thanks again for the bezel compensation tutorial.
Yeah the triange tool is a bit of a fudge, I could make a video, but would have to be with camera, as it doesn't work screen recording. Once you figure it out its simple though.
As for the monitor setup the short answer is you can't.. What I expect your looking at is that the images on your center monitor are larger than they appear on the side monitors. What you are actually wanting to do, is to create a custom super resolution for the center screen. For example if your edge screens are 1920x1080 then you want the middle to be 2097x1180 <(these numbers are only a guesstimate) to basically force more image into the space, therby making everything a bit smaller. But there's two problems with this, one is you can't create custom super resolutions, (at least I can't seem to make it work), you can use virtual super resolutions but these are set at a few big common real monitor resolutions, I don't know why it's not that useful as the steps are quite large. But it allows you to drive your 1080p monitor at 4k, even though everything would look tiny.
You may be able to add a custom resolution to underdrive the outer monitors, but you'll probably end up with the image just being a bit blurry as you will no longer be driving the screens at the native resolution, so you end up pixel splitting. And you will still be faced with problem two...
Problem two I believe would be that when you enable eyefinity, what its actually doing, is taking the resolutions of all your screens, adding the bezel compensation bits and adding them together to make one big resolution, 1920+54+1920+57+1920 = 5868 and then telling your system thats what your running. So having a virtual resolution stuffed in there would probably just throw it all off a bit... as it can only choose one height, either 1080, or 1180 so either way what works for one won't work for the other, and vice versa.
But I actually have a similar set up to you with a 23" monitor in the center and 2 x 21" ish on the outside. What I do is cheat by actually arranging the monitors so the smaller ones sit in front. This way I can overlap the bezels thereby making them smaller. All you need to do is move the center monitor back a bit and fiddle with the angles of the edge ones until you kinda line it all up and get it about the same scale or as near as dammit. Or in other words move you big monitor further away until it looks the same size as the smaller ones.
If you look at it from an angle or from above it might look a bit strange, but sat in front its fine..
Now after a reinstall, CCC.exe is gone for me with radeon sw version 20.8.3... So there is no way of turning off eyefinity without redoing all the calibration... Thx AMD.
Is it possible to download an old version of AMD drivers / Adrenaline that contains CCC?
Then move or copy that app and folder to a different location for safe keeping, then download or update to new version?
AMD installer doesn’t usually get rid of stuff! If you look in the AMD folder in your Windows system usually the last several downloads/updates or installers are sitting around in there taking up disk space...
That is exactly what I have done after my comment. The first adranalin contained it,made a copy of the folder then updated again, it even stayed after the update. Such a shame that if you are a sim racer on AMD, u always have to find workarounds to have a working setup...
Are you asking can you install a older driver version and update the drivers only from a newer version? Yes. I use the 19.12.1 update package and then installed the 20.8.3 graphics drivers only...using device manager/have disk method.
I just added a 4th monitor to my triple monitor sim racing setup, ie I want 3 to be in eyefinity with 4th monitor completely separate for comms/timing/telemetry etc. Obviously every time I launch the sim, it defaults to a silly 4x1 configuration. So I tried the fix, installed 19.12.1, made a copy of the cnext folder, installed 20.12.1 (this deleted the original cnext folder). Then I tried to open ccc.exe once I had copied the cnext folder back to it's previous location, and it doesn't work.
Did I do something wrong with the install or has 20.12.1 blocked this workaround?
When I bought the triples, I specifically went AMD for their better multimonitor support. Perhaps that was a bad decision!