lmiphay / gentoo.overlay

lmiphay gentoo overlay
4 stars 3 forks source link

CEF not working on Firestorm #19

Open ntheo1979 opened 1 year ago

ntheo1979 commented 1 year ago

Greetings!

It's a few versions now that anything regarding CEF does not work on Firestorm (installed through your games-simulation/firestorm-bin package). I have tried with and without the system-sdl use flag. I have tried with the upstream package as well, with no modifications whatsoever. Therefore, I deemed it's an upstream bug and I filed it here, but I'm afraid they seem unable to help, despite trying. Do you have any ideas perhaps?

lmiphay commented 1 year ago

hi @ntheo1979

Sorry to hear CEF is causing problems? What sort of problem exactly are you seeing? How are you using it?

CEF has been working for me. At least in what I use it for.

The system-sdl flag is actually gone - sorry for the confusion. I have removed it from metadata.xml (had missed it was still there).

I cannot see your firestorm ticket: https://jira.firestormviewer.org/browse/SUP-27343 (it is private I think).

Can you copy anything relevant into this issue, and I can take a look.

Thanks,

Paul

ntheo1979 commented 1 year ago

Hi Paul!

Oh, I didn't know it was private. Of course.

By "not working" I mean that the internal browser fails to load websites (it doesn't even try), be it any website in the browser itself, the "feed" in the profiles (formerly known as "web profiles"), the firestorm splash screen, media on a prim that effectively open websites etc.

The logs themselves show nothing of interest, other than [0226/222821.745848:VERBOSE1:webrtc_internals.cc(118)] Could not get the download directory. [0226/222821.767820:INFO:cpu_info.cc(53)] Available number of cores: 2 [0226/222821.768022:VERBOSE1:zygote_main_linux.cc(217)] ZygoteMain: initializing 0 fork delegates [0226/222821.887554:VERBOSE1:pref_proxy_config_tracker_impl.cc(186)] 0x56167ebbf7d0: set chrome proxy config service to 0x56167ebb8760 [0100/000000.017464:VERBOSE1:vaapi_wrapper.cc(607)] InitializeVaDriver_Locked(): vaInitialize failed: unknown libva error [0100/000000.017799:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is desktop [0100/000000.918925:INFO:child_thread_impl.cc(864)] ChildThreadImpl::EnsureConnected() [0226/222837.056080:INFO:child_thread_impl.cc(864)] ChildThreadImpl::EnsureConnected() [0100/000000.387113:INFO:child_thread_impl.cc(864)] ChildThreadImpl::EnsureConnected() in ~/.firestorm_x64/logs/cef_log.txt.

dmesg however shows

[27831.723700] SLPlugin[23065]: segfault at 0 ip 00007f1ec26759bc sp 00007ffd8f44ec10 error 4 in libc.so.6[7f1ec2654000+14b000] likely on CPU 0 (core 0, socket 0)
[27831.723754] Code: e4 55 53 48 83 ec 28 85 c9 49 8b 40 08 48 89 74 24 08 0f 85 b6 02 00 00 83 ff 01 0f 84 7d 01 00 00 83 ff 24 0f 87 74 01 00 00 <49> 0f be 55 00 4c 89 eb 49 8b 48 68 48 89 d0 f6 44 51 01 20 74 19

which means that "SLplugin is experiencing a crash in libc" and it's possible that "we're dealing with a bug in slplugin that only rears its ugly end with certain versions of libc".

Google chrome and Chromium (both from the gentoo repository) work properly.

It is interesting to note that both Kokua (from your overlay) and Cool VL Viewer (manually downloaded and installed) don't have that issue, therefore it is unique to Firestorm. Kokua however suffers from the Compose issue we had discussed some time ago here . The Firestorm guy said that CoolVLViewer uses a newer version of CEF so perhaps that's why. Though, if CEF works fine for you, that's not the problem.

I think the last version with working CEF was 6.4, but I'm not quite sure, because your freetype fix used to break CEF for me until some point, but I can't recall when or how. I think it stopped breaking CEF when I turned off the +system-sdl flag, so that's why I tried it on and off. (It seems the fix is no longer necessary, btw.)

I don't know what to say more, other than my system is always kept up to date. Also I use =x11-drivers/nvidia-drivers-390.157 (my card doesn't support newer).

ntheo1979 commented 1 year ago

@lmiphay

nikos@Archytas ~ $ emerge --info

Portage 3.0.44 (python 3.10.10-final-0, default/linux/amd64/17.1/desktop/plasma, gcc-12, glibc-2.36-r5, 6.1.12-gentoo-dist x86_64)
=================================================================
System uname: Linux-6.1.12-gentoo-dist-x86_64-Intel-R-_Celeron-R-_CPU_E3400_@_2.60GHz-with-glibc2.36
KiB Mem:     8138588 total,    313096 free
KiB Swap:   16777212 total,  16777212 free
Timestamp of repository gentoo: Tue, 28 Feb 2023 13:32:01 +0000
Head commit of repository gentoo: b92e8e0dee1a09f13b93884cb32610d285c8d7f0

Timestamp of repository 4nykey: Tue, 28 Feb 2023 12:31:55 +0000
Head commit of repository 4nykey: 449ab688eb483ac72680ed46c8b48846e25e1555

Timestamp of repository ROKO__: Tue, 28 Feb 2023 08:19:04 +0000
Head commit of repository ROKO__: 63e0d5383b9b2deb1a0b96169536150ecc2fd588

Timestamp of repository guru: Tue, 28 Feb 2023 08:19:06 +0000
Head commit of repository guru: 60d6dc9068476ba42c2aeea8b9fdeb656bbc28ef

Timestamp of repository lmiphay: Tue, 28 Feb 2023 08:19:04 +0000
Head commit of repository lmiphay: 08e6decf511b3a8921805fd02e5f1216655c09ed

Timestamp of repository nest: Fri, 20 Jan 2023 23:17:01 +0000
Head commit of repository nest: 8ee95e56be36334cc312ccf73485bfe5ac971091

Timestamp of repository rion: Thu, 23 Feb 2023 13:47:15 +0000
Head commit of repository rion: f3a4bc62f0f7fa0b1434dcdee5fffddfd68b5953

Timestamp of repository stefantalpalaru: Tue, 28 Feb 2023 08:19:04 +0000
Head commit of repository stefantalpalaru: d75ebd0588b4592b5515070e6cc7f0b3da2b31cc

Timestamp of repository tatsh-overlay: Mon, 27 Feb 2023 06:31:54 +0000
Head commit of repository tatsh-overlay: 433e8fc5811cf54aba10dd781eb643ad262ac837

Timestamp of repository tezeta: Thu, 23 Feb 2023 13:47:36 +0000
Head commit of repository tezeta: 0c3112c6e49a43a141544b4e33ea204af7860997

Head commit of repository Miezhiko: db2d27a3c2dd9b74a7e244e6f865dcac5029f516

Head commit of repository torbrowser: 341866d642abdfe193ecefb873b2f389305112ac

sh bash 5.1_p16-r2
ld GNU ld (Gentoo 2.39 p5) 2.39.0
app-misc/pax-utils:        1.3.5::gentoo
app-shells/bash:           5.1_p16-r2::gentoo
dev-java/java-config:      2.3.1::gentoo
dev-lang/perl:             5.36.0-r1::gentoo
dev-lang/python:           3.10.10_p2::gentoo, 3.11.1-r1::gentoo
dev-lang/rust-bin:         1.66.1-r1::gentoo
dev-util/cmake:            3.25.2::gentoo
dev-util/meson:            1.0.0::gentoo
sys-apps/baselayout:       2.9::gentoo
sys-apps/openrc:           0.45.2-r2::gentoo
sys-apps/sandbox:          2.29::gentoo
sys-devel/autoconf:        2.71-r5::gentoo
sys-devel/automake:        1.16.5::gentoo
sys-devel/binutils:        2.39-r4::gentoo
sys-devel/binutils-config: 5.4.1::gentoo
sys-devel/gcc:             12.2.1_p20230121-r1::gentoo
sys-devel/gcc-config:      2.8::gentoo
sys-devel/libtool:         2.4.7-r1::gentoo
sys-devel/make:            4.3::gentoo
sys-kernel/linux-headers:  6.1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.36-r5::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo.git
    priority: -1000
    volatile: True
    sync-git-verify-commit-signature: yes

4nykey
    location: /var/db/repos/4nykey
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/4nykey.git
    masters: gentoo
    volatile: True

ROKO__
    location: /var/db/repos/ROKO__
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/ROKO__.git
    masters: gentoo
    volatile: True

guru
    location: /var/db/repos/guru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/guru.git
    masters: gentoo
    volatile: True

lmiphay
    location: /var/db/repos/lmiphay
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/lmiphay.git
    masters: gentoo
    volatile: True

local
    location: /var/db/repos/local
    masters: gentoo
    volatile: True

nest
    location: /var/db/repos/nest
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/nest.git
    masters: gentoo
    volatile: True

rion
    location: /var/db/repos/rion
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/rion.git
    masters: gentoo
    volatile: True

stefantalpalaru
    location: /var/db/repos/stefantalpalaru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/stefantalpalaru.git
    masters: gentoo
    volatile: True

tatsh-overlay
    location: /var/db/repos/tatsh-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/tatsh-overlay.git
    masters: gentoo
    volatile: True

tezeta
    location: /var/db/repos/tezeta
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/tezeta.git
    masters: gentoo
    volatile: True

Miezhiko
    location: /var/lib/layman/Miezhiko
    sync-type: git
    sync-uri: https://github.com/Miezhiko/Overlay.git
    masters: gentoo
    priority: 50
    volatile: True

torbrowser
    location: /var/lib/layman/torbrowser
    sync-type: git
    sync-uri: https://github.com/MeisterP/torbrowser-overlay.git
    masters: gentoo
    priority: 50
    volatile: True

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -march=native"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O2 -pipe -march=native"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=native"
GENTOO_MIRRORS="http://ftp.ntua.gr/pub/linux/gentoo/"
LANG="el_GR.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
LINGUAS="el_GR en en_GB"
MAKEOPTS="-j2"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X aac acl acpi activities alsa amd64 bindist branding bzip2 cairo cdda cli crypt cups dbus declarative dist-kernel djvu dri dts elogind emoji encode exif ffmpeg flac flatpak fontconfig fortran gdbm gif git gpm gtk gui iconv icu ipv6 jpeg kde kwallet latex lcms libglvnd libnotify libtirpc lm-sensors mad mng mp3 mp4 mpeg multilib ncurses nls nptl nvidia ogg opengl openmp pam pango pcre pdf plasma png policykit ppds pulseaudio qml qt5 readline samba scanner sdl seccomp semantic-desktop sound spell split-usr ssl startup-notification svg test-rust tiff truetype udev udisks unicode upower usb v4l vorbis widgets wxwidgets x264 xattr xcb xetex xft xml xv xvid xvmc zlib" ABI_X86="64 32" ADA_TARGET="gnat_2021" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" L10N="el grc en en-GB" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10" RUBY_TARGETS="ruby27 ruby30" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
ntheo1979 commented 1 year ago

@lmiphay I realised I forgot to send you the logs, so I am doing so now (a clean profile). logs.tar.gz

lmiphay commented 1 year ago

Thanks for all of that.

I see most of those log messages in my logs as well.

I don't see this one:

[0100/000000.017464:VERBOSE1:vaapi_wrapper.cc(607)] InitializeVaDriver_Locked(): vaInitialize failed: unknown libva error

Do you have libva installed? You have the global use flags that I think are relevant: X opengl

We have the version of glibc - these are the use flags I have on glibc: multiarch multilib ssp stack-realign static-libs

If you do: ldd /opt/firestorm-bin/bin/llplugin/libmedia_plugin_cef.so

Are all the shared libraries found? Some of them will be found in /opt/firestorm-bin/lib and the rest in /usr/lib64 - but they all need to be installed.

Also try /opt/firestorm-bin/bin/SLPlugin 12340

And see if it runs. It doesn't stick around, but it shouldn't core dump at least.

I can't think of anything else to try at the moment. There is some difference between installed packages and/or use flags is the best guess, but finding which ones matter is the question.

Some background info here: https://wiki.firestormviewer.org/fs_media (nothing jumps out however).

ntheo1979 commented 1 year ago

Hello!

I do have libva:

*  media-libs/libva
      Latest version available: 2.16.0
      Latest version installed: 2.16.0
      Size of files: 262 KiB
      Homepage:      https://01.org/linuxmedia/vaapi
      Description:   Video Acceleration (VA) API for Linux
      License:       MIT

I do not have media-video/libva-utils and x11-libs/libva-compat installed, should I? shouldn't there be some use flag or dependency to pick these up? Am I missing something here?

Now,

nikos@Archytas ~ $ ldd /opt/firestorm-bin/bin/llplugin/libmedia_plugin_cef.so
        linux-vdso.so.1 (0x00007fffdbfbf000)
        libcef.so => /opt/firestorm-bin/bin/llplugin/../../lib/libcef.so (0x00007f8304c00000)
        libaprutil-1.so.0 => /opt/firestorm-bin/bin/llplugin/../../lib/libaprutil-1.so.0 (0x00007f830ffd0000)
        libapr-1.so.0 => /opt/firestorm-bin/bin/llplugin/../../lib/libapr-1.so.0 (0x00007f830ffa0000)
        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/12/libstdc++.so.6 (0x00007f8304800000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f830f921000)
        libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/12/libgcc_s.so.1 (0x00007f830ff55000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f830ff50000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f8304a32000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f831001d000)
        libminigbm.so => /opt/firestorm-bin/bin/llplugin/../../lib/libminigbm.so (0x00007f830ff0c000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f830ff07000)
        libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f830f8c1000)
        libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f83046c8000)
        libnss3.so => /usr/lib64/libnss3.so (0x00007f830458a000)
        libnssutil3.so => /usr/lib64/libnssutil3.so (0x00007f830f88f000)
        libsmime3.so => /usr/lib64/libsmime3.so (0x00007f830f864000)
        libnspr4.so => /usr/lib64/libnspr4.so (0x00007f8304548000)
        libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x00007f830f83a000)
        libatk-bridge-2.0.so.0 => /usr/lib64/libatk-bridge-2.0.so.0 (0x00007f830450b000)
        libexpat.so.1 => /opt/firestorm-bin/bin/llplugin/../../lib/libexpat.so.1 (0x00007f83044e0000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f83044b6000)
        libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007f83042d8000)
        libxkbcommon.so.0 => /usr/lib64/libxkbcommon.so.0 (0x00007f8304292000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f8304150000)
        libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x00007f830fefc000)
        libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007f830fef7000)
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f830f825000)
        libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f8304a2a000)
        libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007f8304143000)
        libasound.so.2 => /usr/lib64/libasound.so.2 (0x00007f8304057000)
        libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x00007f830400a000)
        libatspi.so.0 => /usr/lib64/libatspi.so.0 (0x00007f8303fcd000)
        libcups.so.2 => /usr/lib64/libcups.so.2 (0x00007f8303f35000)
        libxshmfence.so.1 => /usr/lib64/libxshmfence.so.1 (0x00007f8304a25000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f8303efa000)
        libffi.so.8 => /usr/lib64/libffi.so.8 (0x00007f8303eee000)
        libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f8303e51000)
        libplc4.so => /usr/lib64/libplc4.so (0x00007f8303e4a000)
        libplds4.so => /usr/lib64/libplds4.so (0x00007f8304a20000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f8303e45000)
        libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007f8303e3d000)
        libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f8303e37000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f8303e1d000)
        libmount.so.1 => /lib64/libmount.so.1 (0x00007f8303dbb000)
        libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f8303dae000)
        libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007f8303d99000)
        libgnutls.so.30 => /usr/lib64/libgnutls.so.30 (0x00007f8303b9c000)
        libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f8303b44000)
        libidn2.so.0 => /usr/lib64/libidn2.so.0 (0x00007f8303aed000)
        libunistring.so.2 => /usr/lib64/libunistring.so.2 (0x00007f8303969000)
        libtasn1.so.6 => /usr/lib64/libtasn1.so.6 (0x00007f8303951000)
        libnettle.so.8 => /usr/lib64/libnettle.so.8 (0x00007f8303908000)
        libhogweed.so.6 => /usr/lib64/libhogweed.so.6 (0x00007f83038be000)
        libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f8303820000)

