Thursday, 2020-06-18

T42<smallville7123> does Sailfish use Surface flinger or does it use a custom renderer like OpenGL and Wayland03:14
r0kk3rzit uses wayland and hwcomposer03:16
T42<smallville7123> ok03:16
T42<smallville7123> what is hwcompositor03:16
r0kk3rzits an android thing that sits under surface flinger03:17
T42<smallville7123> ok03:17
T42<smallville7123> in Halium, what would be responsible for drawing applications onto the device screen03:18
r0kk3rzdepends03:18
r0kk3rzi expect most halium devices also use hwcomposer03:18
T42<smallville7123> as im trying to make my own compositing window manager but im having trouble with performance in relation to window count so im trying to see how an... actual device would do this03:19
r0kk3rztheres a number of different wayland implementations you could look at03:20
T42<smallville7123> as currently i use an offscreen FrameBuffer for each window then obtain a texture representation of that framebuffer then draw it to my screen03:21
T42<smallville7123> however this has a major performance impact that is preportional to the number of windows being drawn, for example, 1 window is 55 FPS and 5 windows is 11 FPS03:22
T42<smallville7123> so obviously i must doing something horribly wrong03:23
r0kk3rzi think the main trick is to use hw accellerated opengl to do the heavy lifting03:26
T42<smallville7123> how would this approach differ from how Halium does things03:26
r0kk3rzwhat device are you using?03:28
T42<smallville7123> im currently testing on Computer, using an OpenGL API called Processing, which is based on Java, in which Processing abstracts a lot of the OpenGL calls away from the user, but it can be built as an Android APK Application03:30
T42<smallville7123> but i do have a working Android compositor that i have not touched in months, that uses OpenGL directly03:31
r0kk3rzyeah thats fine, since you were talking about halium i wondered if you were working on an android device of some sort03:32
T42<smallville7123> in which this is one of its example applications https://github.com/mgood7123/AndroidCompositor/blob/6d90b2e5cc3e0e32c538fcd57d0abd938b70a40f/app/src/main/jni/compositor_examples/MYPRIVATEAPP.cpp03:32
r0kk3rzim definitely not an expert on how compsitors do everything they do03:34
T42<smallville7123> however it... needs a lot of work as it can only do basic stuff such as create a new window and move them, it cant for example, drag windows around like my Processing version can03:35
r0kk3rzlipstick is the compositor sailfish uses if that helps https://git.sailfishos.org/mer-core/lipstick03:36
T42<smallville7123> can this be built and ran directly on a computer?03:37
T42<smallville7123> or is it like specifically designed for running on mobile devices only03:38
r0kk3rzit can03:39
r0kk3rzbut maybe not the best project to use for learning purposes03:39
T42<smallville7123> hmmm ok03:39
T42<smallville7123> as i used QT a bit and it CAN have multiple windows however i have not explored this much03:40
T42<smallville7123> and it seems like it needs modifications to make Multiple Windows work on android as apposed to the usual way they work on Desktop computers/laptops03:41
r0kk3rzhttps://github.com/swaywm/wlroots03:42
r0kk3rzthat one might be better03:42
T42<smallville7123> ALSO ummmm i think that QT might not be the best platform for non QT users to start with as i found it difficult to set up QT for android03:42
T42<smallville7123> anyway03:43
T42<smallville7123> does Halium use QT for implementing its window managment?03:43
T42<smallville7123> eg all applications are QT based?03:44
r0kk3rzi think you misunderstand what halium is03:44
r0kk3rzit doesnt come with a compositor03:44
T42<smallville7123> its somewhat like ArchLinux for mobile right? where u need to set it up urself right?03:45
r0kk3rzno03:45
T42<smallville7123> hmmm03:46
r0kk3rzits mostly a set of instructions and tools to create a libhybris based OS03:47
T42<smallville7123> can Halium run LInux components natively?, such as Wayland, XOrg, Plasma, ect03:47
r0kk3rzyeah, thats what its for03:47
T42<smallville7123> ok03:48
T42<smallville7123> and would libHybris would be responible for all this?03:48
r0kk3rzish03:48
r0kk3rzlibhybris allows you to use android drivers in an otherwise native linux system03:49
r0kk3rzwhich is useful for things like graphics drivers03:49
T42<smallville7123> ok03:49
T42<smallville7123> so for example, knowing how an applications renders itself to the device screen would be unimportant for the development of Halium right?03:50
T42<smallville7123> eg u just let the drivers do all that for you and you just handle the driver translation and stuff right?03:51
T42<smallville7123> kinda like a runtime cross-compiler03:51
T42<smallville7123> or would that be incorrect?03:54
T42<smallville7123> ill rephase...03:58
r0kk3rzso03:58
T42<smallville7123> does halium need to know how an application is drawn to the screen, in order to actually draw it to the screen?03:58
r0kk3rzthe hardware drivers usually give you an opengl library03:59
r0kk3rzso thats the lowest layer that halium things care about03:59
r0kk3rzthere is a bit of plumbing involved, but that is device specific04:00
r0kk3rzi mean with a compositor, you dont care how its drawn to the screen anyway04:01
T42<smallville7123> hmmm ok04:02
T42<smallville7123> so... for example... would it need to have knowledge of the linux graphics stack and sorts?04:03
r0kk3rzyeah, the output buffers needs to go somewhere04:07
T42<smallville7123> hmmm ok04:10
T42<smallville7123> so to be clear, it is partially responsible for getting OpenGL itself to work, right? eg if it wants to be able to draw anything to the screen it needs to know what OpenGL writes to and then do stuff to get that information onto the device screen, or something like that, right?04:12
r0kk3rzit?04:12
T42<smallville7123> libhybris or what ever is responsible for drawing to the device screen04:13
T42<smallville7123> @r0kk3rz [yeah, the output buffers needs to go somewhere], whatever interacts with these04:14
r0kk3rzyeah04:14
T42<smallville7123> ok04:14
T42<smallville7123> would it also need to have knowledge about how to draw multiple applications to the screen?04:15
T42<smallville7123> for example, a graphical application, and a compositor04:16
r0kk3rzno idea04:16
T42<smallville7123> ok...04:17
T42<smallville7123> how many buffers would there typically be04:17
T42<smallville7123> like, how many output buffers would it typically need to handle on a device04:23
T42<edp_17> @elros34: Can you advise where to run the "make droidmedia", please? This command didn't work in either habuild or in platform.06:44
T42<adampigg> Look in the hadk...there is a script to run07:30
T42<adampigg> It runs make libdroidmedia_32 miniaf....etc07:30
T42<edp_17> @adampigg: Thanks. I thought it had to be in habuild but I didn't run the necessary bits like envsetup and breakfast. Now it is clear. Thanks.07:33
T42<edp_17> It wasn't clear that when I need to rebuild droidmedia, I need to rebuild this into the hybris-boot. I thought I only need to re-build/install the droidmedia*.rpm packages.07:38
T42<adampigg> You need to rebuild to get the added audio policy service07:39
T42<edp_17> I see, thanks for explaining. It was not clear but now it is.07:40
T42<Coltor %lastname%> Hi Guys, is that anybody try to replace sfos's QT_QPA_Compostior to another, such as weston or wlroot?08:16
T42yinte07 was added by: yinte0708:40
r0kk3rz@Coltor why would you want to do that?09:11
T42<edp_17> Thanks guys, re-building droidmedia and gst-droid helped with the video recording issue. Now the camera doesn't hang after a video. 👍 However, the resolution 320x200 issue is still there when I change from front to back. Fortunately, a simple restart of the app solves this issue.09:24
T42<Coltor %lastname%> @r0kk3rz [@Coltor why would you want to do that?], just like pmos,that u can choose many user-interface, such as xfce1109:24
T42<Coltor %lastname%> weston/kwin/09:25
r0kk3rzeasier to use pmos in that case09:26
T42<Coltor %lastname%> @rinigus [That way we can break free from qt limitations …], just like rinigus said~09:26
T42<Coltor %lastname%> breake free from qt limitations09:27
r0kk3rzyou could, but then you wouldnt have silica homescreen09:33
T42<Coltor %lastname%> yep,i see10:03
rinigusColtor: not sure it makes sense to work on that. indeed, pmOS maybe a better fit. or following nemo 5.12 update as it is in progress right now. as soon as you have 5.12 qt, as in nemomobile or pmOS, you could probably get decent wayland compositor via qt directly.10:14
T42<Coltor %lastname%> @rinigus [Coltor: not sure it makes sense to work on tha …], In fact, i just want to   replace (wayland + chromium os desktop manager) to  (qt_qpa_compositor + silica).11:11
T42<Coltor %lastname%> Do not need QT again, everything app is rendered by chromium.11:11
T42<Coltor %lastname%> chromium os desktop manager is the Ash Window Manager. the details u can found (https://www.youtube.com/watch?v=z9wPt6akTuQ)11:11
T42<Coltor %lastname%> current now, SFOS seems do not support chromium-browser.11:11
T42<Coltor %lastname%> and SFOS's default browser is too old than seems not support Hardware Accelerattion11:12
T42<Herrie1982> @Coltor %lastname% [In fact, i just want to   replace (wayland + c …], In LuneOS we have Chromium via QtWebEngine and are in progress to see if we can adopt LG's webOS OSE's WebAppManager + Chromium11:12
T42<Herrie1982> We're on newer Qt 5.15 compared to Mer/Nemo however our OS is not as mature as Mer's due to hobby project and no corporate sponsors & resources ;)11:13
T42<Coltor %lastname%> LuneOS and Ubuntu Touch also use QtWebWebEngine. but the same problem, the do not support Hardware Acceleration.11:15
T42<Coltor %lastname%> the issues u can found here (https://github.com/ubports/morph-browser/issues/309)11:15
T42<Coltor %lastname%> @Herrie1982 [We're on newer Qt 5.15 compared to Mer/Nemo ho …], Will use qtwebengine as the default browser?11:16
T42<Herrie1982> @Coltor %lastname% [Will use qtwebengine as the default browser?], For now it's QtWebEngine based yes, it might be Chromium based (LG's version though) going forward. We're testing that.11:23
T42<Herrie1982> The site is slow, even on my laptop which is pretty OK spec wise11:24
T42<Herrie1982> The map on desktop site loads, but it's not very quick on LuneOS, just tested11:24
T42<Coltor %lastname%> LuneOS and Ubports based on QtWebEngine, and they disable-gpu for webengine.11:25
T42<Coltor %lastname%> that means,they are not support webgl.11:25
T42<Herrie1982> My browser reports WebGL and WebGL2 on html5test.com11:25
T42<Coltor %lastname%> u can use https://webglreport.com/ to check it.11:25
T42<Herrie1982> WebGL 1 seems OK, 2 is supported but disabled according to that site11:26
T42<Coltor %lastname%> can u take a snapshot?11:27
T42<Coltor %lastname%> the Unmasked Vendor must be Qualcomm11:27
T42<Coltor %lastname%> and the Unmasked Render should be Adreno(TM)51211:28
T42<Herrie1982> This is on Xiaomi Mido BTW11:28
T42<Coltor %lastname%> (Photo, 1280x576) https://irc.thaodan.de/.imgstore/8cJIVtgzXr.png11:28
T42<Herrie1982> Snapdragon 625, Adreno 506 if I'm correct11:28
T42<Coltor %lastname%> yep11:28
T42<Coltor %lastname%> https://twitter.com/RealDanct12/status/125781952590855782511:29
T42<Coltor %lastname%> xiaomi lavender11:29
T42<Coltor %lastname%> pmos + libhybris + xf86video + x11 + chromium-browser11:30
T42<Herrie1982> (Photo, 1080x1920) https://irc.thaodan.de/.imgstore/6wqBVwwjn9.png11:31
T42<Herrie1982> (Photo, 1080x1920) https://irc.thaodan.de/.imgstore/GVNPTOguy5.png11:31
T42<Coltor %lastname%> wow~ amazing..11:31
T42<Coltor %lastname%> which os that u testing?11:31
T42<Herrie1982> This is LuneOS ;)11:32
T42<Herrie1982> Don't mind the Qt 5.13, that needs updating... Forgot that ;)11:32
T42<Herrie1982> It11:32
T42<Coltor %lastname%> it's updating now ? i will have a try my mido~11:33
T42<Herrie1982> It's actually 5.15 with QtWebEngine based on Chromium 8011:33
rinigusColtor: via flatpak on sailfish, you could run qtwebengine based browser. there are few issues with qt, but hardware accel works similarly to screenshots posted by @Herrie1982.11:34
T42<Coltor %lastname%> webgl2 not support, maybe that not update libhybris for 20200504 version.11:34
T42<Herrie1982> @Coltor %lastname% [webgl2 not support, maybe that not update libh …], Very possible11:35
rinigusthat would give you 5.14, tested with angelfish. maps do load on that browser. apart you are expected to use native apps for that on sfos, though11:35
T42<Herrie1982> Seems we're on https://github.com/libhybris/libhybris/commit/8ddb15b53d6a63b1545bbf97d00ea93827bd68eb11:36
T42<Coltor %lastname%> @rinigus [that would give you 5.14, tested with angelfis …], thanks for u kind11:36
rinigushw acceleration is related also to some issues in qt webengine/wayland/arm interaction. I filed a bug regarding it11:37
rinigusColtor, Herrie1982: https://bugreports.qt.io/browse/QTBUG-8242311:37
T42<Coltor %lastname%> @rinigus [hw acceleration is related also to some issues …], yep,ubports not support hw acceleration. because the mir-wayland not offer the correct EGLConfig to qtwebengine.11:38
T42<Coltor %lastname%> @rinigus [Coltor, Herrie1982: https://bugreports.qt.io/b …], Looks like there's no progress11:39
riniguswell, you get partial acceleration. in practice should work ok, but it may depend on your usecase11:41
T42<Coltor %lastname%> yep,and maybe chromium can run directly on SFOS?  if not use qtwebengine11:42
T42<Herrie1982> @Coltor %lastname% [yep,and maybe chromium can run directly on SFO …], pmOS is more suitable for that I would say11:43
T42<Coltor %lastname%> i see~11:44
rinigusColtor: I am not sure what's the status of chromium on wayland these days. as for pmOS, cannot comment as I have not used it myself12:12
T42<smallville7123> welp guess i can always go back to improving my original compositor seeming as it already has IPC and basic drawing implemented13:30
T42<ankaos> repo problem: nothing provides libhybris-tests needed by pattern:sailfish-porter-tools-1-1.noarch17:11
T42<ankaos> how fix?17:11
T42<ankaos> droidmedia add patters17:31
T42<ankaos> https://paste.ubuntu.com/p/Zy5Bp64gY5/17:50
T42<elros34> probably mistake in build_packages.sh, run git diff in rpm/dhd/18:16
T42<ankaos> Will it improve if I add it? https://github.com/mer-hybris/droid-hal-device/blob/master/helpers/build_packages.sh18:19
T42<elros34> not sure what do you mean, clearly from your build log libhybris step is missing. I should be build just before libgbinder18:22
T42<ankaos> solved :) thanks Elros18:28

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