[Cin] Build rpm from current build Cingg and thirdparty fmpeg7

Terje J. Hanssen terjejhanssen at gmail.com
Fri Dec 6 03:14:56 CET 2024




Den 06.12.2024 01:08, skrev Andrew Randrianasulu:
>
>
> пт, 6 дек. 2024 г., 02:06 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
>
>     Den 03.12.2024 22:20, skrev Andrew Randrianasulu:
>>
>>
>>     вт, 3 дек. 2024 г., 23:59 Terje J. Hanssen <terjejhanssen at gmail.com>:
>>
>>
>>         From a previous thread:
>>         Re: [Cin] another set of test profiles
>>
>>         Den 18.10.2024 02:08, skrev Andrew Randrianasulu:
>>>
>>>         чт, 17 окт. 2024 г., 15:06 Terje J. Hanssen
>>>         <terjejhanssen at gmail.com>:
>>>
>>>
>>>             Den 17.10.2024 13:51, skrev Andrew Randrianasulu:
>>>>
>>>>             чт, 17 окт. 2024 г., 13:40 Terje J. Hanssen
>>>>             <terjejhanssen at gmail.com>:
>>>>
>>>>
>>>>                 Den 14.10.2024 00:38, skrev Andrew Randrianasulu:
>>>>>
>>>>>                 пн, 14 окт. 2024 г., 01:36 Phyllis Smith
>>>>>                 <phylsmith2017 at gmail.com>:
>>>>>
>>>>>                     Andrew, so it seems prudent to check into GIT,
>>>>>                     the av1_vaapi.mp4 render format (after
>>>>>                     successfully tested of course); but what about
>>>>>                     the QSV encoders?
>>>>>
>>>>>
>>>>>
>>>>>                 wait for Terje's testing OR try to build
>>>>>                 oneVPL-cpu (it sort of circles back to different
>>>>>                 branch of ffmpeg, so ffmpeg will think it uses qsv
>>>>>                 but it in fact will use another ffmpeg .... well,
>>>>>                 in theory! it does not work for me on 32-bit!)
>>>>>
>>>>>
>>>>
>>>>                 I wonder if Hw accellerated encoding support via
>>>>                 Vaapi and QSV is to be embedded in future Cingg
>>>>                 Appimage and/or packages if possible?
>>>>                 What about a list of supported dGPUs/iGPUs?
>>>>
>>>>
>>>>             Problem is - QSV/vaapi  basically search for driver
>>>>             component and this one might be in different location
>>>>             on different distros, and interface between two also
>>>>             not set in stone.
>>>>
>>>>             For appimage you can just unpack them and remove
>>>>             libva.so so on startup cingg will link to system's libva.
>>>>
>>>>             QSV as we learned is another layer with their own
>>>>             runtime path for yet another set of driver components.
>>>>             So, while building libvpl itself is relatively easily
>>>>             making sure it finds its drivers is not easy (at least
>>>>             for me).
>>>>
>>>>             speaking about GPU list I think it will be fairly
>>>>             short, you,Phyllis and Andrea probably only ones who
>>>>             use it and report back. Stephan noticed some troubles
>>>>             and reverted back to software. I can test nvdec/nvenc
>>>>             on livecd but this is not my everyday setup (Nvidia
>>>>             proprietary drivers enforce 64-bit system).
>>>>
>>>>             But well, feel free to post short summary of that works
>>>>             on your GPUs in cingg as another thread, hopefully
>>>>             others will chime in!
>>>
>>>             If we get available a packaged Cingg test build
>>>             (rpm/Leap for me), it would be more useful to do this
>>>             test. Then I have available three gen. Intel, legacy
>>>             Skylake/Kabylake iGPUs and current DG2/Arc GPU. I also
>>>             have/had a Nvidia GPU on Skylake, but it looks like it
>>>             past away.
>>>
>>>
>>>         I think you can build rpm yourself, but for this we need to
>>>         update spec file, so it will point at new source and add
>>>         openvpl as requirements.
>>>
>>>         In meantime  you can just make your own appimage from just
>>>         build cingg-with-system-ffmpeg, so it hopefully will not be
>>>         lost after few system updates.
>>>
>>>
>>
>>         Andrew,
>>         I don't know how busy you are currently with other tasks, but
>>         i case you have time, I would be interested to fulfill this
>>         rpm and (possibly Appimage) exercise?
>>         That is from my current build with third-party (internal)
>>         ffmpeg7.0.
>>
>>
>>
>>     for rpm you need to edit blds/cinelerra.spec at the very top
>>     there is date, I think latest tar version is
>>
>>     https://cinelerra-gg.org/download/src/cin_5.1.20241031-src.tgz
>>
>>
>>     so replace 2020 something with 20241031
>>
>>     but then it need to be patched up, and I do not have tested
>>     procedure for doing this. Probably rpm  should wait until new
>>     tagged release .... you can search for rpmbuild command on your
>>     system and read its manpage/help and may be test run it on some
>>     other (faster to rebuild) .spec file in meantime
>>
>>
>>     Appimage should be simpler from existing source directory
>>
>>
>>     just run
>>
>>     bld_appimage.sh
>>
>>     but be sure to get additional file and put it  where it belong 
>>     as described in comment:
>>     =====
>>
>>     # Get the appropriate appimagetool from
>>     https://github.com/AppImage/AppImageKit/releases
>>     # and put it in your path. Only install the version for your platform
>>     # and mark it executable. The file name must start with
>>     "appimagetool".
>>
>>     ====
>>
>>     probably /usr/local/bin will be simplest place  to put it as root?
>
>     /Cin # sh ./bld_appimage.sh
>     .....snip
>     -- Copying files into AppDir --
>     Copying file image/cin.desktop to
>     AppDir/usr/share/applications/cin.desktop
>     Copying file image/cin.svg to
>     AppDir/usr/share/icons/hicolor/scalable/apps/cin.svg
>
>     -- Deploying files into AppDir root directory --
>     Deploying files to AppDir root using desktop file:
>     AppDir/usr/share/applications/cin.desktop
>     Deploying desktop file to AppDir root:
>     AppDir/usr/share/applications/cin.desktop
>     Creating symlink for file
>     AppDir/usr/share/applications/cin.desktop in/as AppDir
>     Deploying icon to AppDir root:
>     AppDir/usr/share/icons/hicolor/scalable/apps/cin.svg
>     Creating symlink for file
>     AppDir/usr/share/icons/hicolor/scalable/apps/cin.svg in/as AppDir
>     Deploying AppRun symlink for executable in AppDir root:
>     AppDir/usr/bin/cin
>     Creating symlink for file AppDir/usr/bin/cin in/as AppDir/AppRun
>     Found appimagetool: /usr/local/bin/appimagetool-x86_64.AppImage
>     Running command: /usr/local/bin/appimagetool-x86_64.AppImage
>     "appimagetool" "AppDir" "
>
>
>     Thanks, I think I got AppImage(?) built and it seemingly runs OK.
>
>     That is when I found the CinGG executable file, because I expected
>     a file somewhere with a name "CinGG*.AppImage"
>
>     /Cin # file -sh AppDir/*
>     AppDir/AppRun:      symbolic link to usr/bin/cin
>     AppDir/cin.desktop: symbolic link to
>     usr/share/applications/cin.desktop
>     AppDir/cin.svg:     symbolic link to
>     usr/share/icons/hicolor/scalable/apps/cin.svg
>     AppDir/usr:         directory
>
>
>     Cin # du -sh AppDir
>     216M    AppDir
>
>     /Cin # du -sh AppDir/*/*
>     198M    AppDir/usr/bin
>     19M    AppDir/usr/lib
>     100K    AppDir/usr/share
>
>
>     /Cin # AppDir/usr/bin/cin
>     Cinelerra Infinity - built: Nov 20 2024 22:06:05
>     .......
>     BC_DisplayInfo::gl_fb_config failed
>     build plugin index for:
>     /home/cinelerra/cinelerra-5.1/AppDir/usr/bin/plugins
>     PluginFFilter::new_ffilter(overlay_qsv)
>       err: Input/output error
>     PluginFFilter::new_ffilter(hstack_qsv)
>       err: Operation not permitted
>     PluginFFilter::new_ffilter(vstack_qsv)
>       err: Operation not permitted
>     PluginFFilter::new_ffilter(xstack_qsv)
>       err: Operation not permitted
>     build lv2 index for: $CIN_PATH/lv2
>     build ladspa plugin index for:
>     /home/cinelerra/cinelerra-5.1/AppDir/usr/bin/ladspa
>
>     Loaded hdv09_04.m2t (tff interlaced)
>     Tested rendering using preset hevc_qsv_10b420 which worked fine
>
>     libva info: VA-API version 1.22.0
>     libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
>     libva info: Found init function __vaDriverInit_1_22
>     libva info: va_openDriver() returns 0
>     libva info: VA-API version 1.22.0
>     libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
>     libva info: Found init function __vaDriverInit_1_22
>     libva info: va_openDriver() returns 0
>     Render::render_single: Session finished.
>     ** rendered 5972 frames in 19.320 secs, 309.110 fps
>
>     ---------------------------
>
>     So some questions when comparing the above AppDir result with the
>     pre-build Appimage file I download to and run from
>
>
>     du -sh ~/Applications/Cin*
>     171M    CinGG-20241031-x86_64.AppImage
>
>     ./CinGG-20241031-x86_64.AppImage
>
>     I notice the prebuild has no symlink as in the above AppDir
>
>     My own built appimage has not startup errors:
>
>     (AppImageLauncher:127697): GdkPixbuf-CRITICAL **: 23:56:28.831:
>     gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
>
>
>     I wonder the larger total space 216M vs 171M is due to oneVPL and
>     maybe some other additional libs ?
>
>     How to possibly build an equivalent single AppImage file directly?
>
>
>
> make sure you have mksquashfs installed?

