Topic: SVP 4 Linux

"Preview" version available now.

Consider this as a half-opened beta test - you need a valid SVP 4 Pro license to get access to SVP 4 Linux Preview.

Get the download link via License Manager.

Here's a draft version of Linux-specific installation procedure and SVP's issues.

Re: SVP 4 Linux

Please post "success stories" here big_smile

3 (edited by hberntsen 26-02-2016 14:56:27)

Re: SVP 4 Linux

Nice! Got it working on Ubuntu 15.10. Would be nice if we could re-encode videos to 60fps on Linux.

Re: SVP 4 Linux

> Would be nice if we could re-encode videos to 60fps on Linux.

get the script from SVP, insert proper input filter and run it through vspipe + x264

5 (edited by mark-o-solo 27-02-2016 11:17:30)

Re: SVP 4 Linux

Thank you very much for SVP Linux !

6 (edited by C0rn3j 18-09-2018 11:08:59)

Re: SVP 4 Linux

Got SVP running under Arch Linux, thanks a lot for developing such an awesome piece of software!

http://rys.pw/System_administration#How … Arch_Linux

Re: SVP 4 Linux

C0rn3j

cool!

8 (edited by lordzahl 28-02-2016 09:57:59)

Re: SVP 4 Linux

Hi! I'm also on arch and SVP4 fires up with no problems. But i am new to vapoursynth.. how do i start a video using SVP in mpv or smplayer?
Thanks!

Re: SVP 4 Linux

Just add --input-unix-socket=/tmp/mpvsocket to mpv args (or config file) and SVP should find it. Alternatively you can "open" video file via SVPManager - it'll execute mpv with the correct argument.

Re: SVP 4 Linux

Ah thanks! It works smile. I will test the performance later. It didn't recognize OpenCL hardware, but that may very well be because of my open source intel drivers. I have no idea, if they allow for any opencl usage (i5-5300U).

Re: SVP 4 Linux

https://software.intel.com/en-us/articl … nux_driver

Re: SVP 4 Linux

I think I may have found a bug; SVPManager insists on using gpuID=11 regardless of what the actual configured value is, which completely breaks the OpenCL support.

Performance test log:

20:25:46.553 [i]: Performance: quick estimation = 311 (previous value was 0)
20:26:09.446 [i]: Performance: motion vectors estimation = 640
20:26:19.964 [i]: Performance: CPU-based frame rendering = 1046
20:26:20.017 [W]: Video [gpuID=11] initialization failed
20:26:20.017 [W]: Performance: GPU-based frame rendering [gpuID=11] FAILED

Output from ~/SVP 4/utils/clinfo:

Number of platforms                               1
  Platform Name                                   AMD Accelerated Parallel Processing
  Platform Vendor                                 Advanced Micro Devices, Inc.
  Platform Version                                OpenCL 1.2 AMD-APP (1214.3)
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd cl_amd_event_callback cl_amd_offline_devices
  Platform Extensions function suffix             AMD

  Platform Name                                   AMD Accelerated Parallel Processing
