Bug Report OBS disabling Crossfire?

JonasTone

New Member
I can't see any software any where to force crossfire. Its a shame too i love this program and want to stream more black ops 2 all other programs i have tried are really laggy, even with crossfire still running. Its weird it does not seem to do it for all games. I was playing Kerbal Space program and crossfire was still reported while steaming. Maybe it is an engine specific thing?
 

Valla79

New Member
I have the same issue with my dual 7970's in crossfire.
I need both cards active since I play with three monitors, the stream is of my middle monitor.
With only one card active when streaming, my frames are not satisfactory :(

Hopefully this issue will be adressed.
 

crushed

New Member
I've also got XFired 7970s but my problem appears to be a little different. With XFire turned on, I get 200 FPS in Black Ops 2 no problem while not streaming. Once I turn on the stream, my frame rate drops significantly. Sometimes down to 70-80 FPS. On my 120Hz monitor, a fast game like BLOPS2 is essentially unplayable at those frame rates. I also have QuickSync enabled (4770K CPU), using the latest beta drivers from AMD, and latest 64-bit OBS (v0.583b).

After reading the forums, I tried disabling XFire and that seemed to fix my problems. Now while streaming I usually average somewhere between 150-200 FPS in game. It's not devastating but when I move over to BF4, the extra horsepower would be nice to use.
 

romcom

New Member
Yes, it would but essentially you only have a couple options when it comes to crossfire and OBS the way I see it.

1: Hope it works, I know of only a couple games that work in crossfire with OBS such as Skyrim.
2: Dual PC setup and capture the source from the crossfired pc.
3: Buy a big single card like I did with the r9-290x and forget the headache all together.
 

kdawgmaster

New Member
Ive noticed this in BF4 where my 2 R9 290x get disbaled. Ill post something on the AMD side as well to see if this could be a possible driver confliction but i doubt this will be high on their priority list to get resolved.
 

JonasTone

New Member
Not all of us can afford to drop £600-£700 for a new top end single GPU, im lucky to have what i do considering i have 2 young children.

I can note, i am not on windows 8.1 and the issue is persistent on here too, from what i can tell pretty much everything else is fine but BF4 BF3 BLOPS2 GHOSTS all have crossfire disabled when trying to live stream with OBS. Other programs that are out there do not kill the second GPU but are terrible and lag like crap. I really hope something can be done.

I would be more than willing to provide my computer as your "test" machine for any "beta" builds where you wish to test any possible fixes you may come up with. I love OBS and would be happy to try and help, just tell me what you want me to do, im pretty computer literate.
 

frag85

New Member
For me on CF7970 this happens on any of the 14.x beta and WHQL drivers. Haven't tried any older drivers or other versions of OBS.

CF gets disabled in Arma 3 as soon as I hit record, and most of the time I will get a black screen and have to alt tab and tab back in. To get the performance of CF back I have to restart the game.

However, In Red Orchestra 2, CF stays enabled, perfectly smooth capture, both cards with equal utilization.

I'm in the process of finding a recording solution that has a low impact on frame rate. DXTory is still 15-20% in games like arma 2 and arma 3 while OBS with Quicksync is 0 inpact.

I'd play with CF disabled (which I do in quite a few games), but for several games, like arma 3, played in an eyefinity setup a single 7970 will get me ~20-30fps and 100% usage most of the time. CF is nearly double the framerate and 75-100% GPU usage on each card.

For those wondering CF7970 has more GPU power than a 290 or 290x, so a single 290x probalby won't cut it. A 780ti might, but I'd just use Nvidia's recording solution at that point. My next monitor upgrade will be UHD or 4k, almost bought one this week, so again I'll probably be on a multiGPU setup.

Is there anything I can do to figure out what is causing OBS to disable CF that would help the devs?
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
If crossfire is being disabled while OBS is active, it is most likely not OBS' fault, but something in the drivers. OBS is a secondary graphics application running on your system while your game is running.

Crossfire/SLI are really just giant hardware hacks that share memory and swap drawing frames between cards to boost performance. Having another game-like application (OBS) active on your computer while playing your game is probably going to increase the likelihood for untested behavior and is most likely something that the drivers haven't been fully programmed to account for. I have no control over what happens in the drivers while OBS is active. Basically what I'm saying is that OBS is really not directly at fault at all, it's very unlikely there's anything I could ever do to alter the situation because it's pretty much entirely a driver issue at this point.

However, there is probably something you could do, though I don't know if it'll work for crossfire because it's only worked for SLI so far -- for example, I would recommend is completely minimizing OBS or disabling the preview window if possible, as the preview window can actually cause conflicts with SLI. It's possible that this could help, but it might not at all either. It's just an idea.

Not really much else I can do about it due to the nature of how SLI/crossfire works. SLI/crossfire is entirely a backend thing that's automatically handled by the drivers, there is no way to really control how SLI/crossfire functions via DirectX. They intended it to be used first and foremost as a way to boost performance for your game and the game alone -- they most likely did not really intend for it to be used with capturing programs, so basically everything else is outside of their modus operandi.
 

Rice

New Member
Hi guys,

First off: i'm new here. I was having problems with CFX too. So after two nights without sleep i finally got a solution, workaround, fix for this. I'm going to write an tutorial about this soon. I first need to work stuff out. I finally managed to get it to work properly in Battlefield 4 now. Still having some issues with Call of Duty: Ghosts at this moment. I can say on both of these games it uses CFX now, but only in CoD: Ghosts i still have some weird stuttering issues i need to take care of. But: CFX works, even in CoD: Ghosts! Why it's stuttering, i don't know. It has something to do with the encoding at this point. I was getting like 100% CPU load. Managed to reduce that a bit, and so the stuttering was a little less, but still it's there. This stuttering is really annoying if you have a 144hz monitor like me.

It's been a long journey to get this far, and i'm in dire need of some sleep now. When i got all sorted out i will write an tutorial on this for you guys to finally enjoy CFX or even maybe SLI while using OBS!
 
Last edited:

Hoaxly

New Member
Just wondering if there is an update to this tutorial for the solution. I'm running into these issues as well and if you can force the second gpu I would appreciate the help.
 

Rice

New Member
I can tell you how i did it, but i ended up buying a capture card, and finally after that i still wasn't satisfied so i ended up buying two Nvidia GTX 780's which i run in SLI, and with SLI you can actually clone your screen while having 144hz on monitor one, and 60hz on monitor two.

What you want to do with AMD, is just setup crossfire like how u did. Then you want to open up dxtory, which is a neat little program that let's you capture gameplay. But we are not going to capture gameplay with it, we only want to use the dxtory directshow output. I could write a tutorial on this if you want.

Now when u have that setup alltogether, you want to open up VLC mediaplayer and open that directshow output. You can then drag this to a second monitor and enter fullscreen mode. Then you can use that second monitor with the images to stream.

This is a very dirty workaround, which you will need a very strong CPU for. I then hooked up this second screen with the fullscreen VLC up to a capturecard to stream this on a different computer, because i had issues with this.

As for now, AMD simply doesnt support going in CFX-mode with the screenclones. With the above option it is possible to capture the gameplay at lets say 30 fps, and then output it on a second screen with VLC so you can use that for streaming. But still, i experienced a drop in frames because that directshow thing actually takes up a bit of GPU/CPU power. I found the best results were to limit the output to 720p 30 fps. When you go to like 1080p it takes up to much FPS.

This is the exact reason why i ended up buying two Nvidia cards because i want to be able to play on 144hz, without any framedrops when duplicating the screen. And now it finally works :D

Oh and indeed: Crossfire disabling isn't OBS's fault indeed. It is because AMD's drivers don't support a screenclone while in CFX mode. Crossfire want's to have one screen in fullscreen in order for it to work. That's the main reason why Crossfire is disabled when you are going to switch to windowed mode in game. Don't ever do that when you have crossfire enabled because it will actaully disable it.
 

Mhynlo

New Member
I thought I would add a note to this thread since it is a top result on google.
There is a working CrossFireX option on AMD's side.
Initially I was not getting a good feeling with the software, and I do know there are limitations on AMDs software in general. I did not want to have this software be the reason to get nvidia... yet.

The option appears to be added sometime this year since I did not see it at the beginning of this year when I was tweaking my video settings.
When enabled this "Enable AMD CrossFireX for applications that have no associated application profile."

V3BXkBF.png





After I made that setting in the AMD settings, everything in the streaming was humming along. :)

Note: I am running two 6870s, i7 and 32GB RAM.
 

Mange

New Member
So there is a very easy fix for this now thanks to OBS MultiPlatform.
1. Download the latest version on their Github: https://obsproject.com/forum/threads/latest-windows-test-build-0-7-3.23342/
2. Add a "Game Capture" source
3. Tick the "Multi-adapter Compatibility" box
4. Choose your game in the dropbox.

And voila, now crossfire works without getting disabled!
If CFX gets disabled anyway, restart either the game or OBS and crossfire will now be activated.
I tested this on the x64 bit version only,

I wanna give a huge shoutout to the OBS developers for making a fix for this even though AMD should have first.
And to all the Crossfire people, happy streaming! :D
 
Top