libera/#maemo-leste/ Wednesday, 2021-10-27

freemangordonhmm, it seems chromeos mesa pvr dri is newer version that the one in TI blobs07:00
freemangordon*than07:00
Wizzupparazyd: uvos: I am working on the news post now, do we plan to have charge-mode ready?10:26
Wizzuptmlind: uvos: I got a reset yesterday when playing music with mpv and having gps on, with ngsm debug on: https://wizzup.org/reset.txt10:40
Wizzupthis is from pstore, but it doesn't seem to contain a whole lot10:41
parazydWizzup: I could try to make an upgrade that enables it sometime tomorrow.11:01
parazydWizzup: Do we have it on all devices now?11:01
Wizzuplet's make it possible to test it first11:01
tmlindWizzup: yeah no oops to see there unfortunately11:26
Wizzuptmlind: I am surprised not to see much more n_gsm debug there11:28
Wizzupmaybe it stops writing to the pstore console after a while?11:28
Wizzupthere should be a _lot_ more in there I think11:28
uvosWizzup: from my end yes, for mapphones at least11:29
uvosfor others we have the problem that we can only activate it for new installs11:30
uvosalso someone needs to test it on pp11:31
tmlindWizzup: yeah strange, maybe the buffer gets partially overwritten on boot or something11:35
Wizzupuvos: so maybe we just do it for mapphones?11:36
uvosno strong optinion11:37
uvosi suspect we want it on n900/pp too at some point11:38
WizzupI think it would be a good idea, even to just move it along to more users11:38
uvosyeah sure no strong opininon.11:39
uvosone problem i forsee is that we cant role it out devel only on non mapphones afaik11:39
uvosfor testing, since besides trying it twice on n900 i never tested it on something other than d4/bionic.11:40
siceloYou can possibly add it in device specific repo for now (mapphones?) then migrate later.11:42
tmlindi wonder.. can we just open /dev/dri/renderD128 directly somewhere in the mesa sources and bypass the blobs to fix the node name issue?11:42
uvossure since mesa dlopens the blob you could shim open() to redirect stuff opend in /dev/dri/11:44
Wizzupwe could potentially also patch the blob to open a file that we create a symlink for11:45
uvosnot sure why we need it to use the render node btw11:46
tmlindwell i'm thinking about completely bypassing the blobs for open and close, not sure if the blobs need anything excecpt the fd11:46
tmlinduvos: the way things are moving, the render node is used for almost everything to avoid the permissions problem11:47
tmlinduvos: see kernel Documentation/gpu/drm-uapi.rst the paragraph that contains RENDER_NODE11:51
tmlindsorry i mean that contains DRIVER_RENDER11:52
uvostmlind: i mean yeah thats why render nodes where introduced11:55
uvosbut rendering without a drm master isent really what you do on a phone is it? is there some place client support for drm auth is being droped?11:55
uvosnot that "updateing" the blobs is a bad thing11:55
uvosand yeah should be easy to do by shiming open() in pvr_dri.so11:55
tmlindwell i'm thinking just implementing some of this directly in mesa, i see no point passing open and close via the blobs11:58
uvossure11:58
uvosyou could also re bits of the blobs and reimplement the functions in mesa dri_pvr11:58
tmlindheh i guess.. i just need open and close for wlroots i think12:00
tmlindi guess it's possible the blobs actually do something with the fd between open and close12:01
Wizzupuvos: btw the sms ui of sphone no longer closes when it sends12:17
uvosWizzup: yeah i kow i fixed it + the other issue allready12:34
uvoshttps://github.com/maemo-leste/sphone/commit/12ab567c9fc65fa444aa6be80db3f19caf5cc7d412:34
uvosalso note that without https://github.com/maemo-leste/sphone/commit/e19fb96bf6f0ef95b76811b349a748daa18933bb12:34
uvossphone dosent give feedback (except in log) that an action could not be compleated by the selected comm backend12:35
Wizzupok12:42
freemangordonwhy don;t we have ltrace on ARM?!?13:45
Wizzupseems debian doesn't have it13:46
Wizzuphttps://packages.debian.org/search?keywords=ltrace13:46
freemangordonyeah, that's why my question :)13:47
Wizzupstretch had it13:47
freemangordonhmm13:47
freemangordonlemme try to install13:47
Wizzuphttps://packages.debian.org/stretch/ltrace13:47
freemangordonyeah13:47
uvosoh neat dident know about ltrace13:48
uvosthat sounds pretty usefull for debugging sphone/mce13:48
WizzupI think gdb should work better for you potentially, but you could13:48
WizzupI usually use lstrace when problems occur in libs I don't want to or can't change13:49
Wizzupltrace*13:49
uvossure i use gdb most of the time, but knowing what modules react to something should be easier this way13:49
uvos(dont have to break anywhere)13:49
Wizzupany objections to having osso-xterm just use the XDG browser env for opening urls?13:50
Wizzupwe currently have the dbus call to browser ui stubbed13:50
uvosno13:50
uvossounds very sane13:50
uvosor just xdg-open the url13:50
uvosthat way it works with urls that shal not end in browser too13:51
Wizzupuvos: this, then? https://docs.gtk.org/gio/type_func.AppInfo.launch_default_for_uri.html14:52
Wizzupmight make it async instead14:52
uvossure yeah14:56
uvosthat very likely uses xdg-mime and xdg-open to execute the right app14:57
Wizzupright14:57
freemangordonthe fuck! running glmark through ltrace does not hang15:22
Wizzupheisenbugs15:22
tmlindfreemangordon: does also glmark with -d option work just fine? i think i saw that earlier after switching to chromeos mesa, not that no longer works for me15:26
freemangordonwhat -d is for?15:26
freemangordonah, debug15:27
freemangordonlemme try15:27
freemangordonit doesn;t, but it doesn't without -d as well15:28
uvosfreemangordon: since its timeing related15:28
uvosmaybe it will hang with ltrace if you change 0x4A008164 register15:29
freemangordonhmm?15:29
freemangordonwhat is this register?15:29
uvossgx clock15:29
freemangordonok, what value to write?15:29
freemangordonhmm, wait15:30
freemangordonI am not sure I will be able to15:30
freemangordonPM is enabled15:30
uvosworks fine15:30
freemangordonok15:30
freemangordonwhat value?15:30
uvosthe clock is just disabled15:30
uvossec im reading datasheet15:30
uvosso default should be 2a15:31
uvosd4 here15:31
freemangordonyeah, d415:31
uvosjust increase the value15:32
uvosbits 0-4 are the devider ratio15:32
uvos(greping in irc.txt here15:35
uvos)15:35
uvoslooks like i used to use omapconf write 0x4A008164 0x1f to maximize the amount of artifacting on ddk1.1915:36
uvosfor testing15:36
uvos*ddk1.915:36
uvosfreemangordon: yeah still works omapconf write 0x4A008164 0x1f makes it very artifact happy15:40
freemangordonuvos: seems to be a timing issue, there is absolutely no difference in calls between blob and chromeos when it comes to call to libpvr_dri_support.so16:02
freemangordonso I don't see how tweaking sgx regs could help16:02
uvoswell any call that touches sgx will take longer16:03
uvosso if you slow down the cpu effectivly by adding a debuger the issue would reemerge if you slow sgx too, unless the problem is in omapdrm ofc16:04
uvosand the artifacting on ddk1.9 IS a timeing issue too16:05
uvosand is effected by sgx render time16:05
Wizzupwould be nice if we can get tomi involved somehow I think16:12
uvosdid anyone email him?16:17
Wizzupdon't think we did16:17
tmlinduvos: ack, rwmem 0x4a008164=0x1f brings back a variant of my sway + termite not refreshing problem16:26
freemangordontmlind: what is PVR_QUIRK_OMAP4 used for?16:27
tmlindfreemangordon: nothing any longer, was used with ddk-1.17 for the ioctl proxying16:28
tmlindsorry i mean was used with ddk-1.9 for the ioctl proxying16:28
freemangordonbut it is still enabled16:28
freemangordonshall I disable/remove it16:28
tmlindyeah i don't think there code is there any longer?16:28
tmlindyeah let's get rid of it16:28
freemangordonas I am going to test with ocp management disabled, on d416:29
tmlindok great, sounds like we should not need it on omap4 and later16:29
freemangordonok16:29
tmlindit might be that we only need it for 36xx16:29
freemangordonand it might be the reason for the hangs16:32
freemangordonthe same way it was on 343016:32
freemangordonbut, lets see16:32
tmlindok good to check for sure16:37
freemangordonkmscube still works, glmark2 still hangs :D16:38
lelMerlijnWajer closed an issue: https://github.com/maemo-leste/bugtracker/issues/385 (droid4: osso-xterm doesn't change font size on volume buttons)16:40
freemangordonbut, "use-vbo=false" FPS Is 2, so ocp control is needed for sure16:41
freemangordonok, it still hangs with pvr module debug messages enabled16:44
freemangordonhmm, seem NULL pointer is being send to SGX17:41
tmlindfreemangordon: ok so ocp still needed at least on omap4 sounds like17:54
freemangordonyeah18:12
freemangordontmlind: any idea what is this "PDE valid: PTE = 0x00000000 (PhysAddr = 0x00000000, Invalid)" supposed to mean?18:35
freemangordonin short - when running glmark with chromeos pvr, there seems to be a pagefault triggered by SGX18:36
freemangordonit finds MMU context (Found MMU context for page fault 0x0dc08000), which is (GPU memory context is for PID=3025 (glmark2-es2-drm))18:37
freemangordondoes this mean that the page is mmaped to cpu and SGX cannot access it?18:37
uvosfreemangordon: dose abook have api documentation somewhere, at least for the old pre RE version.18:40
uvosah found  http://maemo.org/api_refs/5.0/beta/libosso-abook/OssoABookRoster.html18:42
freemangordon:nod:18:51
freemangordonuvos: hmm, there is 'final' not 'beta' version too19:03
uvosso is abook is finised enough for me to wirte an sphone pluginn that uses it?19:04
freemangordonno19:04
uvosok19:04
uvosfreemangordon: would only need OssoABookContactChooser to work at first most likely19:04
tmlindfreemangordon: heh that looks like a fancy way of saying null pointer exception19:05
uvostmlind: am i reading that correctly some non null address in (invalid) page table entry maps to 0x0?19:11
tmlindprobably everything is zero, maybe after memset or something like that?19:14
tmlindmaybe the dropped mutex freemangordon noticed?19:15
tmlindor rather additional mutex in the blobs?19:15
uvosyeah thats the question the mutex might be guarding against something else causing the memory region to be swaped to some other space in mmu19:16
uvos(for the cpu to mess with it)19:16
uvosofc that makes no sense if everything is 019:17
freemangordonbut, that mutex makes sense in case of MT19:23
freemangordonI don't see MT in glmark19:23
freemangordonalso, if something is being memset to zero, it shouldn't make any difference if I run through ltrace/valgrind or not, it should fail despit19:27
freemangordonbut it does not19:27
uvosfreemangordon: right19:28
freemangordonI mean - it never fails if it is run through valgrind or ltrace19:28
freemangordonwith chromeos blob that is19:28
uvosfreemangordon: so random scenario: sgx renders something, there is a fence missing in drm19:28
freemangordonI think rendering hasn't started yet19:29
uvosomapdrm grabs the buffer for dss, by adjusting mmu depending on timeing we get a half renderd frame with stuff missing, also depending on timeing sgx ends up rendering to a buffer thats unmaped19:29
freemangordonI have pvr driver debug traces19:29
freemangordonuvos: wait, I think we have 2 MMUs involved here19:30
freemangordonat least SGX has its own MMU19:30
freemangordonbut, it is not controlled by omapdss driver, afaik19:30
uvosok yeah19:31
uvosi have no idea about exact intenrals19:31
freemangordonme neither19:31
freemangordon:(19:31
uvosbut the above description would in pricinal have the abillity to cause all issues19:31
uvosie missing bits of frame and the exception19:31
freemangordonbut, we may again hit some coherency issue19:31
uvosright missing drm fence19:31
freemangordonhmm, we still not render19:32
freemangordonit faults while stuff is still being prepared19:33
uvosbefore the first frame?19:33
freemangordonyes19:34
uvoshmm ok19:34
freemangordoni compared pvr traces with and without fault, nothing obviously wrong19:35
uvoscould it be an interaction with a different drm client? like omapdrmfb?19:36
freemangordongpu on d4 is single-core, right?19:37
uvosi think so dual core was added in -70 no?19:37
freemangordonno idea19:37
freemangordonbut, just pulled latest driver from chromeos19:37
freemangordonbuilding mesa ATM19:38
freemangordonnot that I hope it will work :)19:38
freemangordondoesn;t seem like userspace issue to me19:38
uvosonly omap5 is MP2 variant of sgx540 it seams19:38
freemangordonok19:38
uvosfreemangordon: hmm so where is chomeos kernel with pvr source20:15
freemangordondunno, but why?20:16
uvosmaybe they carry some commit like: fix null pointers in pvr driver20:17
freemangordon:)20:22
freemangordonyeah, right20:22
freemangordonhttps://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/refs/heads/main/sys-kernel/ ?20:23
freemangordonhmm, I think I am on something20:24
freemangordonin blobs, PVRDRIClientWaitSyncEXT does not call PVRDRIEGLFlushBuffers20:25
freemangordonin chromeos driver it does20:26
freemangordon 'upstream' chromeos driver does not flush too20:31
freemangordonaaah, mesa takes ages to build :(20:37
freemangordontmlind: would you like to try a little change in mesa?20:48
freemangordonas my local build will take maybe 2 more hours and I am impatient :)20:49
tmlindfreemangordon: sure if it does not force a rebuild and i don't fall asleep before done :)21:32
freemangordonit will rebuild only pvr_dri21:38
tmlindcomment out PVRDRIEGLFlushBuffers?21:38
freemangordonnot that simple, lemme provide a patch21:39
tmlindok21:39
freemangordontmlind: https://pastebin.com/CzYV1pxi21:40
freemangordonnot even compile-tested, but you should get the idea21:40
freemangordonif you apply and run ninja from build directory, in theory only pvr_dri should be rebuid21:41
tmlindok building now, had to manually apply as tabs got hosed21:49
freemangordonoh, sorry about that21:51
tmlindnp, so i try to run glmark2-es2-wayland and see if oopses?21:53
freemangordondrm, not wayland21:53
freemangordonor, wayland oopses too?21:54
tmlindheh i don't think drm works for me :) yeah wayland glmark2 oopses also21:54
freemangordon-drm used to work21:54
freemangordonon 5.1021:54
freemangordonoh, wait21:54
uvos-drm never worked21:54
uvoson chomeos blobs21:55
freemangordonit still works, with blobs21:55
uvos(for me)21:55
freemangordonyeah21:55
tmlindoopsed21:55
freemangordon:(21:56
uvosdid you now try wayland or drm?21:56
tmlindwayland21:56
freemangordontry drm21:56
freemangordonyou can rmmod/modprobe21:56
freemangordon230 files remaining here21:57
freemangordon:)21:57
tmlindheh somehow rmmod no longer works for me..21:57
freemangordonhmmm21:58
freemangordonweird, works every time here21:58
tmlindafter the glmark2 oops, need to reboot21:58
tmlindi'll try again tomorrow actually, zzz time for me here21:58
freemangordonok21:59
tmlindok later21:59

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