Fix for 5xxx series multiple-monitor flashing using 2D desktop apps

Balthazor

Gawd
Joined
May 18, 2006
Messages
688
2010-04-28 Update:

Using 10.3a (and presumably later drivers) multiple monitor flashing in 2D mode has been fixed - UNLESS you enable ATI Overdrive, which apparently doesn't work well in 2D mode using multiple monitors.

Problem: Using multiple monitors, Radeon 5xxx series video cards, and with only 2D applications running, one or more of your monitors is exhibiting horitizontal flashing lines, particularly when moving windows around.

Cause: If you are using 10.3a or later drivers with ATI Overdrive enabled, this apparently sets your 2D clocks too low to properly drive multiple monitors.

If you are using earlier versions of the CCC then your 2D clocks are too low by default, and I recommend updating to 10.3a or later.

Solution: If you are using 10.3a or later (I have not tested the WHQL 10.3, perhaps someone could provide feedback?), then the fix appears to be simple: go to the ATI Overdrive tab in the CCC, and untick the 'Enable ATI Overdrive' option. Make sure to update any user-created profiles with this option unticked.

If you are using earlier versions of the CCC, I recommend installing 10.3a or later; 10.3a reportedly has some improvements not released in the 10.3 WHQL version. Try a 'cleanout' and install:

  1. In Programs and Features, uninstall any ATI software, including application profiles. Restart if necessary.
  2. Go to Device Manager, expand the Display adapters, right click your Radeon GPU, and Uninstall. Check the option to 'delete driver software.' This should require a restart.
  3. Optionally use a third party driver cleaner and/or registry cleaner at this point.
  4. Install CCC, and then the latest application profiles.

Now your multiple-monitor 2D flashing should be resolved; do NOT enable ATI Overdrive, or it will come back to haunt you. You should be able to use Overdrive with a single monitor without issue, or use Overdrive with multiple monitors and 3D applications.

Original workaround is listed below - this does NOT work using 10.3a and later drivers any longer:

Update: Please note that I found that using your stock 3D memory clock speeds is usually required to eliminate the 'flashing.' My Sapphire 5970 has a stock 3D memory clock speed of 1010 MHz, so that is what I'm using here; your card may require different clock speeds for multiple monitor stability.

Problem: When using multiple monitors on the Radeon 5970 and a 2D desktop environment, one or more monitors exhibit flashing and artifacts, especially when moving windows around. This problem may affect other 5xxx series cards.

This specific problem goes away if you run a 3D application in a window. If so, the below fix should solve your issue.


1. Open CCC

2. Unlock and Enable Overdrive if they aren’t already.

3. Go to Options/Profiles/Profiles Manager. Create a new profile. Under composition make sure “ATI Overdrive” is checked. Save and Close, DO NOT ACTIVATE.

4. In windows go to: C:\Users\{yourusername}\AppData\Local\ATI\ACE\Profiles (you will need to have “show hidden files” turned on for this)

5. Open the xml document with the name of the profile you just created (notepad is fine)

6. Change the values of the Clock and Memory speeds to look like this (these specific values are what worked for me and my card, use judgment) EDIT ONLY THE BOLD VALUES. Please note that if you have multiple GPUs, there will be one entry per GPU that needs to be altered. (Target_1, Target_2, and so on.)

Feature name="CoreClockTarget_0"

Property name="Want_0" value="40000"

Feature name="MemoryClockTarget_0"

Property name="Want_0" value="101000"

7. Save and close. Go back to CCC and activate the profile you just created.

*I'm finding that, after a restart, I'm having to switch to a single-display profile, then back to my working multi-display profile. Just a heads up.

This will make the card idle at 400core, 1010 memory. (2D clocks are the "Want_0" values.) This solution was originally posted on the AMD Game forums by user eventhorizon.

I found that I had to increase my memory clock to 1010 (1010 MHz) to get the 2D desktop stable, but that 400 MHz core clock was sufficient. Your mileage may vary. You can test if your new 2D clock speeds are activated by opening CCC and going to ATI overdrive; it will show you your GPU's current clock speeds. If your desktop still suffers from flashing using multiple monitors try upping the memory speed a bit until it goes away.
 
