server icon indicating copy to clipboard operation
server copied to clipboard

Bug: 2.4.x not compiling with ffmpeg 7

Open Behinder opened this issue 1 year ago • 23 comments

Observed Behavior

error during make wyn.txt

Expected behaviour

creating binary

Steps to reproduce

  1. Install lot of dependencies - cmake doest not suggest what to install so the BUILDING.md is incomplete
  2. cmake ../src
  3. make -j8

Environment

Tested on Linux Mint and Ubuntu latest - arm64 and MacOS Apple Silicon inside ubuntu in docker container

Behinder avatar Oct 05 '24 18:10 Behinder

It looks like your system is using ffmpeg 7 which introduced some breaking changes. This is fixed in master, which I suppose would be reasonable to backport to 2.4.1

I should point out that we generally only recommend using the LTS versions of ubuntu, those are what we test with.

Install lot of dependencies - cmake doest not suggest what to install so the BUILDING.md is incomplete

What did you need to install that wasn't documented?

Julusian avatar Oct 07 '24 08:10 Julusian

Thanks for reply. Let me point out things one by one. Well, I should mention that I tested it on LTS as well. Build was failing even on ffmpeg6 , then I tested on ffmpeg built from source that was 7 you right , I did not notice that maybe because Macports still uses version 6 :( and I was so frustrated that I wanted to write Caspar from scratch.

Haven’t checked that on Linux but on MacOS ffmpeg 6 so probably also 7 installs his corresponding headers in /opt/local/libexec/ffmpeg6/include instead of /opt/local/include - I don’t know the reason but it must taken into considerations when using as dependency.

I cannot tell you at the moment what was missing , I would have to repeat whole process. Whenever I did make command there was always something missing like even OpenGL, GLX, SFMTL. The system version of ffmpeg install different set of dependencies that your installation script inside source code. Cmake is weird conf system e.g. in Macports it install python as dependency which is really not necessary. Also my concern is that your script downloading code that uses boost library but the code is copyrighted in 2001! 23 years is a lot of time. I currently have difficulties to analyze and correct code because Visual Studio Code does not respect searchPaths for includes :(

The binary version from Ubuntu crashes on Mint - why? They are both based on Debian.

I think 2 years ago I wanted macOS version and only one person wanted to help me with this, sad. So I am going to work on CasparCg using MGL project or to create it just in Metal. Unless you do mind because licensing.

Cheers

W dniu pon., 7.10.2024 o 10:47 Julian Waller @.***> napisał(a):

It looks like your system is using ffmpeg 7 which introduced some breaking changes. This is fixed in master, which I suppose would be reasonable to backport to 2.4.1

I should point out that we generally only recommend using the LTS versions of ubuntu, those are what we test with.

Install lot of dependencies - cmake doest not suggest what to install so the BUILDING.md is incomplete

What did you need to install that wasn't documented?

— Reply to this email directly, view it on GitHub https://github.com/CasparCG/server/issues/1578#issuecomment-2396300415, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEQPFVSMTOBWSKL66LUOZ3Z2JDANAVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJWGMYDANBRGU . You are receiving this because you authored the thread.Message ID: @.***>

Behinder avatar Oct 07 '24 11:10 Behinder

Strange, we are running builds in ubuntu 22.04 and 24.04 in github actions, using solely system dependencies to ensure that it remains building successfully on those. As well as one on ubuntu 22.04 which uses our packaged dependencies The script we use for the system one is https://github.com/CasparCG/server/blob/d37b9d0a2f01ee475c4d9503e19145cc90827e3d/.github/workflows/linux-system.yml#L23-L48 and you can see a successful run from it last week https://github.com/CasparCG/server/actions/runs/11076901193/job/30780996777 so it should work locally too. I can't speak for mint though.

Haven’t checked that on Linux but on MacOS ffmpeg 6 so probably also 7 installs his corresponding headers in /opt/local/libexec/ffmpeg6/include instead of /opt/local/include - I don’t know the reason but it must taken into considerations when using as dependency.

Both of those paths are rather non standard for linux, so they sound like a macos 'quirk', that as we don't support macos don't handle currently. I don't have a problem with supporting other paths, but don't know where that should fit into the cmake config

I cannot tell you at the moment what was missing , I would have to repeat whole process. Whenever I did make command there was always something missing like even OpenGL, GLX, SFMTL.

Strange, I can't explain this assuming you were using ubuntu/mint there.

Also my concern is that your script downloading code that uses boost library but the code is copyrighted in 2001!

The version we use in 2.4 is from 2018, but it is likely that some of the copyright notices haven't been updated.
For reference, I am intentionally using an older version, matching the oldest version of ubuntu that we want to support. The intention is to minimise the risk of using 'new' features that won't be available on the older ubuntu versions. Tbh this is probably overly cautious, but also there hasn't been a reason to update it. It is newer in master, matching the version used in ubuntu 22.04

I think 2 years ago I wanted macOS version and only one person wanted to help me with this, sad. So I am going to work on CasparCg using MGL project or to create it just in Metal. Unless you do mind because licensing.

Personally, I don't mind the idea of having some code in this repository to make it buildable/usable on macos. But I am hesitant to accept an implementation using metal.
I agree with the prior comments that a macos implementation is something extra that we would have to maintain, with little evidence that it is beneficial to do so. So as long as the implementation is minimally invasive, then I am open to including it. For reference, I think the differences between linux and windows is a different cmake file, a few different cpp files, and a handful of ifdefs. And I can't guarantee that it will get the same level of effort from me in keeping it working/building, I will try but with a lower threshold for giving up than for windows/linux, but if the implementation is as isolated as windows/linux are today, then it shouldn't break often, if ever.

Julusian avatar Oct 07 '24 12:10 Julusian

The binary version from Ubuntu crashes on Mint - why? They are both based on Debian.

@Behinder if you'd like, you can try Server builds from my repo: https://launchpad.net/~ppa-verse/+archive/ubuntu/casparcg

dimitry-ishenko avatar Oct 07 '24 13:10 dimitry-ishenko

The binary version from Ubuntu crashes on Mint - why? They are both based on Debian.

@Behinder if you'd like, you can try Server builds from my repo: launchpad.net/~ppa-verse/+archive/ubuntu/casparcg

or from mine https://launchpad.net/~casparcg/+archive/ubuntu/ppa

I forgot to reply to this part, its going to be some library version mismatch. The zip files are too agressive at what they include, (see https://github.com/CasparCG/server/issues/1532) but including less means requiring some packages to be manually installed on the system. Tbh at the moment I am really tempted to stop producing those ubuntu zips, the ci for them has been broken for a bit anyway (failing on uploading for some reason)

Julusian avatar Oct 07 '24 13:10 Julusian

or from mine https://launchpad.net/~casparcg/+archive/ubuntu/ppa

@Julusian maybe some day you will accept my CEF patches, so that my builds can live in your repo 😃

dimitry-ishenko avatar Oct 07 '24 14:10 dimitry-ishenko

Give me some time for that, I will test your builds.

pon., 7 paź 2024 o 16:34 D-mo @.***> napisał(a):

or from mine https://launchpad.net/~casparcg/+archive/ubuntu/ppa

@Julusian https://github.com/Julusian maybe some day you will accept my CEF patches, so that my builds can live in your repo 😃

— Reply to this email directly, view it on GitHub https://github.com/CasparCG/server/issues/1578#issuecomment-2397107682, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEQPFRQFBB7LHVP72IO54LZ2KLWXAVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJXGEYDONRYGI . You are receiving this because you were mentioned.Message ID: @.***>

Behinder avatar Oct 08 '24 14:10 Behinder

Linux Mint Machine

Distributor ID: Linuxmint Description: Linux Mint 22 Release: 22 Codename: wilma

Build from https://launchpad.net/~ppa-verse/+archive/ubuntu/casparcg

[2024-10-10 14:02:20.053790] [0x000074a8cc372700] [error] 0# 0x000056B44EC94B04 1# 0x0000705756845320 2# 0x000070575689EB1C 3# 0x000070575684526E 4# 0x0000705756845320 5# 0x000056B44ED0D02C 6# 0x000056B44ED088C5 7# 0x000056B44ED0DD95 8# 0x0000705765B5097F 9# 0x000070575689CA94 10# 0x0000705756929C3C

Type "q" to close application.

There is no GUI turned on on remote machine so I this is error for launching with --noconsole flag.

Build from https://launchpad.net/~casparcg/+archive/ubuntu/ppa

[2024-10-10 14:25:05.884910] [0x00007f6f90d0d700] [error] 0# 0x0000608D0CFA0B04 1# 0x000074A8D9A45320 2# 0x000074A8D9A9EB1C 3# 0x000074A8D9A4526E 4# 0x000074A8D9A45320 5# 0x0000608D0D01902C 6# 0x0000608D0D0148C5 7# 0x0000608D0D019D95 8# 0x000074A8E8D2D97F 9# 0x000074A8D9A9CA94 10# 0x000074A8D9B29C3C

So both apps coredumped

REMEMBER: add system information log

Docker container with Ubuntu on M2Pro

Build from https://launchpad.net/~ppa-verse/+archive/ubuntu/casparcg

casparcg-server-2.4 Type "q" to close application. zsh: abort casparcg-server-2.4

[2024-10-10 12:37:00.080767] [0x0000ffff8182d040] [error] 0# 0x0000AAAAACEB449C 1# 0x0000FFFFA23C37A0 2# 0x0000FFFF918C7628 3# 0x0000FFFF9187CB3C 4# 0x0000FFFFA23C37A0 5# 0x0000AAAAACF3F1A8 6# 0x0000AAAAACF39CA8 7# 0x0000AAAAACF3FD90 8# 0x0000FFFFA05D61E4 9# 0x0000FFFF918C597C 10# 0x0000FFFF9192BA4C

Type "q" to close application. zsh: abort casparcg-server-2.4 --noconsole

Build from https://launchpad.net/~casparcg/+archive/ubuntu/ppa

repository was added but casparcg-server-2.4 has no installation candidate, apt update does nothing so I guess this is repository not for docker builds.

DEBIAN Machine

Build https://launchpad.net/~ppa-verse/+archive/ubuntu/casparcg

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). gpg: nie odnaleziono poprawnych danych w formacie OpenPGP. Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner self.run() File "/usr/lib/python3.9/threading.py", line 892, in run self._target(*self._args, **self._kwargs) File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 688, in addkey_func func(**kwargs) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 386, in add_key return apsk.add_ppa_signing_key() File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 273, in add_ppa_signing_key cleanup(tmp_keyring_dir) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 234, in cleanup shutil.rmtree(tmp_keyring_dir) File "/usr/lib/python3.9/shutil.py", line 718, in rmtree _rmtree_safe_fd(fd, path, onerror) File "/usr/lib/python3.9/shutil.py", line 675, in _rmtree_safe_fd onerror(os.unlink, fullname, sys.exc_info()) File "/usr/lib/python3.9/shutil.py", line 673, in _rmtree_safe_fd os.unlink(entry.name, dir_fd=topfd) FileNotFoundError: [Errno 2] Nie ma takiego pliku ani katalogu: 'S.gpg-agent.extra'

Build from https://launchpad.net/~casparcg/+archive/ubuntu/ppa

An 'unofficial' PPA for CasparCG server (made by one of the maintainers) Built from https://github.com/julusian/casparcg-ppa More info: https://launchpad.net/~casparcg/+archive/ubuntu/ppa Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keybox ,,/tmp/tmpdtf1tzk4/pubring.gpg'' utworzony gpg: /tmp/tmpdtf1tzk4/trustdb.gpg: baza zaufania utworzona gpg: klucz 8A520FDA9153CB31: klucz publiczny ,,Launchpad PPA for CasparCG'' wczytano do zbioru gpg: Ogółem przetworzonych kluczy: 1 gpg: dołączono do zbioru: 1 Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). gpg: nie odnaleziono poprawnych danych w formacie OpenPGP. Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner self.run() File "/usr/lib/python3.9/threading.py", line 892, in run self._target(*self._args, **self._kwargs) File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 688, in addkey_func func(**kwargs) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 386, in add_key return apsk.add_ppa_signing_key() File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 273, in add_ppa_signing_key cleanup(tmp_keyring_dir) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 234, in cleanup shutil.rmtree(tmp_keyring_dir) File "/usr/lib/python3.9/shutil.py", line 718, in rmtree _rmtree_safe_fd(fd, path, onerror) File "/usr/lib/python3.9/shutil.py", line 675, in _rmtree_safe_fd onerror(os.unlink, fullname, sys.exc_info()) File "/usr/lib/python3.9/shutil.py", line 673, in _rmtree_safe_fd os.unlink(entry.name, dir_fd=topfd) FileNotFoundError: [Errno 2] Nie ma takiego pliku ani katalogu: 'S.gpg-agent.extra'

so unable to test builds on debian. specs.zip

Behinder avatar Oct 11 '24 12:10 Behinder

Build from launchpad.net/~casparcg/+archive/ubuntu/ppa repository was added but casparcg-server-2.4 has no installation candidate, apt update does nothing so I guess this is repository not for docker builds.

Its not a case of docker, but I haven't made any arm64 builds, which is what your m2 mac will be looking for.
I suspect it wouldn't even run though, because macos doesn't support the version of opengl we need. But perhaps there is some docker tooling that will run some metal translation layer that could be used. Either way, it logs when it fails to initialise opengl, and that happens much later in startup, after a bunch of logging has already happened.

So both apps coredumped

This is 'normal' behaviour when it tries and fails to find a config file, could that be what you are hitting?

so unable to test builds on debian.

tbh I didn't know that debian had any support for ppas, those are a very ubuntu convention. Its complaining something about gpg keys, no clue what to do with that tbh.

Julusian avatar Oct 11 '24 12:10 Julusian

Build https://launchpad.net/~ppa-verse/+archive/ubuntu/casparcg

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). gpg: nie odnaleziono poprawnych danych w formacie OpenPGP. Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner self.run() File "/usr/lib/python3.9/threading.py", line 892, in run self._target(*self._args, **self._kwargs) File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 688, in addkey_func func(**kwargs) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 386, in add_key return apsk.add_ppa_signing_key() File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 273, in add_ppa_signing_key cleanup(tmp_keyring_dir) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 234, in cleanup shutil.rmtree(tmp_keyring_dir) File "/usr/lib/python3.9/shutil.py", line 718, in rmtree _rmtree_safe_fd(fd, path, onerror) File "/usr/lib/python3.9/shutil.py", line 675, in _rmtree_safe_fd onerror(os.unlink, fullname, sys.exc_info()) File "/usr/lib/python3.9/shutil.py", line 673, in _rmtree_safe_fd os.unlink(entry.name, dir_fd=topfd) FileNotFoundError: [Errno 2] Nie ma takiego pliku ani katalogu: 'S.gpg-agent.extra'

@Behinder try this:

sudo apt install gpg-agent
sudo mkdir -p /root/.gnupg
sudo add-apt-repository ppa:ppa-verse/casparcg
sudo apt install casparcg-server

dimitry-ishenko avatar Oct 11 '24 16:10 dimitry-ishenko

I thought default config is shipped with installer as it is in binary shipped as gzip. I had problems when config file was corrupted or perhaps something was wrong in XML syntax but with default config it should run and I assumed core dump was because of OPenGL not the config so I don't know.

I don't know either that PPA is convention of Ubuntu. Since Ubuntu uses same deb system like Debian I assumed it should work apparently it's not.

I have launched latest Ubuntu LTS in UTM - Caspar probably not run anyway but at least I could do arm64 build for Linux.

pt., 11 paź 2024 o 14:47 Julian Waller @.***> napisał(a):

Build from launchpad.net/~casparcg/+archive/ubuntu/ppa repository was added but casparcg-server-2.4 has no installation candidate, apt update does nothing so I guess this is repository not for docker builds.

Its not a case of docker, but I haven't made any arm64 builds, which is what your m2 mac will be looking for. I suspect it wouldn't even run though, because macos doesn't support the version of opengl we need. But perhaps there is some docker tooling that will run some metal translation layer that could be used. Either way, it logs when it fails to initialise opengl, and that happens much later in startup, after a bunch of logging has already happened.

So both apps coredumped

This is 'normal' behaviour when it tries and fails to find a config file, could that be what you are hitting?

so unable to test builds on debian.

tbh I didn't know that debian had any support for ppas, those are a very ubuntu convention. Its complaining something about gpg keys, no clue what to do with that tbh.

— Reply to this email directly, view it on GitHub https://github.com/CasparCG/server/issues/1578#issuecomment-2407344091, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEQPFXPDR2DOAHCJVSALIDZ27CH5AVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXGM2DIMBZGE . You are receiving this because you were mentioned.Message ID: @.***>

Behinder avatar Oct 11 '24 16:10 Behinder

Problem with gpg behaviour gone but application quit so I assume coredumped (i am launching it remotely or with --noconsole mode)

pt., 11 paź 2024 o 18:22 D-mo @.***> napisał(a):

Build https://launchpad.net/~ppa-verse/+archive/ubuntu/casparcg

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). gpg: nie odnaleziono poprawnych danych w formacie OpenPGP. Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner self.run() File "/usr/lib/python3.9/threading.py", line 892, in run self._target(*self._args, **self._kwargs) File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 688, in addkey_func func(**kwargs) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 386, in add_key return apsk.add_ppa_signing_key() File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 273, in add_ppa_signing_key cleanup(tmp_keyring_dir) File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 234, in cleanup shutil.rmtree(tmp_keyring_dir) File "/usr/lib/python3.9/shutil.py", line 718, in rmtree _rmtree_safe_fd(fd, path, onerror) File "/usr/lib/python3.9/shutil.py", line 675, in _rmtree_safe_fd onerror(os.unlink, fullname, sys.exc_info()) File "/usr/lib/python3.9/shutil.py", line 673, in _rmtree_safe_fd os.unlink(entry.name, dir_fd=topfd) FileNotFoundError: [Errno 2] Nie ma takiego pliku ani katalogu: 'S.gpg-agent.extra'

