Code Monkey home page Code Monkey logo

Comments (28)

computerquip avatar computerquip commented on May 18, 2024

Thanks for testing it! I'll look into the issue!

from obs-studio.

computerquip avatar computerquip commented on May 18, 2024

Also, could you state what OS/distribution you're using and any quirks with your specific system (if you know of any).

from obs-studio.

benklett avatar benklett commented on May 18, 2024

If i build on Arch, I do have the same Problem. Maybe a strace helps: http://paste.ubuntu.com/6712175/.

from obs-studio.

computerquip avatar computerquip commented on May 18, 2024

Well this sucks. I'm running Arch Linux myself. For one, I'm not getting the GDK error although I know what might be causing that. But more importantly, I'm not sure if that's the cause of segmentation fault, and I am not getting the segmentation fault nor do I know how to reproduce it.

It appears to crash before its able to print OpenGL version information which is an issue. Could you tell me what card you have and what "glxinfo | grep version" gives you?

from obs-studio.

benklett avatar benklett commented on May 18, 2024

server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 3.1 (Core Profile) Mesa 10.0.1
OpenGL core profile shading language version string: 1.40
OpenGL version string: 3.0 Mesa 10.0.1
OpenGL shading language version string: 1.30

Thats on my laptop which only has the integrated graphics chip from Intel.

from obs-studio.

benklett avatar benklett commented on May 18, 2024

server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 4.3.0 NVIDIA 331.20
OpenGL core profile shading language version string: 4.30 NVIDIA via Cg compiler
OpenGL version string: 4.4.0 NVIDIA 331.20
OpenGL shading language version string: 4.40 NVIDIA via Cg compiler

And that is on my desktop PC which has a NVIDIA GeForce GTX 550 Ti.

from obs-studio.

computerquip avatar computerquip commented on May 18, 2024

Okay, if you could, start afresh with my fork here: https://github.com/computerquip/obs-studio/

If the problem is what I think it is, you should get a message that says, "Window is not realized...?". If it isn't then I'm in the wrong section of code >.>.

from obs-studio.

benklett avatar benklett commented on May 18, 2024

This is what I get:

$ obs
Attempted path: /usr/local/share/obs-studio/locale/en.txt
Attempted path: /usr/share/obs-studio/locale/en.txt
Window is not realized...?
X and Y: 702 358
Backbuffers: 2
Color Format: 3
ZStencil Format: 0
Adapter: 0

Segmentation fault (core dumped)

from obs-studio.

computerquip avatar computerquip commented on May 18, 2024

Alright, computerquip@d173203

With this commit, we move the given required functionality out of a (hopefully) undesirable timeframe. If this doesn't work, I'll be at a loss for a bit since I cannot reproduce the issue currently.

Please do the same as before, delete the repository then start over.

from obs-studio.

benklett avatar benklett commented on May 18, 2024

Sorry, but it is still:

$ obs
Attempted path: /usr/local/share/obs-studio/locale/en.txt
Attempted path: /usr/share/obs-studio/locale/en.txt
Window is not realized...?
X and Y: 702 358
Backbuffers: 2
Color Format: 3
ZStencil Format: 0
Adapter: 0

Segmentation fault (core dumped)

from obs-studio.

benklett avatar benklett commented on May 18, 2024

My desktop produces this:

$ obs
Attempted path: /usr/local/share/obs-studio/locale/en.txt
Attempted path: /usr/share/obs-studio/locale/en.txt
Window is not realized...?
X and Y: 632 358
Backbuffers: 2
Color Format: 3
ZStencil Format: 0
Adapter: 0

GLX error:

Failed to make context current.
device_create (GL) failed
Number of memory leaks: 0

from obs-studio.

computerquip avatar computerquip commented on May 18, 2024

benklett, GLX is goofy. That error message most likely means the window ID passed (which is literally the only function that uses a window ID) was bad.

I'm not too familiar with wxWidgets myself but wxWidgets is passing a GtkWidget to a GdkWindow (are you with me camera guy?) which we get a bad X11 XID from. All I know is that it's not a valid X11 Window XID that's drawable. .

I also haven't been able to determine whether or not it's our issue or your issue. Again, I can't reproduce this myself and I most likely removed any chance for a data race with the proposed commit above. But my knowledges of wxWidgets wades and something really goofy might be happening that I'm not aware of.

This issue will sadly take some time, either because I'm really over thinking it or because the problem isn't explicitly made (i.e. its obscure).

from obs-studio.

computerquip avatar computerquip commented on May 18, 2024

Before it segfaults, can you see a temporary window pop up then immediately die?

from obs-studio.

benklett avatar benklett commented on May 18, 2024

No unfortunately not. PS: I am also on IRC ...

from obs-studio.

computerquip avatar computerquip commented on May 18, 2024

Another attempt to fix what may be a data race: computerquip@b5c4275

There might be some locking issues if this is the solution but that should be easily fixed. If anyone could kindly pull the new commit and retry, that would be amazing.

from obs-studio.

