aurgatech / linux-binaries

This repository contains linux (linkable) binaries for different linux distributions
13 stars 1 forks source link

The program does not work on RPM based systems #8

Open Millisman opened 2 weeks ago

Millisman commented 2 weeks ago

The program shows a black screen (AURGA_Viewer-2.0.0.0_x86_64.deb) There is also a notification that "failed to load Libavformat/avutil... etc" - the notification does not get into the log. I checked these libraries - they are installed.

[0825/041552.647205:WARNING:alloy_main_delegate.cc(559)] Alloy bootstrap is deprecated and will be removed in ~M127. See https://github.com/chromiumembedded/cef/issues/3685
[0825/041553.328375:WARNING:sandbox_linux.cc(430)] InitializeSandbox() called with multiple threads in process gpu-process.
[0825/041553.391785:INFO:document_style_environment_variables.cc(92)] E2E_Used SafeAreaInsetBottom
[0825/041553.488435:INFO:document_style_environment_variables.cc(92)] E2E_Used SafeAreaInsetBottom
[0825/041553.705672:INFO:document_style_environment_variables.cc(92)] E2E_Used SafeAreaInsetBottom
[0825/041738.367846:INFO:document_style_environment_variables.cc(92)] E2E_Used SafeAreaInsetBottom
[0825/041738.368184:INFO:CONSOLE(117)] "1", source: https://app.aurga.com/index.js (117)
[0825/041738.368278:INFO:CONSOLE(117)] "1", source: https://app.aurga.com/index.js (117)
[0825/041817.639962:INFO:document_style_environment_variables.cc(92)] E2E_Used SafeAreaInsetBottom
[0825/041817.723253:INFO:document_style_environment_variables.cc(92)] E2E_Used SafeAreaInsetBottom
aurgatech commented 2 weeks ago

@Millisman have you tried to build the libraries and put them under /usr/share/aurgav folder? We recommend to use ffmpeg v7.0.1

Millisman commented 2 weeks ago

@Millisman have you tried to build the libraries and put them under /usr/share/aurgav folder? We recommend to use ffmpeg v7.0.1

It is necessary to add an event to the log that .so wants to load. This is not displayed in the log, but is only visible in the notification. This is a fundamental flaw. But the registration form is already done, great. This is exactly what businesses need, and what people do not need...

Aqua1ung commented 2 weeks ago

@aurgatech: guys, the best way to avoid all this morass of issues with various Linux distros, is to POST A DOCKER IMAGE! You will make every Linux user happy, and you won't have to bother with many Linux versions ever again! No more "building libraries," no more make, no more instructions that nobody understands,no more any of that!

It's that simple.

aurgatech commented 2 weeks ago

@Aqua1ung Please try version 2.0.0.2.

We have identified an issue that may affect the functionality of our app in docker/virtual machine. Specifically, our app may encounter difficulties in capturing mouse events if the cursor moves beyond the screen's boundaries. This is a known limitation that we are actively working to resolve.

Our application is designed to utilize X11 input for capturing relative raw mouse events, which is forwarded to HID mouse on AURGA Viewer. However, we understand that in virtual machine environments, the mouse events are typically reported as absolute positions, which can limit the functionality when the cursor moves beyond the screen bounds.

Aqua1ung commented 2 weeks ago

@Aqua1ung Please try version 2.0.0.2.

This one actually works!!!!!!!!!!!!!!!!!!!!!!!!!! The native Linux app v2.0.0.2 actually works!!!! Awesome job!!!

All I had to do was to unzip the .tar.xz archive somewhere (anywhere!) on my hard drive, and launch aurgav!!

Now I see that you guys included all the libav libraries in the package: can't you make it so it uses the libav libraries that are already installed on my system? I'd much rather have it that way, instead of including them in the archive.

Anyway, I am happy that it now works. I would still like to see a Docker image though, just to keep things elegant.

Cheers!

P.S. What is the difference between "Physical input" and "Virtual input"??

aurgatech commented 2 weeks ago

@Aqua1ung if you build ffmpeg by yourself, you can put all so files to aurgav's folder. We don't recommend to use ffmpeg installed from yum.

Tiip: If aurgav reports any missing libraries, you can copy them/create symlinks to the following folders:

  1. System library path or LD_LIBRARY_PATH
  2. aurgav's folder
  3. /usr/share/aurgav
Aqua1ung commented 2 weeks ago

@aurgatech: alright, so I deleted all libraries that come with Aurga, because, as I said, I already got them on my hard drive, and I do not like to have multiple copies of the same stuff on my system. And yes, I got H.264 already installed (my package manager, swupd, installs the complete(!) ffmpeg). I also checked, and the LD_LIBRARY_PATH variable contains the right paths to ffmpeg:

