Dear cinelerra community,
I came across this great video editor and believe it will be the only one currently supporting my uncommon setup. I use a Lenovo x230 + an external Nvidia GTX970 (so its an eGPU via the expresscard slot). On my current Ubuntu 18.04.4 LTS, the Nvidia-driver-435 proprietary drivers are installed, and work in my opinion properly (e.g. playing some games on Steam fully utilizes the eGPU). Furthermore, playing some mp4 footage from my GoPro Hero 7 (h264 codec) via vlc and mpv works flawless, since they both use VDPAU for hardware acceleration of the GTX970. Heres the output of mpv player:
ig0r@ig0r-ThinkPad-X230:~$ mpv --hwdec=vdpau testvideo.MP4 *
Playing: testvideo.MP4
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Using non-standard frame rate 59/1
(+) Video --vid=1 () (h264 2704x1520 59.940fps)
(+) Audio --aid=1 --alang=eng () (aac 2ch 48000Hz)*
Using hardware decoding (vdpau).
VO: 2704x1520 vdpau[yuv420p]
AO: 48000Hz stereo 2ch float
The GPU is fully utilized, the video playback is stunningly flawless, exactly as expected.
As far as I can tell, everything is set up properly. In cinelerra in settings/preferences/performance I use VDPAU as a HW device. However, it seems that cinelerra has some troubles decoding the video using this dedicated HW device:
ig0r@ig0r-ThinkPad-X230:~$ cin
Cinelerra Infinity - built: Mar 31 2020 12:53:11
git://git.cinelerra-gg.org/goodguy/cinelerra.git
(c) 2006-2019 Heroine Virtual Ltd. by Adam Williams
2007-2020 mods for Cinelerra-GG by W.P.Morrow aka goodguy
Cinelerra is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions. There is absolutely no warranty for Cinelerra.
RenderFarmClient::main_loop: client started
FFStream::decode: avcodec_send_packet failed.
file:/home/ig0r/testvideo.MP4
err: Invalid data found when processing input
FFStream::decode: failed
HW device init failed, using SW decode.
file:/home/ig0r/testvideo.MP4
err: Invalid data found when processing input
FFStream::decode: Retry limit
This test, of course, is performed with the eGPU connected. Interestingly, when I now change the performance setting to VAAPI (while still the eGPU is connected), no complaints in the console, and the video is played properly in the viewer. It seems to me that my cinelerra does only see the internal Intel onboard GPU, but not the external one.
Now, of course I could just settle with this, but this would just waste a fairly powerful GPU on my setup. Furthermore, I think many people in the future would benefit of this interesting setup.
I documented a couple of answers of interesting questions within a similar OpenShot forum. However, they dont seem to care much. Feel free to check it out here, since it might already answer some debugging questions on my setup:
I would be very grateful if somebody can help me debugging this issue, since I really look forward in utilizing the eGPU while video editing. Im happy to follow up on any questions or document this issue further. It might be as simple as changing something like the GPU number inside some settings, or I just miss the obvious here, but searching the forum and google did not help so far.
I wish you all the best in those difficult times! Cheers!