Number of devices                                 2
  Device Name                                     Devastator
  Device Vendor                                   Advanced Micro Devices, Inc.
  Device Vendor ID                                0x1002
  Device Version                                  OpenCL 1.2 AMD-APP (1214.3)
  Driver Version                                  1214.3 (VM)
  Device OpenCL C Version                         OpenCL C 1.2 
  Device Type                                     GPU
  Device Profile                                  FULL_PROFILE
  Device Board Name (AMD)                         AMD Radeon HD 8510G
  Device Topology (AMD)                           PCI-E, 00:01.0
  Max compute units                               6
  SIMD per compute unit (AMD)                     1
  SIMD width (AMD)                                16
  SIMD instruction width (AMD)                    4
  Max clock frequency                             553MHz
  Graphics IP (AMD)                               <printDeviceInfo:22: get CL_DEVICE_GFXIP_MAJOR_AMD : error -30>
  Device Partition                                (core)
    Max number of sub-devices                     6
    Supported partition types                     none specified
  Max work item dimensions                        3
  Max work item sizes                             256x256x256
  Max work group size                             256
  Preferred work group size multiple              64
  Wavefront width (AMD)                           64
  Preferred / native vector sizes                 
    char                                                16 / 16      
    short                                                8 / 8       
    int                                                  4 / 4       
    long                                                 2 / 2       
    half                                                 0 / 0        (n/a)
    float                                                4 / 4       
    double                                               0 / 0        (cl_amd_fp64)
  Half-precision Floating-point support           (n/a)
  Single-precision Floating-point support         (core)
    Denormals                                     No
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 Yes
    Round to infinity                             Yes
    IEEE754-2008 fused multiply-add               Yes
    Support is emulated in software               No
    Correctly-rounded divide and sqrt operations  Yes
  Double-precision Floating-point support         (cl_amd_fp64)
    Denormals                                     No
    Infinity and NANs                             No
    Round to nearest                              No
    Round to zero                                 No
    Round to infinity                             No
    IEEE754-2008 fused multiply-add               No
    Support is emulated in software               No
    Correctly-rounded divide and sqrt operations  No
  Address bits                                    32, Little-Endian
  Global memory size                              314572800 (300MiB)
  Global free memory (AMD)                        306765 (299.6MiB) 174592 (170.5MiB)
  Global memory channels (AMD)                    4
  Global memory banks per channel (AMD)           8
  Global memory bank width (AMD)                  256 bytes
  Error Correction support                        No
  Max memory allocation                           135266304 (129MiB)
  Unified memory for Host and Device              Yes
  Minimum alignment for any data type             128 bytes
  Alignment of base address                       2048 bits (256 bytes)
  Global Memory cache type                        None
  Image support                                   Yes
    Max number of samplers per kernel             16
    Max size for 1D images from buffer            65536 pixels
    Max 1D or 2D image array size                 2048 images
    Max 2D image size                             16384x16384 pixels
    Max 3D image size                             2048x2048x2048 pixels
    Max number of read image args                 128
    Max number of write image args                8
  Local memory type                               Local
  Local memory size                               32768 (32KiB)
  Local memory syze per CU (AMD)                  32768 (32KiB)
  Local memory banks (AMD)                        32
  Max constant buffer size                        65536 (64KiB)
  Max number of constant args                     8
  Max size of kernel argument                     1024
  Queue properties                                
    Out-of-order execution                        No
    Profiling                                     Yes
  Prefer user sync for interop                    Yes
  Profiling timer resolution                      1ns
  Profiling timer offset since Epoch (AMD)        1456686034020388922ns (Sun Feb 28 20:00:34 2016)
  Execution capabilities                          
    Run OpenCL kernels                            Yes
    Run native kernels                            No
    Thread trace supported (AMD)                  No
  printf() buffer size                            1048576 (1024KiB)
  Built-in kernels                                
  Device Available                                Yes
  Compiler Available                              Yes
  Linker Available                                No
  Device Extensions                               cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_amd_image2d_from_buffer_read_only 

  Device Name                                     AMD A8-5545M APU with Radeon(tm) HD Graphics
  Device Vendor                                   AuthenticAMD
  Device Vendor ID                                0x1002
  Device Version                                  OpenCL 1.2 AMD-APP (1214.3)
  Driver Version                                  1214.3 (sse2,avx,fma4)
  Device OpenCL C Version                         OpenCL C 1.2 
  Device Type                                     CPU
  Device Profile                                  FULL_PROFILE
  Device Board Name (AMD)                         
  Device Topology (AMD)                           (n/a)
  Max compute units                               4
  Max clock frequency                             1700MHz
  Device Partition                                (core, cl_ext_device_fission)
    Max number of sub-devices                     4
    Supported partition types                     equally, by counts, by affinity domain
    Supported affinity domains                    L2 cache, L1 cache, next partitionalbe
    Supported partition types (ext)               equally, by counts, by affinity domain
    Supported affinity domains (ext)              L2 cache, L1 cache, next fissionable
  Max work item dimensions                        3
  Max work item sizes                             1024x1024x1024
  Max work group size                             1024
  Preferred work group size multiple              1
  Preferred / native vector sizes                 
    char                                                16 / 16      
    short                                                8 / 8       
    int                                                  4 / 4       
    long                                                 2 / 2       
    half                                                 4 / 4        (n/a)
    float                                                8 / 8       
    double                                               4 / 4        (cl_khr_fp64)
  Half-precision Floating-point support           (n/a)
  Single-precision Floating-point support         (core)
    Denormals                                     Yes
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 Yes
    Round to infinity                             Yes
    IEEE754-2008 fused multiply-add               Yes
    Support is emulated in software               No
    Correctly-rounded divide and sqrt operations  Yes
  Double-precision Floating-point support         (cl_khr_fp64)
    Denormals                                     Yes
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 Yes
    Round to infinity                             Yes
    IEEE754-2008 fused multiply-add               Yes
    Support is emulated in software               No
    Correctly-rounded divide and sqrt operations  No
  Address bits                                    64, Little-Endian
  Global memory size                              7454986240 (6.943GiB)
  Error Correction support                        No
  Max memory allocation                           2147483648 (2GiB)
  Unified memory for Host and Device              Yes
  Minimum alignment for any data type             128 bytes
  Alignment of base address                       1024 bits (128 bytes)
  Global Memory cache type                        Read/Write
  Global Memory cache size                        16384
  Global Memory cache line                        64 bytes
  Image support                                   Yes
    Max number of samplers per kernel             16
    Max size for 1D images from buffer            65536 pixels
    Max 1D or 2D image array size                 2048 images
    Max 2D image size                             8192x8192 pixels
    Max 3D image size                             2048x2048x2048 pixels
    Max number of read image args                 128
    Max number of write image args                8
  Local memory type                               Global
  Local memory size                               32768 (32KiB)
  Max constant buffer size                        65536 (64KiB)
  Max number of constant args                     8
  Max size of kernel argument                     4096 (4KiB)
  Queue properties                                
    Out-of-order execution                        No
    Profiling                                     Yes
  Prefer user sync for interop                    Yes
  Profiling timer resolution                      1ns
  Profiling timer offset since Epoch (AMD)        1456686034020388922ns (Sun Feb 28 20:00:34 2016)
  Execution capabilities                          
    Run OpenCL kernels                            Yes
    Run native kernels                            Yes
  printf() buffer size                            65536 (64KiB)
  Built-in kernels                                
  Device Available                                Yes
  Compiler Available                              Yes
  Linker Available                                No
  Device Extensions                               cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt 

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  No platform
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   No platform
  clCreateContext(NULL, ...) [default]            No platform
  clCreateContext(NULL, ...) [other]              Success [AMD]
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  No platform