@Behinder https://github.com/Behinder try this:

sudo apt install gpg-agent sudo mkdir -p /root/.gnupg sudo add-apt-repository ppa:ppa-verse/casparcg sudo apt install casparcg-server

— Reply to this email directly, view it on GitHub https://github.com/CasparCG/server/issues/1578#issuecomment-2407742640, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEQPFRX4DMOIHEGHYS7HALZ273NDAVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXG42DENRUGA . You are receiving this because you were mentioned.Message ID: @.***>

Behinder avatar Oct 11 '24 16:10 Behinder

An example config file is included in my ppa packages, at /usr/share/casparcg-server-2.4/casparcg.config.example, but casparcg won't find it by itself. I think it is looking for a casparcg.config in the current working directory, or you can specify a path to a config file.

Julusian avatar Oct 11 '24 16:10 Julusian

Annying that casparcg does not accept any standard flag like -v --version --help -h so I don't know how to give it path. I launched it in directory where casparcg.config is located and behavior is the same.

pt., 11 paź 2024 o 18:57 Julian Waller @.***> napisał(a):

An example config file is included in my ppa packages, at /usr/share/casparcg-server-2.4/casparcg.config.example, but casparcg won't find it by itself. I think it is looking for a casparcg.config in the current working directory, or you can specify a path to a config file.