Last edited:
Hmm the flickering is less frequent but there is still some major flickering at times on my triple monitor setup. Looks like I'll need to tinker with the values. Thanks for the walkthrough.

103_6357.jpg
 
Last edited:
It took me a while to get it right. I'm using Afterburner to overvolt the core to 1.162, although what fixed it for me was the CCC profile fiddling.

My 5850 runs multiple monitors fine, but its 2D clocks are 400 / 1125 (XFX factory OC.) My 5970s can't handle 1125 without a memory voltage bump, so I ran it at the max my memory can go at stock 5970 voltge: 1075. And 1075 worked to solve the flickering issue.

If I go higher than that with memory without overvolting I start noticing a decrease in performance; specifically a major drop in minimum frame rates.

ATI needs to fix this though.
 
I'm finding that, after a restart, I'm having to switch to a single-display profile, then back to my working multi-display profile. Just a heads up.
 
You could try contacting your card's support, see if there is an updated BIOS. Sapphire updated my BIOS, but the cards still flashed when using multiple monitors (not in Eyefinity.)

The clock speed trick fixed it. 10.1 seems to not need any tweaks, either, so maybe it is resolved with 10.1.
 
6. Change the values of the Clock and Memory speeds to look like this (these specific values are what worked for me and my card, use judgment) EDIT ONLY THE BOLD VALUES. Please note that if you have multiple GPUs, there will be one entry per GPU that needs to be altered. (Target_1, Target_2, and so on.)

Feature name="CoreClockTarget_0"

Property name="Want_0" value="40000"

Feature name="MemoryClockTarget_0"

Property name="Want_0" value="101000"

Ok, so I created a profile called 'Flicker Free' for my Radeon 5970.

I changed the values for CoreClockTarget_0/Want_0 to 40000
I changed the values for MemoryClockTarget0_/Want_0 to 101000
I changed the values for CoreClockTarget_1/Want_0 to 40000
I changed the values for MemoryClockTarget1_/Want_0 to 101000

It's only working halfway in eliminating the flicker though.

According to Catalyst, my GPU1 on first monitor is at 400/1000 which is good.
However, my GPU2 on second monitor is at 000/000.

What in the world is going on? I know I want those values to be 400/1000, but it's not happening??
 
According to Catalyst, my GPU1 on first monitor is at 400/1000 which is good.
However, my GPU2 on second monitor is at 000/000.

What in the world is going on? I know I want those values to be 400/1000, but it's not happening??

I see this on my dual 5970 setup as well; in a desktop environment I see 000MHz for both GPU and Memory clocks for all but the primary GPU. So that is normal.

What isn't normal is your continuing flickering. Honestly, I did a complete driver wipe somewhere between 9.12 and 10.2, and haven't had any flickering with the 10.2 or 10.3 drivers (without making the special profile I outlined here.)

So you could try a clean sweep of your drivers using a third party driver cleaner and install the 10.3, see if that helps.

Otherwise I can only recommend that you ensure your Flicker Free multi-monitor profile has the 'ATI Overdrive' option ticked for all displays (open Profile Manager, select your profile, and review the 'Composition' tab for all displays. ATI Overdrive must be checked.)

If you are still having issues you can try contacting your board's support, describe the issue, and request a BIOS update. I received a BIOS update for my cards back in late December 2009, and it didn't fix this issue, but it is something else you could try.
 
I tried doing this fix, but it looks like only my GPU clock is changing, while my edits to my Memory Clock don't seem to be applied at all. CCC just says Current Mem is 600 and refuses to change no matter what number I put in for Want_0.

Have they removed the ability to alter the 2D clocks or something with catalyst 10.3? Or what reason could there be for the Memory clock to not be applied?
 
Ok, so I created a profile called 'Flicker Free' for my Radeon 5970.

I changed the values for CoreClockTarget_0/Want_0 to 40000
I changed the values for MemoryClockTarget0_/Want_0 to 101000
I changed the values for CoreClockTarget_1/Want_0 to 40000
I changed the values for MemoryClockTarget1_/Want_0 to 101000

It's only working halfway in eliminating the flicker though.

According to Catalyst, my GPU1 on first monitor is at 400/1000 which is good.
However, my GPU2 on second monitor is at 000/000.

