Recording Steam games
Recording Steam games is possible, but not so straightforward. As with any program, you can use 'Record the entire screen' or 'Record a fixed rectangle', but you will get better results with 'OpenGL recording'.
The OpenGL recording system was completely rewritten in SimpleScreenRecorder 0.3.0. The instructions in this article apply only to the new system, so make sure that your copy of SimpleScreenRecorder is up-to-date.
Warning
OpenGL recording works by injecting a library into the program that will be recorded. This library will override some system functions in order to capture the frames before they are displayed on the screen. If you are trying to record a game that tries to detect hacking attempts on the client side, it's (theoretically) possible that the game will consider this a hack. This might even get you banned, so it's a good idea to make sure that the program you want to record won't ban you, *before* you try to record it. You've been warned :).
Native Steam for Linux
-
If you have a 64-bit system, make sure that you have the 32-bit SimpleScreenRecorder libraries installed, because most Steam games are 32-bit.
-
Open Steam.
-
Right-click the game you want to record, and click Properties.
-
Click the Set launch options button, and enter ssr-glinject %command%. It is highly recommended that you disable the Steam overlay, because in some cases it creates conflicts (resulting in games that crash or refuse to start).
-
Open SimpleScreenRecorder if you hadn't opened it already.
-
Go to the input page and select OpenGL recording. For most games, it's a good idea to check Limit application frame rate (in OpenGL settings).
-
Continue to the output page and choose your favorite file format and codecs.
-
Continue to the recording page. The video won't work yet at this point.
-
Now start the game from Steam. SimpleScreenRecorder should now detect the game so you can start recording.
You can keep the modified Steam launch command even when you are not using SimpleScreenRecorder. The command should not affect gameplay in any way when SimpleScreenRecorder is not active.
Steam for Windows running through WINE
This is actually simpler than the native version of Steam, because the Windows version doesn't use OpenGL for the main Steam window.
-
If you have a 64-bit system, make sure that you have the 32-bit SimpleScreenRecorder libraries installed, because Steam games are 32-bit (as far as I know).
-
Make sure that Steam is not running (check the system tray icon).
-
In SimpleScreenRecorder, go to the input page and select OpenGL recording.
-
Click the OpenGL settings button.
-
Type wine <path-to-steam-exe> in the Command textbox. Replace <path-to-steam-exe> with the location of the main Steam executable. Now you should either click Launch now (to start Steam immediately) or check Launch automatically (to start Steam automatically whenever you open the recording page). For most games, it's a good idea to check Limit application frame rate as well.
-
Continue to the output page and choose your favorite file format and codecs.
-
Continue to the recording page. The video won't work yet at this point.
-
Now start the game from Steam. SimpleScreenRecorder should now detect the game so you can start recording.
Comments
Marcmagus |
Comment #1: Tue, 27 Aug 2013, 19:33 (GMT+1, DST) This process doesn't work for recording Windows Steam games run under wine, but SimpleScreenRecorder is perfectly capable of recording these as well. It's necessary to launch wine with the OpenGL injection already running. What I've found easiest for me: Follow the above steps through 8 (you are now on the Recording page) 9. Copy everything from "LD_PRELOAD" up to, but not including, "%command%". 10. At the shell, prefix your usual wine command with what you've just copied. Here's what mine looks like: $ LD_PRELOAD=libssr-glinject.so SSR_GLINJECT_SHM=109051905 wine-steam (I have a little shell script called wine-steam which sets my WINEPREFIX and changes directory into the steam directory to make life easier. The $ is my bash prompt, of course.) 11. Start the game from Steam. Do not change the launch options like you would for a Linux-native Steam game. 12. Once the game has started, start recording. |
Maarten BaertAdministrator |
Comment #2: Fri, 30 Aug 2013, 23:41 (GMT+1, DST) @Marcmagus: That is indeed possible, but if you try that with the Linux version of Steam, it will record both the game and the Steam window itself, because they all use OpenGL. Doesn't the same happen with the WINE version? Last modified: Fri, 30 Aug 2013, 23:41 (GMT+1, DST) |
Marcmagus |
Comment #3: Thu, 12 Sep 2013, 22:20 (GMT+1, DST) Not at all; I guess Steam under wine doesn't use OpenGL. I get just the game window. If I try to start recording before I have a game window, I get an error that the application hasn't created an OpenGL window yet. The Steam overlay is captured by ssr when active, which is pretty much what I'd expect. If you try to do it the native Steam approach, it doesn't work at all: not sure if that's because Windows handles environment variables differently or because the injection can't be reached from in the middle of wine like that. The only drawback is that if you stop recording and want to start again you need to completely restart Steam, hence the FR for reusing a session. |
Maarten BaertAdministrator |
Comment #4: Mon, 16 Sep 2013, 15:21 (GMT+1, DST) Quote: Marcmagus
Not at all; I guess Steam under wine doesn't use OpenGL. I get just the game window. If I try to start recording before I have a game window, I get an error that the application hasn't created an OpenGL window yet. The Steam overlay is captured by ssr when active, which is pretty much what I'd expect. If you try to do it the native Steam approach, it doesn't work at all: not sure if that's because Windows handles environment variables differently or because the injection can't be reached from in the middle of wine like that. The only drawback is that if you stop recording and want to start again you need to completely restart Steam, hence the FR for reusing a session. That's good to know, I've added it to the article. The feature request for 'separate file per segment' is there in the master branch, by the way. |
Glog78 |
Comment #5: Sun, 20 Oct 2013, 9:02 (GMT+1, DST) Hi Marten, when i try opengl recording with git from today i get the following error: [SSR-GLInject] Warning: glXSwapBuffers called without existing frame grabber, creating one assuming window == drawable. do i miss something ? Also how to determine the id , which i need to give to the library ? |
Maarten BaertAdministrator |
Comment #6: Sun, 20 Oct 2013, 19:16 (GMT+1, DST) Quote: Glog78
Hi Marten, when i try opengl recording with git from today i get the following error: [SSR-GLInject] Warning: glXSwapBuffers called without existing frame grabber, creating one assuming window == drawable. do i miss something ? Also how to determine the id , which i need to give to the library ? It works fine for me ... The id is shown in the log in SSR when you go to the recording page. Note that it will only work as long as the recording page is being shown. I can't choose the id, it is chosen by the kernel. And I don't want to keep the shared memory around any longer than necessary because it uses a lot of memory. Last modified: Sun, 20 Oct 2013, 19:17 (GMT+1, DST) |
Glog78 |
Comment #7: Mon, 21 Oct 2013, 6:58 (GMT+1, DST) thanx the hint with the recording window helped much. |
Vidar |
Comment #8: Thu, 7 Nov 2013, 0:46 (GMT+1, DST) Absolutely love your program but I wanted to ask something. Is it not possible to simply add a global variable in, for example, /etc/environment so that any OpenGL application gets injected automatically by just running it? Last modified: Thu, 7 Nov 2013, 3:13 (GMT+1, DST) |
Maarten BaertAdministrator |
Comment #9: Thu, 7 Nov 2013, 19:47 (GMT+1, DST) Quote: Vidar
Absolutely love your program but I wanted to ask something. Is it not possible to simply add a global variable in, for example, /etc/environment so that any OpenGL application gets injected automatically by just running it? Yes, you can put the environment variables variables there, but it's a really bad idea. The library would be injected into literally every program. OpenGL recording isn't perfect yet and it will probably make some things crash. Besides, if you try to start an OpenGL program with GLInject loaded and SSR is not running, the program will fail to start. If you only want to apply this to Steam games, then maybe this is what you're looking for: |
Vidar |
Comment #10: Thu, 7 Nov 2013, 21:26 (GMT+1, DST) Quote: Maarten Baert
Yes, you can put the environment variables variables there, but it's a really bad idea. The library would be injected into literally every program. OpenGL recording isn't perfect yet and it will probably make some things crash. Besides, if you try to start an OpenGL program with GLInject loaded and SSR is not running, the program will fail to start. I see... then I assume that the library cannot be injected after the application/game has been started, right? If it could that'd make things so easy. Start game > minimize > start SSR > back to game and record. Thanks for the link, gonna check that asap. Last modified: Thu, 7 Nov 2013, 23:23 (GMT+1, DST) |
Chaostiger |
Comment #11: Sat, 25 Jan 2014, 20:30 (GMT+1, DST) Hello, awesome program. I have an issue though. When I use the openGL method for Dota 2 native, it is only recorded as 640x480. It is running at 1920x1080. How can I fix this? Thanks. |
Botpl |
Comment #12: Thu, 20 Mar 2014, 20:08 (GMT+1, DST) Hi. |
Maarten BaertAdministrator |
Comment #13: Sat, 22 Mar 2014, 23:53 (GMT+1, DST) Quote: Botpl
Hi. I think it's possible, but I've never tested it so I'm not sure. The right command would be something like: optirun LD_PRELOAD=libssr-glinject.so SSR_GLINJECT_SHM=2129944 %command% Or if you are compiling SSR from source and using the glinject-next branch: optirun ssr-glinject %command% |
Ubuntuaddicted |
Comment #14: Tue, 25 Mar 2014, 12:07 (GMT+1, DST) i tried opengl recording of Portal 2 last night and when I got to the last screen of ssr there was no line within the log window. Did opengl recording setup for steam games changes since you wrote your guide? |
Maarten BaertAdministrator |
Comment #15: Tue, 25 Mar 2014, 18:15 (GMT+1, DST) Quote: Ubuntuaddicted
i tried opengl recording of Portal 2 last night and when I got to the last screen of ssr there was no line within the log window. Did opengl recording setup for steam games changes since you wrote your guide? Yes, the glinject-next branch uses a different command: ssr-glinject %command% You don't need to change or remove this command anymore once the recording is done, you can just leave it in there, it won't do anything as long as SSR isn't recording. |
Ubuntuaddicted |
Comment #16: Thu, 27 Mar 2014, 1:31 (GMT+1, DST) Quote: Maarten Baert
Quote: Ubuntuaddicted
i tried opengl recording of Portal 2 last night and when I got to the last screen of ssr there was no line within the log window. Did opengl recording setup for steam games changes since you wrote your guide? Yes, the glinject-next branch uses a different command: ssr-glinject %command% You don't need to change or remove this command anymore once the recording is done, you can just leave it in there, it won't do anything as long as SSR isn't recording. not sure i follow you, am i suppose to enter ssr-glinject %command% into the ssr command box or that line within the steam game launch options? UPDATED: i'm really lost. I put ssr-glinject %command% into the steam launch options and Metro: Last Light won't even start now. The thing that's not occurring that used to work was when I would put %command% into the command box within ssr and continue to the recording tab it would actually have a command I could copy and paste into the steam launch options but now nothing shows up in the log box for ssr. Another issue may be that Metro Last Light is NOT an opengl game. Last modified: Thu, 27 Mar 2014, 4:35 (GMT+1, DST) |
Maarten BaertAdministrator |
Comment #17: Sat, 29 Mar 2014, 15:25 (GMT+1, DST) Quote: Ubuntuaddicted
not sure i follow you, am i suppose to enter ssr-glinject %command% into the ssr command box or that line within the steam game launch options? UPDATED: i'm really lost. I put ssr-glinject %command% into the steam launch options and Metro: Last Light won't even start now. The thing that's not occurring that used to work was when I would put %command% into the command box within ssr and continue to the recording tab it would actually have a command I could copy and paste into the steam launch options but now nothing shows up in the log box for ssr. Another issue may be that Metro Last Light is NOT an opengl game. Maybe try starting with something simpler first, to make sure that OpenGL recording actually works. Try installing 'mesa-utils' and run: ssr-glinject glxgears You should get three colored gears and SSR should be able to record it. If this doesn't work, it means that SSR didn't compile or install properly. In order to make recording for Steam games work, you may have to disable the Steam overlay (the checkbox right above the launch options button). If that still doesn't fix the crash, you should also disable the steam runtime. I don't think this will be needed on Ubuntu though. But this is how you do it: Quit Steam, then start it from a terminal with this command: STEAM_RUNTIME=0 steam This will only work if you have all the required dependencies installed which is probably not the case initially. I'm still trying to find a solution for this. The problem appears to be that my GLInject library is pulling in some system libraries that interfere with the Steam runtime. |
Dubslow |
Comment #18: Mon, 7 Apr 2014, 2:13 (GMT+1, DST) Okay, there's something going wrong here. Firstly, I want to double check/confirm that the former glinject-branch was merged into master? I ask for two reasons: 1) github has master, wayland, backport, and libdrm branches, but no glinject-next branch, and 2) despite pulling only from master, the version I installed from my local git clone also does not output any SHM stuff into the recording page log when I attempt to do OpenGL recording. With that evidence, it seems to me that glinject-next was merged into master, thus rendering the content on this page largely out of date. Now, I've skimmed the last few weeks of comments here, and while I admit to some confusion about how to operate OpenGL injection, I have nonetheless attempted to get it working, only to run into abject failure. I tried running "ssr-glinject glxgears" both with and without SSR already open (not recording, however); in all cases, regardless of SSR or its settings w.r.t. OpenGL, the command fails with the following output: ssr-glinject glxgears ssr-glinject: LD_PRELOAD = libssr-glinject.so ssr-glinject: command = glxgears [SSR-GLInject] Library loaded (64-bit). [SSR-GLInject] Library successfully initialized. Running synchronized to the vertical refresh. The framerate should be approximately the same as the monitor refresh rate. [SSR-GLInject] Warning: glXSwapBuffers called without existing frame grabber, creating one assuming window == drawable. [SSR-GLInject] GLFrameGrabber for [0x1155090-0x4200002-0x4200002] created. [SSR-GLInject] Error: Shared memory id is missing! [SSR-GLInject] Library unloaded. (Additionally, whatever fragment of OpenGL attempted to run completely ruined that portion of my monitor, the white fragment in the top left; however since I've had that issue with certain other things as well, I believe this may be a Cinnamon issue than an OpenGL one.) The same thing happened even with either of "ssrglinject %command%" or "%command%" in the OpenGL settings pop up, then forwarded to the recording page. Attempting to begin recording before running the command failed in the obvious way (couldn't get frame size of the un-run application). SSR certainly did compile and install correctly, because this is the exact installation I've been using for all my other things, including livestreaming (without OpenGL of course, as this was my first foray into the area). I'd be happy to help "research" this further in whatever way you need. Last modified: Mon, 7 Apr 2014, 2:15 (GMT+1, DST) |
Maarten BaertAdministrator |
Comment #19: Mon, 7 Apr 2014, 23:15 (GMT+1, DST) Quote: Dubslow
Firstly, I want to double check/confirm that the former glinject-branch was merged into master? I ask for two reasons: 1) github has master, wayland, backport, and libdrm branches, but no glinject-next branch, and 2) despite pulling only from master, the version I installed from my local git clone also does not output any SHM stuff into the recording page log when I attempt to do OpenGL recording. Correct. Quote: Dubslow
With that evidence, it seems to me that glinject-next was merged into master, thus rendering the content on this page largely out of date. The documentation always refers to the latest stable version. glinject-next has been merged but not released yet, so I can't update this page yet without confusing even more users. Quote
I tried running "ssr-glinject glxgears" both with and without SSR already open (not recording, however); in all cases, regardless of SSR or its settings w.r.t. OpenGL, the command fails with the following output: It looks like you are loading an old version of the glinject library. You either didn't install it properly, or there is an older version of the library still lying around from a previous SSR install (e.g. from a package that installed to a different location). The new version of glinject will print something like this: ssr-glinject: LD_PRELOAD = libssr-glinject.so ssr-glinject: command = glxgears [SSR-GLInject] Library loaded (64-bit). Running synchronized to the vertical refresh. The framerate should be approximately the same as the monitor refresh rate. [SSR-GLInject] Warning: glXSwapBuffers called without existing frame grabber, creating one assuming window == drawable. [SSR-GLInject] [GLXFrameGrabber 1] Created GLX frame grabber. [SSR-GLInject] [/dev/shm/ssr-channel-maarten/video-12683632896-5273-glx0001-glxgears] Created video stream. [SSR-GLInject] OpenGL version = 4.4 (4.4.0 NVIDIA 334.21). [SSR-GLInject] [/dev/shm/ssr-channel-maarten/video-12683632896-5273-glx0001-glxgears] frame size = 300x300. Quote
(Additionally, whatever fragment of OpenGL attempted to run completely ruined that portion of my monitor, the white fragment in the top left; however since I've had that issue with certain other things as well, I believe this may be a Cinnamon issue than an OpenGL one.) More likely a Steam issue, I believe. It's not the first time I've seen the Steam window failing to update. Or it could be a combination of the two. |
Dubslow |
Comment #20: Tue, 8 Apr 2014, 1:31 (GMT+1, DST) Quote: Maarten Baert
It looks like you are loading an old version of the glinject library. You either didn't install it properly, or there is an older version of the library still lying around from a previous SSR install (e.g. from a package that installed to a different location). Huh. I don't know how that could have happened, seeing as I've only installed from my own compilation, and that with the provided script. At any rate, I did sudo rm $(locate libssr-gl | grep /usr) and reinstalled, and that seemed to fix at least this basic issue. Quote: Maarten Baert
More likely a Steam issue, I believe. It's not the first time I've seen the Steam window failing to update. Or it could be a combination of the two. Well the picture I gave you was the result of running `ssr-glinject glxgears` -- Steam was not involved (but I have had the same issue with Steam windows from time to time). This is what makes me think it's an issue with Cinnamon. At any rate, I still have no idea how to get the glinject working. After properly installing libssr-glinject, I tried "ssr-glinject glxgears" with an SSR instance open and set to OpenGL recording, but the command spat this: ssr-glinject glxgears ssr-glinject: LD_PRELOAD = libssr-glinject.so ssr-glinject: command = glxgears ERROR: ld.so: object 'libssr-glinject.so' from LD_PRELOAD cannot be preloaded: ignored. Running synchronized to the vertical refresh. The framerate should be approximately the same as the monitor refresh rate. 303 frames in 5.0 seconds = 60.442 FPS <etc ...> I tried ignoring terminal by setting the OpenGL command (in the SSR popup) to "glxgears", checking "Launch automatically", and going to the recording page, whence the glxgears window appeared and started turning just fine, however attempting to start recording. However, in that case, the SSR log window came back with this: [PageRecord::StartOutput] Starting output ... [PageRecord::StartOutput] Error: Could not get the size of the OpenGL application. Either the application wasn't started correctly, or the application hasn't created an OpenGL window yet. If you want to start recording before starting the application, you have to enable scaling and enter the video size manually. [PageRecord::StartOutput] Error: Something went wrong during initialization. This appeared while I was watching the gears autolaunched by SSR. At this point I'm inclined to attribute the issues to my own ignorance, so I happily await a new release so this page can be updated. :-) |
Maarten BaertAdministrator |
Comment #21: Tue, 8 Apr 2014, 2:56 (GMT+1, DST) Quote: Dubslow
At any rate, I still have no idea how to get the glinject working. After properly installing libssr-glinject, I tried "ssr-glinject glxgears" with an SSR instance open and set to OpenGL recording, but the command spat this: ssr-glinject glxgears ssr-glinject: LD_PRELOAD = libssr-glinject.so ssr-glinject: command = glxgears ERROR: ld.so: object 'libssr-glinject.so' from LD_PRELOAD cannot be preloaded: ignored. Running synchronized to the vertical refresh. The framerate should be approximately the same as the monitor refresh rate. 303 frames in 5.0 seconds = 60.442 FPS <etc ...> This makes no sense, glxgears is 64-bit and ld.so can't load libssr-glinject.so, so either libssr-glinject.so can't be found or only the 32-bit version can be found. Did you use simple-build-and-install, or did you use some other command to install the library? Try to delete the build and build32 folders, and run ./simple-build-and-install again. That should fix it if it's simply a problem with the build system. If that fails, I would like to see the output of find /usr -name libssr-glinject.so | xargs file (locate can be out of date unless you run sudo updatedb first). |
Dubslow |
Comment #22: Tue, 8 Apr 2014, 3:16 (GMT+1, DST) Quote: Maarten Baert
This makes no sense, glxgears is 64-bit and ld.so can't load libssr-glinject.so, so either libssr-glinject.so can't be found or only the 32-bit version can be found. Did you use simple-build-and-install, or did you use some other command to install the library? Try to delete the build and build32 folders, and run ./simple-build-and-install again. That should fix it if it's simply a problem with the build system. If that fails, I would like to see the output of find /usr -name libssr-glinject.so | xargs file (locate can be out of date unless you run sudo updatedb first). The simple-build-and-install put the libs in both /usr/lib32 and /usr/lib64 (and I locateed that after sudo updatedb. To be extra certain, here's a terminal session: bill@Gravemind ~/twitch/ssr ∰∂ sudo updatedb bill@Gravemind ~/twitch/ssr ∰∂ locate libssr-gl /home/bill/twitch/ssr/build/glinject/libssr-glinject.la /home/bill/twitch/ssr/build/glinject/.libs/libssr-glinject.la /home/bill/twitch/ssr/build/glinject/.libs/libssr-glinject.lai /home/bill/twitch/ssr/build/glinject/.libs/libssr-glinject.so /home/bill/twitch/ssr/build32/glinject/libssr-glinject.la /home/bill/twitch/ssr/build32/glinject/.libs/libssr-glinject.la /home/bill/twitch/ssr/build32/glinject/.libs/libssr-glinject.lai /home/bill/twitch/ssr/build32/glinject/.libs/libssr-glinject.so /usr/lib32/libssr-glinject.la /usr/lib32/libssr-glinject.so /usr/lib64/libssr-glinject.la /usr/lib64/libssr-glinject.so bill@Gravemind ~/twitch/ssr ∰∂ sudo rm $(!!) sudo rm $(locate libssr-gl) bill@Gravemind ~/twitch/ssr ∰∂ sudo updatedb bill@Gravemind ~/twitch/ssr ∰∂ locate libssr-gl bill@Gravemind ~/twitch/ssr ∰∂ rm build bill@Gravemind ~/twitch/ssr ∰∂ rm build32 bill@Gravemind ~/twitch/ssr ∰∂ ./simple-build-and-install <configure, compile, configure again compile again> Making install in glinject make[1]: Entering directory `/home/bill/twitch/ssr/build/glinject' make[2]: Entering directory `/home/bill/twitch/ssr/build/glinject' /bin/mkdir -p '/usr/lib64' /bin/bash ../libtool --mode=install /usr/bin/install -c libssr-glinject.la '/usr/lib64' libtool: install: /usr/bin/install -c .libs/libssr-glinject.so /usr/lib64/libssr-glinject.so libtool: install: /usr/bin/install -c .libs/libssr-glinject.lai /usr/lib64/libssr-glinject.la libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /usr/lib64 ---------------------------------------------------------------------- Libraries have been installed in: /usr/lib64 <some other stuff for the make installs> Making install in glinject make[1]: Entering directory `/home/bill/twitch/ssr/build32/glinject' make[2]: Entering directory `/home/bill/twitch/ssr/build32/glinject' /bin/mkdir -p '/usr/lib32' /bin/bash ../libtool --mode=install /usr/bin/install -c libssr-glinject.la '/usr/lib32' libtool: install: /usr/bin/install -c .libs/libssr-glinject.so /usr/lib32/libssr-glinject.so libtool: install: /usr/bin/install -c .libs/libssr-glinject.lai /usr/lib32/libssr-glinject.la libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /usr/lib32 ---------------------------------------------------------------------- Libraries have been installed in: /usr/lib32 <...> Running post-install script ... Done. bill@Gravemind ~/twitch/ssr ∰∂ ssr-glinject glxgears ssr-glinject: LD_PRELOAD = libssr-glinject.so ssr-glinject: command = glxgears ERROR: ld.so: object 'libssr-glinject.so' from LD_PRELOAD cannot be preloaded: ignored. Running synchronized to the vertical refresh. The framerate should be approximately the same as the monitor refresh rate. 303 frames in 5.0 seconds = 60.525 FPS <When I closed the window:> XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0" after 47 requests (47 known processed) with 0 events remaining. bill@Gravemind ~/twitch/ssr ∰∂ sudo updatedb bill@Gravemind ~/twitch/ssr ∰∂ find /usr -name libssr-glinject.so | xargs file find: `/usr/share/doc/google-chrome-stable': Permission denied /usr/lib32/libssr-glinject.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=5f2e2a5cf488555867c3de4b27f6ae77f5b75d2a, not stripped /usr/lib64/libssr-glinject.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=de1cb84ba7dfb219190553e9b46a5aa8acad5180, not stripped bill@Gravemind ~/twitch/ssr ∰∂ Last modified: Tue, 8 Apr 2014, 3:32 (GMT+1, DST) |
Maarten BaertAdministrator |
Comment #23: Tue, 8 Apr 2014, 3:27 (GMT+1, DST) What's the output of cat /etc/ld.so.conf.d/*? Is /usr/lib64 in there? |
Dubslow |
Comment #24: Tue, 8 Apr 2014, 3:34 (GMT+1, DST) Quote: Maarten Baert
What's the output of cat /etc/ld.so.conf.d/*? Is /usr/lib64 in there? Huh. How strange. bill@Gravemind ~/twitch/ssr ∰∂ cat /etc/ld.so.conf.d/* # Multiarch support /lib/i386-linux-gnu /usr/lib/i386-linux-gnu /lib/i486-linux-gnu /usr/lib/i486-linux-gnu # libc default configuration /usr/local/lib # Multiarch support /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu # Legacy biarch compatibility support /lib32 /usr/lib32 # Legacy biarch compatibility support /libx32 /usr/libx32 I guess modern Debian-family distros are well and truly past the use of lib32 and lib64. Edit: lib64 appears largely unused. ls -l /usr/lib64 total 80 drwxr-xr-x 2 root root 4096 Jan 18 2013 kde4 -rwxr-xr-x 1 root root 987 Apr 7 20:11 libssr-glinject.la -rwxr-xr-x 1 root root 70858 Apr 7 20:11 libssr-glinject.so ls -l /lib64 total 0 lrwxrwxrwx 1 root root 32 Nov 29 11:00 ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.17.so lrwxrwxrwx 1 root root 20 Jan 26 17:30 ld-lsb-x86-64.so.2 -> ld-linux-x86-64.so.2 lrwxrwxrwx 1 root root 20 Jan 26 17:30 ld-lsb-x86-64.so.3 -> ld-linux-x86-64.so.2 Last modified: Tue, 8 Apr 2014, 3:53 (GMT+1, DST) |
Maarten BaertAdministrator |
Comment #25: Tue, 8 Apr 2014, 4:00 (GMT+1, DST) Quote: Dubslow
Quote: Maarten Baert
What's the output of cat /etc/ld.so.conf.d/*? Is /usr/lib64 in there? Huh. How strange. bill@Gravemind ~/twitch/ssr ∰∂ cat /etc/ld.so.conf.d/* # Multiarch support /lib/i386-linux-gnu /usr/lib/i386-linux-gnu /lib/i486-linux-gnu /usr/lib/i486-linux-gnu # libc default configuration /usr/local/lib # Multiarch support /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu # Legacy biarch compatibility support /lib32 /usr/lib32 # Legacy biarch compatibility support /libx32 /usr/libx32 I guess modern Debian-family distros are well and truly past the use of lib32 and lib64. Edit: lib64 appears largely unused. ls -l /usr/lib64 total 80 drwxr-xr-x 2 root root 4096 Jan 18 2013 kde4 -rwxr-xr-x 1 root root 987 Apr 7 20:11 libssr-glinject.la -rwxr-xr-x 1 root root 70858 Apr 7 20:11 libssr-glinject.so ls -l /lib64 total 0 lrwxrwxrwx 1 root root 32 Nov 29 11:00 ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.17.so lrwxrwxrwx 1 root root 20 Jan 26 17:30 ld-lsb-x86-64.so.2 -> ld-linux-x86-64.so.2 lrwxrwxrwx 1 root root 20 Jan 26 17:30 ld-lsb-x86-64.so.3 -> ld-linux-x86-64.so.2 Usually lib64 either doesn't exist or it is symlinked to the correct directory. You can easily change the simple-build-and-install script so it installs it in the right directory. I will try to update the script and use a more robust detection system. |
Maarten BaertAdministrator |
Comment #26: Tue, 8 Apr 2014, 4:22 (GMT+1, DST) According to this, /usr/lib64 should be a symlink to /usr/lib. So the right solution would be to move your files from /usr/lib64 to /usr/lib, delete /usr/lib64 and then symlink it to /usr/lib. I can't easily detect the right solution in situations like this, because some distributions do weird things (on Fedora, /usr/lib is 32-bit and /usr/lib64 is 64-bit). |
Dubslow |
Comment #27: Tue, 8 Apr 2014, 4:32 (GMT+1, DST) On Debian systems, the "proper" thing to do would be to put them in either of /usr/lib/i386-linux-gnu or /usr/lib/x86-64-linux-gnu as apporpriate; perhaps you could check "if those exist (i.e. if this is a debian derived distro) then install there, else /usr/lib{32, 64}. |
Maarten BaertAdministrator |
Comment #28: Tue, 8 Apr 2014, 5:09 (GMT+1, DST) Quote: Dubslow
On Debian systems, the "proper" thing to do would be to put them in either of /usr/lib/i386-linux-gnu or /usr/lib/x86-64-linux-gnu as apporpriate; perhaps you could check "if those exist (i.e. if this is a debian derived distro) then install there, else /usr/lib{32, 64}. But clearly some of your packages didn't do that, otherwise the lib64 directory wouldn't even exist :). Anyway, I will try to detect those instead, but I'm also changing something else at the moment so this will take some time. Can you change the paths yourself for now? Edit: also, please realize that by doing this, I will probably create more problems for other Debian and Ubuntu users at some point in the future because they will end up with two versions of the library in different locations, so now I have to add additional code to handle that case too ... Last modified: Tue, 8 Apr 2014, 5:11 (GMT+1, DST) |
Dubslow |
Comment #29: Tue, 8 Apr 2014, 19:04 (GMT+1, DST) Quote: Maarten Baert
But clearly some of your packages didn't do that, otherwise the lib64 directory wouldn't even exist :). The only things in my /usr/lib64 are "libssr-glinject.so", "libssr-glinject.la", and "kde4/ kcm_adobe_flash_player.so". Considering that there are dpkg --list | wc -l 3215 more than 3000 packages on this system and there is only one manually-installed adobe flash lib (for which there hasn't been a new version in three years+) in /usr/lib64, I'd say it's pretty unused by all packages. :P (Also note that even if it didn't exist, the make install runs a mkdir -p /usr/lib64, so the directory not existing wouldn't have stopped it anyways.) Quote: Maarten Baert
Edit: also, please realize that by doing this, I will probably create more problems for other Debian and Ubuntu users at some point in the future because they will end up with two versions of the library in different locations, so now I have to add additional code to handle that case too ... I think that's well-worth it to do things the "proper" way. Average users won't know the difference, and "power users" would consider it very strange for something to be in /usr/lib64. Edit: Just saw the commits -- thanks for all the work you continue to do :D Last modified: Tue, 8 Apr 2014, 21:02 (GMT+1, DST) |
Maarten BaertAdministrator |
Comment #30: Tue, 8 Apr 2014, 20:53 (GMT+1, DST) Quote: Dubslow
(Also note that even if it didn't exist, the make install runs a mkdir -p /usr/lib64, so the directory not existing wouldn't have stopped it anyways.) No, because simple-build-and-install only sets /usr/lib64 as LIBDIR if it already exists. So if you run simple-build-and-install without /usr/lib64, it won't be created. Quote: Dubslow
I think that's well-worth it to do things the "proper" way. Average users won't know the difference, and "power users" would consider it very strange for something to be in /usr/lib64. I'm already doing that in the last version. |
Dubslow |
Comment #31: Tue, 8 Apr 2014, 21:03 (GMT+1, DST) Quote: Maarten Baert
No, because simple-build-and-install only sets /usr/lib64 as LIBDIR if it already exists. So if you run simple-build-and-install without /usr/lib64, it won't be created. Damn flash (lol). I just saw the commits -- thanks for the continuing work! :D |
Sgdragonslayer |
Comment #32: Mon, 7 Jul 2014, 23:12 (GMT+1, DST) Im trying to record TF2 (Team Fortress 2) right? But everytime I do it says that the OpenGL hasnt opened yet and when it does record, I get a messege saying that It couldnt find audio samples and inserts silence. How do I fix this? |
Maarten BaertAdministrator |
Comment #33: Wed, 9 Jul 2014, 0:40 (GMT+1, DST) Quote: Sgdragonslayer
Im trying to record TF2 (Team Fortress 2) right? But everytime I do it says that the OpenGL hasnt opened yet and when it does record, I get a messege saying that It couldnt find audio samples and inserts silence. How do I fix this? Those are two unrelated problems. For the first problem, try launching steam from a terminal so you can see the error messages. They will probably tell you what's wrong. You might want to read this, it could be the problem you're seeing. The second problem depends on the audio backend and source, which ones are you using? |
Vertigo |
Comment #34: Thu, 24 Jul 2014, 16:45 (GMT+1, DST) Hey Baert I love your program and salute for you :D this screenshot is taken after i click the record: you see file-size is null and the input resultion ist null but in the log file the stream ist created. Here is the log. #################################################### # Comment: Here i Start Steam from the simplescreenrecorder #################################################### Running Steam on debian 7 32-bit STEAM_RUNTIME is enabled automatically Installing breakpad exception handler for appid(steam)/version(1405474565_client) Installing breakpad exception handler for appid(steam)/version(1405474565_client) Installing breakpad exception handler for appid(steam)/version(1405474565_client) [0724/134436:ERROR:object_proxy.cc(239)] Failed to call method: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.NetworkManager was not provided by any .service files [0724/134436:WARNING:proxy_service.cc(958)] PAC support disabled because there is no system implementation Installing breakpad exception handler for appid(steam)/version(1405474565_client) Installing breakpad exception handler for appid(steam)/version(1405474565_client) [HTTP Remote Control] HTTP server listening on port 27037. ** (steam:5717): WARNING **: Could not initialize NMClient /org/freedesktop/NetworkManager: The name org.freedesktop.NetworkManager was not provided by any .service files ** (steam:5717): WARNING **: _nm_remote_settings_ensure_inited: (NMRemoteSettings) error initializing: The name org.freedesktop.NetworkManager was not provided by any .service files Installing breakpad exception handler for appid(steam)/version(1405474565_client) Installing breakpad exception handler for appid(steam)/version(1405474565_client) PulseAudio connect failed (used only for Mic Volume Control) with error: Access denied Installing breakpad exception handler for appid(steam)/version(1405474565_client) Installing breakpad exception handler for appid(steam)/version(1405474565_client) Generating new string page texture 2: 48x256, total string texture memory is 49,15 KB Generating new string page texture 3: 384x256, total string texture memory is 442,37 KB Installing breakpad exception handler for appid(steam)/version(1405474565_client) Adding licenses for the following package(s): 0, 1, 21083 roaming config store loaded successfully - 1044 bytes. migrating temporary roaming config store Installing breakpad exception handler for appid(steam)/version(1405474565_client) Failed to init SteamVR because it isn't installed ExecCommandLine: "/home/XXX/.local/share/Steam/ubuntu12_32/steam" System startup time: 16,95 seconds Installing breakpad exception handler for appid(steam)/version(1405474565_client) (steam:5717): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent. Running Steam on debian 7 32-bit STEAM_RUNTIME has been set by the user to: /home/XXX/.local/share/Steam/ubuntu12_32/steam-runtime Generating new string page texture 72: 1024x256, total string texture memory is 1,49 MB Generating new string page texture 73: 128x256, total string texture memory is 131,07 KB Generating new string page texture 74: 128x256, total string texture memory is 1,62 MB Generating new string page texture 75: 256x256, total string texture memory is 1,88 MB Generating new string page texture 76: 64x256, total string texture memory is 1,95 MB Generating new string page texture 77: 32x256, total string texture memory is 1,98 MB ExecCommandLine: "/home/XXX/.steam/root/ubuntu12_32/steam steam://open/driverhelperready" ExecSteamURL: "steam://open/driverhelperready" Generating new string page texture 80: 128x256, total string texture memory is 2,11 MB Generating new string page texture 81: 512x256, total string texture memory is 2,64 MB Generating new string page texture 82: 8x256, total string texture memory is 2,65 MB CAPIJobRequestUserStats - Server response failed 2 Generating new string page texture 92: 256x256, total string texture memory is 2,91 MB AL lib: pulseaudio.c:612: Context did not connect: Access denied Game update: AppID 30 "Day of Defeat", ProcID 5806, IP 0.0.0.0:0 ERROR: ld.so: object '/home/XXX/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored. ERROR: ld.so: object '/home/XXX/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored. ssr-glinject: LD_PRELOAD = :/home/XXX/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so:/home/XXX/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so:libssr-glinject.so ssr-glinject: command = /home/XXX/.local/share/Steam/SteamApps/common/Half-Life/hl.sh -steam -game dod ERROR: ld.so: object '/home/XXX/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored. [SSR-GLInject] Library loaded (32-bit). pid 5810 != 5809, skipping destruction (fork without exec?) [SSR-GLInject] Library unloaded. ERROR: ld.so: object '/home/XXX/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored. [SSR-GLInject] Library loaded (32-bit). ERROR: ld.so: object '/home/XXX/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored. [SSR-GLInject] Library loaded (32-bit). ##################################################################### # Comment: Not exactly but in the near here begin the Game to appear and the window show of the screen #################################################################### WARNING: setlocale('en_US.UTF-8') failed, using locale:'C'. International characters may not work. Using breakpad crash handler Setting breakpad minidump AppID = 30 Forcing breakpad minidump interfaces to load Looking up breakpad interfaces from steamclient Calling BreakpadMiniDumpSystemInit Looking up breakpad interfaces from steamclient Calling BreakpadMiniDumpSystemInit Steam_SetMinidumpSteamID: Caching Steam ID: XXXXXXXXXXXXXXXX [API loaded yes] Steam_SetMinidumpSteamID: Setting Steam ID: XXXXXXXXXXXXXXXX GL_SIZES: r:8 g:8 b:8 a:0 depth:24 [SSR-GLInject] Warning: glXSwapBuffers called without existing frame grabber, creating one assuming window == drawable. [SSR-GLInject] [GLXFrameGrabber 1] Created GLX frame grabber. [SSR-GLInject] [/dev/shm/ssr-channel-XXX/video-5280268205-5812-glx0001-hl_linux] Created video stream. [SSR-GLInject] OpenGL version = 2.1 (2.1.2 NVIDIA 304.117). [SSR-GLInject] [/dev/shm/ssr-channel-XXX/video-5280268205-5812-glx0001-hl_linux] frame size = 640x480. ARB Multitexture extensions found. 4 texture units. Detail texture supported. (process:5812): Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale. [0724/134500:ERROR:object_proxy.cc(239)] Failed to call method: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.NetworkManager was not provided by any .service files [0724/134500:WARNING:proxy_service.cc(646)] PAC support disabled because there is no system implementation Platform config directory: platform/config 0:Initializing platform... AL lib: pulseaudio.c:612: Context did not connect: Access denied Server module initialized. World module initialized. STEAM Auth Server AppActive: active [SSR-GLInject] [/dev/shm/ssr-channel-XXX/video-5280268205-5812-glx0001-hl_linux] frame size = 1024x768. AppActive: active AppActive: not active AppActive: active Usage: Setmaster unavailable, start a server first. NET Ports: server 27015, client 27005 Server IP address 127.0.1.1:27015 Looking up breakpad interfaces from steamclient Calling BreakpadMiniDumpSystemInit Steam_SetMinidumpSteamID: Caching Steam ID: XXXXXXXXXXXXXXXX [API loaded yes] Steam_SetMinidumpSteamID: Setting Steam ID: XXXXXXXXXXXXXXXX Installing breakpad exception handler for appid(hl_linux)/version(1.0_client) Game update: AppID 30 "Day of Defeat", ProcID 5812, IP 127.0.1.1:27015 BUILD 6153 SERVER (0 CRC) Server # 1 *Player joined Axis *You will spawn as Stosstruppe VAC secure mode disabled. Dropped Player from server Reason: Server shutting down World module shutdown. Server module shutdown. #################################################### # Comment: Here i leave the game and shutdown the window #################################################### [SSR-GLInject] [/dev/shm/ssr-channel-XXX/video-5280268205-5812-glx0001-hl_linux] Destroyed video stream. [SSR-GLInject] [GLXFrameGrabber 1] Destroyed GLX frame grabber. [SSR-GLInject] Library unloaded. [SSR-GLInject] Library unloaded. Game removed: AppID 30 "Day of Defeat", ProcID 5812 Generating new string page texture 94: 256x256, total string texture memory is 393,22 KB [2014-07-24 13:44:36] Startup - updater built Jul 15 2014 18:14:26 [2014-07-24 13:44:36] Verifying installation... [2014-07-24 13:44:36] Verification complete [2014-07-24 13:45:39] Shutdown Last modified: Fri, 25 Jul 2014, 10:48 (GMT+1, DST) |
Maarten BaertAdministrator |
Comment #35: Wed, 30 Jul 2014, 13:53 (GMT+1, DST) @Vertigo: I suspect the game is hogging your microphone, preventing SSR from opening it. Can you try to record the game again, but disable audio in SSR? Are you using PulseAudio? |
Vertigo |
Comment #36: Sat, 2 Aug 2014, 14:35 (GMT+1, DST) Quote: Maarten Baert
@Vertigo: I suspect the game is hogging your microphone, preventing SSR from opening it. Can you try to record the game again, but disable audio in SSR? Are you using PulseAudio? Hey Maarten, simplescreenrecorder 2> ssrerror.log >ssr.log This is my ssrerror.log: ==================== SSR gestartet ==================== SimpleScreenRecorder 0.3.0 Compiled with GCC 4.7.2 Qt: header 4.8.2, lib 4.8.2 libavformat: header 53.21.1, lib 53.21.1 libavcodec: header 53.35.0, lib 53.35.0 libavutil: header 51.22.2, lib 51.73.101 libswscale: header 2.1.0, lib 2.1.101 [ALSAInput::GetSourceList] Generiere Quell-Liste... [ALSAInput::GetSourceList] Karte gefunden: [hw:0] HDA Intel [ALSAInput::GetSourceList] Gerät gefunden: [hw:0,0] HDA Intel: CONEXANT Analog [PulseAudioInput::GetSourceList] Generiere Quell-Liste... [SourceNamesCallback] Quelle gefunden: [alsa_output.pci-0000_00_1b.0.analog-stereo.monitor] Monitor of Internes Audio Analog Stereo [SourceNamesCallback] Quelle gefunden: [alsa_input.pci-0000_00_1b.0.analog-stereo] Internes Audio Analog Stereo [DetectCPUFeatures] CPU Merkmale: mmx sse sse2 sse3 [PageRecord::StartPage] Start-Seite... [PageRecord::StartPage] Seite gestartet. [GLInjectInput::InputThread] Eingabe-Prozess gestartet. [PageRecord::StartOutput] Ausgabe wird gestoppt... [Muxer::Init] Verwende Format ogg (Ogg). [NULL @ 0x8e31520] Value 4707126720094797824,000000 for parameter 'probesize' out of range [NULL @ 0x8e31520] Value 4707126720094797824,000000 for parameter 'analyzeduration' out of range [NULL @ 0x8e31520] Value 4697254411347427328,000000 for parameter 'indexmem' out of range [NULL @ 0x8e31520] Value 4703785510416416768,000000 for parameter 'rtbufsize' out of range [NULL @ 0x8e31520] Value -4616189618054758400,000000 for parameter 'fpsprobesize' out of range [NULL @ 0x8e31520] Value 4607182418800017408,000000 for parameter 'f_err_detect' out of range [NULL @ 0x8e31520] Value 4607182418800017408,000000 for parameter 'err_detect' out of range [Muxer::AddStream] Verwende Codec libtheora (libtheora Theora). [libtheora @ 0x8e3f800] Value 4686111960511545344,000000 for parameter 'b' out of range [libtheora @ 0x8e3f800] Value 4686111960511545344,000000 for parameter 'ab' out of range [libtheora @ 0x8e3f800] Value 4705844345939427328,000000 for parameter 'bt' out of range [libtheora @ 0x8e3f800] Value 4617315517961601024,000000 for parameter 'me_method' out of range [libtheora @ 0x8e3f800] Value 4622945017495814144,000000 for parameter 'g' out of range [libtheora @ 0x8e3f800] Value 4611686018427387904,000000 for parameter 'qmin' out of range [libtheora @ 0x8e3f800] Value 4629418941960159232,000000 for parameter 'qmax' out of range [libtheora @ 0x8e3f800] Value 4613937818241073152,000000 for parameter 'qdiff' out of range [libtheora @ 0x8e3f800] Value -4616189618054758400,000000 for parameter 'wpredp' out of range [libtheora @ 0x8e3f800] Value 4607182418800017408,000000 for parameter 'bug' out of range [libtheora @ 0x8e3f800] Value 4607182418800017408,000000 for parameter 'er' out of range [libtheora @ 0x8e3f800] Value 4607182418800017408,000000 for parameter 'err_detect' out of range [libtheora @ 0x8e3f800] Value 4613937818241073152,000000 for parameter 'ec' out of range [libtheora @ 0x8e3f800] Value 4620693217682128896,000000 for parameter 'ildctcmp' out of range [libtheora @ 0x8e3f800] Value 4620693217682128896,000000 for parameter 'subq' out of range [libtheora @ 0x8e3f800] Value 4696837138094751744,000000 for parameter 'ibias' out of range [libtheora @ 0x8e3f800] Value 4696837138094751744,000000 for parameter 'pbias' out of range [libtheora @ 0x8e3f800] Value 4642507528377204736,000000 for parameter 'lmin' out of range [libtheora @ 0x8e3f800] Value 4660262442142531584,000000 for parameter 'lmax' out of range [libtheora @ 0x8e3f800] Value 4696130710463840256,000000 for parameter 'flags2' out of range [libtheora @ 0x8e3f800] Value 4607182418800017408,000000 for parameter 'threads' out of range [libtheora @ 0x8e3f800] Value 4620693217682128896,000000 for parameter 'nssew' out of range [libtheora @ 0x8e3f800] Value -4586705114244317184,000000 for parameter 'profile' out of range [libtheora @ 0x8e3f800] Value -4586705114244317184,000000 for parameter 'level' out of range [libtheora @ 0x8e3f800] Value 4623507967449235456,000000 for parameter 'skipcmp' out of range [libtheora @ 0x8e3f800] Value 4642507528377204736,000000 for parameter 'mblmin' out of range [libtheora @ 0x8e3f800] Value 4660262442142531584,000000 for parameter 'mblmax' out of range [libtheora @ 0x8e3f800] Value 4643211215818981376,000000 for parameter 'mepc' out of range [libtheora @ 0x8e3f800] Value 4607182418800017408,000000 for parameter 'bidir_refine' out of range [libtheora @ 0x8e3f800] Value -4616189618054758400,000000 for parameter 'cqp' out of range [libtheora @ 0x8e3f800] Value 4627730092099895296,000000 for parameter 'keyint_min' out of range [libtheora @ 0x8e3f800] Value 4607182418800017408,000000 for parameter 'refs' out of range [libtheora @ 0x8e3f800] Value -4616189618054758400,000000 for parameter 'directpred' out of range [libtheora @ 0x8e3f800] Value 4618441417868443648,000000 for parameter 'sc_factor' out of range [libtheora @ 0x8e3f800] Value 4643211215818981376,000000 for parameter 'mv0_threshold' out of range [libtheora @ 0x8e3f800] Value 4630826316843712512,000000 for parameter 'b_sensitivity' out of range [libtheora @ 0x8e3f800] Value -4616189618054758400,000000 for parameter 'compression_level' out of range [libtheora @ 0x8e3f800] Value -4616189618054758400,000000 for parameter 'min_prediction_order' out of range [libtheora @ 0x8e3f800] Value -4616189618054758400,000000 for parameter 'max_prediction_order' out of range [libtheora @ 0x8e3f800] Value -4616189618054758400,000000 for parameter 'prediction_order_method' out of range [libtheora @ 0x8e3f800] Value -4616189618054758400,000000 for parameter 'min_partition_order' out of range [libtheora @ 0x8e3f800] Value -4616189618054758400,000000 for parameter 'max_partition_order' out of range [libtheora @ 0x8e3f800] Value 4607182418800017408,000000 for parameter 'ticks_per_frame' out of range [libtheora @ 0x8e3f800] Value 4611686018427387904,000000 for parameter 'color_primaries' out of range [libtheora @ 0x8e3f800] Value 4611686018427387904,000000 for parameter 'color_trc' out of range [libtheora @ 0x8e3f800] Value 4611686018427387904,000000 for parameter 'colorspace' out of range [libtheora @ 0x8e3f800] Value -4616189618054758400,000000 for parameter 'aq_mode' out of range [libtheora @ 0x8e3f800] Value -4616189618054758400,000000 for parameter 'rc_lookahead' out of range [libtheora @ 0x8e3f800] Value -4616189618054758400,000000 for parameter 'lpc_type' out of range [libtheora @ 0x8e3f800] Value -4616189618054758400,000000 for parameter 'lpc_passes' out of range [libtheora @ 0x8e3f800] Value 4613937818241073152,000000 for parameter 'thread_type' out of range [libtheora @ 0x8e3f800] Value -4616189618054758400,000000 for parameter 'request_sample_fmt' out of range [BaseEncoder::EncoderThread] Starte Kodierungs-Prozess. [DetectCPUFeatures] CPU Merkmale: mmx sse sse2 sse3 [Muxer::MuxerThread] Muxer-Prozess gestartet. [PageRecord::StartOutput] Ausgabe gestartet. [Synchronizer::SynchronizerThread] Synchronisierungs-Prozess gestartet. [PageRecord::StartInput] Eingabe wird gestartet... [PageRecord::StartInput] Eingabe gestartet. [PageRecord::StopOutput] Ausgabe wird angehalten... [PageRecord::StopOutput] Ausgabe angehalten. [PageRecord::StopInput] Eingabe wird angehalten... [PageRecord::StopInput] Eingabe angehalten. [PageRecord::StartInput] Eingabe wird gestartet... [PageRecord::StartInput] Eingabe gestartet. [PageRecord::StopInput] Eingabe wird angehalten... [PageRecord::StopInput] Eingabe angehalten. [PageRecord::StopPage] Seite wird angehalten... [Synchronizer::~Synchronizer] Stoppe Synchronisierungs-Prozess... [Synchronizer::SynchronizerThread] Synchronisierungs-Prozess angehalten. [Muxer::Finish] Finalisiere Kodierer... [BaseEncoder::EncoderThread] Kodierer wird geleert... [BaseEncoder::EncoderThread] Kodierungs-Prozess angehalten. [Muxer::MuxerThread] Muxer-Prozess angehalten. [Muxer::~Muxer] Kodierer werden gestoppt... [Muxer::~Muxer] Warte darauf, dass der Muxer-Prozess angehalten wird... [BaseEncoder::~BaseEncoder] Stoppe Kodierungs-Prozess... [GLInjectInput::~GLInjectInput] Stoppe Eingabe Prozess... [GLInjectInput::InputThread] Eingabe-Prozess angehalten. [PageRecord::StopPage] Seite gestoppt. ==================== SSR angehalten ==================== and my this is my Running Steam on debian 7 32-bit STEAM_RUNTIME is enabled automatically Generating new string page texture 105: 128x256, total string texture memory is 3,08 MB Game update: AppID 30 "Day of Defeat", ProcID 8701, IP 0.0.0.0:0 ERROR: ld.so: object '/home/XXXXX/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored. ERROR: ld.so: object '/home/XXXXX/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored. ssr-glinject: LD_PRELOAD = :/home/XXXXX/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so:/home/XXXXX/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so:libssr-glinject.so ssr-glinject: command = /home/XXXXX/.local/share/Steam/SteamApps/common/Half-Life/hl.sh -steam -game dod ERROR: ld.so: object '/home/XXXXX/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored. [SSR-GLInject] Library loaded (32-bit). pid 8705 != 8704, skipping destruction (fork without exec?) [SSR-GLInject] Library unloaded. ERROR: ld.so: object '/home/XXXXX/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored. [SSR-GLInject] Library loaded (32-bit). ERROR: ld.so: object '/home/XXXXX/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored. [SSR-GLInject] Library loaded (32-bit). WARNING: setlocale('en_US.UTF-8') failed, using locale:'C'. International characters may not work. (steam:8278): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent. (steam:8278): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent. Using breakpad crash handler Setting breakpad minidump AppID = 30 Forcing breakpad minidump interfaces to load Looking up breakpad interfaces from steamclient Calling BreakpadMiniDumpSystemInit Looking up breakpad interfaces from steamclient Calling BreakpadMiniDumpSystemInit Steam_SetMinidumpSteamID: Caching Steam ID: xxxxxxxxxxxxxxxxxx [API loaded yes] Steam_SetMinidumpSteamID: Setting Steam ID: xxxxxxxxxxxxxxxxx GL_SIZES: r:8 g:8 b:8 a:0 depth:24 [SSR-GLInject] Warning: glXSwapBuffers called without existing frame grabber, creating one assuming window == drawable. [SSR-GLInject] [GLXFrameGrabber 1] Created GLX frame grabber. [SSR-GLInject] [/dev/shm/ssr-channel-XXXXX/video-4245660540-8707-glx0001-hl_linux] Created video stream. [SSR-GLInject] OpenGL version = 2.1 (2.1.2 NVIDIA 304.117). [SSR-GLInject] [/dev/shm/ssr-channel-XXXXX/video-4245660540-8707-glx0001-hl_linux] frame size = 640x480. ARB Multitexture extensions found. 4 texture units. Detail texture supported. (process:8707): Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale. [0802/115004:ERROR:object_proxy.cc(239)] Failed to call method: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.NetworkManager was not provided by any .service files [0802/115004:WARNING:proxy_service.cc(646)] PAC support disabled because there is no system implementation Platform config directory: platform/config 0:Initializing platform... Server module initialized. World module initialized. STEAM Auth Server AppActive: active [SSR-GLInject] [/dev/shm/ssr-channel-XXXXX/video-4245660540-8707-glx0001-hl_linux] frame size = 1024x768. ########################################################################## Here i started the recording, i think the Error is in the other File meanwhile the recording ########################################################################## AppActive: active AppActive: not active AppActive: active AppActive: not active AppActive: active [SSR-GLInject] [/dev/shm/ssr-channel-XXXXX/video-4245660540-8707-glx0001-hl_linux] Destroyed video stream. [SSR-GLInject] [GLXFrameGrabber 1] Destroyed GLX frame grabber. World module shutdown. Server module shutdown. [SSR-GLInject] Library unloaded. [SSR-GLInject] Library unloaded. Game removed: AppID 30 "Day of Defeat", ProcID 8707 (steam:8278): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent. Best greetz |
Maarten BaertAdministrator |
Comment #37: Tue, 5 Aug 2014, 0:50 (GMT+1, DST) @Vertigo: You did not disable audio, I can see that the audio codec is still being loaded. But I can also see a lot of error messages for libvorbis and libtheora which shouldn't be there. I suspect there's something wrong with your libavcodec build. Are you using the official packages or something else? EDIT: Just to be sure, you are setting the channel name to your username, right? If not, you have to use the --channel option with ssr-glinject. Last modified: Tue, 5 Aug 2014, 0:54 (GMT+1, DST) |
Thekiwi5000 |
Comment #38: Fri, 2 Jan 2015, 18:39 (GMT+1, DST) There's something wrong with OGl recording. Some other data: I think it may be the fact that i'm using fglrx and AMD's drivers for my Radeon R9 280 GPU (i won't change them because it's extremely hard to get it working at all, and running OGL is much harder). I think there should be some kind of knowledge base for this software, containing answersr for, for ex. "What PC should i have to record XXX with SSR?" or "Will i get VAC-banned on XXX for using glinject?" Anyways. That's the best recorder i've ever seen. Keep up the good work! |
Maarten BaertAdministrator |
Comment #39: Sat, 3 Jan 2015, 23:12 (GMT+1, DST) Quote: Thekiwi5000
There's something wrong with OGl recording. Some other data: I think it may be the fact that i'm using fglrx and AMD's drivers for my Radeon R9 280 GPU (i won't change them because it's extremely hard to get it working at all, and running OGL is much harder). I've seen some extreme cases where OpenGL recording would halve the frame rate, but a drop from 45 FPS to 7 FPS is not normal. I suspect this is a driver issue. Do you have this problem with all games, or just Team Fortress 2? Quote: Thekiwi5000
I think there should be some kind of knowledge base for this software, containing answersr for, for ex. "What PC should i have to record XXX with SSR?" or "Will i get VAC-banned on XXX for using glinject?" Yeah, that would be useful. I've been thinking about setting up a wiki for it, but I haven't gotten to it yet. |
Stony |
Comment #40: Wed, 14 Jan 2015, 19:30 (GMT+1, DST) Hey Maarten, first of all THANKS for this awesome tool you created. I used to play around with GLC just to record everything and it was a PITA to accomplish it. Now it is so easy and I enjoy it very much. It used to work here under arch linuX - however recently i can't get it running again. CS:GO refuses to start with the following message: Quote
ERROR: ld.so: object '/home/stony/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. Because of the symbol lookup error it does not start. The preload errors are even present when I remove the ssr-glinject command and play normaly. Everything works. Only when I try to add the recording option to the start-command it refuses. Do you have any hin for me? |
Maarten BaertAdministrator |
Comment #41: Sat, 17 Jan 2015, 18:31 (GMT+1, DST) Quote: Stony
Hey Maarten, first of all THANKS for this awesome tool you created. I used to play around with GLC just to record everything and it was a PITA to accomplish it. Now it is so easy and I enjoy it very much. It used to work here under arch linuX - however recently i can't get it running again. CS:GO refuses to start with the following message: Quote
ERROR: ld.so: object '/home/stony/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. Because of the symbol lookup error it does not start. The preload errors are even present when I remove the ssr-glinject command and play normaly. Everything works. Only when I try to add the recording option to the start-command it refuses. Do you have any hin for me? It looks like the build system is linking libssr-glinject.so against libavcodec even though I never told it to do that. I have no idea why. I'm trying to fix it now. Edit: Problem found and fixed. You should get an update soon. Last modified: Sat, 17 Jan 2015, 19:03 (GMT+1, DST) |
Stony |
Comment #42: Sat, 17 Jan 2015, 21:17 (GMT+1, DST) Thats awesome - I will report back as soon as I got my hands on it :) |
Delt0r |
Comment #43: Fri, 23 Jan 2015, 8:08 (GMT+1, DST) This works soo well even with X11 grabbing. Awesome work. I had problems opengl with wine due to the 32bit libs not being present. My distro does not let me easily build them. So i unpack the deb packages and put the library where they should go manually and it works perfectly. |
Stony |
Comment #44: Mon, 16 Feb 2015, 11:28 (GMT+1, DST) I forgot to report back |
Sergmx |
Comment #45: Tue, 24 Mar 2015, 22:21 (GMT+1, DST) Hi ! ( sorry bad my english ) I os Fedora 21 Quote
[mx@mx ~]$ rpm -qa | grep simplesc I startt steam game i see messages: Quote
Mar 24 17:15:18 mx steam.desktop: Game update: AppID 212070 "Star Conflict", ProcID 4063, IP 0.0.0.0:0 Please help me. Thanks. |
Maarten BaertAdministrator |
Comment #46: Sat, 28 Mar 2015, 0:49 (GMT+1, DST) @Sergmx: The Steam runtime is interfering with SSR. This can happen on distributions like Fedora and Arch where the libraries are newer than the ones that come with Steam. There are two possible solutions:
|
Sergmx |
Comment #47: Sun, 5 Apr 2015, 10:16 (GMT+1, DST) Thanks to answer ! 1. I use you instructions for libs game crashed : 2. I capture use OpenGL and game down fps from 45 to 25 :((( My hardware : My software: My options in simplescreenrecorder: 3. how to enable coding - nvenc, Big THANKS. ( sorry bad my english ) |
Al3x |
Comment #48: Thu, 3 Sep 2015, 15:52 (GMT+1, DST) Hi, I'm sorry to ask a possibly dumb question but I could not get a concrete answer anywhere. Is the risk of getting VAC banned on steam still applying to the recent version of SSR? (0.3.3) I'm sorry if it's been asked before but I really couldn't find an accurate answer. Just speculations. Thank you very much nd the program works well in 'record entire screen option'. OS: Ubuntu 14.04.3 LTS |
Maarten BaertAdministrator |
Comment #49: Sat, 5 Sep 2015, 0:42 (GMT+1, DST) Quote: Al3x
Hi, I'm sorry to ask a possibly dumb question but I could not get a concrete answer anywhere. Is the risk of getting VAC banned on steam still applying to the recent version of SSR? (0.3.3) I'm sorry if it's been asked before but I really couldn't find an accurate answer. Just speculations. Thank you very much nd the program works well in 'record entire screen option'. OS: Ubuntu 14.04.3 LTS It all depends on how much you trust VAC to have no false positives. Valve has responded that they won't ban you as long as you don't cheat. The real risk is that if at some point someone creates a cheating tool using a mechanism similar to my GLInject code, VAC might accidentally confuse SSR with that tool. So far that has not happened, but I can't give you any guarantees. That's why the warning is there. |
Jacob Mclaurin 02 |
Comment #50: Tue, 29 Sep 2015, 18:34 (GMT+1, DST) when i write the launch option it makes the game not launch it opens for just a second then closes after please help me |
Maarten BaertAdministrator |
Comment #51: Wed, 30 Sep 2015, 21:56 (GMT+1, DST) Quote: Jacob Mclaurin 02
when i write the launch option it makes the game not launch it opens for just a second then closes after please help me Make sure that the Steam overlay is disabled. If that doesn't fix it, and you are using a distribution that isn't Ubuntu 12.04, then try this: |
Djcj |
Comment #52: Sat, 29 Dec 2018, 4:32 (GMT+1, DST) Quote
[...] because Steam games are 32-bit (as far as I know). Not true. Most games are, but some are 64 bit or offer binaries for both architectures. |
Maarten BaertAdministrator |
Comment #53: Fri, 11 Jan 2019, 0:55 (GMT+1, DST) Quote: Djcj
Quote
[...] because Steam games are 32-bit (as far as I know). Not true. Most games are, but some are 64 bit or offer binaries for both architectures. All right, I will update it. |
Linuxoed |
Comment #54: Mon, 24 Feb 2020, 11:07 (GMT+1, DST) Well, if I understood correctly, I won’t get a VAC ban if I follow this instruction. I want to record CS: GO. |
Maarten BaertAdministrator |
Comment #55: Thu, 27 Feb 2020, 11:56 (GMT+1, DST) Quote: Linuxoed
Well, if I understood correctly, I won’t get a VAC ban if I follow this instruction. I want to record CS: GO. I cannot guarantee this, but it is unlikely that you will have any issues. Back in 2017 there was one SSR user that got VAC banned, but he was unbanned again fairly quickly once he contacted Valve: |