No "mksquashfs" package installed or found, but "quashfs" was installed.


Cin # zypper se squash
Loading repository data...
Reading installed packages...

S  | Name             | 
Summary                                            | Type
---+------------------+----------------------------------------------------+--------
    | libsquashfuse0   | FUSE module to mount squashfs 
images               | package
i  | squashfs         | A Read-Only File System with Efficient 
Compression | package
    | squashfuse       | FUSE module to mount squashfs 
images               | package
    | squashfuse-devel | FUSE module to mount squashfs 
images               | package
    | squashfuse-tools | Squafs Tools for 
squashfsfuse                      | package

Not sure if they are required, but add-installed also the other on this 
list.


>
> I think last part (compressing appdir into single file and bolting on 
> run-time decompressor to it) failed in your case .....
>

Tried bld_appimage once more:

/Cin # sh ./bld_appimage.sh

..........snip

Setting rpath in ELF file AppDir/usr/lib/libz.so.1.3.1 to $ORIGIN

-- Deploying icons --
Deploying icon image/cin.svg

-- Deploying desktop files --
Deploying desktop file image/cin.desktop

-- Copying files into AppDir --
Copying file image/cin.desktop to AppDir/usr/share/applications/cin.desktop
Copying file image/cin.svg to 
AppDir/usr/share/icons/hicolor/scalable/apps/cin.svg