What in the world is going on? I know I want those values to be 400/1000, but it's not happening??

Its probably the power saving ULPS kicking in:
http://www.overclock.net/ati/667144-crossfire-disabling-ulps.html
 
I tried doing this fix, but it looks like only my GPU clock is changing, while my edits to my Memory Clock don't seem to be applied at all. CCC just says Current Mem is 600 and refuses to change no matter what number I put in for Want_0.

Have they removed the ability to alter the 2D clocks or something with catalyst 10.3? Or what reason could there be for the Memory clock to not be applied?

I haven't had to re-do this fix since I completely cleaned out all ATI drivers and installed the 10.3a preview driver.

You could post the contents of the profile in question to see if we can spot anything that could be causing the issue you describe.
 
I haven't had to re-do this fix since I completely cleaned out all ATI drivers and installed the 10.3a preview driver.

You could post the contents of the profile in question to see if we can spot anything that could be causing the issue you describe.

Sure, please find my profile below. If nothing is wrong with the profile, you think I should move from 10.3 to 10.3a? In that case, should i simply uninstall via control panel, uninstall via the driver setup, or uninstall via a 3rd party program (if so what program would you recommend)?

Thanks for your help, I appreciate it greatly.

---------------------------------------------------------------
edit: profile removed, profile was fine, problem was solved be unchecking Overdrive as described a few posts down
 
Last edited:
Well, I can't see anything obvious that would not cause this to work for you.

By the way, you can use the 'code' tags around long bits of text in posts, like this:

Code:
- <Profile>
- <Caste name="Graphics">
- <Groups>
- <Group name="Overdrive5">
  <Feature name="TimeUnlocked" /> 
- <Feature name="OverclockEnabled">
  <Property name="OverclockEnabledProperty" value="True" /> 
  </Feature>
  <Feature name="AutoTuneSupport" /> 
- <Feature name="CoreClockTarget_0">
  <Property name="Want_0" value="15700" /> 
  <Property name="Want_1" value="55000" /> 
  <Property name="Want_2" value="73500" /> 
  </Feature>
- <Feature name="MemoryClockTarget_0">
  <Property name="Want_0" value="30000" /> 
  <Property name="Want_1" value="101000" /> 
  <Property name="Want_2" value="101000" /> 
  </Feature>
- <Feature name="CoreVoltageTarget_0">
  <Property name="Want_0" value="950" /> 
  <Property name="Want_1" value="1038" /> 
  <Property name="Want_2" value="1050" /> 
  </Feature>
- <Feature name="MemoryVoltageTarget_0">
  <Property name="Want_0" value="0" /> 
  <Property name="Want_1" value="0" /> 
  <Property name="Want_2" value="0" /> 
  </Feature>
- <Feature name="FanSpeedProtocol_0">
  <Property name="FanSpeedProtocolProperty" value="Percent" /> 
  </Feature>
- <Feature name="FanSpeedAlgorithm_0">
  <Property name="FanSpeedAlgorithm" value="Automatic" /> 
  </Feature>
- <Feature name="FanSpeedRPMTarget_0">
  <Property name="Want" value="960" /> 
  </Feature>
- <Feature name="FanSpeedPercentTarget_0">
  <Property name="Want" value="50" /> 
  </Feature>
- <Feature name="CoreClockTarget_1">
  <Property name="Want_0" value="15700" /> 
  <Property name="Want_1" value="55000" /> 
  <Property name="Want_2" value="73500" /> 
  </Feature>
- <Feature name="MemoryClockTarget_1">
  <Property name="Want_0" value="30000" /> 
  <Property name="Want_1" value="101000" /> 
  <Property name="Want_2" value="101000" /> 
  </Feature>
- <Feature name="CoreVoltageTarget_1">
  <Property name="Want_0" value="950" /> 
  <Property name="Want_1" value="1038" /> 
  <Property name="Want_2" value="1050" /> 
  </Feature>
- <Feature name="MemoryVoltageTarget_1">
  <Property name="Want_0" value="0" /> 
  <Property name="Want_1" value="0" /> 
  <Property name="Want_2" value="0" /> 
  </Feature>
- <Feature name="FanSpeedProtocol_1">
  <Property name="FanSpeedProtocolProperty" value="RPM" /> 
  </Feature>