— Reply to this email directly, view it on GitHub https://github.com/CasparCG/server/issues/1578#issuecomment-2407796919, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEQPFVWZTIEZG2RITZVPA3Z277ONAVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXG44TMOJRHE . You are receiving this because you were mentioned.Message ID: @.***>

Behinder avatar Oct 11 '24 17:10 Behinder

i am launching it remotely or with --noconsole mode

What's the --noconsole option?... Where did it come from? How are you launching the server remotely? Via ssh? If so, make sure you export the DISPLAY variable.

dimitry-ishenko avatar Oct 11 '24 18:10 dimitry-ishenko

ChatGPT suggest --noconsole option is for server in headless mode without GUI my observation suggest it is true. Surprising you ask me about that now and not right after I posted :) Yes via ssh but on remote server - first I tried ssx -X and launch server on my side but that won't work because OpenGL. ( I was able to compile mesa with Zink driver but cannot force system to use it)

pt., 11 paź 2024 o 20:26 D-mo @.***> napisał(a):

i am launching it remotely or with --noconsole mode

What's the --noconsole option?... Where did it come from? How are you launching the server remotely? Via ssh?

— Reply to this email directly, view it on GitHub https://github.com/CasparCG/server/issues/1578#issuecomment-2407927670, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEQPFRPC432FCHHMX5P5S3Z3AJ7BAVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXHEZDONRXGA . You are receiving this because you were mentioned.Message ID: @.***>