benklett avatar benklett commented on May 18, 2024

Sorry, same error again. Can you post a strace of the properly working program? I would like to see what is different. Also is it possible to build the program with debugging symbols for gdb?

from obs-studio.

Kerrex avatar Kerrex commented on May 18, 2024

Thanks for replying to everyone :D I'm using Arch Linux x64 with ck kernel (3.12.6-1-ck), my NVIDIA driver is 331.20, card's model is GT240 . Got XFCE4, if that's important.
Well, I don't think anything else matters, but feel free to ask :)
Computerquip: I've tried your last commit, this is what I get:

Attempted path: /usr/local/share/obs-studio/locale/en.txt


Window is not realized...?
X and Y: 644 373
Backbuffers: 2
Color Format: 3
ZStencil Format: 0
Adapter: 0


GLX error:

Failed to make context current.
device_create (GL) failed
Number of memory leaks: 0

Which seems the same as benklett output.

from obs-studio.

computerquip avatar computerquip commented on May 18, 2024

I make a check to see if the window is "realized". If it is not, we don't assign the id to anything and it will segfault. I see no occurence of the check passing and GLX issue still segfaulting.

The issue is either wxWidgets or GTK+. I do not understand either enough to give an immediate answer plus I still can't reproduce the issue myself.

To place into debug mode, do: ./configure CPPFLAGS="-D_DEBUG"
Debug symbols are already produced by default.
However, in order to get debug symbols for wxWidgets, you would need to recompile wxWidgets 2.9/3.0. Fortunately, some tweaking to makepkg.conf can prevent stripping and move debug symbols to a standard location. I won't be providing a tutorial yet given I'm still at work.

from obs-studio.

computerquip avatar computerquip commented on May 18, 2024

Actually reading into it, various things need to be done at the GTK+ layer that wxWidgets simply doesn't assure us at all. I was going to post an example of what needs to be done for reference but this example found on the SFML site is pretty much it: http://sfml-dev.org/tutorials/1.6/graphics-wxwidgets.php

from obs-studio.

computerquip avatar computerquip commented on May 18, 2024

Alright, yet another fix attempt. I actually rolled back various commits so it might be easier to delete and refresh.

computerquip@d7fd0b4

This may not contain everything but if it fails, I can probably tell from that, that it's something other than this specific section of code.

from obs-studio.

benklett avatar benklett commented on May 18, 2024

Here is the output:

$ obs
Attempted path: /usr/local/share/obs-studio/locale/en.txt
Attempted path: /usr/share/obs-studio/locale/en.txt
X and Y: 702 358
Backbuffers: 2
Color Format: 3
ZStencil Format: 0
Adapter: 0

OpenGL version: 3.0 Mesa 10.0.1

[API][Error]{High}: GL_INVALID_OPERATION in unsupported function called (unsupported extension or deprecated function?)
glGenProgramPipelines failed, glGetError returned 0x502
device_create (GL) failed
Number of memory leaks: 2

and

http://paste.ubuntu.com/6718106/ on my Desktop, it draws the Window. Nice!

from obs-studio.

computerquip avatar computerquip commented on May 18, 2024

That's rather odd... 3.0 profile works here.. although Mesa is a different beast.
GLEW also claims that the context supports that extension, or else the program would quit much earlier.

So, we'll start with use of the utility glewinfo. Just give me the output of "glewinfo | grep ARB_separate_shader_objects"

from obs-studio.

benklett avatar benklett commented on May 18, 2024

$ glewinfo | grep ARB_separate_shader_objects
GL_ARB_separate_shader_objects: OK [MISSING]

There you go

from obs-studio.

Kerrex avatar Kerrex commented on May 18, 2024

I can confirm that window appears.
http://pastebin.com/t83Ayw8L
Here you are, maybe it will help you :)

from obs-studio.

benklett avatar benklett commented on May 18, 2024

Jim said he is not willing to support Intel graphics, is that right? So the
issue is solved, as OBS starts on NVIDIA powered machines?

from obs-studio.

computerquip avatar computerquip commented on May 18, 2024

benklett, you'd have to ask Jim- himself.

If that is what he said, then he just means he won't support Mesa (as [proprietary drivers for] AMD and NVIDIA would both work fine under current circumstances). I think he hinted at not using the extension (especially since it's relatively new, in core specification in 4.1, but available as an extension against 2.0 though not required to be supported by vendors).

from obs-studio.

benklett avatar benklett commented on May 18, 2024

Alright, just wanted to know that.

from obs-studio.

computerquip avatar computerquip commented on May 18, 2024

I'm going to close this issue for now. If the issue arises again, it should be placed into a more specific issue towards Mesa.

Jim- said on IRC that he'll "write a linker for it" meaning he'll try and avoid the use of the extension. The extension simply isn't finished in Mesa so the choices are either avoid the extension or don't support Mesa. 🎱

On a side note, the extension should definitely be supported by Mesa before the end of this year (according to someone on Mesa IRC, not sure the validity). 👍

from obs-studio.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.