I have tried changing the GPU ID the advanced settings to no avail, whatever I put in there it gets replaced with 11. I even tried manually editing ~/.local/share/SVP4/settings/frc.cfg against all advice but it still insisted on using gpuID=11.

Aside from that SVP 4 works great (a bit slow without OpenCL on an A8-5545M though) smile

Re: SVP 4 Linux

gpuId=11 in this context means "1st GPU device on the 1st platform", so what's wrong?

the fact that built-in benchmark fails is interesting BUT even more interesting would be the actual Vapoursynth error (if any) when the filter script initialization fails

Re: SVP 4 Linux

Chainik wrote:

gpuId=11 in this context means "1st GPU device on the 1st platform", so what's wrong?

more interesting is the actual Vapoursynth error (if any) when the filter script initialization fails

The first device is a virtual device, the second is the actual GPU. I think AMD did this for compatibility reasons (the CPU will always exists while an AMD GPU may not). I have tried entering both "12" and "21" into the GPU ID field but it still gets reset to 11. Furthermore even the CPU-based OpenCL render seems to fail, which is odd considering other OpenCL code works (including the SVP4 clinfo utility). Can you post a sample output of what this should look like with working OpenCL?


Regarding Vapoursynth, I've found on Ubuntu 14.04 that APT wants to pull mpv from the SMPlayer repo which doesn't have Vapoursynth support, this is how I fixed it:

sudo apt-get install mpv=1:0.15.0-1~trusty
sudo apt-mark hold mpv