Behinder avatar Oct 11 '24 18:10 Behinder

An example config file is included in my ppa packages, at /usr/share/casparcg-server-2.4/casparcg.config.example, but casparcg won't find it by itself.

FWIW, I ship .desktop file with my .deb package, which copies casparcg.config if it doesn't exist to make user experience less painful 😄

https://github.com/user-attachments/assets/c96bcd19-d545-4cc8-a8b8-4bdee7ef45c9

dimitry-ishenko avatar Oct 11 '24 18:10 dimitry-ishenko

ChatGPT suggest --noconsole option is for server in headless mode without GUI my observation suggest it is true. Surprising you ask me about that now and not right after I posted :)

LOL at ChatGPT... Sorry, I've missed the first time you've mentioned the --noconsole option. The only option Server supports is the path to the casparcg.config file. There is an outstanding issue (see #1571) that prevents the server from properly reporting command-line errors.

Yes via ssh but on remote server - first I tried ssx -X and launch server on my side but that won't work because OpenGL. ( I was able to compile mesa with Zink driver but cannot force system to use it)

Try sshing into the remote machine without the -X option. Then run DISPLAY=:0 casparcg-server.

https://github.com/user-attachments/assets/48be68ab-f71d-4dbe-842e-ef2d989a0ad5

dimitry-ishenko avatar Oct 11 '24 19:10 dimitry-ishenko

chatgpt is trained on Stack Overflow so I don't uderstand your LOL here

pt., 11 paź 2024 o 21:06 D-mo @.***> napisał(a):

ChatGPT suggest --noconsole option is for server in headless mode without GUI my observation suggest it is true. Surprising you ask me about that now and not right after I posted :)

