MaartenBaert / ssr

SimpleScreenRecorder, a screen recorder for Linux
http://www.maartenbaert.be/simplescreenrecorder/
GNU General Public License v3.0
2.54k stars 289 forks source link

Playonlinux openGL doesn't find python #273

Open kormic opened 9 years ago

kormic commented 9 years ago

Hello there! I am trying to record playonlinux using openGL but it doesn't work. When launching from the terminal it says:

[SSR-GLInject] Library unloaded. - unexpected version Please install python before trying to run this program

Python is installed. I am using arch with cinnamon and my card is the nvidia gtx 460 with the 343.22-5 proprietary driver. Any ideas?

Ps> On my laptop with intel hd 3000 and the open source driver it works just fine...

Thanx in advance!!! :)

iamgreaser commented 9 years ago

My guess? You need 32-bit libraries of some sort - check the other issues for more details, because I regularly see these issues covering pretty much the same problem.

MaartenBaert commented 9 years ago

If you get the 'library unloaded' message, then the library must have been loaded at some point, which means there should at least be a libGL.so that was loaded. If the problem was a missing library, then the linker would just refuse to load GLInject altogether (IIRC).

What command did you use to start the program? Could it be that the program only works in the right working directory?

kormic commented 9 years ago

Thank you for these superfast replies!!! :) @iamgreaser I believe I got these libraries. Actually I followed the instructions for creating the symlinks for the nvidia driver and the symlinks were already there. @MaartenBaert I used ssr-glinject playonlinux. I ll try to play around with the working directory option and I ll get back to you.

kormic commented 9 years ago

Nothing.... I ll give you the whole thing

