Thursday, 2026-06-04

T42<nightishaman> mal: test_hwcomposer segfaults00:33
Mister_Magister@nightishaman you're experiencing porting back in circa 201500:36
Mister_Magistertook me half a year to get to gui00:36
T42<nightishaman> how much coding experience do you have00:37
Mister_MagisterI'm pro00:37
T42<nightishaman> yeah how long and what00:38
Mister_MagisterI've been backend web developer since like highschool but started porting way before i started working but like 8 years of professional backend php developer00:39
Mister_Magisterand porting since over a decade00:39
Mister_Magisterand i'm still dumb as shit00:40
T42<nightishaman> thats a lot00:41
Mister_Magisterwell time does that weird thing that it marches on00:42
T42<nightishaman> ive been hobby developer since 2010/11, doing my bachelor thesis in computer science security and my bachelor thesis probably will include working on my own kernel00:43
Mister_Magisterdoing c++, is hobby developer for me00:45
Mister_Magistermal just gets angry at me because i've been bothering him for close to a decade and he had enough of me and doesn't believe how dumb I am :P00:46
Mister_Magisteroh also mal about qmlglsink, I've tried this https://github.com/dv1/qmlglsink-example and it exhibits same issue as my app, https://paste.opensuse.org/pastes/03b27af63736 problem with wayland :/00:53
Mister_Magistershatgpt says something about wayland version but since we built it on sfos sources that shouldn't be a problem00:56
Mister_Magisterlet's see if cheeky 4 -> 3 in the code will solve this01:06
Mister_Magisterwould be cool if it did01:06
Mister_Magisterwl_registry@27: error 0: invalid version for global wl_seat (9): have 3, wanted 401:24
Mister_Magisteri've changed the version but it still yells that01:24
Mister_Magisterhmmmmmmmmmmm01:24
Mister_Magisteroh that seems like it's in the gst-plugins-base because the path is ./subprojects/gst-plugins-base/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c01:29
Mister_Magisterone cheeky gst-plugins-base build in order01:31
T42<nightishaman> can i somehow install the debug symbols for test_hwcomposer01:33
Mister_Magisterwhich package provides test_hwcomposer?01:35
Mister_Magister@nightishaman libhybris-debuginfo01:36
Mister_Magisterand debugsource i guess01:36
T42<nightishaman> zypper in doesnt find them01:45
Mister_Magisteryou sure? it sure as hell does find them on my device01:47
Mister_Magisterbut you're not building on obs are you?01:47
T42<nightishaman> nope01:47
Mister_Magistertry finding them in droid-local->epo01:47
Mister_Magisterrepo*01:47
Mister_MagisterAY gst-plugins-base rebuild move worked!01:49
T42<nightishaman> https://paste.ubuntu.com/p/S2WPBcQfFK/01:49
Mister_Magisteri think you need droid-hal-device-devel01:51
Mister_Magisterhmm now both test app and my app just segfault when playing video01:58
Mister_MagisterThread 28 "droidvdec0:src" received signal SIGSEGV, Segmentation fault. lovely01:58
Mister_Magisteronly notable thing is that it cannot find libI420colorconvert.so02:02
Mister_Magisterso anyway I disabled hw decoding and it segfaults anyway02:06
Mister_Magisterwait02:07
Mister_Magisterit's playing now02:07
Mister_Magisterbut I only hear audio see nothing02:07
Mister_MagisterIT WORKS02:08
Mister_Magisterin test app not my app but that's 99% QML fail02:08
Mister_Magisteri have suspecion that libI420colorconvert.so is the culprit02:09
Mister_Magisterayy got it to show in picoplayer, i knew its just qml things02:12
Mister_MagisterIT WOOOOOOOOOOOOOOOOOOORKS02:18
Mister_MagisterSUBTITLES OVERLAY!02:18
Mister_Magisterthat's why i wante dit!02:18
Mister_Magisternow every type of subtitles that gst supports will work and will just overlay themselves!02:18
Mister_Magisterhuuuuuh02:42
Mister_Magisterso i built gst-droid on obs against my deveice in order to get debuginfo and… it just… works now02:43
Mister_Magistermy app segfaults but test app doesn't02:43
T42<nightishaman> still getting no backtrace in gdb for test_hwcomposer02:44
Mister_Magisterok picoplayer doesn't segfault under gdb which is even more fun02:48
Mister_Magisterno still, if i install gst-droid from adaptation-common it breaks02:58
Mister_Magisterhmm03:02
Mister_Magisterit randomly stopped working on either version of gstdroid03:03
Mister_Magisterit apparently segfaults here https://github.com/sailfishos/gst-droid/blob/0.20240806.0/gst/droidcodec/gstdroidvdec.c#L126C7-L126C1103:04
Mister_Magisterdoesn't seem like it should segfault at all03:07
Mister_Magisternow it broke completely it just hangs03:10
Mister_Magisterit just hangs also on my other device hm03:16
Mister_Magistermaybe it had cached hw decoding disabled or smth, but it's werid, originally it would straigth segfault on both now it just… hangs…03:19
Mister_Magisterand when i launch different media it segfaults again03:22
Mister_Magisterso it either segfaults or hangs03:22
Mister_Magisteryeah it segfaults on out0[x] = row[0];03:22
Mister_Magisterp out0[312] returns 2 = 0 '\000' (x is 312)03:23
Mister_Magisteron the other hand row[0] is Cannot access memory at address 0x7f7e50400003:24
Mister_Magisteri feel like this is way beyond my comprehension03:29
Mister_Magisterbut i feel like mal will be able to help now03:31
Mister_Magisterhmm some format plays just fine, other format, segfaults, some other format, hangs03:31
Mister_Magisterwhen playing twitch stream which is like bone standard h264 stuff, it plays one frame and then dies03:40
Mister_Magistersometimes 0 frames03:41
Mister_Magisteri feel like qmlglsink is unearthing demons in gstdroid that it itself did now know it had03:41
Mister_Magisterand i think now that we got qmlglsink those demons have to be exorcised03:42
Mister_Magisterbut we're close03:42
Mister_Magisterand yes it works without qmlglsink if you were pondering03:43
Mister_Magisteralso it's normal that behaviour differs with qmlglsink because it does one thing that i wanted that no other software in sfos currently (i don't think so) does, converts droidmedia specific output to standard output03:46
Mister_Magisterso let me explain, currently gst-droid outputs in custom droidmedia format, that, my apps just make sink specific for that format, and also if i remember correctly, sfos has plugin for qtmultimedia that does the same, so if I'm not mistaken no other software ever in sfos's history used this codepath to convert droidmedia custom output format to standard format and thats why it has issues03:51
Mister_Magisterbut if we squash the issues, sfos qill go into whole new era of video playback03:51
Mister_Magisternow i just need mal to 1. wake up, 2. be willing to help 3. report my findings to him cause aint no soul reading this backlog03:52
Mister_Magisteranyone reading this rambling should be over the moon excited03:54
Mister_Magisterin simplest terms, it's 2026 and NO sailfish app can play video with subtitles. None of them. Only my app can play srt subtitles but those are most basic ones. With these changes my app will be able to play every subtitle that gstreamer supports period.03:56
Mister_Magisterand what's most strange seemingly only I am trying to get us subtitles xd04:05
Mister_Magistermaybe i'm dumb but it's weird how gst_droidvec_copy_packed_planes is called both in gst_droidvdec_convert_yuv420_packed_semi_planar_to_i420 and gst_droidvdec_convert_yuv420_semi_planar_to_i420, the latter doesn't have packed in the name so why do we still copy packed planes?04:26
T42<the_hiktor> mal: you didn't Answer me 🫤05:33
Mister_Magisterhe a busy guy06:24
Mister_Magisterhe like carries entire sfos on his back06:24
Mister_Magisterwe children would've been lost without him06:26
T42<elros34> @nightishaman have you tried running surfaceflinger to test android side? Log is terrible all these repeated spam doesn't help finding issue06:41
T42<adampigg> Memories (re @SailfishFreenodeIRCBridgeBot: <Mister_Magister>i h...)07:37
Mister_Magisterit's not the culprit07:41
Mister_Magistertho in fact lack of it might be the culprit because due to lack of it its using the code that fails07:41
T42<the_hiktor> yeah ik i really respect this guy08:45
T42<the_hiktor> ik iv'e seen nothing but this chat here proves that he's a great guy08:47
mal@nightishaman test_hwcomposer doesn't work very often on new android bases10:11
malMister_Magister: which droidmedia version do you have?10:13
Mister_Magistermal: 0.20260508.215:01
malMister_Magister: are those twitch streams adaptive resolution streams?15:06
malMister_Magister: just mentioning that there was one app in the past which had subtitle support (I was the one of the developers of the app), the app got removed later because the video api it used got removed15:09
Mister_Magisterno they're box standard h264 video, and i mean same happens if you just play local h264 video15:09
Mister_Magistermal: if you want i can link you the gst-plugins-base  and -good and the test software15:10
Mister_Magisteri'd love if you helped me debug it <315:10
Mister_Magisterfixed -base and -good are in this repo https://build.sailfishos.org/package/show/home:mister/gst-plugins-base and this is test app https://github.com/dv1/qmlglsink-example you just need to dump the QtQuick.Layouts version to 1.015:15
Mister_Magisterit's incredibly repeatable and very quick to invoke so easy to work with15:15
Mister_Magisteri'd give you my app but that one has 50% chances of segfaulting due to it's own damn fault xd15:15
Mister_Magisteryou can just play any mp4 video and i'm quite confident you'll get segfault15:16
malhmm, the new droidmedia helped on other devices not sure why not on your device, anything in logcat?15:20
Mister_Magisterwait wait wait, helped with what? Nobody else tried qmlglsink before?15:21
Mister_MagisterI think you're confusing something15:22
malyou said gallery had issues also15:23
Mister_Magisterno i did not15:23
malthen I misread it15:23
Mister_Magisterwithout qmlglsink all video formats h264, vp9, h265 all work perfect15:23
Mister_Magisteronly with qmlglsink i get segfault, and it's because I think only with it, the drodimedia format is being converted to i420 and on that code, it segfaults15:23
Mister_Magisteron gst_droidvdec_convert_yuv420_packed_semi_planar_to_i42015:23
Mister_Magisterbecause my apps use the droidmedia format directly as does plugin for qtmultimedia15:24
Mister_Magisterthe uv offset or the stride calculation is off and it runs off of the end of the allcoated buffer15:25
Mister_Magisterbecause it fails on reading row[0];15:25
Mister_Magisterbut i'm not versed enough in NV12, YUV420 and i420 to figure out how to fix it so i'd really appreciate your help15:26
Mister_Magisterit will segfault all the same on your device, because i checked on 2 of my devices15:26
Mister_Magisteri think just nobody before verified that this code works correctly xd15:26
Mister_Magisterand that format conversion is precisely what i'm after15:27
Mister_Magisterbecause once droidmedia format is converted to standard format we can do whatever we want to it, overlay subtitles, change colors, contrast whatever15:27
Mister_Magisteri can send you binary of test program if you want to save time15:32
Mister_Magister if you need anything am here :P but i just can't fix it myself because it's way over my head :/15:58
Mister_Magisterand you probably think it's my or the test program's fault but trust me it's not16:01
Mister_Magisterwhen i removed all the offset from the uv it did work, i mean color was just a mess but it did dispaly picture16:10
T42<nightishaman> @elros34 starting surfaceflinger doesnt do anything19:12
T42<elros34> with bootanim process?19:16
T42<nightishaman> no idea19:21
T42<nightishaman> starting surfaceflinger using /system/bin/start fails, but running it manually it just sort of hangs, no output19:23
T42<nightishaman> bootanim can't be started using /system/bin/start also, running it manually throws an error that ANDROID_ROOT is not set19:24
T42<elros34> you need to set this variable, its in instruction which nobody reading: https://sailfishos.wiki/books/hardware/page/hadk-hot#bkmrk-%E6%88%91%E6%9C%89-telnet-%E4%BD%86%E6%B2%A1%E6%9C%89-gui%EF%BC%9A19:30
T42<nightishaman> bootanim works19:35
T42<nightishaman> lineageos logo is there19:36
T42<elros34> so what about minimer, have you tried it with masked user@100000/reboot?19:39
T42<nightishaman> masked user@100000, run minimer: no output19:54
T42<nightishaman> test_hwcomposer still segfault19:54
T42<elros34> I am not sure you should care about test_hwcomposer but minimer usually should show something on display or in logcat20:11

Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!