LOL at ChatGPT... Sorry, I've missed the first time you've mentioned the --noconsole option. The only option Server supports is the path to the casparcg.config file. There is an outstanding issue (see #1571 https://github.com/CasparCG/server/issues/1571) that prevents the server from properly reporting command-line errors.

Yes via ssh but on remote server - first I tried ssx -X and launch server on my side but that won't work because OpenGL. ( I was able to compile mesa with Zink driver but cannot force system to use it)

Try sshing into the remote machine without the -X option. Then run DISPLAY=:0 casparcg-server.

https://github.com/user-attachments/assets/48be68ab-f71d-4dbe-842e-ef2d989a0ad5

— Reply to this email directly, view it on GitHub https://github.com/CasparCG/server/issues/1578#issuecomment-2407980431, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEQPFWALJUDC7FDYTUXPJDZ3AOU3AVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXHE4DANBTGE . You are receiving this because you were mentioned.Message ID: @.***>

Behinder avatar Oct 13 '24 19:10 Behinder

Besides every server app should have headless mode whatever you called it. ChatGPT did not take that info from nowhere.

niedz., 13 paź 2024 o 21:10 Sebastian Szwarc @.***> napisał(a):

chatgpt is trained on Stack Overflow so I don't uderstand your LOL here

pt., 11 paź 2024 o 21:06 D-mo @.***> napisał(a):

ChatGPT suggest --noconsole option is for server in headless mode without GUI my observation suggest it is true. Surprising you ask me about that now and not right after I posted :)