[komic@komic:~]$ ssr-glinject playonlinux ssr-glinject: LD_PRELOAD = :libssr-glinject.so ssr-glinject: command = playonlinux [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library loaded (64-bit). Looking for python... [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library unloaded. [SSR-GLInject] Library unloaded. [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library unloaded. [SSR-GLInject] Library loaded (64-bit). 3.4.2 [SSR-GLInject] Library unloaded. - unexpected version Looking for python2.7... [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library unloaded. [SSR-GLInject] Library unloaded. [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library unloaded. [SSR-GLInject] Library loaded (64-bit). 2.7.8 [SSR-GLInject] Library unloaded. - unexpected version Looking for python2.6... [SSR-GLInject] Library loaded (64-bit). which: no python2.6 in (/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/cuda/bin:/opt/java/bin:/opt/java/db/bin:/opt/java/jre/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl) [SSR-GLInject] Library unloaded. [SSR-GLInject] Library unloaded.

Looking for python2... [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library unloaded. [SSR-GLInject] Library unloaded. [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library unloaded. [SSR-GLInject] Library loaded (64-bit). 2.7.8 [SSR-GLInject] Library unloaded. - unexpected version Please install python before trying to run this program [SSR-GLInject] Library unloaded. [SSR-GLInject] Library unloaded.

StripedMonkey commented 9 years ago

Do you have python in a special place? also its saying unexpected version maybe something has not updated. Noob at diagnosing speaking here just a guess

On Tue, Dec 9, 2014 at 2:30 PM, kormic notifications@github.com wrote:

Nothing.... I ll give you the whole thing [komic@komic:~]$ ssr-glinject playonlinux ssr-glinject: LD_PRELOAD = :libssr-glinject.so ssr-glinject: command = playonlinux [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library loaded (64-bit). Looking for python... [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library unloaded. [SSR-GLInject] Library unloaded. [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library unloaded. [SSR-GLInject] Library loaded (64-bit). 3.4.2 [SSR-GLInject] Library unloaded. - unexpected version Looking for python2.7... [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library unloaded. [SSR-GLInject] Library unloaded. [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library unloaded. [SSR-GLInject] Library loaded (64-bit). 2.7.8 [SSR-GLInject] Library unloaded. - unexpected version Looking for python2.6... [SSR-GLInject] Library loaded (64-bit). which: no python2.6 in (/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/cuda/bin:/opt/java/bin:/opt/java/db/bin:/opt/java/jre/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl) [SSR-GLInject] Library unloaded. [SSR-GLInject] Library unloaded.

Looking for python2... [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library unloaded. [SSR-GLInject] Library unloaded. [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library unloaded. [SSR-GLInject] Library loaded (64-bit). 2.7.8 [SSR-GLInject] Library unloaded. - unexpected version Please install python before trying to run this program [SSR-GLInject] Library unloaded. [SSR-GLInject] Library unloaded.

— Reply to this email directly or view it on GitHub https://github.com/MaartenBaert/ssr/issues/273#issuecomment-66342153.

kormic commented 9 years ago

No it's in /usr/bin...Everything updated!

Edit: I m thinking if something should be downgraded instead...

StripedMonkey commented 9 years ago

It doesn't really matter if everything is updated, one library/app might not have caught up with the others. try downgrading something.

On Tue, Dec 9, 2014 at 3:05 PM, kormic notifications@github.com wrote:

No it's in /usr/bin...Everything updated!

— Reply to this email directly or view it on GitHub https://github.com/MaartenBaert/ssr/issues/273#issuecomment-66348081.

kormic commented 9 years ago

downgrade something? like what?

StripedMonkey commented 9 years ago

I don't know, I'm the noob remember? I imagine its one of the library's

which: no python2.6 in (/usr/local/bin:/usr/local/ sbin:/usr/local/bin:/usr/bin:/opt/cuda/bin:/opt/java/bin:/ opt/java/db/bin:/opt/java/jre/bin:/usr/bin/site_perl:/usr/ bin/vendor_perl:/usr/bin/core_perl)

is python 2.6 the one you have? double check that this is the location, nothing misspelled etc

On Tue, Dec 9, 2014 at 4:19 PM, kormic notifications@github.com wrote:

downgrade something? like what?

— Reply to this email directly or view it on GitHub https://github.com/MaartenBaert/ssr/issues/273#issuecomment-66359507.

kormic commented 9 years ago

haha!!! I think that it tries to find python 2.6 but it doesn't. It finds 2.7.8 which is the one it uses. That's my guess. I might be wrong....

Thank you for your time "noob" !!! :)

ubuntuaddicted commented 9 years ago

can you run playonlinux by itself? due to the way playonlinux is, which is a bunch of python scripts along with wine, i'm uncertain if the glinject code would even work. @MaartenBaert would have to tell you that. worst case scenario just try to use screen capture?

kormic commented 9 years ago

Yes pol runs just fine. The thing is that I also have a laptop with arch and kde and I can use openGL recording. The laptop has hybrid graphics but I m using the integrated card (intel hd 3000) with open source drivers...

ubuntuaddicted commented 9 years ago

why not compare the terminal output of ssr running on your arch system against the terminal output of running ssr on this trouble system. maybe you're missing some python*-dev package. honestly I have no idea and didn't even know that glinject could interact with python scripts. that's darn cool IMO.

kormic commented 9 years ago

I just did that. It works just fine there so here's the output

[komic@komic-dv6 ~]$ ssr-glinject playonlinux ssr-glinject: LD_PRELOAD = :libssr-glinject.so ssr-glinject: command = playonlinux Looking for python... 3.4.2 - skipped Looking for python2.7... 2.7.8 - selected [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library unloaded. [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library unloaded. [main] Message: PlayOnLinux (4.2.5) is starting [clean_tmp] Message: Cleaning temp directory [SSR-GLInject] Library loaded (32-bit). [SSR-GLInject] Library unloaded. [Check_OpenGL] Message: 32bits direct rendering is enabled [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library unloaded. [Check_OpenGL] Message: 64bits direct rendering is enabled [POL_System_CheckFS] Message: Checking filesystem for /home/komic/.PlayOnLinux/ [main] Message: Filesystem is compatible Bad cookie! [install_plugins] Message: Checking plugin: Capture... [maj_check] Message: Web version : 1418162382 [maj_check] Message: Current local version : 1418082377 [maj_check] Message: Updating list [install_plugins] Message: Checking plugin: ScreenCap... [install_plugins] Message: Checking plugin: PlayOnLinux Vault... [POL_Config_Write] Message: Config write: LAST_TIMESTAMP 1418162382

What I can see here is that it's not looking for python 2.6. It goes for 3.4.2, it skips it and then it chooses 2.7.8.

MaartenBaert commented 9 years ago

Ah, there's a change that playonlinux is doing some poor parsing and mixing output from stderr (which includes GLInject messages) and stdout (which includes the version number, I think). I've seen this problem before. One solution is to blacklist the problematic program from within GLInject, but since that program is 'python' it would also break capturing of any python-based program which is not acceptable.

If this works on Arch but not on Ubuntu, then maybe this is a known bug in playonlinux that has been fixed in a more recent version.

I guess I could add some kind of environment variable to disable messages in GLInject to avoid problems like this, but these loaded/unloaded messages are actually quite useful to track down loading problems, so I don't want to disable them by default.

kormic commented 9 years ago

I don't know if it runs on ubuntu. Both my machines are running arch...

MaartenBaert commented 9 years ago

For some reason I thought you were using Ubuntu on one of them :S.

Can you verify that both machines are up-to-date and using the same version of playonlinux, wine, python etc? Did you change some settings on one of the machines? Did you install some additional python modules on one of the machines? There must be some difference between the two machines that causes one to fail. It seems unlikely that the proprietary nvidia driver is the problem, since it has always worked fine with GLInject for me.

kormic commented 9 years ago

They both are up-to-date and they are using playonlinux 4.2.5 (latest version till today). As I remember the same goes for python. I haven't installed any additional python modules at least none that I know of. I will make sure on monday because now I m away and I can't check the desktop.

One more thing (but I think I must open a new issue) is that at the desktop when I record using record entire screen for some reason when using playonlinux and record audio from monitor (pulseaudio) it doesn't record audio. I have checked that monitor is selected in pavucontrol. In other occasions like vlc playing a video it records audio just fine.

:)

MaartenBaert commented 9 years ago

You should start a separate issue for that :).

kormic commented 9 years ago

Ok I think I need to ask the pol guys about this...It's so strange. I will go with the record the entire screen option. Thank you all! If I figure this out I will let you know...

kormic commented 9 years ago

@ubuntuaddicted I don't think this is actually a solution for this problem. For now I use the option to record the entire screen.

I m wondering if this could be cinnamon's problem. Cinnamon is written in python so maybe there's a conflict somewhere?

MaartenBaert commented 9 years ago

Seems unlikely. Lots of things are written in python and that was never a problem.

ubuntuaddicted commented 9 years ago

I can't really say where the issue is but recording video is a pretty complex process in linux, depending how ssr is written. capturing data from the video buffer etc etc. I only know how to look at source code and guess what some line of code is doing so until I learn C+ I can't really help to determine why it's not working.