dad@DadsGram/usr/lib64 $ echo $LD_LIBRARY_PATH
/usr/lib64:/opt/3rd-party/bundles/clearfraction/usr/lib64:/opt/3rd-party/bundles/clearfraction/usr/local/lib64

So, when I launched aurgav, it complains that it cannot find the ffmpeg libraries. Why is that? Again, ffmpeg libraries are in the LD_LIBRARY_PATH variable!

aurgatech commented 2 weeks ago

@aurgatech: alright, so I deleted all libraries that come with Aurga, because, as I said, I already got them on my hard drive, and I do not like to have multiple copies of the same stuff on my system. And yes, I got H.264 already installed (my package manager, swupd, installs the complete(!) ffmpeg). I also checked, and the LD_LIBRARY_PATH variable contains the right paths to ffmpeg:

dad@DadsGram/usr/lib64 $ echo $LD_LIBRARY_PATH
/usr/lib64:/opt/3rd-party/bundles/clearfraction/usr/lib64:/opt/3rd-party/bundles/clearfraction/usr/local/lib64

So, when I launched aurgav, it complains that it cannot find the ffmpeg libraries. Why is that? Again, ffmpeg libraries are in the LD_LIBRARY_PATH variable!

Please check the so names in your system library directories. You might need to create symlinks manually like: libavcodec.so.60 -> libavcodec.so

Aqua1ung commented 2 weeks ago

@aurgatech: thanks. I did check the names in /usr/lib64, and they are, indeed, correct. And yes, I know I can make symlinks in the aurgav directory--which is what you guys did in the 2.0.0.2 version. And yes, that works too.

But it should also work using the LD_LIBRARY_PATH variable, shouldn't it? Why bother making manual symlinks, when we have the LD_LIBRARY_PATH variable? This probably means that Aurga is not really checking this variable, which may be a bug.

aurgatech commented 2 weeks ago

@Aqua1ung It is not a bug. The reason was that aurgav could not find libav*.so libraries located in LD_LIBRARY_PATH.

ffmpeg has many versions. usually the filenames are libavcodec.so.57, libavcodec.so.59 .... But in Cent OS based system, they won't create symlinks like libavcodec.so to one version. In aurgav, it just tries to load libavcodec.so. We'll try to load different versions of ffmpeg libs in new versions to fix this. But it might ignore new versions of ffmpeg libs which version is not hardcoded in aurgav.

Aqua1ung commented 2 weeks ago

Hi @aurgatech, thanks for putting up with me! Anyway, just to make it clear, I do not run a CentOS distro. My distro is ClearLinux, which, as far as I know, is based on Fedora.

Since you say that aurgav is only looking for libav*.so and libswscale.so, I will make sure I have corresponding symlinks in the folders indicated by LD_LIBRARY_PATH. Hopefully that should work without having to store the libraries in the aurgav directory.

Aqua1ung commented 2 weeks ago

Alright, so I added the requisite symlinks in the folders where I keep the ffmpeg libraries, so you no longer have to hard-code anything else into aurgav. (Let me guess, you already did that, didn't you?) Here's the code:

# Add symlinks for Aurga.
cd <folder_where_you_store_ffmpeg_libraries>
sudo ln -s $(ls libavcodec.so.*.*) libavcodec.so
sudo ln -s $(ls libavformat.so.*.*) libavformat.so
sudo ln -s $(ls libavutil.so.*.*) libavutil.so
sudo ln -s $(ls libswscale.so.*.*) libswscale.so
cd -

Just please make sure aurgav looks for libavcodec.so, libavformat.so, libavutil.so, and libswscale.so. Anything else I don't care.

aurgatech commented 2 weeks ago

@Aqua1ung Yes, the new version will try to load recent 10 versions of ffmpeg libraries. So you don't need to manually create ffmpeg lib symlinks for the app.

Aqua1ung commented 2 weeks ago

@Aqua1ung Yes, the new version will try to load recent 10 versions of ffmpeg libraries. So you don't need to manually create ffmpeg lib symlinks for the app.

Lemme guess, every time they issue a new ffmpeg version, you will have to issue a new aurgav just to hardcode that new ffmpeg into it? 🤔

What if it first finds an older version, instead of the new version whose location happens to be specified later in LD_LIBRARY_PATH?

Also, are you sure you're allowed to distribute ffmpeg libraries with your software? Don't you need permission to do that?

Anyway, please make sure aurgav checks its own folder first, before checking the LD_LIBRARY_PATH variable. That's all I need. I will write a quick AURGA installation script that adds symlinks in the aurgav folder to point to wherever I want.

And thank you for being very responsive to feedback!!!