The only thing missing is linux-vdso.so.1, which I understand is normal.

Running /opt/firestorm-bin/bin/SLPlugin 12340 does not segfault, but it doesn't seem to do anything either. With Firestorm running (and connected), and my home parcel music playing, I get

nikos@Archytas ~ $ /opt/firestorm-bin/bin/SLPlugin 12340
nikos@Archytas ~ $ ps ax | grep SLPlugin
 7077 pts/3    S+     0:00 grep --colour=auto SLPlugin
nikos@Archytas ~ $ ps ax | grep firestorm
 6682 ?        S      0:00 /bin/bash /usr/bin/firestorm-bin
 6714 ?        Rl     2:34 bin/do-not-directly-run-firestorm-bin
 6965 ?        Sl     0:14 /opt/firestorm-bin/bin SLVoice -ll 0 -lf /home/nikos/.firestorm_x64/logs -lp SLVoice -ls .log -st 5
 7080 pts/3    S+     0:00 grep --colour=auto firestorm

It's interesting that I don't get the "SLPlugin failed to load" message (or whatever it's composed).

I just don't understand. I suppose I can live without the internal web browser, although it affects SL movies too (because SL TVs are glorified youtube players, I think), but I'd rather not have a browser run at the same time as SL, both are heavyweight enough for my Celeron. Could it be that my Celeron is too old and incompatible? I doubt it, because then the other viewers would have the same issue and they don't.

For the record, this is my /etc/portage/package.use:

app-crypt/gpgme python
app-emulation/wine-vanilla -vulkan
app-portage/layman sync-plugin-portage git
app-text/gimagereader -gtk qt5
app-text/tessdata_fast l10_en l10_el

dev-cpp/gtkspellmm abi_x86_64 -abi_x86_32
dev-dotnet/gtk-sharp atk gdk
dev-java/openjdk javafx
dev-lang/perl ithreads
dev-libs/libdbusmenu gtk3
>=dev-qt/qtmultimedia-5.15.5-r1 gstreamer
>=dev-ruby/net-telnet-0.2.0-r1 ruby_targets_ruby26

games-simulation/firestorm-bin voice system-sdl

kde-apps/kio-extras mtp
kde-apps/okular epub mobi
kde-apps/spectacle share
kde-plasma/plasma-meta discover

mail-client/claws-mail notification appindicator litehtml
media-gfx/imagemagick perl
media-gfx/img2pdf -gui
media-libs/freetype harfbuzz
media-libs/libsdl2 gles2 haptic
media-libs/mesa -llvm vaapi
media-libs/phonon -vlc gstreamer
media-sound/pulseaudio daemon
media-video/ffmpeg -video_cards_nvidia
media-video/pipewire -sound-server

net-dns/avahi python
net-fs/samba winbind
net-p2p/transmission -gtk

sys-apps/util-linux caps
sys-apps/flatpak -gtk
sys-apps/systemd-utils udev
sys-boot/grub mount

virtual/wine vanilla

www-client/firefox-bin gmp-autoupdate

x11-libs/gtk+ wayland
x11-misc/appmenu-gtk-module wayland
ntheo1979 commented 1 year ago

I may have found something.

nikos@Archytas /opt/firestorm-bin/bin $ ldd dullahan_host 
        linux-vdso.so.1 (0x00007ffe1cdde000)
        libcef.so => not found
        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/12/libstdc++.so.6 (0x00007fc15c800000)
        libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/12/libgcc_s.so.1 (0x00007fc15d034000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fc15ca32000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fc15cf55000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fc15d07f000)

Why is libcef.so not found? it's right there:

nikos@Archytas /opt/firestorm-bin/lib $ ls libcef.so -l
-rwxr-xr-x 1 root root 177980336 Feb 26 16:22 libcef.so

Indeed, if I try to run it, I get:

nikos@Archytas /opt/firestorm-bin/bin $ ./dullahan_host 12340
./dullahan_host: error while loading shared libraries: libcef.so: cannot open shared object file: No such file or directory

Does that happen for you too, @lmiphay ?

lmiphay commented 1 year ago

The dullahan_host missing libcef.so is fine - the script that runs firestorm sets up the library path so that shared libraries that are shipped with firestorm, are actually found when firestorm is run.

So, yes, I see that missing libcef.so as well.

This is the line from the shell script that does that:

export LD_LIBRARY_PATH="$PWD/lib:${LD_LIBRARY_PATH}"

I don't think that it is the Celeron processor - as you said other cef's (e.g. kokua) work. The only thing related to Celeron that might be related would be in the Celeron was slower in starting up, and something is timing out waiting for it. But there is no sign in the logs of that happening.

Grasping at straws, but could you try with a fresh firestorm directory?

e.g.

mv ~/.firestorm_x64 ~/.firestorm_x64_SAVED

Don't delete it, because you will lose all your chat logs, settings... etc

But it would be interesting to at least rule out anything gone wrong in that directory.

Move it back after the test with:

mv ~/.firestorm_x64 ~/.firestorm_x64_CLEAN mv ~/.firestorm_x64_SAVED ~/.firestorm_x64

ntheo1979 commented 1 year ago

Alas, I've already done that, in order to avoid irrelevant clutter, when I sent you the logs. But gladly I do it again. logs.zip

Dullahan indeed runs:

nikos@Archytas ~ $ ps ax | grep firestorm
20631 ?        S      0:00 /bin/bash /usr/bin/firestorm-bin
20660 ?        Rl     6:48 bin/do-not-directly-run-firestorm-bin
20825 ?        Sl     0:00 /opt/firestorm-bin/bin/dullahan_host --type=renderer --no-sandbox --autoplay-policy=no-user-gesture-required --log-file=/home/nikos/.firestorm_x64/logs/cef_log.txt --remote-debugging-port=1964 --field-trial-handle=2797900855531624664,11785984753718479318,131072 --enable-blink-features=HTMLImports --lang=en-GB --log-file=/home/nikos/.firestorm_x64/logs/cef_log.txt --user-agent-product=(Dullahan:1.12.2.202209171157 [64bit] - SecondLife/6.6.9.68580 (Firestorm-Betax64; firestorm skin))  Chrome/91.0.4472.164 [64bit] --num-raster-threads=1 --renderer-client-id=6 --no-v8-untrusted-code-mitigations --shared-files=v8_context_snapshot_data:100
20890 ?        Sl     0:39 /opt/firestorm-bin/bin SLVoice -ll 0 -lf /home/nikos/.firestorm_x64/logs -lp SLVoice -ls .log -st 5 -i 127.0.0.1:46135

SLPlugin doesn't:

[dmesg.txt](https://github.com/lmiphay/gentoo.overlay/files/10891807/dmesg.txt)

nikos@Archytas ~ $ ps ax | grep SLPlugin
21188 pts/3    S+     0:00 grep --colour=auto SLPlugin

I also attach my whole dmesg (because it says something about nvidia-drivers too and the cef.log also says [0100/000000.616902:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is desktop. Perhaps something is there?) dmesg.txt

ntheo1979 commented 1 year ago

I realised I was missing the global use flag vaapi. I enabled it, let portage rebuild some packages and… nothing changed.

ntheo1979 commented 1 year ago

They fixed it! In the latest beta (6.6.11.69075) they made an IMPROVEMENT Linux - Use system wide fontconfig and freetype instead of 3p libraries and that does it apparently! :) That does not trigger the compose key/ dead keys issue we discussed in the past, so all good. I think I still get the [30466.855179] SLPlugin[30631]: segfault at 0 ip 00007f8d3e27383b sp 00007ffc736a85b0 error 4 in libc.so.6[7f8d3e251000+14f000] likely on CPU 0 (core 0, socket 0) in dmesg, but… I don't know. I recommend you remove the substitution of freetype when you update. Thank you for your help, @lmiphay . This was so frustrating!

lmiphay commented 1 year ago

hi @ntheo1979

That is good to hear.

Just to confirm that CEF is working now? Or is the compose key/dead key issue is fixed?

I will remove the freetype 3p substitution alright. That shouldn't be needed any longer.

Unfortunately "error 4 in libc.so.6" doesn't really tell us very much - it is generic message which says that some routine in libc tried to read a page in memory which doesn't exist.

In lots of ways we are lucky that the firestorm binary built on ubuntu works as well as it does on gentoo. There will always be the chance of things going wrong, and not being able to do anything about it I am afraid.

Paul

ntheo1979 commented 1 year ago

Just to confirm that CEF is working now? Or is the compose key/dead key issue is fixed?

Both. Apparently Firestorm stopped shipping their own versions of freetype and fontconfig and allowed for the system libraries to take over, and that solves both issues.

In lots of ways we are lucky that the firestorm binary built on ubuntu works as well as it does on gentoo. There will always be the chance of things going wrong, and not being able to do anything about it I am afraid.

Yes, others have told me that as well. Would anything change if we tried to build the viewer on Gentoo standalone?

ntheo1979 commented 1 year ago

I'm afraid you forgot to remove the substitution, when you updated today. Maybe I should had clarified, the entirety of issue #15 is resolved by the viewer actually using the system-wide fontconfig and freetype, so the substitution is no longer needed. The patch for the missing unicode characters is, though.

Though I must say, the patch only works if one uses the Dejavu font. For theother fonts (e.g. the much prettier noto or ubuntu) it doesn't, no idea why.

lmiphay commented 1 year ago

Yes, others have told me that as well. Would anything change if we tried to build the viewer on Gentoo standalone?

So that has been done in the past (by someone else). The viewer itself is not so bad I think. Keeping all the 3 party dependencies is a bigger job. Maybe again, might have a look sometime and see what is possible.

I will try to remove the substitution on the next beta release. I think we are due one shortly.

And I am not sure what is happening with the dejavu vs noto/ubuntu. I will take a look at some point.

Fingers crossed everything continues working, at least as well as it has :)