Bug Report nVidia Optimus Black Screen

squelop

New Member
Hello,

my friend showed me openbroadcaster on his own stream. When i saw this program i thought about use it. But i've got problem with stream. When i use nVidia CHIP i have black screen. On Intel screen i have desktop but when i go to the game screen again is black. I don't have idea why? My primary graphic is nVidia and i turn off intel hd and problem is still :/

Code:
Open Broadcaster Software v0.466a - 64bit ( ^ω^)
-------------------------------
CPU Name: Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz
CPU Speed: 1995MHz
Physical Memory:  8104MB Total, 5138MB Free
stepping id: 7, model 10, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
Windows Version: 6.1 Build 7601 S
Aero is Enabled
------------------------------------------
Adapter 1
  Video Adapter: NVIDIA GeForce GT 540M  
  Video Adapter Dedicated Video Memory: 1026097152
  Video Adapter Shared System Memory: 3220975616
------------------------------------------
Adapter 2
  Video Adapter: NVIDIA GeForce GT 540M  
  Video Adapter Dedicated Video Memory: 1026097152
  Video Adapter Shared System Memory: 3220975616
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1600x900
  Output resolution: 1600x900
------------------------------------------
Loading up D3D10...
------------------------------------------
Using auxilary audio input: Mikrofon (Realtek High Definition Audio)
------------------------------------------
Audio Encoding: AAC
    bitrate: 128
Using Monitor Capture
Using bitmap image
------------------------------------------
    device: ASUS USB2.0 WebCam,
    device id \\?\usb#vid_058f&pid_a014&mi_00#7&30a3a19a&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global,
    chosen type: YUY2, usingFourCC: false, res: 320x240 - 320x240, fps: 15-30.0001, fourCC: 'YUY2'
 
Using directshow input
Using bitmap image
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 1600, height: 900
    preset: veryfast
    CBR: no
    max bitrate: 1000
    buffer size: 1000
    quality: 6
------------------------------------------
Total frames rendered: 372, number of frames that lagged: 372 (100.00%) (it's okay for some frames to lag)
=====Stream End=======================================================================
 
Profiler results:
 
==============================================================
frame - [100%] [avg time: 50.236 ms] [avg calls per frame: 1] [children: 98.2%] [unaccounted: 1.82%]
| scene->Preprocess - [82.6%] [avg time: 41.495 ms] [avg calls per frame: 1]
| video encoding and uploading - [15.6%] [avg time: 7.826 ms] [avg calls per frame: 1] [children: 4.09%] [unaccounted: 11.5%]
| | CopyResource - [0.0259%] [avg time: 0.013 ms] [avg calls per frame: 0]
| | conversion to 4:2:0 - [0.0199%] [avg time: 0.01 ms] [avg calls per frame: 0]
| | call to encoder - [4.05%] [avg time: 2.033 ms] [avg calls per frame: 0]
| | sending stuff out - [0.00199%] [avg time: 0.001 ms] [avg calls per frame: 0]
==============================================================
 

Grimio

Member
Laptops are a pain in the ass when it comes to streaming. Jim is having a lot of fun working out all the issues :)
Do you have the newest drivers installed for your GPU?
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
You need to ensure that it's running on the right GPU, that's the major problem with optimus laptops. I wish it were easier to deal with but unfortunately the laptop designs just have these sort of issues.
 

Voxletum

Member
Right click your desktop, go to the nvidia settings, and you need to (under the Program Settings tab of manage 3d settings) force the two applications (the exe of OBS and the exe of the game) to run with the high performance processor.
 

squelop

New Member
Voxletum said:
Right click your desktop, go to the nvidia settings, and you need to (under the Program Settings tab of manage 3d settings) force the two applications (the exe of OBS and the exe of the game) to run with the high performance processor.

I do that, 0 results, and i have newest drivers.
 

Grimio

Member
Did you choose the right OBS.exe in the nvidia control panel? The 64bit version you are using is in a subfolder named "64bit".
 

Grimio

Member
I could somewhat reproduce at least a similar behavior when I manually initialized D3D on my HD4000 instead of GTX670. I see that you have 2 GT540M in your log file, if that is true you may have problems if OBS is running on the one and the game on the other.
 

squelop

New Member
Grimio said:
I could somewhat reproduce at least a similar behavior when I manually initialized D3D on my HD4000 instead of GTX670. I see that you have 2 GT540M in your log file, if that is true you may have problems if OBS is running on the one and the game on the other.

Game and OBS is running on the same card. I have only one GT540M.

Asus X73SV Ty-193
 

Grimio

Member
Why does it then show 2 of them in the log? Is this what Optimus does? One of them should be the HD Graphics 3000.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
I honestly wish I had a solution. The application was built with GPU acceleration in mind, and if there is a mixed GPU setup and everything's spread across two GPUs, then it basically makes it difficult for the app. If you can't somehow force it, then I unfortunately don't know what to suggest. I would love the app to work for everyone 100% of the time but laptop manufacturers are making it really really difficult.
 

Feyted

New Member
Hey guys, just hoping this does get solved soon so throwing in my own status (plus a bump).
I'm also running a laptop with an HD4000 and a 680M using Nvidia Optimus and whenever I try to add any screen capture, it leaves the space blank but the border surrounding it is there and the status bar states that the "Window is minimized" ( See screenshot: http://puu.sh/1ZLYn )

I have tried all combinations of using the integrated and Nvidia graphics (Game + OBS using integrated, both using gpu and one of each) and nothing changes.

Hope this gets worked out, really would like to use OBS.
 

Feyted

New Member
Not sure if this is useful info or not, since I am unfamiliar with how OBS / Optimus actually works but I also noticed that by setting OBS to run off of the Nvidia card, it won't do it when the program is simply open. It requires it to be "running" i.e. preview/streaming.
Does this mean anything?
 

Muf

Forum Moderator
What you need to set OBS to use will depend on what you are capturing. With Aero off, using monitor or window capture, it doesn't matter which GPU it runs on. When using game capture, you will need to run OBS on the same GPU as the game (probably the nvidia in 90% of cases). With Aero on, when using inner window capture, you will need to run OBS on the Intel, because Aero runs on the Intel. You cannot combine game capture with Aero inner window capture because of the above.
 

Syssx

New Member
Muf said:
What you need to set OBS to use will depend on what you are capturing. With Aero off, using monitor or window capture, it doesn't matter which GPU it runs on. When using game capture, you will need to run OBS on the same GPU as the game (probably the nvidia in 90% of cases). With Aero on, when using inner window capture, you will need to run OBS on the Intel, because Aero runs on the Intel. You cannot combine game capture with Aero inner window capture because of the above.

But what if I have Windows 8 and I cannot turn aero off?
 
Top