This will force the (currently) latest version of mpv from ppa:djcj/vapoursynth . This is because the mpv version from ppa:rvm/smplayer is prefixed with "2:" which in turn makes APT prefer that version. It's probably a repo-side hack to prevent the official repo from upgrading over the PPA version from rvm, which in our case also replaces the PPA version from djcj. For a more permanent solution I would reccomend APT pinning, but this works as a temporary solution to verify the correct version is installed.

I'm not sure if this is the error you're referring to, but I thought it might at least help someone.

Re: SVP 4 Linux

clinfo output is fine, it's exactly like it should be
1st device is "GPU", 2nd one is "CPU"

you'd better post "events log" after trying to play some video with GPU acceleration enabled


> APT wants to pull mpv from the SMPlayer repo which doesn't have Vapoursynth support

yeah, it's a known "issue", just forgot to include it into the FAQ wink

Re: SVP 4 Linux

Oh, I see now. I must have read the names wrong (there was A LOT of debugging to get OpenCL running).

If I try to play a file after enabling OpenCL I get a crash. I'm unable to retrieve the event log, but this is what appears on the command line:

Playing: /home/djhg2000/Downloads/EVERYBODY DO THE FLOP (asdfmovie song).mp4
 (+) Video --vid=1 (*) (h264)
 (+) Audio --aid=1 --alang=und (*) (aac)
libEGL warning: DRI2: failed to authenticate
AO: [pulse] 44100Hz stereo 2ch float
VO: [opengl] 1280x720 yuv420p
01:25:00.925 [i]: VideoPlayer: mpv 0.15.0
01:25:01.321 [i]: Media: video 1280x720 [PAR 1.000] at 25.000 fps [constant]
01:25:01.321 [i]: Media: codec type is AVC, YUV/4:2:0/8 bits
01:25:01.348 [i]: Playback: starting up...
01:25:01.358 [i]: Playback [e297b1d7]: resulting video frame 1280x720
01:25:01.358 [i]: Playback [e297b1d7]: 2 acceptible profiles, best is 'Manual' [0]
01:25:01.361 [i]: Playback [e297b1d7]: enabled while video is playing
01:25:01.362 [i]: Profile: using auto values [12]
01:25:01.387 [i]: Playback: playing at 143.75 [25 *23/4]
Opening video filter: [vapoursynth file=/home/djhg2000/.local/share/SVP4/scripts/e297b1d7.py buffered-frames=4 concurrent-frames=17]
[vapoursynth] Script evaluation failed:
[vapoursynth] Python exception: SVSmoothFps: unable to init GPU-based renderer - code 65536
[vapoursynth] Traceback (most recent call last):
[vapoursynth]   File "vapoursynth.pyx", line 1489, in vapoursynth.vpy_evaluateScript (src/cython/vapoursynth.c:23962)
[vapoursynth]   File "/home/djhg2000/.local/share/SVP4/scripts/e297b1d7.py", line 52, in <module>
[vapoursynth]     smooth =  interpolate(clip)
[vapoursynth]   File "/home/djhg2000/.local/share/SVP4/scripts/e297b1d7.py", line 36, in interpolate
[vapoursynth]     smooth  = core.svp2.SmoothFps(input,super["clip"],super["data"],vectors["clip"],vectors["data"],smoothfps_params,src=clip,fps=container_fps)
[vapoursynth]   File "vapoursynth.pyx", line 1381, in vapoursynth.Function.__call__ (src/cython/vapoursynth.c:22423)
[vapoursynth] vapoursynth.Error: SVSmoothFps: unable to init GPU-based renderer - code 65536
[vapoursynth] 
Video filter chain:
  [in] 1280x720 yuv420p bt.709/limited CL=mpeg2/4/h264
  [vapoursynth] 1280x720 yuv420p bt.709/limited CL=mpeg2/4/h264   <---
  [out] ???