- <Feature name="FanSpeedAlgorithm_1">
  <Property name="FanSpeedAlgorithm" value="Automatic" /> 
  </Feature>
- <Feature name="FanSpeedRPMTarget_1">
  <Property name="Want" value="0" /> 
  </Feature>
- <Feature name="FanSpeedPercentTarget_1">
  <Property name="Want" value="0" /> 
  </Feature>
- <Feature name="CoreClockTarget_2">
  <Property name="Want_0" value="15700" /> 
  <Property name="Want_1" value="55000" /> 
  <Property name="Want_2" value="73500" /> 
  </Feature>
- <Feature name="MemoryClockTarget_2">
  <Property name="Want_0" value="30000" /> 
  <Property name="Want_1" value="101000" /> 
  <Property name="Want_2" value="101000" /> 
  </Feature>
- <Feature name="CoreVoltageTarget_2">
  <Property name="Want_0" value="950" /> 
  <Property name="Want_1" value="1038" /> 
  <Property name="Want_2" value="1050" /> 
  </Feature>
- <Feature name="MemoryVoltageTarget_2">
  <Property name="Want_0" value="0" /> 
  <Property name="Want_1" value="0" /> 
  <Property name="Want_2" value="0" /> 
  </Feature>
- <Feature name="FanSpeedProtocol_2">
  <Property name="FanSpeedProtocolProperty" value="Percent" /> 
  </Feature>
- <Feature name="FanSpeedAlgorithm_2">
  <Property name="FanSpeedAlgorithm" value="Automatic" /> 
  </Feature>
- <Feature name="FanSpeedRPMTarget_2">
  <Property name="Want" value="960" /> 
  </Feature>
- <Feature name="FanSpeedPercentTarget_2">
  <Property name="Want" value="50" /> 
  </Feature>
- <Feature name="CoreClockTarget_3">
  <Property name="Want_0" value="15700" /> 
  <Property name="Want_1" value="55000" /> 
  <Property name="Want_2" value="73500" /> 
  </Feature>
- <Feature name="MemoryClockTarget_3">
  <Property name="Want_0" value="30000" /> 
  <Property name="Want_1" value="101000" /> 
  <Property name="Want_2" value="101000" /> 
  </Feature>
- <Feature name="CoreVoltageTarget_3">
  <Property name="Want_0" value="950" /> 
  <Property name="Want_1" value="1038" /> 
  <Property name="Want_2" value="1050" /> 
  </Feature>
- <Feature name="MemoryVoltageTarget_3">
  <Property name="Want_0" value="0" /> 
  <Property name="Want_1" value="0" /> 
  <Property name="Want_2" value="0" /> 
  </Feature>
- <Feature name="FanSpeedProtocol_3">
  <Property name="FanSpeedProtocolProperty" value="RPM" /> 
  </Feature>
- <Feature name="FanSpeedAlgorithm_3">
  <Property name="FanSpeedAlgorithm" value="Automatic" /> 
  </Feature>
- <Feature name="FanSpeedRPMTarget_3">
  <Property name="Want" value="0" /> 
  </Feature>
- <Feature name="FanSpeedPercentTarget_3">
  <Property name="Want" value="0" /> 
  </Feature>
  </Group>
  </Groups>
- <Adapter name="PCI_VEN_1002&DEV_689C&SUBSYS_C000174B&REV_00_6&1C670D70&0&00200018A">
  <Aspect name="Overdrive5" /> 
  </Adapter>
  </Caste>
  </Profile>

That is my current default speed settings after I did a complete clean out of drivers, uninstalled all ATI programs, went into device manager and uninstalled the video adapter (checking the 'delete software' option), and reinstalled the 10.3a preview driver and 10.4 crossfire application profiles.

I'm not seeing flickering at all. But I also noticed that, despite what my profile says, it is running at 400 MHz GPU clock and 1010 MHz memory clock when checking the ATI Overdrive tab.

Maybe newer drivers use the want_1 value when using multiple monitors? That may have been how ATI fixed this issue. So you could try changing all your want_1 memory values to 100000, and see if that works.
 
And it is strange that my GPU is never set to run at 40000 - by my profile it should be 157 MHz, 550, or 735. But using multiple monitors it is 400.