-- Deploying files into AppDir root directory --
Deploying files to AppDir root using desktop file: 
AppDir/usr/share/applications/cin.desktop
Deploying desktop file to AppDir root: 
AppDir/usr/share/applications/cin.desktop
Creating symlink for file AppDir/usr/share/applications/cin.desktop 
in/as AppDir
Deploying icon to AppDir root: 
AppDir/usr/share/icons/hicolor/scalable/apps/cin.svg
Creating symlink for file 
AppDir/usr/share/icons/hicolor/scalable/apps/cin.svg in/as AppDir
Deploying AppRun symlink for executable in AppDir root: AppDir/usr/bin/cin
Creating symlink for file AppDir/usr/bin/cin in/as AppDir/AppRun
Found appimagetool: /usr/local/bin/appimagetool-x86_64.AppImage
Running command: /usr/local/bin/appimagetool-x86_64.AppImage 
"appimagetool" "AppDir" "
/usr/bin/AppImageLauncher: /lib64/libcurl.so.4: no version information 
available (required by 
/usr/bin/../lib/x86_64-linux-gnu/appimagelauncher/libappimageupdate.so)


====>>>> AppImageLauncher popup here and want to integrate/run, and 
maybe break something (?)


Squashfs image uses (null) compression, this version supports only xz, zlib.
ERROR: appimage_shall_not_be_integrated : sqfs_open_image error: 
/usr/local/bin/appimagetool-x86_64.AppImage
AppImageLauncher error: appimage_shall_not_be_integrated() failed 
(returned -1)
Squashfs image uses (null) compression, this version supports only xz, zlib.
ERROR: appimage_is_terminal_app : sqfs_open_image error: 
/usr/local/bin/appimagetool-x86_64.AppImage
AppImageLauncher error: appimage_is_terminal_app() failed (returned -1)
fusermount3 version: 3.16.2
execv error: No such file or directory
localhost:/Cin #
localhost:/Cin # du -sh AppDir
216M    AppDir
localhost:/Cin # ls -la AppDir
total 12
drwxr-xr-x  3 root root 4096 Dec  6 02:50 .
drwxr-xr-x 31 root root 4096 Dec  6 02:50 ..
lrwxrwxrwx  1 root root   11 Dec  6 02:50 AppRun -> usr/bin/cin
lrwxrwxrwx  1 root root   34 Dec  6 02:50 cin.desktop -> 
usr/share/applications/cin.desktop
lrwxrwxrwx  1 root root   45 Dec  6 02:50 cin.svg -> 
usr/share/icons/hicolor/scalable/apps/cin.svg
drwxr-xr-x  5 root root 4096 Dec  6 02:50 usr
localhost:/Cin #
localhost:/Cin # ls /usr/local/bin/appimagetool-x86_64.AppImage
/usr/local/bin/appimagetool-x86_64.AppImage
localhost:/Cin #
localhost:/Cin # ls -la /usr/local/bin/appimagetool-x86_64.AppImage
-rwxr-xr-x 1 root root 12718856 Dec  6
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20241206/eea060dc/attachment-0001.htm>


More information about the Cin mailing list