LOL at ChatGPT... Sorry, I've missed the first time you've mentioned the --noconsole option. The only option Server supports is the path to the casparcg.config file. There is an outstanding issue (see #1571 https://github.com/CasparCG/server/issues/1571) that prevents the server from properly reporting command-line errors.

Yes via ssh but on remote server - first I tried ssx -X and launch server on my side but that won't work because OpenGL. ( I was able to compile mesa with Zink driver but cannot force system to use it)

Try sshing into the remote machine without the -X option. Then run DISPLAY=:0 casparcg-server.

https://github.com/user-attachments/assets/48be68ab-f71d-4dbe-842e-ef2d989a0ad5

— Reply to this email directly, view it on GitHub https://github.com/CasparCG/server/issues/1578#issuecomment-2407980431, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEQPFWALJUDC7FDYTUXPJDZ3AOU3AVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXHE4DANBTGE . You are receiving this because you were mentioned.Message ID: @.***>

Behinder avatar Oct 13 '24 19:10 Behinder

I don't have direct access (e.g. via VNC) to GUI environment so I don't know how the casparcg could run even with DIsplay set to :0 very confusing. I have GUI on Ubuntu 24.04 in UTM but that does not solve a thing since it is launched on Silicon.

I don't know - just write on your webpage Caspar is not running on anything other than Ubuntu and problem solved. I give up - no proper error reporting makes it a no go for me.

Now I have to collect mana to rewrite Caspar for Metal and delete all Ubuntu/Windows dependency.

niedz., 13 paź 2024 o 21:11 Sebastian Szwarc @.***> napisał(a):

Besides every server app should have headless mode whatever you called it. ChatGPT did not take that info from nowhere.

niedz., 13 paź 2024 o 21:10 Sebastian Szwarc @.***> napisał(a):

chatgpt is trained on Stack Overflow so I don't uderstand your LOL here

pt., 11 paź 2024 o 21:06 D-mo @.***> napisał(a):

ChatGPT suggest --noconsole option is for server in headless mode without GUI my observation suggest it is true. Surprising you ask me about that now and not right after I posted :)

