T42 | <smallville7123> does Sailfish use Surface flinger or does it use a custom renderer like OpenGL and Wayland | 03:14 |
---|---|---|
r0kk3rz | it uses wayland and hwcomposer | 03:16 |
T42 | <smallville7123> ok | 03:16 |
T42 | <smallville7123> what is hwcompositor | 03:16 |
r0kk3rz | its an android thing that sits under surface flinger | 03:17 |
T42 | <smallville7123> ok | 03:17 |
T42 | <smallville7123> in Halium, what would be responsible for drawing applications onto the device screen | 03:18 |
r0kk3rz | depends | 03:18 |
r0kk3rz | i expect most halium devices also use hwcomposer | 03: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 this | 03:19 |
r0kk3rz | theres a number of different wayland implementations you could look at | 03: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 screen | 03: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 FPS | 03:22 |
T42 | <smallville7123> so obviously i must doing something horribly wrong | 03:23 |
r0kk3rz | i think the main trick is to use hw accellerated opengl to do the heavy lifting | 03:26 |
T42 | <smallville7123> how would this approach differ from how Halium does things | 03:26 |
r0kk3rz | what 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 Application | 03:30 |
T42 | <smallville7123> but i do have a working Android compositor that i have not touched in months, that uses OpenGL directly | 03:31 |
r0kk3rz | yeah thats fine, since you were talking about halium i wondered if you were working on an android device of some sort | 03: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.cpp | 03:32 |
r0kk3rz | im definitely not an expert on how compsitors do everything they do | 03: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 can | 03:35 |
r0kk3rz | lipstick is the compositor sailfish uses if that helps https://git.sailfishos.org/mer-core/lipstick | 03: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 only | 03:38 |
r0kk3rz | it can | 03:39 |
r0kk3rz | but maybe not the best project to use for learning purposes | 03:39 |
T42 | <smallville7123> hmmm ok | 03:39 |
T42 | <smallville7123> as i used QT a bit and it CAN have multiple windows however i have not explored this much | 03: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/laptops | 03:41 |
r0kk3rz | https://github.com/swaywm/wlroots | 03:42 |
r0kk3rz | that one might be better | 03: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 android | 03:42 |
T42 | <smallville7123> anyway | 03:43 |
T42 | <smallville7123> does Halium use QT for implementing its window managment? | 03:43 |
T42 | <smallville7123> eg all applications are QT based? | 03:44 |
r0kk3rz | i think you misunderstand what halium is | 03:44 |
r0kk3rz | it doesnt come with a compositor | 03:44 |
T42 | <smallville7123> its somewhat like ArchLinux for mobile right? where u need to set it up urself right? | 03:45 |
r0kk3rz | no | 03:45 |
T42 | <smallville7123> hmmm | 03:46 |
r0kk3rz | its mostly a set of instructions and tools to create a libhybris based OS | 03:47 |
T42 | <smallville7123> can Halium run LInux components natively?, such as Wayland, XOrg, Plasma, ect | 03:47 |
r0kk3rz | yeah, thats what its for | 03:47 |
T42 | <smallville7123> ok | 03:48 |
T42 | <smallville7123> and would libHybris would be responible for all this? | 03:48 |
r0kk3rz | ish | 03:48 |
r0kk3rz | libhybris allows you to use android drivers in an otherwise native linux system | 03:49 |
r0kk3rz | which is useful for things like graphics drivers | 03:49 |
T42 | <smallville7123> ok | 03: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-compiler | 03:51 |
T42 | <smallville7123> or would that be incorrect? | 03:54 |
T42 | <smallville7123> ill rephase... | 03:58 |
r0kk3rz | so | 03: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 |
r0kk3rz | the hardware drivers usually give you an opengl library | 03:59 |
r0kk3rz | so thats the lowest layer that halium things care about | 03:59 |
r0kk3rz | there is a bit of plumbing involved, but that is device specific | 04:00 |
r0kk3rz | i mean with a compositor, you dont care how its drawn to the screen anyway | 04:01 |
T42 | <smallville7123> hmmm ok | 04:02 |
T42 | <smallville7123> so... for example... would it need to have knowledge of the linux graphics stack and sorts? | 04:03 |
r0kk3rz | yeah, the output buffers needs to go somewhere | 04:07 |
T42 | <smallville7123> hmmm ok | 04: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 |
r0kk3rz | it? | 04:12 |
T42 | <smallville7123> libhybris or what ever is responsible for drawing to the device screen | 04:13 |
T42 | <smallville7123> @r0kk3rz [yeah, the output buffers needs to go somewhere], whatever interacts with these | 04:14 |
r0kk3rz | yeah | 04:14 |
T42 | <smallville7123> ok | 04: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 compositor | 04:16 |
r0kk3rz | no idea | 04:16 |
T42 | <smallville7123> ok... | 04:17 |
T42 | <smallville7123> how many buffers would there typically be | 04:17 |
T42 | <smallville7123> like, how many output buffers would it typically need to handle on a device | 04: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 run | 07:30 |
T42 | <adampigg> It runs make libdroidmedia_32 miniaf....etc | 07: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 service | 07: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 |
T42 | yinte07 was added by: yinte07 | 08: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 xfce11 | 09:24 |
T42 | <Coltor %lastname%> weston/kwin/ | 09:25 |
r0kk3rz | easier to use pmos in that case | 09: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 limitations | 09:27 |
r0kk3rz | you could, but then you wouldnt have silica homescreen | 09:33 |
T42 | <Coltor %lastname%> yep,i see | 10:03 |
rinigus | Coltor: 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 Accelerattion | 11: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 + Chromium | 11: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 wise | 11:24 |
T42 | <Herrie1982> The map on desktop site loads, but it's not very quick on LuneOS, just tested | 11: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.com | 11: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 site | 11:26 |
T42 | <Coltor %lastname%> can u take a snapshot? | 11:27 |
T42 | <Coltor %lastname%> the Unmasked Vendor must be Qualcomm | 11:27 |
T42 | <Coltor %lastname%> and the Unmasked Render should be Adreno(TM)512 | 11:28 |
T42 | <Herrie1982> This is on Xiaomi Mido BTW | 11:28 |
T42 | <Coltor %lastname%> (Photo, 1280x576) https://irc.thaodan.de/.imgstore/8cJIVtgzXr.png | 11:28 |
T42 | <Herrie1982> Snapdragon 625, Adreno 506 if I'm correct | 11:28 |
T42 | <Coltor %lastname%> yep | 11:28 |
T42 | <Coltor %lastname%> https://twitter.com/RealDanct12/status/1257819525908557825 | 11:29 |
T42 | <Coltor %lastname%> xiaomi lavender | 11:29 |
T42 | <Coltor %lastname%> pmos + libhybris + xf86video + x11 + chromium-browser | 11:30 |
T42 | <Herrie1982> (Photo, 1080x1920) https://irc.thaodan.de/.imgstore/6wqBVwwjn9.png | 11:31 |
T42 | <Herrie1982> (Photo, 1080x1920) https://irc.thaodan.de/.imgstore/GVNPTOguy5.png | 11: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> It | 11: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 80 | 11:33 |
rinigus | Coltor: 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 possible | 11:35 |
rinigus | that 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, though | 11:35 |
T42 | <Herrie1982> Seems we're on https://github.com/libhybris/libhybris/commit/8ddb15b53d6a63b1545bbf97d00ea93827bd68eb | 11:36 |
T42 | <Coltor %lastname%> @rinigus [that would give you 5.14, tested with angelfis …], thanks for u kind | 11:36 |
rinigus | hw acceleration is related also to some issues in qt webengine/wayland/arm interaction. I filed a bug regarding it | 11:37 |
rinigus | Coltor, Herrie1982: https://bugreports.qt.io/browse/QTBUG-82423 | 11: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 progress | 11:39 |
rinigus | well, you get partial acceleration. in practice should work ok, but it may depend on your usecase | 11:41 |
T42 | <Coltor %lastname%> yep,and maybe chromium can run directly on SFOS? if not use qtwebengine | 11:42 |
T42 | <Herrie1982> @Coltor %lastname% [yep,and maybe chromium can run directly on SFO …], pmOS is more suitable for that I would say | 11:43 |
T42 | <Coltor %lastname%> i see~ | 11:44 |
rinigus | Coltor: 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 myself | 12:12 |
T42 | <smallville7123> welp guess i can always go back to improving my original compositor seeming as it already has IPC and basic drawing implemented | 13:30 |
T42 | <ankaos> repo problem: nothing provides libhybris-tests needed by pattern:sailfish-porter-tools-1-1.noarch | 17:11 |
T42 | <ankaos> how fix? | 17:11 |
T42 | <ankaos> droidmedia add patters | 17: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.sh | 18:19 |
T42 | <elros34> not sure what do you mean, clearly from your build log libhybris step is missing. I should be build just before libgbinder | 18:22 |
T42 | <ankaos> solved :) thanks Elros | 18:28 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!