01:25:01.601 [E]: Playback [e297b1d7]: VS - Script evaluation failed:
01:25:01.601 [E]: Playback [e297b1d7]: VS - Python exception: SVSmoothFps: unable to init GPU-based renderer - code 65536
01:25:01.601 [E]: Playback [e297b1d7]: VS - Traceback (most recent call last):
01:25:01.601 [E]: Playback [e297b1d7]: VS - File *vapoursynth.pyx*, line 1489, in vapoursynth.vpy_evaluateScript (src/cython/vapoursynth.c:23962)
01:25:01.601 [E]: Playback [e297b1d7]: VS - File */home/djhg2000/.local/share/SVP4/scripts/e297b1d7.py*, line 52, in <module>
01:25:01.601 [E]: Playback [e297b1d7]: VS - smooth = interpolate(clip)
01:25:01.601 [E]: Playback [e297b1d7]: VS - File */home/djhg2000/.local/share/SVP4/scripts/e297b1d7.py*, line 36, in interpolate
01:25:01.601 [E]: Playback [e297b1d7]: VS - smooth = core.svp2.SmoothFps(input,super[*clip*],super[*data*],vectors[*clip*],vectors[*data*],smoothfps_params,src=clip,fps=container_fps)
01:25:01.601 [E]: Playback [e297b1d7]: VS - File *vapoursynth.pyx*, line 1381, in vapoursynth.Function.__call__ (src/cython/vapoursynth.c:22423)
01:25:01.602 [E]: Playback [e297b1d7]: VS - vapoursynth.Error: SVSmoothFps: unable to init GPU-based renderer - code 65536
Opening video filter: [vapoursynth file=/home/djhg2000/.local/share/SVP4/scripts/e297b1d7.py buffered-frames=4 concurrent-frames=17]
[vapoursynth] Script evaluation failed:
[vapoursynth] Python exception: SVSmoothFps: unable to init GPU-based renderer - code 65536
[vapoursynth] Traceback (most recent call last):
[vapoursynth]   File "vapoursynth.pyx", line 1489, in vapoursynth.vpy_evaluateScript (src/cython/vapoursynth.c:23962)
[vapoursynth]   File "/home/djhg2000/.local/share/SVP4/scripts/e297b1d7.py", line 52, in <module>
[vapoursynth]     smooth =  interpolate(clip)
[vapoursynth]   File "/home/djhg2000/.local/share/SVP4/scripts/e297b1d7.py", line 36, in interpolate
[vapoursynth]     smooth  = core.svp2.SmoothFps(input,super["clip"],super["data"],vectors["clip"],vectors["data"],smoothfps_params,src=clip,fps=container_fps)
[vapoursynth]   File "vapoursynth.pyx", line 1381, in vapoursynth.Function.__call__ (src/cython/vapoursynth.c:22423)
[vapoursynth] vapoursynth.Error: SVSmoothFps: unable to init GPU-based renderer - code 65536
[vapoursynth] 
Inconsistency detected by ld.so: dl-close.c: 762: _dl_close: Assertion `map->l_init_called' failed!
01:25:01.697 [i]: Playback [e297b1d7]: disabled while video is playing
01:25:01.698 [i]: Playback [e297b1d7]: deleted
Segmentation fault (core dumped)

It works fine if I disable OpenCL (by moving /etc/OpenCL/vendors/amdocl64.icd to /etc/OpenCL/vendors/amdocl64.icd.bak). I'm starting to think there's something wrong with the OpenCL implementation itself.

Mid-post update: I tried to run the testing tools (from https://github.com/hpc12/tools) again with the proper OpenCL device (derp) and found that selecting the GPU throws this error:

*** build of 'sum' on 'Devastator' said:
"/tmp/OCLWqA90x.cl", line 1: error: can't enable all OpenCL extensions or
          unrecognized OpenCL extension
  #pragma OPENCL EXTENSION cl_khr_fp64: enable
                           ^

1 error detected in the compilation of "/tmp/OCLWqA90x.cl".

Frontend phase failed compilation.

*** (end of message)
*** 'clBuildProgram' in 'cl-helper.c' on line 470 failed with error 'build program failure'.
Aborted (core dumped)

I recall from the output of clinfo that "cl_khr_fp64" is the double type supported on the CPU, the GPU only supports "cl_amd_fp64". From the context I guess "khr" refers to Khronos? If so I think this means my GPU doesn't support standard double types in OpenCL. sad

Armed with this theory I ran the following in the tools directory:

sed -i 's/cl_khr_fp64/cl_amd_fp64/' vec-add-soln.cl

Then I recompiled the tools with

make clean
make OPENCL_INC="/opt/AMDAPP/include/"

I then ran the cl-demo tool again, which terminated with this message:

*** Kernel compilation resulted in non-empty log message.
*** Set environment variable CL_HELPER_PRINT_COMPILER_OUTPUT=1 to see more.
*** NOTE: this may include compiler warnings and other important messages
***   about your code.
*** Set CL_HELPER_NO_COMPILER_OUTPUT_NAG=1 to disable this message.
0.001141 s
10.514965 GB/s
GOOD

So in short, my GPU is weird but now I know about it and I can, in theory, fix it! smile

Hopefully newer AMD GPUs supports the Khronos extensions, but it seems it's as simple (it's never simple) as replacing "cl_khr_fp64" with "cl_amd_fp64". From my extremely limited testing they seem to behave close enough to be compatible.

I'm sorry it turned into such a lengthy post, but I really hope any of this information helps smile

Re: SVP 4 Linux

This's not the case.
clGetPlatformIDs() call for some reason fails in both SVPManager and svpflow lib, BUT it works in clinfo.
The only difference is clinfo is linked with libOpenCL.so while SVPManager loads it dynamically at runtime.

Could it be that you have several different versions of libOpenCL.so installed?

In other words check that libOpenCL.so from "ldd clinfo" and the one from /proc/<SVPManager pid>/maps point to the same AMD's .so file.

18 (edited by Djhg2000 29-02-2016 11:12:48)

Re: SVP 4 Linux

Chainik wrote:

This's not the case.
clGetPlatformIDs() call for some reason fails in both SVPManager and svpflow lib, BUT it works in clinfo.
The only difference is clinfo is linked with libOpenCL.so while SVPManager loads it dynamically at runtime.

Could it be that you have several different versions of libOpenCL.so installed?

In other words check that libOpenCL.so from "ldd clinfo" and the one from /proc/<SVPManager pid>/maps point to the same AMD's .so file.

It seems like they do:

$ ldd utils/clinfo 
    linux-vdso.so.1 =>  (0x00007ffee0928000)
    libOpenCL.so.1 => /opt/AMDAPP/lib/x86_64/libOpenCL.so.1 (0x00007f9a11e38000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9a11a70000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9a11850000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9a11648000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f9a12040000)
$ cat /proc/20005/maps | grep -i cl
7f824d958000-7f824fa7e000 r-xp 00000000 08:01 4983568                    /opt/AMDAPP/lib/x86_64/libamdocl64.so
7f824fa7e000-7f824fc7d000 ---p 02126000 08:01 4983568                    /opt/AMDAPP/lib/x86_64/libamdocl64.so
7f824fc7d000-7f824fee9000 rw-p 02125000 08:01 4983568                    /opt/AMDAPP/lib/x86_64/libamdocl64.so
7f8260b58000-7f8260b5e000 r-xp 00000000 08:01 4983565                    /opt/AMDAPP/lib/x86_64/libOpenCL.so.1
7f8260b5e000-7f8260d5d000 ---p 00006000 08:01 4983565                    /opt/AMDAPP/lib/x86_64/libOpenCL.so.1
7f8260d5d000-7f8260d5e000 rw-p 00005000 08:01 4983565                    /opt/AMDAPP/lib/x86_64/libOpenCL.so.1
7f8268080000-7f826808f000 r-xp 00000000 08:01 4464655                    /usr/lib/x86_64-linux-gnu/libavahi-client.so.3.2.9
7f826808f000-7f826828f000 ---p 0000f000 08:01 4464655                    /usr/lib/x86_64-linux-gnu/libavahi-client.so.3.2.9
7f826828f000-7f8268290000 r--p 0000f000 08:01 4464655                    /usr/lib/x86_64-linux-gnu/libavahi-client.so.3.2.9
7f8268290000-7f8268291000 rw-p 00010000 08:01 4464655                    /usr/lib/x86_64-linux-gnu/libavahi-client.so.3.2.9

This also confirms SVPManager is correctly using the x86_64 version of the library. I did notice however that entering a bogus value into the GPU ID field (such as "55") does not change the error message at all. Shouldn't it? I would had expected at least a change in the line number that "vapoursynth.c" errors out in the traceback (nonexistent device vs possibly unsupported implementation).

Edit: I can't get this to make sense at all actually, OpenCL can init the GPU just fine with other tools and although quirky it does work with slight modifications to the previously mentioned demo code. Yet it doesn't work at all when SVPManager tries to use it, despite evidently detecting the correct OpenCL device:

12:09:20.715 [i]: Video 1: device name 'AMD Radeon HD 8510G' (Advanced Micro Devices, Inc., ver.1214.3) [gpuID=11]: OK

Re: SVP 4 Linux

despite evidently detecting the correct OpenCL device

hmm... this's interesting big_smile

20 (edited by Djhg2000 29-02-2016 17:49:49)

Re: SVP 4 Linux

Chainik wrote:

despite evidently detecting the correct OpenCL device

hmm... this's interesting big_smile

I meant as in it detects a device with the expected name string at gpuID=11, but yes, this is why I'm having a hard time understanding why it doesn't work. If the "cl_khr_fp64" extension doesn't exist then an OpenCL kernel explicitly declaring it should simply fail to compile, right?

The thing that confuses me the most is that even with gpuID=21, which should be the CPU based device and totally supports both "cl_khr_fp64" and "cl_amd_fp64", SVPManager still fails to init OpenCL.

Perhaps I just need some sleep. The error could well be starring me right in the face, but I'm not seeing it.

Re: SVP 4 Linux

Digging a bit deeper into this I ran LuxMark 3.1 (downloaded from here: http://www.luxrender.net/wiki/LuxMark#Download) just to see if things were working. The GPU only gets about 2x-3x the speed of the CPU in the render benchmark, but it's only an A8-5545M anyway so I wasn't expecting more than that. Checking with ldd and /proc/<PID>/maps against SVPManager I get the exact same libraries being used by LuxMark.bin . Do you by any chance have an AMD card to test with?

22 (edited by Ghosthree3 02-03-2016 11:57:32)

Re: SVP 4 Linux

C0rn3j wrote:

Got SVP running under Arch Linux, thanks a lot for developing such an awesome piece of software!

http://wiki.c0rn3j.com/index.php?title= … Arch_Linux

Thanks pal, was hoping to find this here. Hopefully after release SVP will be added to the AUR.

Question to admin/mod, it's expected the license manager lists Win and Mac as OSs but not Linux right?

EDIT: Key worked so I assume it's fine. Run into one issue, how do I keep it running without keeping the manager open? If I ./SVPManager and keep it open the SVP OSD pops up, but if it's closed it doesn't work. This is consistent with the behaviour from say, Windows, except in Windows it exists in the tray. What do I do in linux to hide it but keep it open?

EDIT: Ok if I run it with -tray it starts and appears in the Tray perfectly (which is amazing because I'm using i3 and there were expected issues with DEs), however if I ever click it to open it I can't figure out how to minimize it. I mean it's not a big deal, open it to make changes then kill it and restart it, but inconvenient.

EDIT: Nevermind, using $mod+Shift+q closes it to tray, no way to close it through the GUI though.

Re: SVP 4 Linux

> I can't figure out how to minimize it

just close the window and the Manager will remain in the tray? o_O

24 (edited by Ghosthree3 02-03-2016 12:25:36)

Re: SVP 4 Linux

Chainik wrote:

> I can't figure out how to minimize it

just close the window and the Manager will remain in the tray? o_O

See edits, fixed it. With i3 windows don't have the minimize/maximize/close buttons, and the file menu exit button kills the software. But yeah, no problem, got it working. EDIT: The reason I got stumped with this one for a moment was other tray icons I have will disappear/minimize again upon reclicking it. Not the case with SVP, but yeah you can still do it.

Do have nasty bug reports though, the options within the manager for black bars, aspect ratio, screen size, outer lighting don't match up with the tray menu ones, they don't seem to affect each other at all. (Same menu as clicking the symbol (file menu) within the manager).

EDIT: Sigh, somewhat disregard the above bug report. Just like my Windows installation that had the exact same issue, the problem fixed itself after launching the program a second time. It appears to only occur on first run, configs not being generated yet or something?

Re: SVP 4 Linux

> i3 windows

oh, I see
consider controlling SVP Manager via wget from the console then big_smile