LOL at ChatGPT... Sorry, I've missed the first time you've mentioned the --noconsole option. The only option Server supports is the path to the casparcg.config file. There is an outstanding issue (see #1571 https://github.com/CasparCG/server/issues/1571) that prevents the server from properly reporting command-line errors.

Yes via ssh but on remote server - first I tried ssx -X and launch server on my side but that won't work because OpenGL. ( I was able to compile mesa with Zink driver but cannot force system to use it)

Try sshing into the remote machine without the -X option. Then run DISPLAY=:0 casparcg-server.

https://github.com/user-attachments/assets/48be68ab-f71d-4dbe-842e-ef2d989a0ad5

— Reply to this email directly, view it on GitHub https://github.com/CasparCG/server/issues/1578#issuecomment-2407980431, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEQPFWALJUDC7FDYTUXPJDZ3AOU3AVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXHE4DANBTGE . You are receiving this because you were mentioned.Message ID: @.***>

Behinder avatar Oct 13 '24 19:10 Behinder

chatgpt is trained on Stack Overflow so I don't uderstand your LOL here ChatGPT did not take that info from nowhere.

If I search stackoverflow for casparcg, it comes back with 13 results. So anything chatgpt thinks it knows about casparcg from there is unlikely to have much accuracy.

Besides every server app should have headless mode whatever you called it.

I don't know what you expect from a headless mode here tbh. Seeing as the server is a command line application, it already is pretty headless. But it does require a X server, which is unavoidable if you want to be able to use html templates. And when I lasted looked a few years ago, getting a gpu handle without x was still patchy at best and inconsistent vendor support. This is probably better by now, but seeing as html support still needs it, I don't see the point in changing that.

Only supporting ubuntu is noted in the readme https://github.com/casparcg/server?tab=readme-ov-file#linux
And it is entirely possible to run on other distros, but it might require recompiling. I run it on fedora, and I know there is an arch package https://aur.archlinux.org/packages/casparcg-server

Julusian avatar Oct 13 '24 19:10 Julusian

I gave up but could not sleep so I spent few hours fighting with Ubuntu and digging through various wrong answer on Internet and I finally did it. So this is summary:

  1. Ocular fork of Ubuntu is painfully slow on virtual machine difficult even to install so I threw it out.
  2. I installed 22.04 server ubuntu ARM64 using qemu in UTM.
  3. I don't know if UTM did some magic or it is me who once compiled natively Gallium Zink drivers Mesa and virglrenderer, but glxinfo shows me that I have OpenGL 4.5 in Ubuntu!
  4. lxde sucks and lightdm constantly creating problems searching for XSessions called ubuntu that was not there. I used Mate2 GUI and modified .dmrc to set default session and it worked.
  5. Attached files. casparcg_server_aarch64-arm64.zip

Additional note: I used ffmpeg6 and option for use system ffmpeg, not sure how with 7 Ubuntu was not shipped with that version I think. Also I had to turn off CEF library completely, for some reasons it is not compatible with ARM64 architecture and that creates problem during linking.

Behinder avatar Oct 15 '24 12:10 Behinder

It looks like you got to the end of this, so I don't think there is any need to keep this open?

Regarding CEF not working, we don't officially support arm64, so the build tooling will be trying to use an x64 instead of an arm64 binary of CEF. It might be as simple as making these two lines dynamic https://github.com/CasparCG/server/blob/fb7836f43e7f699053385fee8eff0cf3444f6d2a/src/CMakeModules/Bootstrap_Linux.cmake#L76-L77, if someone opens a PR to do that it will be accepted. (I can handle making an arm64 system package once it is known to be useful)

Julusian avatar Jan 12 '25 17:01 Julusian