Versions after 5.7FX do not work with .mp4 vids on Ubuntu 20.04

I am having trouble running any actual version of ELAN on Ubuntu 20.04. The latest VLC is installed, it can open the mp4 files. But On opening the .eaf with linked mp4 media it crashes on the Initialization.

It does work with 5.7FX thou, but the video colors are off, and the interface broken at timeseries viewer.

The error output:
‘’’
A fatal error has been detected by the Java Runtime Environment:
SIGSEGV (0xb) at pc=0x00007f602aa48d56, pid=85327, tid=85416
JRE version: OpenJDK Runtime Environment (14.0.2+12) (build 14.0.2+12-46)
Java VM: OpenJDK 64-Bit Server VM (14.0.2+12-46, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)

Problematic frame:
C [iHD_drv_video.so+0x155d56]

Host: 11th Gen Intel® Core™ i7-1185G7 @ 3.00GHz, 8 cores, 31G, Ubuntu 20.04.2 LTS
Time: Sun Mar 14 23:52:03 2021 JST elapsed time: 3 seconds (0d 0h 0m 3s)
vm_info: OpenJDK 64-Bit Server VM (14.0.2+12-46) for linux-amd64 JRE (14.0.2+12-46), built on Jul 8 2020 23:30:21 by “mach5one” with gcc 8.3.0

--------------- T H R E A D ---------------

Current thread is native thread

Stack: [0x00007f607c3a9000,0x00007f607c4a8000], sp=0x00007f607c4a5f88, free space=1011k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [iHD_drv_video.so+0x155d56]
C [iHD_drv_video.so+0x1553c5]
C [iHD_drv_video.so+0x37c776]
C [iHD_drv_video.so+0x346f0b]

What are the options? Is there anyone who is successfully running ELAN 6.0 with linked .mp4 on Ubuntu?

Hi, mp4’s on my Ubuntu 20.04 run in all recent versions of ELAN. The problem seems to be in the video driver library, but it is unclear what actually causes the ‘segmentation violation’, especially since you don’t seem to have other problems related to the video driver.
ELAN 6 has an OpenJDK 14 runtime built-in, while 5.8 and 5.9 include an OpenJDK 11 runtime, so it doesn’t seem to be a problematic combination with a particular Java version.
The versions after 5.7FX require VLC 3.x installed and those ELAN versions use a newer version of a ‘jna’ library to communicate with the ‘native’ media player; that would be the only pointer for an explanation why newer versions crash and 5.7FX (and lower probably) not.
Still, it’s unclear what can be done to make ELAN 6.0 run. Searching for reported problems with iHD_drv_video, there sometimes seems to be a connection with a (missing) i965_drv_video.so, but that’s quite vague and I can imagine that, if you don’t have other problems related to the video driver, you don’t want to experiment with your system.

-Han

1 Like

Thank you for the reply!

Is there a way to run the vlc with a config file or arguments in ELAN?

I’m not sure if I fully understand the question, but I guess the answer is ‘no’. The VLC player is embedded in ELAN, it’s not run as separate application. I’m not sure if it is possible to use a config file.

Just for your information; with ELAN 6.0, when run from the command line (ELAN executable in the ‘bin’ folder) on my system, I see the following messages in the terminal:

libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: va_openDriver() returns -1
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_6
libva info: va_openDriver() returns 0

which seem to indicate that on my system initializing the ‘iHD’ driver fails and instead the ‘i965’ driver is used. Maybe you can check what is reported on your system?

So finally, the issue was in the wrong driver! Han was right

For the new Intel Gen8+ chips there is an Intel Media Driver

The installation guide is here in Japanese, but straight forward.

After compilation and installation of the media driver, vlc and ELAN are running perfectly without any errors:

~$ /opt/elan-6.0/bin/ELAN 
libva info: VA-API version 1.11.0
libva info: Trying to open /usr/local/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_11
libva info: va_openDriver() returns 0

~$ vlc
VLC media player 3.0.9.2 Vetinari (revision 3.0.9.2-0-gd4c1aefe4d)
[000055bf52db2700] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
libva info: VA-API version 1.11.0
libva info: Trying to open /usr/local/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_11
libva info: va_openDriver() returns 0
[00007f6ba8c0a6b0] avcodec decoder: Using Intel iHD driver for Intel(R) Gen Graphics - 21.1.3 (e015df12) for hardware decoding


the i965 can do as well, but vlc will have trouble using the hardware acceleration (or at least say so)

Thank you Han, for your help.

Great that it works now!