On a single monitor it goes back to 157/300.
 
I've tried both want_0 and want_1, still doesn't do what I want. However, I did notice something strange. When I click to activate the relevant profile, after a few seconds the current clocks will temporarily jump up to the higher settings for a second or two, then go back to 400/600.

I will try out 10.3a tomorrow and let you know how it goes.

Thanks again!
 
I've tried both want_0 and want_1, still doesn't do what I want. However, I did notice something strange. When I click to activate the relevant profile, after a few seconds the current clocks will temporarily jump up to the higher settings for a second or two, then go back to 400/600.

Mine does then too, when I'm changing some settings; like when I swap between my single monitor and dual monitor profile.
 
They must have put in some new driver-controlled clock values that overrides the clocks in your profile when using multiple monitors.
 
I did some more testing this on this, and found something interesting.

With my dual monitor setup, if I have ATI overdrive 'unchecked' in the ATI Overdrive tab, my clocks are 400/1010 at desktop (1010 being the default memory speed for my 5970 'OC', like 10 MHz makes a huge difference.)

If I check that ATI Overdrive box the clocks drop to 157/300, and I start experiencing the flashing again.

If I uncheck it and apply, clocks go back to 400/1010, flashing stops.

So maybe try that?
 
The flickering is in 2D?

I'm just wondering if something is happening where you're getting 3D clock speeds forced in 2D mode, do the voltages change between these 2 modes, I think they might? In which case this could cause problems, the voltages are dropping in preperation for 2D mode but the clocks are remaining high.
 
So "flashing" like when you go to drag a box on the desktop and the middle monitor will have lines scroll across it? Or in Bad Company 2, the main/title screen will have lines scroll down it and flicker? It's always the middle screen for me. In game it's fine. Using 10.4.

Thought it was maybe since my 2 dells are 5ms response time, and my Acer is 2ms. :(

So the same will work for a 5850...?
 
I did some more testing this on this, and found something interesting.

With my dual monitor setup, if I have ATI overdrive 'unchecked' in the ATI Overdrive tab, my clocks are 400/1010 at desktop (1010 being the default memory speed for my 5970 'OC', like 10 MHz makes a huge difference.)

If I check that ATI Overdrive box the clocks drop to 157/300, and I start experiencing the flashing again.

If I uncheck it and apply, clocks go back to 400/1010, flashing stops.

So maybe try that?

Well played... I unchecked Overdrive and my clocks went up to 400/1000 (i had previously left my CCC open all night and when I sat at my computer it was reading 157/400 for some strange reason).

So I'm now at 400/1000 and I don't see anymore flashing or flickering distortions on my desktop.

A+ for Balthazor finding the easiest fix that was eluding us.
 
Last edited:
So "flashing" like when you go to drag a box on the desktop and the middle monitor will have lines scroll across it? Or in Bad Company 2, the main/title screen will have lines scroll down it and flicker? It's always the middle screen for me. In game it's fine. Using 10.4.

Thought it was maybe since my 2 dells are 5ms response time, and my Acer is 2ms. :(

So the same will work for a 5850...?

The monitor the flickering occurs on sometimes changes, and it depends on how many monitors you are using and, I would guess, the resolutions. Some users reported flickering on 2 out of 3 monitors.

Try disabling ATI Overdrive and see if that helps to eliminate flickering in 2D desktop applications.

Using 3D apps, like games, you won't see this particular problem if your card is ramping up its clocks properly.
 
Well played... I unchecked Overdrive and my clocks went up to 400/1000 (i had previously left my CCC open all night and when I sat at my computer it was reading 157/400 for some strange reason).

So I'm now at 400/1000 and I don't see anymore flashing or flickering distortions on my desktop.

A+ for Balthazor finding the easiest fix that was eluding us.

Thanks for the feedback, I updated the 'fix' above for others.
 
Just FYI, this was all with me having 3 1080p DVI monitors, 2 connected to the Card, 1 connected to the motherboard (with 10.3 WHQL). As soon as I receive my active miniDP to DVI converter, I will be using 3 Monitors to the card, so I'll post again if the 3 monitor connection to the card raises a new issue.
 
Last edited:
Back
Top