| T42 | <nightishaman> mal: test_hwcomposer segfaults | 00:33 |
|---|---|---|
| Mister_Magister | @nightishaman you're experiencing porting back in circa 2015 | 00:36 |
| Mister_Magister | took me half a year to get to gui | 00:36 |
| T42 | <nightishaman> how much coding experience do you have | 00:37 |
| Mister_Magister | I'm pro | 00:37 |
| T42 | <nightishaman> yeah how long and what | 00:38 |
| Mister_Magister | I've been backend web developer since like highschool but started porting way before i started working but like 8 years of professional backend php developer | 00:39 |
| Mister_Magister | and porting since over a decade | 00:39 |
| Mister_Magister | and i'm still dumb as shit | 00:40 |
| T42 | <nightishaman> thats a lot | 00:41 |
| Mister_Magister | well time does that weird thing that it marches on | 00: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 kernel | 00:43 |
| Mister_Magister | doing c++, is hobby developer for me | 00:45 |
| Mister_Magister | mal 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 :P | 00:46 |
| Mister_Magister | oh 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_Magister | shatgpt says something about wayland version but since we built it on sfos sources that shouldn't be a problem | 00:56 |
| Mister_Magister | let's see if cheeky 4 -> 3 in the code will solve this | 01:06 |
| Mister_Magister | would be cool if it did | 01:06 |
| Mister_Magister | wl_registry@27: error 0: invalid version for global wl_seat (9): have 3, wanted 4 | 01:24 |
| Mister_Magister | i've changed the version but it still yells that | 01:24 |
| Mister_Magister | hmmmmmmmmmmm | 01:24 |
| Mister_Magister | oh 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.c | 01:29 |
| Mister_Magister | one cheeky gst-plugins-base build in order | 01:31 |
| T42 | <nightishaman> can i somehow install the debug symbols for test_hwcomposer | 01:33 |
| Mister_Magister | which package provides test_hwcomposer? | 01:35 |
| Mister_Magister | @nightishaman libhybris-debuginfo | 01:36 |
| Mister_Magister | and debugsource i guess | 01:36 |
| T42 | <nightishaman> zypper in doesnt find them | 01:45 |
| Mister_Magister | you sure? it sure as hell does find them on my device | 01:47 |
| Mister_Magister | but you're not building on obs are you? | 01:47 |
| T42 | <nightishaman> nope | 01:47 |
| Mister_Magister | try finding them in droid-local->epo | 01:47 |
| Mister_Magister | repo* | 01:47 |
| Mister_Magister | AY gst-plugins-base rebuild move worked! | 01:49 |
| T42 | <nightishaman> https://paste.ubuntu.com/p/S2WPBcQfFK/ | 01:49 |
| Mister_Magister | i think you need droid-hal-device-devel | 01:51 |
| Mister_Magister | hmm now both test app and my app just segfault when playing video | 01:58 |
| Mister_Magister | Thread 28 "droidvdec0:src" received signal SIGSEGV, Segmentation fault. lovely | 01:58 |
| Mister_Magister | only notable thing is that it cannot find libI420colorconvert.so | 02:02 |
| Mister_Magister | so anyway I disabled hw decoding and it segfaults anyway | 02:06 |
| Mister_Magister | wait | 02:07 |
| Mister_Magister | it's playing now | 02:07 |
| Mister_Magister | but I only hear audio see nothing | 02:07 |
| Mister_Magister | IT WORKS | 02:08 |
| Mister_Magister | in test app not my app but that's 99% QML fail | 02:08 |
| Mister_Magister | i have suspecion that libI420colorconvert.so is the culprit | 02:09 |
| Mister_Magister | ayy got it to show in picoplayer, i knew its just qml things | 02:12 |
| Mister_Magister | IT WOOOOOOOOOOOOOOOOOOORKS | 02:18 |
| Mister_Magister | SUBTITLES OVERLAY! | 02:18 |
| Mister_Magister | that's why i wante dit! | 02:18 |
| Mister_Magister | now every type of subtitles that gst supports will work and will just overlay themselves! | 02:18 |
| Mister_Magister | huuuuuh | 02:42 |
| Mister_Magister | so i built gst-droid on obs against my deveice in order to get debuginfo and… it just… works now | 02:43 |
| Mister_Magister | my app segfaults but test app doesn't | 02:43 |
| T42 | <nightishaman> still getting no backtrace in gdb for test_hwcomposer | 02:44 |
| Mister_Magister | ok picoplayer doesn't segfault under gdb which is even more fun | 02:48 |
| Mister_Magister | no still, if i install gst-droid from adaptation-common it breaks | 02:58 |
| Mister_Magister | hmm | 03:02 |
| Mister_Magister | it randomly stopped working on either version of gstdroid | 03:03 |
| Mister_Magister | it apparently segfaults here https://github.com/sailfishos/gst-droid/blob/0.20240806.0/gst/droidcodec/gstdroidvdec.c#L126C7-L126C11 | 03:04 |
| Mister_Magister | doesn't seem like it should segfault at all | 03:07 |
| Mister_Magister | now it broke completely it just hangs | 03:10 |
| Mister_Magister | it just hangs also on my other device hm | 03:16 |
| Mister_Magister | maybe 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_Magister | and when i launch different media it segfaults again | 03:22 |
| Mister_Magister | so it either segfaults or hangs | 03:22 |
| Mister_Magister | yeah it segfaults on out0[x] = row[0]; | 03:22 |
| Mister_Magister | p out0[312] returns 2 = 0 '\000' (x is 312) | 03:23 |
| Mister_Magister | on the other hand row[0] is Cannot access memory at address 0x7f7e504000 | 03:24 |
| Mister_Magister | i feel like this is way beyond my comprehension | 03:29 |
| Mister_Magister | but i feel like mal will be able to help now | 03:31 |
| Mister_Magister | hmm some format plays just fine, other format, segfaults, some other format, hangs | 03:31 |
| Mister_Magister | when playing twitch stream which is like bone standard h264 stuff, it plays one frame and then dies | 03:40 |
| Mister_Magister | sometimes 0 frames | 03:41 |
| Mister_Magister | i feel like qmlglsink is unearthing demons in gstdroid that it itself did now know it had | 03:41 |
| Mister_Magister | and i think now that we got qmlglsink those demons have to be exorcised | 03:42 |
| Mister_Magister | but we're close | 03:42 |
| Mister_Magister | and yes it works without qmlglsink if you were pondering | 03:43 |
| Mister_Magister | also 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 output | 03:46 |
| Mister_Magister | so 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 issues | 03:51 |
| Mister_Magister | but if we squash the issues, sfos qill go into whole new era of video playback | 03:51 |
| Mister_Magister | now 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 backlog | 03:52 |
| Mister_Magister | anyone reading this rambling should be over the moon excited | 03:54 |
| Mister_Magister | in 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_Magister | and what's most strange seemingly only I am trying to get us subtitles xd | 04:05 |
| Mister_Magister | maybe 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_Magister | he a busy guy | 06:24 |
| Mister_Magister | he like carries entire sfos on his back | 06:24 |
| Mister_Magister | we children would've been lost without him | 06:26 |
| T42 | <elros34> @nightishaman have you tried running surfaceflinger to test android side? Log is terrible all these repeated spam doesn't help finding issue | 06:41 |
| T42 | <adampigg> Memories (re @SailfishFreenodeIRCBridgeBot: <Mister_Magister>i h...) | 07:37 |
| Mister_Magister | it's not the culprit | 07:41 |
| Mister_Magister | tho in fact lack of it might be the culprit because due to lack of it its using the code that fails | 07:41 |
| T42 | <the_hiktor> yeah ik i really respect this guy | 08:45 |
| T42 | <the_hiktor> ik iv'e seen nothing but this chat here proves that he's a great guy | 08:47 |
| mal | @nightishaman test_hwcomposer doesn't work very often on new android bases | 10:11 |
| mal | Mister_Magister: which droidmedia version do you have? | 10:13 |
| Mister_Magister | mal: 0.20260508.2 | 15:01 |
| mal | Mister_Magister: are those twitch streams adaptive resolution streams? | 15:06 |
| mal | Mister_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 removed | 15:09 |
| Mister_Magister | no they're box standard h264 video, and i mean same happens if you just play local h264 video | 15:09 |
| Mister_Magister | mal: if you want i can link you the gst-plugins-base and -good and the test software | 15:10 |
| Mister_Magister | i'd love if you helped me debug it <3 | 15:10 |
| Mister_Magister | fixed -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.0 | 15:15 |
| Mister_Magister | it's incredibly repeatable and very quick to invoke so easy to work with | 15:15 |
| Mister_Magister | i'd give you my app but that one has 50% chances of segfaulting due to it's own damn fault xd | 15:15 |
| Mister_Magister | you can just play any mp4 video and i'm quite confident you'll get segfault | 15:16 |
| mal | hmm, the new droidmedia helped on other devices not sure why not on your device, anything in logcat? | 15:20 |
| Mister_Magister | wait wait wait, helped with what? Nobody else tried qmlglsink before? | 15:21 |
| Mister_Magister | I think you're confusing something | 15:22 |
| mal | you said gallery had issues also | 15:23 |
| Mister_Magister | no i did not | 15:23 |
| mal | then I misread it | 15:23 |
| Mister_Magister | without qmlglsink all video formats h264, vp9, h265 all work perfect | 15:23 |
| Mister_Magister | only 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 segfaults | 15:23 |
| Mister_Magister | on gst_droidvdec_convert_yuv420_packed_semi_planar_to_i420 | 15:23 |
| Mister_Magister | because my apps use the droidmedia format directly as does plugin for qtmultimedia | 15:24 |
| Mister_Magister | the uv offset or the stride calculation is off and it runs off of the end of the allcoated buffer | 15:25 |
| Mister_Magister | because it fails on reading row[0]; | 15:25 |
| Mister_Magister | but i'm not versed enough in NV12, YUV420 and i420 to figure out how to fix it so i'd really appreciate your help | 15:26 |
| Mister_Magister | it will segfault all the same on your device, because i checked on 2 of my devices | 15:26 |
| Mister_Magister | i think just nobody before verified that this code works correctly xd | 15:26 |
| Mister_Magister | and that format conversion is precisely what i'm after | 15:27 |
| Mister_Magister | because once droidmedia format is converted to standard format we can do whatever we want to it, overlay subtitles, change colors, contrast whatever | 15:27 |
| Mister_Magister | i can send you binary of test program if you want to save time | 15: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_Magister | and you probably think it's my or the test program's fault but trust me it's not | 16:01 |
| Mister_Magister | when i removed all the offset from the uv it did work, i mean color was just a mess but it did dispaly picture | 16:10 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!