**** BEGIN LOGGING AT Sat Nov 27 02:59:56 2021 Nov 27 08:20:44 Morning! Nov 27 09:29:16 Morning Nov 27 09:35:36 Got down the python3 VM detection rabithole LOL Nov 27 09:35:42 Think I'm almost there Nov 27 09:35:46 The one liner didn't work Nov 27 09:37:39 Luckily there are quite some python3 packages in Yocto already and adding new ones is surprisingly easy Nov 27 09:40:02 OK I got the required bits in the image now, let's adjust this python script ;) Nov 27 09:57:03 Herrie|2: wouldn't we be better off with getprop ? though I'm not sure how to include that on qemu Nov 27 10:00:55 Tofe: Well this basically quite easy as well.. We build & deploy py_vmdetect: https://py-vmdetect.readthedocs.io/en/latest/usage.html Nov 27 10:01:10 And adjust the lxc.py to include the check Nov 27 10:01:31 I'm just thinking that if we need a tweak on another target, it'll become a bit complex Nov 27 10:02:07 Well this puts a value for a Virtual Machine, so VMWare, VBox, Qemu etc Nov 27 10:02:15 Doesn't touch other cases Nov 27 10:03:40 ok, setprop is usually provided by libhybris, so it won't be easy to include it in qemu; let's try your way :) Nov 27 10:04:07 I don't say my way is easy, but it seems to work ;) Nov 27 10:04:31 oh I'm pretty it'll work fine Nov 27 10:04:34 +sure Nov 27 10:04:37 https://bpa.st/OMRA Nov 27 10:04:46 Test case works... Nov 27 10:08:08 not sure upstream will accept the dependency, but let's see Nov 27 10:08:12 Just have a small issue building py_vmdetect with sys/sysctl.h Nov 27 10:08:29 If I change it to linux/sysctl.h it will work Nov 27 10:08:34 Can patch that of course in our build Nov 27 10:11:21 if you can provide we with the resulting qemu image, maybe I can propose a patch for https://github.com/waydroid/waydroid/blob/bullseye/tools/helpers/props.py#L16 , a fallback which reads a build.prop (or something else) in python directly Nov 27 10:12:12 we could imagine a config override for some properties in the waydroid config file, for instance Nov 27 10:14:46 Tofe: You want me to upload the qemu image I have currently? I still need to patch the .py there in the build. I'll sort that now Nov 27 10:15:18 yes, but take your time Nov 27 10:16:37 hopefully, the python code is easy enough to tinker with it Nov 27 10:30:15 Tofe; Well first submitted the patch upstream for the py_vmdetect sysctl header: https://github.com/kepsic/py_vmdetect/pull/4 Nov 27 10:35:46 Interesting that python actually checks your indentation Nov 27 10:52:06 Tofe: From NotKit: The Halium vendor = minimal vendor required for Halium targets. "those vendor images basically provide the minimal vendor which is mixed with files from device own vendor" and "so Android inside Waydroid can load device's GPU drivers directly and has access to hardware services on host hwbinder" Nov 27 10:52:31 So we don't need it for Pinephone and VBox, but we need it for our Halium targets Nov 27 11:26:41 OK doing a final test build now here locally to make sure all works, then I'll update my PR with the changes Nov 27 11:26:48 They're pretty straight forward anywya Nov 27 11:26:54 And send upstream the patch Nov 27 11:32:04 ok thanks Nov 27 11:32:20 Where did NotKit answer ? I don't see him on telegram's conversation Nov 27 11:37:11 I asked him in private Nov 27 11:37:14 Sometimes works better Nov 27 11:40:17 yes, I almost never got any answer on the channel for my technical questions Nov 27 11:40:30 it's too crowded, people miss a lot of messages Nov 27 11:45:45 Lots of linux discussions there that are really off-topic Nov 27 11:45:49 Anyway here it is: https://github.com/Tofee/meta-webos-ports/pull/7/commits/b3f0e71ba1af8c4da116eedf831207c96e882a3e Nov 27 11:46:01 Build tested this. I just get some patch fuzz somehow Nov 27 11:46:15 Not sure and devtool doesn't seem to want to start bitbake to fix it, so left it for now Nov 27 11:46:36 This should build and with just the instructions it should run for qemux86-64 Nov 27 11:46:41 If you want I can share the image as well Nov 27 12:05:47 Well, yes, I still would like to try this getprop simple python patch Nov 27 12:07:22 Well anyway submitted it upstream for now. Let's see what kind of feedback comes Nov 27 12:07:33 If they don't like it we can keep it locally anyway too Nov 27 12:09:12 right Nov 27 12:32:34 I think in general Waydroid bits are ready to be PR-ed to meta-webos-ports, only downside is the download and include of the android bits in the image. Makes the build a lot bigger and slower Nov 27 12:32:48 The creating of image even takes a few minutes on my builder.... Nov 27 13:47:19 Herrie|2: that's why I wanted to check if waydroid could download it at first run Nov 27 13:47:36 but I have not had time yet Nov 27 14:02:28 That would be nice, but then again, you might not want to download 1,5GB on 3G/4G ;) Nov 27 14:28:15 We should also find a way to start it via an appinfo.json, with all the env variables setup Nov 27 14:31:21 for pinephone, http://ota.waydro.id/system/lineage/waydroid_arm64/VANILLA.json and http://ota.waydro.id/vendor/waydroid_arm64/MAINLINE.json provide OTA images Nov 27 14:32:39 We could do the init with bash script via systemd somehow? Nov 27 14:33:39 we can run it in PreStart with the container service Nov 27 14:34:13 but shouldn't we ship our own wayland.cfg ? Nov 27 14:36:27 it feels weird to delegate all the device detection to waydroid, when we already build target-specific images Nov 27 14:38:20 Tofe: Yeah that's true.. What's in wayland.cfg anyway? Nov 27 14:41:38 For x86-64 there seems to be: http://ota.waydro.id/vendor/waydroid_x86_64/MAINLINE.json Nov 27 14:42:20 And http://ota.waydro.id/system/lineage/waydroid_x86_64/VANILLA.json Nov 27 14:48:53 Herrie|2: my proposal: https://paste2.org/FkMAa42m Nov 27 14:52:45 (it's not really an override, more a fallback) Nov 27 14:53:33 I can propose that as a PR, and we'll see :D Nov 27 14:53:37 OK and this is for the device/target specific values? So we could use different values for different targets? Nov 27 14:54:03 that would be device specific, probably setup in meta-smartphone or so Nov 27 14:54:32 Or as waydroid-conf in meta-webos-ports inside waydroid? Nov 27 14:54:38 yes, for instance Nov 27 14:54:54 Because qemux86(-64) is not in meta-smartphone for example Nov 27 14:54:56 I'd have to check if shipping just the [properties] part would work, and "waydroid init" would complete the file Nov 27 14:55:44 So probably meta-webos-ports would be more suitable Nov 27 14:57:16 looking at the waydroid init code, I think it would work to just ship the [properties] section Nov 27 14:57:41 (which would be empty for most of our targets of course, but solve the issue in qemu) Nov 27 14:58:01 ok, let me propose that PR, and we'll see what they say Nov 27 14:58:22 Yeah they have 2 options to choose from, Yours is more failsafe I guess Nov 27 14:58:37 it's not incompatible with your solution either Nov 27 14:58:44 Mine might be prone to error. Not sure you'd ever want to have gbm in a VM but there might be cases Nov 27 15:04:30 May I ask you if you could test my PR ?... I don't have any VM ready for testing this Nov 27 15:04:38 https://github.com/waydroid/waydroid/pull/243 Nov 27 15:05:37 I can test it I guess.. What else should I add in terms of config? Nov 27 15:06:10 what I've put in the comment of the commit Nov 27 15:06:20 I think it's what was needed for our VM Nov 27 15:07:17 Let me check where this waydroid.cfg comes from Nov 27 15:07:33 it's in /var/lib/waydroid/waydroid.cfg, created by "waydroid init" Nov 27 15:08:53 Yeah but the value should be in there before "waydroid init" Nov 27 15:08:57 So how do I do that? Nov 27 15:09:16 Because if I currently run "waydroid init" it will put gbm for gralloc Nov 27 15:09:45 I mean I should provide some "device" specific waydroid.cfg in our build somewhere? Nov 27 15:10:46 Or am I misunderstanding something here? Nov 27 15:11:36 you can just edit it on the VM itself, don't bother having it in our build :) Nov 27 15:12:11 remove waydroid.cfg, put just the [properties] section with the two values, run waydroid init, then waydroid should work Nov 27 15:15:13 In which file I should put this [properties] section with the 2 values? Nov 27 15:16:45 I'm building the image now with your fork of waydroid so including the patch Nov 27 15:16:50 So I should have a clean image Nov 27 15:17:21 in /var/lib/waydroid/waydroid.cfg Nov 27 15:17:30 OK so instead of the existing one? Nov 27 15:17:45 yes Nov 27 15:18:07 should work also when appending it to the current content, though Nov 27 15:19:00 I mainly fear a little syntaxic mistake, otherwise I'm pretty sure it'll work Nov 27 15:19:12 I just fail to understand how this would work in practice. Ideally we would want to have the correct content be populated on first time running of the init. So not in a file that's being generat by init? Nov 27 15:19:47 Because with your scenario you'd need to run init twice? Nov 27 15:19:53 well, init doesn't create it from scratch: it reads the current content, detect some stuff, set values, and then write the result Nov 27 15:20:57 so when a section is already there in waydroid.cfg, it reads it, create the [waydroid] section, then writes the whole result in waydroid.cfg Nov 27 15:21:34 only one "waydroid init" would still be needed Nov 27 15:21:45 Hmmz I'm missing something then I guess Nov 27 15:21:47 I feel I misunderstand your misunderstanding Nov 27 15:21:52 Image is soon ready and will test Nov 27 15:22:35 Because /var/lib/waydroid/waydroid.cfg doesn't exist before running the init. So would need to create it and add it. Which of course we can do in our build as final solution Nov 27 15:22:56 Should know the results in a few minutes Nov 27 15:23:16 The idea for qemu is to ship a partial waydroid.cfg with the recipe, yes Nov 27 15:23:18 To me it's a bit counter-intuitive to already create a file, that init will then re-create/append Nov 27 15:23:30 Hence I'm slow in understanding how it works ;) Nov 27 15:23:39 And it's a Saturday Nov 27 15:23:45 hehe Nov 27 15:23:45 Less coffee vs weekdays Nov 27 15:23:59 it's true I only had one coffee today, versus 6 yesterday Nov 27 15:24:15 I had plenty, but still Nov 27 15:24:30 Python is not my daily go to language Nov 27 15:24:35 Though it's easy enough usually Nov 27 15:24:40 same for me Nov 27 15:26:06 for my PR, the idea is to let an opportunity for a distro like us to provide a partial pre-configuration, which will be used later on; this partial config is going to be complete during the first "waydroid init" Nov 27 15:26:21 completed* Nov 27 15:26:53 OK now it's clear... I would have put that in a waydroid-custom.cfg or so, but this also works ;) Nov 27 15:27:03 Code wise this is easier to add Nov 27 15:27:48 well, waydroid's config file name is hardcoded,isn't it ? Nov 27 15:29:29 [15:29:16] ERROR: name 'cfg' is not defined Nov 27 15:30:02 damn Nov 27 15:30:36 waydroid.log: https://bpa.st/WSMA Nov 27 15:36:57 ok, I need to rework that a bit it seems, PR'ing blindly was a bad idea :p Nov 27 15:43:06 the configuration management is more messy then I imagined Nov 27 15:43:11 than* Nov 27 15:48:07 ok I updated props.py in the PR Nov 27 15:48:15 Well it seems it takes the values from https://github.com/waydroid/waydroid/blob/bullseye/tools/config/__init__.py Nov 27 15:48:32 We could do device dependent patches to that file maybe? It's probably only qemu anyway Nov 27 15:48:56 NotKit is not happy with my PR either... Seems limitation is due to VBox and not Qemu itself... Nov 27 15:49:26 "QEMU can run with virtio GPU and virgl enabled", "then it should support MESA GBM?", "gralloc default uses just ashmem (shared memory)" Nov 27 15:51:42 but we do have some egl in virtual box too - I just forgot the status here Nov 27 15:53:25 Yeah seems might be config issue in our VBox bits Nov 27 15:59:38 Seems we use VboxSVGA, but for 3D acceleration we'd need VMSVGA. When I switch to VMSVGA I get no output on screen, just black Nov 27 16:02:23 Pretty sure JaMa did some stuff with this in the past, will check with him when he's around Nov 27 16:02:26 JaMa: ^ **** ENDING LOGGING AT Sun Nov 28 02:59:56 2021