libera/#maemo-leste/ Tuesday, 2021-11-09

uvosi think we should think about defaults a bit more11:05
uvoslike ppl i hand the bionic (which runs defaults) get confused with how the power button works11:05
uvosor how we all install simple-brigtness-applet because going into the settings to change the brigtness is pretty lame11:05
Wizzupmhm11:07
freemangordonuvos: what's wrong with how power button works?11:32
sicelodoesn't follow android standards11:39
freemangordonah, I see11:40
siceloshort press = lock/unlock. long press = system/boot options11:40
uvoshaving to double click to turn the dsiplay off but click once to turn the dsiplay back on11:41
uvosmesses with peoples muscel memory form android and ios yeah11:41
uvostheres nothing wrong with it per say11:41
dsc_how does the automatic brightness works?11:41
uvosdsc_: wdym11:41
sicelodsc_: ALS sensor, as always :-)11:42
dsc_gotcha11:42
Wizzupuvos: I think eventually we will want to rework some of how the status applet works from UX pov, because eventually it just "fills up" with applets11:43
Wizzupbut that is a 2022 or 2023 thing :P11:43
sicelodo they begin scrolling when you have many of them? i've never had a lot of them, so i never really noticed11:44
Wizzupeven if they scroll it doesn't work11:44
Wizzupas in it's just not ok11:44
WizzupI mean from usability pov11:45
Wizzupif you install wireguard and tor status applet you already get two more11:45
Wizzupit fills up11:45
RedW711:48
sicelo811:48
sicelo:)11:48
RedWoops, wrong window :)11:48
dsc_how do I CTRL^D with a droid 4 :D11:54
uvosWizzup: the status applet runs the applets in a hildon-pannable-area11:55
uvosthas why the slider is broken11:55
dsc_got it11:55
uvos(hildon-pannable-area reports event coordinates wrong)11:55
uvosWizzup: so id be suprised if it dosent start scrolling11:55
uvosaka its a bug if it dosent11:55
uvoswireguard and tor status applet should ony appear if they are configured really11:57
uvosbtw11:57
freemangordon:nod:12:06
Wizzupuvos: no, because you can activate them in system mode at any time12:06
WizzupI am talking about the status area button12:07
freemangordonnot only configured, but active, no?12:07
Wizzupand the way to activate them is through that button12:07
Wizzupfreemangordon: the icon in the status area, yes12:07
uvosno sure how having the status area button makes sense12:07
uvosif thereis no vpn configured12:08
Wizzupright so I was talking about that window with the buttons12:08
freemangordonok, but I don;t think scrolling is that bad there12:08
Wizzupfreemangordon: ok, I never tried12:08
* uvos confused12:08
freemangordonWizzup: the point is that buttons should not be there unless those are active12:08
uvoswhat window with buttons? not hildon-status-menu?12:08
Wizzupuvos: I think we're on the same page, I do mean hildon-status-menu12:09
uvosright thos buttons shold only be there if activating the vpn is a possiblity12:09
uvosie its configured12:09
Wizzupfreemangordon: that is not true for internet connection, or profiles, clock, bluetooth12:09
freemangordonWizzup: what is the functionlaity of those buttons?12:09
Wizzupfreemangordon: to enable tor/wireguard system wide for an active connection12:09
freemangordonah12:09
Wizzupthere's also the openvpn one btw12:10
freemangordonwell, yeah, ok12:10
Wizzupit might make sense to 'group' them eventually12:10
freemangordonI wonder if status menu supports groups12:10
Wizzupbut that's a whole different thing12:10
Wizzupin any case 2022/2023 :P12:10
freemangordonI wouldn't be surprosed if groups are already supported12:10
freemangordonbu yeah, 202312:11
freemangordon:)12:11
uvosWizzup: "uvos: no, because you can activate them in system mode at any time" yeah but what happens if i activate a vpn but there is no account configured?12:11
uvosie just haveing the applet installed i have it in hildon-status-menu12:11
uvosie the workflow that makes sense to me is: open settings -> configure a network -> now the button pops up in status-menu for me to enable or disable it. anyhow ttyl12:13
Wizzupuvos: I guess for tor you don't need an account13:08
Wizzupbut yes for wg or openvpn this is true13:08
* sicelo also doesn't see ux problem with scrolling in status area - android scrolls it too, ios too. it's unavoidable. and yes, best way to manage it is just to avoid having too many things there, especially inactive ones13:26
bencohwell, to be fair on android you usually need to scroll for notifications13:27
bencohnot for always-displayed plugins13:27
siceloat least on my android 8, when pulling down the notification drawer (which contains what is roughly hildon's status menu), i can only select among 5 items. then, as i continue pulling it down, more of them appear. in my case, 9 more appear13:29
siceloso i guess if we take android as a benchmark for status menu, hildon problem is that our items individually take a lot of space, and thus two per column, so it fills up fast as a result13:30
bencohyeah, a compact layout/mode would probably help here13:32
freemangordonhmm, one cannot allocate TILER BOs through dma_buf API13:40
* bencoh headscratches13:40
bencohhow are you supposed to allocate it then?13:40
freemangordonbencoh: omap_bo_new13:41
freemangordonwhich is omap specific13:41
bencohuh13:41
bencohsad13:41
freemangordonyeah13:41
freemangordonIIUC you can;t use gbm_bo_create and get a TILER BO13:41
freemangordonwhich leaves us with the only option to use xf86-video-omap if we and sane performance with rotated display13:43
freemangordons/we and/we want13:43
bencohor add full dmabuf support to the omap/tiler/whatever drivers galaxy13:46
bencoh(at least to the point where one can allocate tiler buffers)13:46
freemangordonI don't think I am the one to do that13:46
freemangordonnot without some hints from the maintainers13:47
freemangordonI wrote a mail, still no answer13:47
bencohI wonder if there is any reason notto default to tiler buffers on omap4/omap513:47
freemangordonno idea13:48
freemangordonbut dma_buf defaults to CMA13:48
bencohhmm13:48
bencohdon't you just mmap() on some fd to get buffers?13:49
freemangordonit is not that simple13:50
bencohwell, and/or use some ioctl before/after13:50
bencohanyway, it should still be bound to some device13:50
freemangordonthe point is that SGX(for example) should see the same memory correctly13:50
freemangordonbut, there is a note that TILER memory is shmem memory13:52
freemangordonI don;t understand what is that supposed to mean13:52
bencohyeah, I get that part, I'm just wondering what actually happens when you allocate a dmabuf-able buffer13:52
freemangordonI don;t13:52
freemangordonso please explain what "shmem" is13:52
bencohshmem, as in /dev/shm, or as in "memory shared between cpu and sgx, and mapped at the same address"?13:53
bencoh(ah, I wrote that "I get that part" before you mentioned shmem btw)13:53
freemangordonbut how it can be mapped at the same address, given that SGX has its own mmu?13:54
bencohthey could set it that way13:54
freemangordonsee https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/omapdrm/omap_gem.c#L130013:54
bencohno tiler there, right?13:54
freemangordonmhm13:55
freemangordonand no way to tell it to be13:55
freemangordonthe only way to use the tiler is to pass flags through userspace API13:55
freemangordonomap_bo_new()13:56
freemangordonbut, your question is absolutely valid - why all BOs are not allocated through the tiler?13:56
bencohI guess it wouldn't make any sense on non-tiler platforms13:56
bencohbut still13:57
freemangordonthis is omapdrm which supports TILER rotation only13:57
freemangordonlets forget about omap3 for a while13:57
bencohah :)13:57
freemangordontmlind: any clue? ^^^13:57
bencohthen yeah, I don't see why13:57
freemangordonfor VRFB it is another story13:58
freemangordonbecause we have limited contexts (12 on omap3) so it makes sense to assign VRFB context to BO only when really needed13:58
bencohunless ... if TILER has a limited number of "buffers"13:58
freemangordonyeah13:59
freemangordonbut I was unable to find the TRM to see how this works13:59
bencohhmm, I think I downloaded the TRM at some point, lemme check13:59
bencohiirc TI removed some manuals from their website right?14:00
freemangordonand because my knowledge on DMA API and MMUs ends here (or rather has ended 200 meters before here) I don;t know if it is possible to somehow "migrate" non-tiler (or non-vrfb) BO to TILER one14:00
buZzzmatt used to be the TILER expert14:00
bencohmeh, I have the omap3530 one here, no omap414:00
buZzback in #dragonbox-pyra14:00
siceloomap 4 trm? i have it14:01
freemangordonbuZz: it is not about the TILER, but about how the rest of the system sees such a buffer14:01
bencohright, zmatt had it work by kludging part of the driver(s), I don't think it ever got merged. and that was on omap514:01
bencohoh, found it on the desktop I'm connected from, silly :)14:02
bencoh(uploading it ...(14:02
freemangordonlike - we allocate a non-TILER BO that is send to SGX14:02
freemangordonSGX sets it MMU to access that BO14:02
siceloah, you'll be faster (bencoh). was sending it to dropbox just now14:02
bencohsicelo: yeah I figured :)14:03
freemangordonnow, if we want to transform this BO to a TILER one, how SGX knows this change has happened to re-program its MMU?14:03
freemangordonthe same goes for VRFB though14:03
bencohfreemangordon: http://muarf.org/~bencoh/maemo/OMAP4430_ES2.x_Public_TRM_vK.pdf14:04
freemangordonok, good to have that14:04
freemangordonbut, IIUC, TILER is just a kind of iommu14:04
freemangordonlike, it remaps memory accesses, no?14:05
freemangordonso, implementation details are not important14:05
freemangordonalso, even if TILER has unlimited 'buffers', VRFB does not, so we are in the same situation14:05
bencohlooks like TILER is actually a rotation engine as well14:06
freemangordonlike VRFB14:06
freemangordonand yes, R in tileR is for rotation :)14:06
bencohbut yeah, it's basically all about address transformation14:06
bencohmeaning that it doesn't really "perform" the rotation, it "just" translate addresses to effectively return the pixels that should be addressed after rotation14:07
bencohor so I understand it14:07
freemangordonmy understanding is the same14:08
bencohwhich is kinda funny, because it means that any access to a "rotated" buffer will go through it14:08
bencohI wonder how expensive (energy-wise) that thing is14:08
bencohmaybe that's the reason it's not enabled by default btw14:09
bencoheither that, or erratums that make it buggy14:09
bencoherrata*14:09
freemangordonas simple address translation should not be that expensive14:09
bencohdunno, maybe you're right14:10
buZzfreemangordon: ah well, just saying it might not hurt to ask him for things that lack in understanding14:10
buZzguy works with TI stuff a -lot-14:11
bencohanother thing is ... what happens when it tries to access memory ....14:12
freemangordonwe have a page fault14:12
freemangordon:)14:12
bencohno I mean ... let's say you access a "rotated" buffer14:13
bencohso it goes and fetches the right pixels(bytes) for you14:13
bencohbut instead of fetching a full line from RAM, it needs to fetch a "column", ie a pixel from every actual line14:14
bencohdoesn't sound super efficient to me, unless it actually fetches the full lines and caches it14:14
freemangordonI doubt it can cache 540x960x4 even for non-rotated scenario14:15
bencohmaybe it only caches macroblocks then14:15
bencohotherwise it really sounds like a pain14:16
freemangordonbut, I don't know how this stuff works, so...14:16
freemangordonthey say TILER works on pages only14:16
bencohyeah, me neither ... I never brought myself to actually read the whole TILER chapter14:16
freemangordonalso, there was some note of 'no caching for TILER' somewhere14:16
freemangordonlemme try to find it14:17
bencohnoncached access on ARM really doesn't sound like something we would want14:17
freemangordonhmm, here https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/omapdrm/omap_gem.c#L120714:17
freemangordonnot sure what is that supposed to mean14:17
bencoh~(OMAP_BO_CACHED|OMAP_BO_WC|OMAP_BO_UNCACHED)14:18
bencohso, it disables cached *and* uncached? :]14:18
freemangordonexactly :)14:18
freemangordonwell, there is a call to tiler_get_cpu_cache_flags()14:18
bencohinterestingah14:18
bencohmeh, so yeah, uncached14:18
bencohcpu_cache_flags is set to uncached14:19
freemangordonhmm, on omap5 only14:19
bencohdrivers/gpu/drm/omapdrm/omap_dmm_tiler.c .cpu_cache_flags = OMAP_BO_UNCACHED14:19
bencohoh, right14:19
freemangordonfor omap4 it is WC14:19
bencohyeah14:19
bencohinteresting14:19
freemangordonso, the same as for dma_buf BOs14:20
freemangordonIIUC14:20
* freemangordon is afk for a while14:20
freemangordonback14:26
bencohso yeah basically nothing inside the kernel uses the OMAP_BO_TILED_* flags14:27
bencohthe only way to use it is to pass it from userspace as you said14:28
freemangordonmhm14:28
bencohI dunno if it's just me, but I always get the same feeling everytime I need to look at kernel-side buffer/dma allocation code ...14:31
bencoh(ETOOMUCHABSTRACTION :( )14:32
freemangordon:D14:32
bencohespecially caching stuff14:32
tmlindno idea how OMAP_BO_TILED is used, i think the old ddk-1.9 used it via some custom ioctl14:33
freemangordontmlind: yes, it can be requested by userspace14:34
freemangordonthe point is - do you know why it is not there by default, for dma-buf BOs?14:34
bencohas far as I see it, the main difference between the two in _gem_new is a call to shmem_file_setup()14:35
bencoh(and setting a few flags)14:35
tmlindno idea, it could be just that omap5 had some issue for the tiler needing uncached configuration making it probably unusable14:35
bencohshmem_file_setup - get an unlinked file living in tmpfs14:35
bencohso it really comes from there14:35
tmlindif some parts are not implemented, it could be because of 7cb0d6c17b96 ("drm/omap: fix TILER on OMAP5")14:37
mighty17[m]do we have nothing for pvr crashes https://paste.debian.net/1218824/ its really annoying18:09
freemangordonmighty17[m]: did you try with https://github.com/freemangordon/mesa ?18:11
freemangordonthis branch https://github.com/freemangordon/mesa/tree/mesa-pvr-ti18:11
mighty17[m]i've been using xc-racer's mesa till now18:12
freemangordonuse this one18:12
freemangordonit is the same as TI blobs18:12
mighty17[m]freemangordon: musl friendly?18:12
freemangordonwell, at least pvr_dri is18:12
freemangordonyes, it is based on top of xc-racer's one18:13
freemangordonlook at commit log18:13
mighty17[m]oh nice, i think i'll package it for pmos as well then :D18:13
mighty17[m]https://gitlab.com/postmarketOS/pmaports/-/blob/master/main/mesa-pvr-dri-classic/APKBUILD18:13
freemangordonwell, test it first a bit :)18:13
mighty17[m]is this the one with x working as well? :D18:14
freemangordonyes18:14
uvos*sortof18:14
mighty17[m]:D im amazed by your work18:14
Wizzupwe all are ;)18:15
freemangordonuvos: hmm?18:15
mighty17[m]freemangordon: i wont be building mesa on cortex a9's xD, packaging is also safer to downgrade18:16
uvosjust hinting at that pvr_dri with mainline mesa dose support x but there is no ddx you can just use18:16
freemangordonwell, yeah18:16
uvosie x dosent work in practice with stock x18:16
freemangordonrigth18:17
freemangordonbut, omap_drv works18:17
mighty17[m]well its always blobs which are troublesome18:17
freemangordonso we have DDX18:17
freemangordonmighty17[m]: not this time18:17
freemangordonwe have no issues with blobs, but with modesetting/glamor18:17
uvosi mean its the blobs too writ missing extensions18:18
uvosbut yeah glamor is a bit buggy on gles18:18
freemangordonmighty17[m]: also, we all built mesa on omap418:18
freemangordonsure, it takes ages, but...18:18
mighty17[m]is this a tradition? :P18:18
uvosheh18:18
uvosi reccomend disabeling mesa building other drivers than pvr_dri if you do18:19
freemangordonno, this is how you become a mаn :p18:19
uvosparticually gallium/radionsi18:19
uvosthen its not so bad18:19
freemangordon(or woman if you prefer)18:19
mighty17[m]uvos: im pretty sure my tab will just randomly reboot in middle and kill all progress18:19
uvosqemu then18:20
freemangordonwell, it is meson/ninja, so it will continue to where it was :). but yeah, you you have option to not build it on the device, go ahead18:20
freemangordon*from where18:20
mighty17[m]uvos: why not just cross compile?18:20
uvosshould work too18:20
uvosjust afaik pmos useses qemu for its dev env no?18:21
mighty17[m]yeah it dies18:21
uvosat least it used to18:21
mighty17[m]does*18:21
mighty17[m]well my laptop isnt powerful as well xD i5 3210m ivy league18:21
bencohmighty17[m]: may I ask what do you do with musl on droid4/leste/devuan?18:35
mighty17[m]bencoh I'm using pmOS(alpine)18:38
bencohah, right, nevermind :)18:41
buZzhttps://www.ebay.nl/itm/18515158399119:35
buZz^ nokia n950 anyone? :P19:36
Wizzuplast time I asked someone to donate one I got permabanned from ebay19:39
buZz:D :D19:40
buZzyeah 'plz donate your unobtainium to meeeee'19:40
buZzWizzup: might have more success asking ppl in #maemo :)19:41
WizzupI don't really need one19:41
tmlinddroid4 has obsoleted n950 :)19:45
tmlindwell at least for me19:45
* tmlind used n950 for years until it started breaking for the lcd, then got busy with droid419:46
freemangordonI have a working one, but I need PVR driver for it :)19:54
tmlindheh ok :) i'm pretty sure it was the 2016 elce in berlin when sre, pavel and i chatted about getting droid4 working as a n900 replacement hardware19:56
tmlindfreemangordon: did your rubber pads melt away on n950 into sticky mess?19:57
freemangordonyes19:59
tmlindprobably possible to replace with some fuzzy pieces of felt20:00
freemangordonyeah20:00
freemangordonbut doesn;t make sence without having SW for it :)20:00
tmlindyeah maybe in few years20:01
freemangordonyeah20:02
freemangordon[ 31318.703] (II) OMAP(0): Successfully initialized the "omap_pvr" sub-module21:00
freemangordon:)21:00
Wizzupneat :-)21:01
freemangordonhmm, how to test solid fill?21:02
freemangordonah −rect50021:03
freemangordonhmm, seems omap_pvr_drv I found has solid acceleration removed :(21:10
freemangordonI'll haev to implement that21:10

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