Sunday, 2019-10-27

T42M4rcosG4briel was added by: M4rcosG4briel05:15
rinigusMorning! For ports that can boot but without gui, do we have already some systemd unit that enables rndis and telnet? Not in recovery but full system.06:45
T42<DylanVanAssche> mal: Some progress on the V4L stuff! Jolla Camera starts without showing the weird input but from the camera instead. The input is blank and I hear the camera ticking (trying to start/focus?). Reading the camera feed fails with QtMultimedia because of this:
T42<DylanVanAssche> Manually creating a pipeline works with gst-launch.07:00
vknechtpassword protected paste ? :-)07:24
T42<DylanVanAssche> vknecht: No :P that's possible to enable that, but I didn't07:24
vknechtwell, can't open it, even appending i3... to the url07:26
T42<DylanVanAssche> vknecht: That's weird :O works fine here :) I will use another pastebin :)07:27
T42<DylanVanAssche> vknecht:
vknechtthx, not that I can help on that one...07:33
T42<DylanVanAssche> vknecht: Native v4l instead of droid stuff is a bit unknown. I searched already a lot on these errors on the web, but nothing to find about it :P07:34
vknechtI became wary of those "Locale '0' is not set, defaulting to C locale" message, tho, seemed to induce strange problems07:37
vknechtusing testing repo instead of devel helped07:38
T42<DylanVanAssche> vknecht: That's when you launch it from a terminal, mostly related to translations and localization stuff.07:38
rinigusTo rephrase my earlier question: how can I run test programs on device to check why gui doesn't start?08:26
abranson@DylanVanAssche: it'd definitely not managing to set some parameters in the camera there, like focus. could be that we're hardcoded to droidcamsrc there? otherwise there's the video sink - might need some changes in qtmm to use whatever video output component is available there, and make sure the buffers can get from the camerabin viewfinder sink to that?09:41
T42<DylanVanAssche> abranson: Probably, the settings aren't working at all since media-ctl configuration isn't supported by Qt. pmOS devs are working on supporting these things with libcamera. However, the video sink should work if you configure the camera first with media-ctl. I will ask other OS devs with Qt if they can use it with Qt, maybe an09:54
T42update to the v4l plugin of Qt is needed09:54
abransoni really need to get me one of these pinephones...10:14
abransonany luck with video playback btw? might be a smaller step to get that working first. camera viewfinder depends on more hal stuff.10:15
T42<DylanVanAssche> abranson: orders for the brave heart editions are almost open I think. Really awesome stuff :) I haven't looked into video playback yet.10:17
abransonthat will at least make sure that qtmm can use the videooutput, whatever that is. i guess that would be v4l too10:18
abransonhw codecs would also come from there. i think there are v4l dev nodes for those10:19
T42<DylanVanAssche> abranson: According to pmOS devs: Qt and other frameworks enumerate the frame size. They pick thr highest one, but some are just not working. Manually configuring, works11:51
T42<DylanVanAssche> abranson:
T42<DylanVanAssche> Jolla Gallery with a sample video from: (mp4, 1280x720, 30 Mb)12:52
T42<DylanVanAssche> `-plugins-bad` and `-plugins-good` are installed though12:52
abransonboth of those usually come from gst-droid :)12:52
T42<DylanVanAssche> abranson: hmmm so for native support, we will have a lot of work to do :S12:53
malwhy does't it find the codec?12:54
abransonmal: this is on the pinephone I think? no droid codecs12:54
T42<DylanVanAssche> abranson: on the PinePhone indeed, however, these packages are available and installed?12:54
abransongst-droid won't work - it uses droidmedia to package up stagefright codecs through hybris for gstreamer. it's all just not there, and should be either.12:55
abransonyou could use gst-libav for aac, sw ffmpeg12:56
abransonbut for mobile devices you really need hw codecs. even decoding on these chips isn't fast enough, let alone keeping up with a video recording12:56
abransoniirc mal, didn't you find some v4l nodes for hw video codecs on another device? i guess they'll actually work on the pine12:57
T42<DylanVanAssche> abranson: I suppose that native Linux would have support for hw decoding12:57
T42<DylanVanAssche> `gstreamer1.0-libav` just returns `Bus error` and crashes `jolla-gallery`12:58
abransonit's not in sfos yet. where did you get it from?12:58
T42<DylanVanAssche> native-common:
abransondunno who built that. it should work though - just sw codecs13:02
malabranson: yes, there should be codec video nodes but maybe something is not finding those13:02
abransonso if there are errors then that might be the video output?13:02
maldoes QtMultimedia even support that13:02
abransonmal: what should find them? i don't think we have any support for non-droid hw codecs13:02
abransonmal: might need to turn more of those v4l gst plugins on13:03
malabranson: v4l backend of something, maybe gst has such backend13:03
abransonreally need to get that 1.16 in :)13:03
abransonmal: there are extra components to that if you remember.13:04
abransondisable-gst_v4l2 is in our current gst-good build13:05
malabranson: yes, maybe it could work in 1.14 also if that is enabled13:05
abransonthere's also v4l2-probe and v4l2-libv4l2 which is disabled in 1.16 too13:06
abransonlots to play around with13:06
T42<DylanVanAssche> abranson: I enabled in a local build v4l2 support (1.14), that's why I can capture manually picture by creating a gst pipeline13:06
abransonthere may also be ffmpeg hw accel13:06
mal@DylanVanAssche can you show output gst-inspect13:06
abransonthat might work here13:06
T42<DylanVanAssche> mal: I need to find which package it has since gstreamer-tools doesn't provide that one :(13:08
abransonalso, I recently enabled dumping the gst graph in qtmultimedia. if that version is being used then you can do this:
malabranson: yes, ffmpeg also have v4l codec support13:08
T42<DylanVanAssche> abranson: Indeed, I use gst-plugins-good with v4l hw support13:08
mal@DylanVanAssche it's in tools, it's  gst-inspect1.0 or something like that13:08
abransongst-inspect-1.0 should be in gstreamer1.0-tools13:08
T42<DylanVanAssche> abranson: Forgot about that :O need to check if we have those here13:08
T42<DylanVanAssche> mal: Oh typo by me!13:09
T42<DylanVanAssche> mal:
malcan you get details of v4l2sink and v4l2src, or video4linux2 in general13:11
T42<DylanVanAssche> video4linux2:
T42<DylanVanAssche> v4l2sink:
T42<DylanVanAssche> v4l2src:
abransonooh nice13:13
abransonlooks like that sink can take mpeg2,4, h263, h264 directly :D13:15
abransonradio tuner too!13:16
T42<DylanVanAssche> abranson: Yeah native Linux is nice :P13:17
T42<DylanVanAssche> v4l2radio:
abransongetting the media player using that for fm should be on the end of the priority list somewhere :D13:22
T42<DylanVanAssche> abranson: hahah sure :) however, FM radio is not supported by the hardware on the PinePhone, if the CPU supports, it there's no wiring to make it actually work :P13:23
T42<DylanVanAssche> Anyway, the graph stuff, is it already in the release?13:23
abransonI don't think so13:23
T42<DylanVanAssche> but*13:23
T42<DylanVanAssche> Will build it on OBS then :)13:23
abransonfor video playback I think this is the problem:
T42<DylanVanAssche> Probably, there's no native support in there to create a v4l pipeline or something13:25
abransonno, but that whole thing might not be needed on a native device. is it installed?13:29
abransonand is v4l enabled in your qtmm?13:30
T42<DylanVanAssche> abranson: v4l disable thing in the qtmm spec is removed, so v4l is enabled.13:31
T42<DylanVanAssche> I would think that instead of droideglsink, something else must be there. If that's done, it should workTM.13:31
T42<elros34> there is glimagesink I used it with gst-launch13:33
abransonwhat we're missing is what sets the gst element for the qt VideoOutput13:39
abransonthat plugin is what's used on a hybris system, but where is that chosen in qtmm13:40
T42<elros34> I mean its worth to test whether decoding works with just gst-launch and glimagesink13:41
T42<DylanVanAssche> @elros34 Is this what you mean:13:44
T42<DylanVanAssche> `gst-launch-1.0 -v v4l2src device=/dev/video0 ! glimagesink async=false enable-last-sample=false qos=false sync=false` ?13:44
T42<DylanVanAssche> Got it from here:
T42<elros34> I think this should be enough: gst-launch-1.0 -v playbin uri=file:///video.mp4 video-sink=glimagesink13:45
T42<DylanVanAssche> @elros34
abransonthat's using gst-libav for the h26413:51
T42<elros34> rank for v4l2 is 013:51
T42<elros34> or just lower than libav13:52
abransonDylan: do you have nemo-qtmultimedia-plugins-gstvideotexturebackend installed? i think you shouldn't13:57
T42<DylanVanAssche> abranson: I do ...13:57
abransonthat looks to be purely gst-droid wrapping. maybe if you removed it, then the factory wouldn't find it and it would default to something from the gsttools set13:58
T42<DylanVanAssche> abranson: Sure?
T42<DylanVanAssche> A lot of stuff is depending on it13:59
abransoneverything ui14:00
T42<DylanVanAssche> Yep :P14:00
T42<DylanVanAssche> Maybe this can do the same in this case: `devel-su rm -r /`14:00
abransonmust be just one of those explosing14:00
abransonlipstick maybe14:00
T42<DylanVanAssche> abranson: It's impossible to remove the package :(14:06
abransonlooks like sailfish-components-media-qt5 is the culprit, but it shouldn't break in your case if you remove that dependency14:13
abransonin a forcey kind of way ;)14:13
T42<DylanVanAssche> abranson: So removing the nemo-qtmultimedia-plugins-gstvideotexturebackend package or the sailfish-components-media-qt5?14:14
abransongstvideotexturebackend with --nodeps14:14
abransonas far as I can see gstvideotexturebackend isn't directly used in there. just brought in.14:15
T42<DylanVanAssche> —nodeps isn't possible for zypper, pkcon?14:15
T42<DylanVanAssche> abranson: Now it doesn't use droideglsink anymore, just crashes with a Bus error14:39
abransonprogress! :D14:39
abransonany more info to that bus error?14:39
T42<DylanVanAssche> Not yet, increasing GST_DEBUG level atm14:40
abransoni shouldn't think we'd have to make an alternative non-droid version using those v4l elements instead. you'd think standard stuff like that would work anyway14:40
abransonas on desktops14:40
abransonbut I think it's qt debug you'll want14:40
T42<DylanVanAssche> abranson: it should be like on desktops, indeed. Generating a pastebin of the GST_DEBUG=4, but seems fine IMHO. Will check the Qt one now14:43
T42<DylanVanAssche> abranson: with Qt logging enabled14:49
abransonthat doesn't look very broken14:51
T42<DylanVanAssche> With GST_DEBUG=4 also enabled:
T42<DylanVanAssche> abranson: That's what I think too :P14:53
abransoni see qgstvideorenderersink0 in there but no v4l14:53
abransonbut "pad has no peer"14:53
abransonif you get that graph dumping working, that would be useful14:54
T42<DylanVanAssche> I have it working :)14:54
T42<elros34> iirc qtmultimedia also use playbin so if gst_launch doesn't pick up correct decoder it will not work anyway. Why don't you just try simple pipeline with v4l2dec?14:56
T42<DylanVanAssche> @elros34 I can give it a try14:57
T42<DylanVanAssche> @elros34 `gst-launch-1.0 -v v4l2dec uri=file:///video.mp4 video-sink=glimagesink` —> ERROR: pipeline could not be constructed: no element "v4l2dec".15:00
T42<elros34> clearly there is no v4l2dec. Is that A64? Isn't cedrus used on sunxi devices?15:04
T42<DylanVanAssche> Yes it's an A64, cedrus should be used on sunxi device15:04
T42<elros34> it might be not that easy as using v4l2dec
T42<DylanVanAssche> Hmmmm will check with the other devs who are working with the A64 stuff15:15
T42<DylanVanAssche> Maybe they have something already with cedrus15:15
abransonwith gst-libav you should get sw decoding to test the sink though15:23
abransontwo things to get working - the hw decoder and the video output sink15:23
T42<DylanVanAssche> abranson: true, will see where I get and report if I have something new :)15:27
xreactx[m]__deathmist: I sent you a PM15:53
deathmistmal: should I try upstream ofono as on hybris-16.0 it just fails super hard on my phone and spams my logs like crazy with stuff like "Unexpected data call status 4100" & "Skipping disconnect of /ril_0, network is connecting."17:04
maldeathmist: I doubt updating ofono helps17:14
malcould be some configuration issue, are you using the ofono binder plugin?17:15
deathmistmal: yes I am, pre-downgraded to 1.0.7 to make build happy (btw that exact version functions perfectly fine on hybris-15.1)17:16
piggzg'd evening17:45
piggzmal: did you rebase the tidy up pr?17:45
malpiggz: yes17:48
malpiggz: what shall we do with the semicolons in javascript code?17:49
piggzmal: im not sure. my preference is to keep them, cos im used to c++ ... qt/sailfish says differently tho!17:50
malpiggz: if we keep those then we can't use the automatic formatting tool in sdk17:51
piggzmal: lets remove them and ill get used to it17:54
piggzi dunt suppose we do anything that will trigger errors becuase of it17:55
vknechtsee anything wrong in this attempt to connect a fsoperations signal to storagemodel slot ?
vknechtsent that in pr anyway, please check and advise18:00
vknechtstill under the impression that signals don't get to SettingsOverlay, but in CameraUI it's ok18:01
piggzvknecht: buttonPanel enabled property is set depending on panels being open, would that cause a problem?18:04
vknechtah, maybe ?18:05
piggzdo signals get delivered to disbaled items?18:05
vknechtI'm not that experienced in Qt, maybe that's why18:05
vknechtcommented/forced-true "enabled: !panelOpen" doesn't seem to help18:19
vknechtbut first step is to get storagemodel re-populated when fsoperations::writablelocation fails on not-present-anymore-sdcard/usb-mount18:27
vknechthopefuly the dockedlistview will catch the model change automagically...18:27
vknechtI guess the best/cleanest way would be to catch the mount-removal with dbus as soon as it happens (rather than discovering the change at the last moment) but I'm not there yet18:31
vknecht(so there would be no need coupling fsoperation and storagemodel, which is not so nice architecturally speaking ?)18:31
malpiggz: ok, let me know if there something else you found in that cleanup PR18:40
xreactx[m]__Warning[10/27 20:19:04] : repo problem: nothing provides draoi-hal-guacamole-detritus needed by pattern:jolla-hw-adaptation-guacamole-1-1.noarch,20:32
xreactx[m]__is detritus needed?20:32
deathmistxreactx[m]__: yes since you added straggler files, right? :)20:36
xreactx[m]__i did as you said, but that error comes up20:37
deathmistbuild_packages -d then build_packages -c and attempt mic build again I think20:38
xreactx[m]__still the same issue... i read somewhere it was required20:44
T42<BusterBg_18> deathmist: besides changing your .rc files what else you did to get GUI?20:45
malshow the droid-hal spec file20:47
deathmist@BusterBg_18 is droid-hal-init not failing now for you?20:50
T42<BusterBg_18> I haven't tested the new build I did with your .rc files20:51
T42<BusterBg_18> I'm gonna try it when I get home in a few minutes20:52
deathmistYAYY WLAN works on 16.0 when built as a module \o/21:01
vknechtcheers :-)21:02
deathmistdamn do I have to load BT manually too now or something? I don't have anything in rfkill :/21:03
deathmistit worked before seemingly fine on last build21:04
piggzmal: what is droid-system-device ?21:10
maldeathmist: do you have bluebinder setup?21:10
deathmistmal: I should, I only changed defconfig and rebuilt hybris-hal, droid-hal packaging and did a new mic image build and on the build before BT worked nice21:12
malpiggz: that is for devices (official ones) which package /system and /vendor to rpms21:13
deathmistok bluebinder service was just dead, after a simple service restart it works, guess I'll make it load after my "modprobe wlan" unit is done unless I get it to work as a built-in again like on 15.1 :p21:15
malxreactx[m]__: wondering why that doesn't work, only difference is that you have spaces before and after the path, compare to this
maldeathmist: did you have any progress with ofono, I wonder which version of the ofono binder plugin you should use, I would have used 1.0.6 which is the one normally in sfos 3.1.021:20
deathmistI don't think using an even older version would help especially when considering 1.0.7 worked on 15.1 flawlessly for me, I'll look into it tomorrow21:21
xreactx[m]__I had detritus problem for a while. I just removed it. I thought I read somewhere that it wasn't require if the last "%include" line was present21:22
malxreactx[m]__: you will probably need it21:23
malxreactx[m]__: you never change the last line in that spec file, never21:24
xreactx[m]__mal: i didnt mean change the last line... i meant i thought i read somewhere that detritus isnt required if the last line was there21:25
malxreactx[m]__: that makes no sense at all21:25
malthose are not in any way related things21:25
malthe last line of the file is always the same21:26
xreactx[m]__i'm saying "i thought i read that somewhere"... i definitely wrong about that if youre saying its required21:26
malxreactx[m]__: I suggest you try to change the formatting to match the link I gave21:26
malxreactx[m]__: I'm quite sure straggler files is always needed on 16.0 base21:26
xreactx[m]__mal: i'm not arguing with you... i just said i thought i read that somewhere21:29
xreactx[m]__Formatting was from deathmist21:29
xreactx[m]__But I have revised it21:29
deathmistyeah those definitely work, I get no errors my self so it's not the formatting, maybe some local cache file that's causing an issue?21:30
deathmistxreactx[m]__: if the detritus package got built your should have it in your local repo, check if "cd $ANDROID_ROOT/droid-local-repo/$DEVICE/droid-hal-$DEVICE && ls *detritus*; cd -" lists it21:33
maldeathmist: ok, maybe -d is not really doing what it's supposed to do then21:33
malxreactx[m]__: did you add detritus to patterns? it's not needed there anymore because of
malthat means detritus is used automatically if straggler files is present21:34
xreactx[m]__Yes. I added it to my patterns21:36
xreactx[m]__That's what I meant when I said I removed it21:36
malxreactx[m]__: but still it should have been built, do what deathmist said in his previous message21:44
deathmistseems ofono & connman both go crazy when I toggle on cellular data, I'll have to test if calls etc work normally or if it's just data that is broken21:56
deathmistdebugging just became SOOO much easier after I got WLAN working and can actually SSH in since telnet is broken for some reason, I've tried a few different combinations of GSI, RMNET, RNDIS etc options but I just get nothing each time21:57
xreactx[m]__I'll have to check later. My build only fails when I add it to my jolly-hw-adaptation-guacamole.yaml21:57
xreactx[m]__So detritus is not required in there?21:58
deathmistxreactx[m]__: could you run "ls $ANDROID_ROOT/droid-local-repo/$DEVICE/droid-hal-$DEVICE/*detritus*" so we know if the package is even built?21:59
xreactx[m]__I'll have to do it later. I'm away from my PC21:59
deathmistalright, no problem. I'll be going soon too :p  today was a very productive day for my hybris-16.0 rebase and I'm very happy with the current progress22:00
deathmistbtw does "vendor.livedisplay-hal-2-0" service from LineageOS do anything in/for SFOS? I just disabled it and don't see anything changed really, sources
maldeathmist: now that you have UI working you might want to change the usb configs back and see what happens22:06
vknechtlivedisplay, that's for "redshift" / less-blue for eye saving methinks22:08
vknecht*eyes (unless, you know...)22:08
deathmistyes I know lol but does it even work properly in SFOS? I haven't noticed it before or seen a setting for it unless I'm actually blind22:08
malsfos doesn't have any redshift or such support currently22:09
vknechtthat could be done in hal, so done-without-sfos-knowing, couldn't it ?22:10
malmaybe, not sure how that is done in android22:10
vknechtah, found the link I was thinking about:
vknechta specific form/implementation of it, but iiuc could work even in sfos22:12
T42<BusterBg_18> Jesus damn I still cant get to gui
deathmist@BusterBg_18 the implementation I used was useless, seems the other .mount unit solution doesn't work either. if you grep "/system/etc/ld.config.28.txt" for hybris and it isn't there currently without you doing manually something after boot, just replace it with a hard copy instead for now22:17
deathmistand after replacing it in /system with the patched version restart ofc to see if lipstick loads22:18
T42<BusterBg_18> Well the problem is that for me the fil is ld.config.vnkd_lite.txt I forgot to change that22:19
deathmistfor me none of the current bind mount solutions haven't worked so I'm just dealing with a full hard copy since that will 100% work every time22:20
T42<BusterBg_18> Should I just remove
deathmistwell sure if it doesn't actually do the ld.config.*.txt bind mount (and you don't do anything else in there)22:21
T42<BusterBg_18> I have the exact same thing in /system/etc
deathmistwell you should see the obvious mistake yourself, see you're appending the hybris line first to the "paths" variable but then it gets set to something else right below it. you can move it right under the "paths  = ..." line and that would do it.22:27
T42<BusterBg_18> Damn I feel dumb now :p22:28
deathmist@BusterBg_18 you're also missing another entry near the vendor paths, compare it against my file (search for hybris) and look at the sorrounding content to see where you should place the lines yourself22:28
deathmistnvm your config doesn't seem to use "namespace.default.permitted.paths" in any place, maybe you could use "" instead and try to place them near similar looking entries? mal may know what to do22:34
T42<BusterBg_18> Thats what I thought, since the treble implementation of my device is actually different22:38
T42<BusterBg_18> With the whole vndk_lite meaning it isnt fully isolated or something along those lines22:39
Thaodanrinigus: How do you create dtbo.img from your port and how do you flash it?22:41
ThaodanI can't even do fastboot boot on the device.22:41
T42<BusterBg_18> Well journalctl is smaller now tho
deathmistseems main reason pulseaudio doesn't work is that a "audio_policy.conf" file is literally not anywhere in the entirety of /system or /vendor, jusa do you know more about this change in Android 9 Pie? my old config is definitely not going to work anymore
deathmistmaybe "/vendor/etc/audio_policy_configuration.xml" is the replacement file I'm looking for? pretty sure they moved fully to .xml format configs23:02
Thaodanthere was as newer format as far as I know. Android 8 doesn't has that file either.23:06
deathmisthere's the sample, it may come in handy
maldeathmist: we need to figure out proper ld.config fix23:08
deathmistmal: yep, none of the current bind mount methods that have been floating around have worked for me personally yet23:10
Thaodandeathmist: which device do you target?23:10
deathmistOnePlus 5 (cheeseburger)23:11
Thaodanah that one. Codenames sometimes are weird.23:11
maldeathmist: did you try the bind mount service I gave some time ago?23:13
deathmistyeah I tried that one too as well as "bind --mount" method in droid-hal-early-init, neither worked. I'll look into the mount unit again tomorrow if I made a mistake or something since it's quite late now. cya!23:17
Thaodanmal: do you have experience with external dtbo partitions, do I need to give the partition to the image creation with mkbootimg our will the bootloader fine it on its own?23:34

Generated by 2.17.1 by Marius Gedminas - find it at!