libera/#maemo-leste/ Friday, 2021-12-24

Wizzupfreemangordon: when you get to it, conversations is also a good test case for some corruption00:42
Wizzupthere are two bars on the side of the screen that weirdly become 'transparent' or something where the previous (stacked) window becomes visible00:43
WizzupI would suggest to just copy your n900 rtcom el db and try it00:43
Wizzupthis is also only on the pin6400:44
mighty17[m]does video accl work out of box for omap4?08:08
mighty17[m](its a mess with ducati :P)08:08
freemangordon1Wizzup: about llvmpip capture, who is rendering using llvmpipe?09:07
freemangordon1X or hildon-desktop09:08
freemangordon1ah, hildon-desktop09:08
freemangordon1Wizzup: what I see in those traces is that 2D rendering is incomplete by the time application texture is rendered to back buffer09:09
freemangordon1what's with my nick?!?09:09
freemangordonWizzup: so, could you replace glFlush calls in glamor with glFinish and retry? or, use llvmpipe in glamor.09:10
freemangordonhmm, hmm, no, looks something is wrong with scissor09:18
Wizzuphi09:59
Wizzupmighty17[m]: out of the box on what?09:59
freemangordonWizzup: hi09:59
Wizzuphi09:59
freemangordonWizzup: I am looking at llvmpipe capture09:59
mighty17[m]Wizzup: well, espresso (the tab) with omap2plus_defconfig ig10:00
Wizzupfreemangordon: right10:01
Wizzupmighty17[m]: well it's a complicated question since it can refer to many things, iirc you need dts setup, clocks correct, userspace and X set up, etc etc10:01
Wizzupmighty17[m]: but you've been working on this so that further makes me not understand :D10:01
mighty17[m]Wizzup: i just mean video playback (ie decoding?)10:03
freemangordonWizzup: so, if you look at frame 2210:05
freemangordonWizzup: do you have 5 minutes now?10:06
freemangordonwe can postpone that for later on10:06
Wizzupfreemangordon: I have time now10:07
Wizzupyou want me to look using qapitrace that is llvmbacked right10:08
freemangordonyes10:08
freemangordonhmm10:08
freemangordonwait, I think this will take as more tim10:08
freemangordon*time10:08
freemangordon5 minutes will not be enough10:09
freemangordonI have really 5 minutes now and have to go shopping10:09
freemangordonok, we made a deal with  GF, she will go alone :)10:10
Wizzupdon't mean to disturn :)10:10
freemangordonno, it is ok10:10
Wizzupok10:10
Wizzupmighty17[m]: no, we haven't focussed on that at all10:10
freemangordonso, please open llvmpipe trace in qapitrace10:11
Wizzupyes, but should my qapitrace be llvmpipe backed as well?10:11
freemangordondoesn;t matter10:11
Wizzupok10:11
freemangordonI think10:11
Wizzupit renders differently with amdgpu than with llvmpipe10:11
WizzupI will use llvmpipe with it10:12
freemangordonwith llvmpipe qapitrace it renders fine, right?10:12
Wizzupyes10:12
freemangordonno, we want the proken rendering10:12
Wizzupok10:12
freemangordon*broken10:12
Wizzupframe different already has a different result it looks likle10:12
freemangordonhmm?10:13
freemangordoncan't parse10:13
WizzupI am looking at frame 20 :-)10:13
Wizzupqapitrace renders it differently with different renderers10:13
Wizzupis all I am saying10:13
freemangordonyeah, I think frame 19 is the first broken one10:13
mighty17[m]Wizzup: oh alrighty!10:13
Wizzupfreemangordon: ok, do you want me to just type what I see or wait for specific requests10:14
freemangordonWizzup: my idea is to try to understand where data uploaded with glTexSubImage2D disappears10:17
freemangordonI mean - to try to analyze frames 19- together in an attempt to understand WTF is going on10:18
freemangordontoo bad we can't see the contents of texture 10610:19
freemangordonoh, actually we can10:19
freemangordonlook at call 220510:19
freemangordonyou can export the data from there and open it with gimp10:20
Wizzupok10:21
Wizzupso the glTexSubImage2D call10:22
Wizzupyou want me to click export and look at the data10:22
Wizzupmost of the data is nan10:22
freemangordonthis is unsigned byte, not float ;)10:23
Wizzupoh10:23
freemangordonthis is RGB data10:23
freemangordonso, you can export and open with gimp10:23
freemangordonas 'raw' image10:23
Wizzupok10:23
freemangordonglTexSubImage2D call gives you the dimensions10:24
Wizzupok10:25
WizzupI have it open10:25
Wizzupit is osso-xterm contents10:25
freemangordonmhm10:25
freemangordonand looks correct10:26
Wizzuphttps://wizzup.org/maemo-summoner-hildon-desktop-llvmpipe.trace_call_2205_buffer.png10:26
freemangordonnow, what I think we should look for, is why this texture (106) contents is not correctly updated10:26
freemangordonI would say glTexSubImage2D is broken10:27
Wizzupwhen can I see this texture?10:28
freemangordonunfortunatel apitrace is not smart enough it seems10:28
freemangordonto track textures10:28
freemangordonyou can;t see it10:29
freemangordonbut, we can decide what it's contents is based on glTexSubImage2D calls10:29
freemangordonWizzup: so, texture 106 is osso-xterm texture and I see no FBO attached to it10:31
freemangordonso, the only way this texture can be changed is by glTexSubImage2D, IIUC10:31
freemangordonto me, at the end of frame 19, both framebuffer and texture 106 are correctly rendered, agree?10:32
Wizzuplet me check10:32
Wizzupno10:33
Wizzupthe framebuffer is not correct, or rather, it is different between llvmpipe and amdgpu10:33
Wizzupamdpgpu renders some random artifacts of hildon-home10:33
Wizzupon framebuffer10:33
Wizzupon llvmpipe it is the terminal10:33
freemangordonNV here renders it fine10:33
freemangordonthis is call 232910:34
WizzupI was looking at 233010:34
Wizzup2329 is ok10:34
rafael2kmorning - the 5.15 for pp is here: https://github.com/rafael2k/sunxi64-linux/tree/mobian-5.15 - I'm trying to import it to my pine64-linux under name maemo-kernel-5.1510:34
freemangordonno, this is the 'new' buffer what you see there10:34
Wizzupfreemangordon: ok10:35
freemangordonlike, framebuffer after the swap10:35
Wizzuprafael2k: did you try my git instructions?10:35
freemangordonofc it is not ok10:35
rafael2kWizzup: just woke up, not yet - still downloading the repo from github10:35
freemangordonso, now (2330) we have good front buffer and texture 106 with correct contents10:35
Wizzupfreemangordon: presumably, I can't check out the texture atm, but if it was used to render the result then yes10:36
Wizzupfreemangordon: as in I don't see texture 106 anymore but I guess it was freed or something10:36
freemangordonit was used in call 223610:37
freemangordonno, 106 is not deleted10:37
freemangordonit is just that apitrace does not show it for us10:37
Wizzupok, it is also not in the gl state10:37
freemangordonyes, because it is not current10:37
Wizzupok10:37
freemangordonbut I dont see it deleted10:37
Wizzupok10:37
freemangordonsec, need some coffee10:38
Wizzupsame..10:38
Wizzupthere's this car alarm that has been beeping every 5 seconds for the whole night10:38
freemangordon:(10:38
freemangordonok, so at the very beginning of frame 20 we have another glTexSubImage2D upload to texture 10610:40
freemangordoncall 2333 that is10:41
rafael2kWizzup: did not work the git command, I get fatal: ../sunxi64-linux/.git: '../sunxi64-linux/.git' is outside repository at '/home/rafael2k/programs/pinephone/pine64-kernel'10:43
rafael2kgit add remote mobian-5.15 ../sunxi64-linux/.git10:43
Wizzuprafael2k: please search around on how to do it, it can be done10:44
Wizzupfreemangordon: let me look10:44
freemangordonwhich uploads a 720x29 black rectangle at 0,18210:44
Wizzuphm10:45
Wizzupyeah, mostly black rectangle10:45
Wizzupit also contains white10:45
freemangordonnot here10:46
Wizzupare you looking at the frame data?10:46
Wizzupvertex ata*10:46
freemangordonno, I am looking at the exported data10:47
Wizzuprafael2k: I can help later but not atm10:47
freemangordonyes, vertex data10:47
Wizzupfreemangordon: so vertex data starts with this for me: 0) [255, 255, 255, 255]10:47
freemangordonyeah, correct10:47
Wizzupthat is white, not black10:48
Wizzupbut ok10:48
freemangordonright10:48
Wizzupit doesn't really matter I think10:48
freemangordonmhm10:48
rafael2kWizzup: no rush with this10:48
freemangordonWizzup: so in call 2356 this is rendered to framebuffer10:50
Wizzuprafael2k: https://stackoverflow.com/questions/10603671/how-to-add-a-local-repo-and-treat-it-as-a-remote-repo10:50
Wizzuprafael2k: you just need absolute path10:50
rafael2kWizzup: tks10:51
Wizzupfreemangordon: looking at the code it seems to do glTexSubImage2D, some scissor stuff, and then calls glBindTexture on 106 again, should it not do anything else?10:52
Wizzupcan it just call bind again?10:53
freemangordonyes10:53
freemangordonthis is fibe10:53
freemangordon*fine10:53
WizzupI guess the glEnable for gl_scissor_text makes it draw on the texture?10:53
freemangordonas I said, texture is not deleted, so it is a valid object10:53
freemangordonno10:53
freemangordonscissor puts 'boundaries' on the target FBO and nothing gets rendered aoutside those10:54
freemangordon*outside10:54
Wizzupok10:54
freemangordonWizzup: could you compare the visual contents of back buffer at start of frame 20 between amd and llvmpipe?10:56
Wizzupat the glPixelStore?10:57
Wizzupso 2331?10:57
freemangordonyes10:57
freemangordonI think the diff comes from frame 18, but still10:57
Wizzuptotally different10:57
Wizzupit's just like after the swap call10:58
freemangordonyes, exactly10:58
freemangordonbut, I see 720x720 osso-xterm10:58
freemangordonnot 720x1384 xterm10:58
freemangordonand clutter seems to only draw the difference10:58
WizzupGL_BACK for me is 800x144010:59
Wizzupare you talking about something else?10:59
freemangordonyes, but the osso-xterm there is 720x72010:59
freemangordonor somesuch10:59
Wizzupoh, right10:59
Wizzupthe initial height10:59
rafael2kWizzup: better I leave this git messing up with someone who knows what is doing - I'll focus on the kernel setup / tesing10:59
freemangordonWizzup: look at call 208211:00
Wizzupfreemangordon: ok11:01
Wizzupfreemangordon: yeah so GL_BACK is still 800x1440 but the terminal isn't that size yet11:01
freemangordonright11:01
freemangordonGL_BACK is the size of the screen11:02
Wizzupyeah11:02
freemangordonnot really important11:02
Wizzupok11:02
freemangordonbut, what I think happens is that we have difference in osso-xterm images between 2 back buffers11:03
freemangordonnow, the question is why this does not bother llvmpipe rendering11:04
Wizzupor nvidia11:05
freemangordonon nvidia rendering is broken too11:05
Wizzupnot for meridion11:05
Wizzuphe also tested it11:05
Wizzupsee https://wizzup.org/dirlist/maemo-leste/lima/dump-images/11:06
Wizzupbut could perhaps be coincidence in buffer mgmt or something maybe11:06
Wizzupfreemangordon: when you write 'we have a difference in osso-xterm images between 2 back buffers', what do you mean exactly11:08
WizzupI guess you're suggesting that mesa considers the back buffers fair game to change them in the meantime and we expect it not to changfe11:09
Wizzupto drawing only the difference then gets broken?11:09
Wizzups/to/so/11:09
freemangordonWizzup: rather - "clutter expects back buffers to be equal but they are not because application window has not been resized when first texture upload happened"11:10
freemangordonclutter expects equal initial condition11:11
freemangordon*conditions11:11
freemangordonI guess this could happen because pp is very fast11:11
Wizzuphm11:12
freemangordonWizzup: can we have some online mtg, I cannot run llvmpipe retrace here11:13
freemangordonI would like to see you screen share of frame 1811:13
Wizzupsure11:13
WizzupI'll send you a msg11:13
freemangordonno audio/vide, just screen share11:14
Wizzupyeah ok11:14
freemangordonI have no camera/mic here attached anyways :)11:14
freemangordonyes :)11:16
Wizzupok11:16
freemangordonso, it is the same on llvmpipe11:16
Wizzupthe apitrace on the right is llvmpipe11:17
Wizzup(rendered)11:17
freemangordonyeah11:17
Wizzupok11:17
freemangordonI can't see the framebuffer11:18
freemangordonthanks :)11:18
freemangordonso, those are same, no?11:18
Wizzupyeah11:18
freemangordonok, can we see what happens in frame 20?11:19
Wizzupwhat call?11:19
freemangordoncall 235611:19
freemangordonnot possible :)11:20
freemangordoncan we check @233111:20
freemangordonhere11:21
freemangordonsee framebuffer contents11:21
Wizzupdifferent terminal sizes11:21
freemangordonright11:21
freemangordoncould you check on the previous call?11:22
freemangordonlast one of frame 1911:22
freemangordonswapbuffers one11:23
freemangordonhow's that possible?11:23
freemangordonI would say qapitrace lies to us11:23
Wizzuphm, why?11:24
freemangordonI mean - this is the same buffer @start of frame 20, no?11:24
Wizzupright11:24
freemangordonbut those were different 2 minutes ago :)11:24
freemangordonugh11:25
Wizzuplooks like they are different after glPixelStorei11:25
Wizzupor do I misunderstand?11:26
freemangordonglPixelStorei should not make any change to the framebuffer11:26
freemangordonit just sets the format for GlTexImage etc11:26
Wizzupok11:26
Wizzupwell the behaviour is the same every time within qapitrace at least11:27
freemangordonbut!11:27
freemangordonthe right framebuffer cannot be correct11:27
Wizzupthe llvmpipe rendered one?11:27
freemangordonyes11:27
Wizzupweird, that is the correct though, for us11:27
freemangordonbecause we uploaded 720x720 osso-xterm texture11:27
freemangordonhow this come to be fullscreen?11:28
Wizzupare you confusing frame 18 and 19?11:28
* freemangordon checks11:28
Wizzupin frame 18 it is small11:28
Wizzupin frame 19 it is normal size11:28
freemangordonno11:28
freemangordonwhich call in frame 18 that is?11:28
freemangordonah, right11:29
freemangordonwe uploaded 720x720 in frame 1811:29
freemangordonthis become front buffer in frame 1911:29
freemangordonand become back buffer again in frame 20, right?11:29
freemangordonunless we do 3-buffer11:30
freemangordonmaybe check the pointer11:30
freemangordonparameterg of swapbuffers11:30
Wizzupok11:30
Wizzuplooks like only two pointers11:30
freemangordonyeah, we have 2 buffers only11:30
Wizzupthe same order every time11:30
freemangordonmhm11:31
freemangordonso, how 720x720 from frame 18 backbufer become fulscreen in frame 2011:31
freemangordon?11:31
freemangordonthis one, yes11:31
freemangordonthat drawarrys, which texture uses?11:33
freemangordonthe one that draws it "correctly"?11:33
Wizzupwhich drawarrays11:33
freemangordonthe one that draws correct osso-xterm on llvmpipe11:34
freemangordon2261 I thin11:34
freemangordon*think11:34
freemangordoncould you click on the previous one?11:35
freemangordonprevious?11:35
freemangordonhmm, this is frame 1911:35
freemangordonthings here are correct11:36
freemangordonwe shall look at either 18 or 2011:36
freemangordonWizzup: I mean - can you find the glDrawArrays call that magically turns 720x720 to fullscreen11:37
freemangordonon llvmpipe retrace11:37
WizzupI don't think that happens, there is a glclear and then another draw11:37
Wizzupin frame 1911:37
freemangordonbut how then we start with correct back buffer in frame 20?11:37
freemangordonframe 19 is ok11:38
Wizzupnot sure11:38
Wizzupbrb 1 minute11:39
Wizzupb11:42
freemangordonhmm11:44
freemangordonwhere is that uploaded?11:44
Wizzupwhich one?11:44
Wizzupfor the record I added filtering to only show certain events11:45
freemangordonyeah11:45
freemangordonwhich call uploads 720x720 texture11:45
Wizzupin frame 18?11:46
freemangordonmhm11:46
Wizzup1941?11:47
* freemangordon checks11:49
freemangordonno, that's the draw11:50
freemangordonnot the upload11:50
freemangordonso, it is texture 6611:50
Wizzuphow do you know? sorry11:51
freemangordonwe want either glTexSubImage2D or glTexImage2D call11:52
freemangordonthose upload image data11:52
WizzupI don't see the call that uploads texture 6611:52
freemangordonmaybe it is 67, I am trying to find11:53
freemangordon101611:57
freemangordonis the first upload11:58
freemangordonI think 119311:58
freemangordonyep, this is it11:59
freemangordonosso-xterm in landscape11:59
Wizzupok12:00
freemangordonthis is 6612:00
WizzupI think I am losing track of what we are investigating12:02
freemangordon:)12:02
freemangordonWizzup: I want to understand how that lanscape 1440x594 texture becomes fullscreen portrait12:03
freemangordontexture 66 that is12:03
Wizzupok, but it shouldn't ever touch a swapped out buffer,no?12:03
Wizzupoh, hm12:03
WizzupI guess some frames in the middle are like the start animation12:04
freemangordonyeah12:04
freemangordonok, afk for a while, lunch12:04
freemangordonbrb12:04
Wizzupok, I'll close the screen sharing for now12:04
freemangordonok12:05
freemangordonWizzup: to me call 2338 is wrong12:25
Wizzupthe glScissor call?12:26
freemangordonyes, to me all glScissor calls are wrong12:26
Wizzupok, do you mean they do not have the right arguments12:27
freemangordonyes12:27
freemangordonI think we shall render the whole texture12:27
freemangordonnot only part of it12:27
freemangordonif we take frame 20 as example12:29
freemangordoncall 2356 should have scissors with the size of the texture, not the size of the canged part12:29
freemangordon*changed12:30
freemangordonat least that's my understanding12:30
Wizzupok12:31
freemangordoncould you capture the same trace from within VM12:31
freemangordon?12:31
WizzupI need to take a break now, brb12:31
freemangordonok12:31
Wizzupuh12:31
freemangordonI can do it too12:31
Wizzupok12:31
Wizzupty12:31
freemangordonlater on12:31
Wizzupbrb12:31
Wizzupb12:57
freemangordonWizzup: to me it seems llvmpipe retrace ignores scissors, that's why it renders correctly13:05
Wizzupah13:05
freemangordonthis is a bug though :)13:05
Wizzupjust to be clear by the way, this might only be a bug for the fallback path?13:05
Wizzup(there TFP is not available?)13:05
Wizzups/there/where/13:06
freemangordonthis is a bug in mesa13:06
Wizzupright, I mean, a bug in mesa llvmpipe13:06
freemangordonmesa/llvmpipe13:06
freemangordonyeah13:06
Wizzupinteresting, given that the nvidia binary driver also has the problem13:06
freemangordonwhat do you mean "has the problem"13:06
freemangordonI see corrupted rendering here as well13:07
freemangordonbecause it obeys scissors13:07
freemangordonbut, I think we shall focus on TFP path13:07
freemangordonthere we have broken textures13:07
freemangordonand this I would say is a bug in either glamor or in lima13:07
freemangordonbasically, 2D path13:08
Wizzupphone sec13:11
Wizzupfreemangordon: uh13:14
Wizzupso the llvmpipe trace file is not using TFP, agreed?13:14
WizzupI think we ought to fix that first13:17
Wizzupand then look at potential bugs in the TFP path13:17
freemangordonyes, it is not using TFP13:17
freemangordonbut, TFP is extension which is either supported or not13:17
freemangordonwe cannot 'fix' it13:17
Wizzupso the scissor calls are not wrong?13:18
freemangordonin TFP path?13:18
Wizzupno, in the path we were looking at together13:18
freemangordonthis is non-TFP path13:18
Wizzupyes13:18
Wizzuplet me clarify13:18
freemangordonI think those calls are wrong13:18
Wizzupwe looked at non-tfp path, and we found a bug, maybe, I think it is worth fixing13:18
freemangordonnot really13:19
freemangordonwe should not be using fallback path13:19
freemangordonthis ruins the performance13:19
freemangordonbasically, this leads to glReadPixels afaik13:19
Wizzupmaybe, but lima with fallback path is already much better if we fix it I think13:19
freemangordonno, we shall fix TFP path13:20
WizzupI am not saying we shouldn't look at the other problem13:20
Wizzupbut keeping this path broken seems silly13:20
Wizzupthen we should just not have it at all13:20
freemangordonI agree, but this should not be used anyways13:20
Wizzupit is being used in my VM and probably most VMs that people use, as well as upon initial bringup of most devices13:20
Wizzupbut I shall not try to argue the merits of fallbacks now13:20
freemangordonWizzup: at least on vmware and vbox it is TFP that is used13:21
WizzupI think your setup is special, the one we recommend on the wiki is not acceleration (but still fast on modern cpu)13:21
Wizzupmy vm:13:22
Wizzupuser@devuan:~$ glxinfo |grep -i 'renderer string'13:22
WizzupOpenGL renderer string: llvmpipe (LLVM 7.0.1, 256 bits)13:22
freemangordondoes it have GL_OES_EGL_image_external?13:23
freemangordones2_info | grep external13:23
freemangordonGL_RENDERER: llvmpipe (LLVM 7.0.1, 256 bits) :p13:24
freemangordonand yes, we have GL_OES_EGL_image_external13:24
freemangordonwhich is TFP13:24
Wizzupwe don't check for that extension in clutter13:24
freemangordonsure we do13:25
freemangordonsec13:25
Wizzupwe look for EGL_NOKIA_texture_from_pixmap and EGL_KHR_image_pixmap13:25
freemangordonhmm13:26
WizzupG_MESSAGES_DEBUG=all (or w/e the env var is called) will show if it doesn't find them13:27
freemangordonGL_OES_EGL_image13:28
freemangordonbut yeah13:29
Wizzupso pretty sure vm uses fallback path13:29
Wizzupbut can check now if you want13:30
freemangordonif you can capture trace, it will be perfect13:30
freemangordonI will do it later on if not13:30
Wizzup(/usr/bin/hildon-desktop:4149): ClutterEGL-DEBUG: 13:31:05.368: clutter_eglx_texture_pixmap_init: checking for texture_from_pixmap13:31
Wizzup(/usr/bin/hildon-desktop:4149): ClutterEGL-DEBUG: 13:31:05.368: clutter_eglx_texture_pixmap_init: checking for EGLImage 'texture from pixmap' ability13:31
Wizzup(/usr/bin/hildon-desktop:4149): ClutterEGL-DEBUG: 13:31:05.368: clutter_eglx_texture_pixmap_update_area: Falling back to X1113:31
freemangordonok13:31
WizzupI can capture a trace but it will be just like me other llvmpipe one13:31
freemangordonok, but if we cannot reproduce int the VM I am afraid it will be very hard to fix13:32
freemangordonmaybe I shall try another renderer/driver13:32
freemangordonor in vmware13:32
freemangordoniirc it is not using llvmpipe13:32
Wizzupyou have a pinephone, no?13:33
freemangordonyes, I have13:33
Wizzupbut please be more clear about 'if we cannot reproduce it'13:33
freemangordonif we cannot reproduce broken rendering13:33
freemangordonin the VM13:33
Wizzupif the scissor calls are wrong, we could attempt to fix, trace that result and rerun on amdgpu or something13:33
freemangordonunderstand, but this will be really hard13:34
Wizzuplet me think about some other ways13:34
Wizzupdoes xnest support 3d/mesa?13:34
freemangordonok, so we have the broken an all but llvmpipe, right?13:34
freemangordon*that broken13:35
Wizzupand meridion's nvidia binary driver13:35
Wizzupper the apitrace image dumps13:35
freemangordonweird13:35
Wizzupfwiw I am fine with looking at the TFP bug now, just wanted to make it clear that we make widespread use of the fallback path13:36
freemangordonyeah, agree13:37
freemangordonhmm, I doubt nvidia driver ignores scissirs13:37
freemangordon*scissors13:37
Wizzupit looks like xephyr/xnest doesn't do hw accel rendering, only sw (so llvmpipe)13:39
freemangordonmaybe we shall capture on d413:39
WizzupI tried that13:39
Wizzupapitrace segfaults13:39
Wizzupin our pvr mesa so13:39
freemangordonI remember I sent a patch for that ;)13:39
Wizzupto apitrace?13:40
freemangordonmhm13:40
Wizzupok13:40
WizzupI thought maybe it was a bug in our pvr mesa stuff13:40
freemangordonlemme try to find it13:40
Wizzuphttps://github.com/apitrace/apitrace/issues/599 ?13:42
freemangordonyes13:43
Wizzupso I'll build it on the droid4 I guess?13:43
freemangordondon;t really remember, but yeah, I think it makes sense to try upstream apitrace13:43
Wizzupand we will use this trace how?13:46
Wizzupbtw, explain to me why llvmpipe also renders lima trace fine13:46
Wizzupif it doesn't support TFP13:46
WizzupI guess it does support TFP13:46
freemangordonwe will use that trace to compare the scissors13:47
freemangordonrertace does not need to support TFP13:48
freemangordonit already has the texture data13:48
WizzupI will build tag 9.0 of apitrace, tag 1.0 requires newer cmake (sigh)13:49
freemangordonyeah13:49
Wizzupautotools almost never has these problems :)13:49
freemangordonnot in the last 10 years at least13:49
Wizzupright13:50
freemangordonhmm, see13:52
freemangordonseems we have the same issue with tfp path13:52
Wizzupright13:52
freemangordonif you look at frame 2713:53
freemangordontexture in call 2340 looks fine to me13:53
freemangordonbut scissor is only 55 pixels tall13:54
rafael2kautotools rocks13:54
freemangordon:nod:13:54
Wizzupfreemangordon: let me open the lima trace13:54
freemangordonok13:55
freemangordonif you change height in call 2325 to be 1440, the frame renders correctly13:55
Wizzupah13:56
freemangordonok, seems something has been optimized13:56
freemangordonso scissor box includes only the updated area13:57
freemangordonand somehow it counts on framebuffer to contain valid data13:57
Wizzupyeah13:57
freemangordonfrom previous draws on a different framebuffer13:57
Wizzupwhich I guess they cannot rely on13:58
freemangordonyes, but why do they do?13:58
freemangordonalso, this seems to work on pvr13:58
Wizzupgood question, llvmpipe is fine with it13:58
Wizzupyes13:58
freemangordonto me llvmpipe simply ignores the scissors13:59
freemangordonbut, we have pvr and at least one nvidia that does it correctly13:59
freemangordonwhich does not make sense to me by looking at the trace14:00
Wizzupyes and the nvidia one run was not used for X, it was secondary render14:00
freemangordonor, something has changed between es2 and es314:00
Wizzupwhich could explain the clean buffers14:00
freemangordonclean?14:00
Wizzupnot dirty/wrong14:00
Wizzup13:57 < freemangordon> and somehow it counts on framebuffer to contain valid data14:00
freemangordonyeah14:01
freemangordonbut how that valid data end up there?14:01
freemangordonunless they use common memory for both back buffers14:01
Wizzupfrom previous calls/swaps?14:01
freemangordonwhich does not make sense at all14:01
freemangordonhmm, maybe there exist a way to do "hidden" copy on swap14:02
Wizzupyeah14:02
freemangordonbut I have never heard of anything like that14:02
freemangordonwell, actually there is such thing like buffers age14:03
freemangordonand if clutter 0.8 is smart enough to use that, it might explain what we see14:03
freemangordonbut I am not sure it is14:03
freemangordonsee https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_buffer_age.txt14:04
freemangordoninteresting reading https://gitlab.freedesktop.org/lima/mesa/-/issues/5914:16
freemangordonI wonder if default is EGL_BUFFER_PRESERVED14:17
freemangordon"The initial value of EGL_SWAP_BEHAVIOR is chosen by the implementation. "14:17
Wizzupheh14:18
Wizzupironically I saw this two days age14:21
Wizzupago14:21
Wizzupwhen I was just looking at the differences in extensions14:21
Wizzupdidn't think much of it but did look it up14:22
Wizzupfreemangordon: fwiw apitrace with your patches in there still segfaults in libGLESv2_PVR_MESA.so14:24
freemangordon:(14:24
Wizzupbut sounds like the buffer age might very well be the thing14:24
freemangordonI guess weh shall capture this with pvrtrace14:24
Wizzupmaybe we can try to set the swap behaviour first?14:25
freemangordonmhm14:25
freemangordonjust cloned clutter, to see if this is already set14:25
Wizzupno calls to eglSurfaceAttrib14:25
Wizzupin clutter 0.814:25
freemangordonyeah14:26
freemangordonwill try it first in the VM14:26
Wizzupok14:27
WizzupI will need to go to a shop quickly before they close14:27
freemangordonwill provide patch if it doesn;t break anything14:27
freemangordonok14:27
WizzupI'll be back in 25mins14:27
Wizzupor so14:27
freemangordonok14:27
freemangordonWizzup:  changes nothing in the VM at least14:50
freemangordonI set it to   EGL_BUFFER_DESTROYED, hoping that it will break something14:51
freemangordonmaybe it is simply ignored by mesa14:51
rafael2kso, if nothing goes wrong in the testing, I think next pp kernel is ready, based on 5.15.1014:51
rafael2kturning the pp in a build machine <-14:52
freemangordonWizzup: for you to test when have time https://pastebin.com/1pYU4A0514:53
rafael2kI'll upload the new 5.15 based pp packages soon for anyone who also wants to test14:53
freemangordonanyway, lemme take a capture14:54
Wizzuphi14:56
Wizzup14:51 < freemangordon> maybe it is simply ignored by mesa14:57
Wizzupyou mean llvmpipe here specifically right14:57
freemangordonyeah14:57
Wizzupok14:58
Wizzuplet me warm up my fingers and try the patch14:58
freemangordonok, the captured trace is broken on nvidia :)15:00
Wizzupwrt scissor?15:00
freemangordonwith stock clutter15:00
freemangordonwithout that patch15:00
freemangordonI'll capture now with a apatch15:00
freemangordon*with the patch15:00
Wizzupok15:01
WizzupI applied it now and the rendering issues with TFP path still exist15:01
Wizzupon lima that is15:03
freemangordonthe same on retrace15:04
freemangordonugh15:04
freemangordonseems this attribute is not supprted15:04
freemangordonon nvidia that is15:04
Wizzup    1) What are the semantics if EGL_BUFFER_PRESERVED is in use15:05
Wizzup        RESOLVED: The age will always be 1 in this case.15:05
Wizzuphm15:05
freemangordonmhm15:05
Wizzupbtw we can query for the swap behaviour15:06
Wizzuphttps://www.khronos.org/registry/EGL/sdk/docs/man/html/eglQuerySurface.xhtml15:06
Wizzupbtw https://dpaste.com/DYNSC9WK615:07
freemangordonyeah15:07
freemangordonbut I guess this is harmless15:07
Wizzupbut that is only in error path15:07
freemangordonmhm15:07
WizzupI see this in cogl:15:14
Wizzup      /* Some implementation require a clear before drawing15:14
Wizzup         to an fbo. Luckily it is affected by scissor test. */15:14
Wizzup      /* FIXME: test where exactly this is needed end whether15:14
Wizzup         a glClear with 0 argument is enough */15:14
Wizzupfreemangordon: wb15:18
Wizzupfreemangordon: clutter/cogl/gles/cogl-fbo.c has some weird comments15:19
Wizzupfreemangordon: regarding scissor and glclear15:19
freemangordonmy PC just reset out of the blue :(15:22
Wizzup:(15:22
freemangordonwill needs some time to restore the environment15:22
Wizzupok15:23
Wizzup  * clutter/clutter-stage.c: modified comments, made GLES use glScissor based15:23
Wizzup    partial updates rather than glViewport (which was too inaccurate and not15:23
Wizzup    actually much faster with current drivers)15:23
WizzupI suppose that might clarify15:23
Wizzupclutter/clutter-stage.c has some weird comments as well regarding DOUBLE_BUFFER and VIEWPORT_DAMAGE15:25
Wizzupseems like they struggled quite a bit with old n900 drivers to make this work well15:25
freemangordonyou mean lines 75-?15:27
freemangordonright15:27
Wizzupyeah glScissor is also mentioned in the changelog15:27
freemangordonugh, it seems pvr driver do blit, not flip15:28
Wizzupand there is that comment that they only reason they use scissor test is to clear a fbo or something15:28
freemangordonok, maybe you shoudl set that to 1 and test15:28
Wizzupwhich var in particular?15:28
freemangordonDOUBLE_BUFFER15:28
Wizzupnot VIEWPORT_DAMAGE?15:28
freemangordonno15:29
Wizzupok15:29
freemangordonthis shoudl fix it15:29
freemangordonthis is exactly the damage tracking we are missing, IIUC15:29
WizzupI had some other local comments15:30
Wizzupcode changes*15:30
Wizzuplet me remove those15:30
freemangordonI guess this should also fix tearing, but not really sure15:31
freemangordonon d4 that is15:31
Wizzupmost problems are gone15:31
Wizzupthe osso selection in particular is still problematic15:32
Wizzupbut the conversations bug is gone15:32
Wizzupoh, firefox is still messy15:32
Wizzupok I spoke too soon15:32
Wizzupbtw, hum: (hildon-desktop:10764): ClutterEGL-DEBUG: 15:33:09.110: clutter_eglx_texture_pixmap_paint: X errors15:33
Wizzupoh that is maybe just when windows are closed15:33
freemangordonmhm15:34
Wizzupyeah so I thought it got better, and maybe it did some, but there are still problems15:35
WizzupI need to go back to my test cases and try15:35
Wizzupso the virtual keyboard renders ok now in portrait always15:35
Wizzupthe text input applet also no longer has trouble15:35
freemangordonis it fixed for TFP or for x11 case?15:36
Wizzupnothing is entirely fixed15:36
freemangordonI think TFP has other issues15:36
Wizzupok15:36
Wizzuplet me force fallback15:36
WizzupI had TFP on15:36
freemangordonyeah15:36
Wizzupno, several problems still exist15:40
Wizzupthose could be entirely different problems15:40
freemangordonmhm15:40
Wizzupspecifically vkb is ok15:40
freemangordonI captured a trace in the vm15:40
freemangordonlets see if replay on nv will be ok15:41
Wizzupso what is fixed with fallback + double buffer = 1 + buffer preserved is15:42
Wizzup1. vkb rendering (it shows ok, and it also doesn't 'jump' up for every key press)15:42
Wizzup2. display and text input applets in cpa (sometimes those would 'bounce' forever)15:42
freemangordonthis affects TFP path as well15:42
Wizzup3. firefox doesn't flicker insanely or at all really15:42
Wizzupwithout fallback, firefox flickers insanely15:42
Wizzupand in either case, the osso-xterm selection bug is -not- fixed15:43
freemangordonit is, in replay15:43
freemangordonplease capture a trace15:43
Wizzupinteresting15:43
freemangordonas my capture here in VM is ok on NV15:43
freemangordonhmm, wat was the command to replay?15:44
Wizzupthere is apitrace replay15:44
Wizzupbut it renders way too fast15:44
Wizzupso I just do dump-images and look at them all15:44
freemangordonok15:44
Wizzupso to be clear, you want me to capture another osso-xterm select regions with my finger session15:45
Wizzupbut this time with the buffer management change, the double buffer change and the fallback change?15:45
freemangordonhmm, what is "buffer management change"? swap behaviour?15:46
Wizzupyes15:46
freemangordonno, remove that15:46
freemangordondouble-buffer change should be enough15:46
freemangordonand what is "fallback change"?15:46
Wizzupuse_fallback = TRUE;15:47
Wizzupiow force disable tfp path15:47
freemangordoncan;t we do that from a env var?15:47
Wizzupprobably but this was way easier for me15:48
freemangordonWizzup: ok15:48
Wizzupalso, did you see this:15:48
WizzupWe *should* be double-buffered, but because we're just blitting in15:48
WizzupglSwapBuffers rather than flipping, we can do without the extra areas15:48
Wizzupdrawn. THIS MUST BE SET TO 1 IF FLIPPING IS EVER IMPLEMENTED15:48
freemangordonyes15:48
WizzupI mean I guess you did15:48
Wizzupok15:48
freemangordonand we are flipping ;)15:48
freemangordonI guess on fremantle pvr blits, thats why the tearing15:48
Wizzuptearing on the d4 you mean15:48
Wizzupwell this was a useful exercise then at least15:49
freemangordonno, I mean on fremantle15:49
Wizzupok15:49
freemangordonbut I expect this change to fix tearing on d415:49
Wizzupthat would be neat15:49
freemangordonthe point is:15:49
freemangordonback then, on fremantle, because pvr or x11 or no idea who was/is using single buffer to do blits, we have that tearing15:50
freemangordonbut clutter tracks dameage only for the last frame15:50
freemangordonnowdays we have a real double-buffering, so we must enable last 2 frames damage tracking15:51
freemangordonthis is what that note says15:51
freemangordon*IIUC* :015:51
freemangordon:p15:51
freemangordonso, please do 2 capture, both with DOUBLE_BUFFER=115:51
freemangordonone with TFP and another without15:52
Wizzupof osso-xterm with selection?15:52
freemangordonyes15:52
Wizzupok15:52
Wizzupdo you want lima and llvmpipe renders15:52
freemangordonI think the TFP one will be needed to track why glamor or lima does not render pixmap texture correctly15:52
Wizzups/renders/traces/15:52
freemangordonthat would mean 4 traces, no?15:53
Wizzupi.e. shall I do the same with LIBGL_ALWAYS_SOFTWARE=115:53
Wizzupyes15:53
WizzupI suppose we don't need it now15:53
freemangordonyeah15:53
freemangordonwe may want to do llvmpipe glamor though15:53
freemangordonbecause I think glamor has bugs, no matter what uvos says :p15:53
freemangordonbut, not now15:54
Wizzuphow does this look to you:15:54
WizzupMESA_DEBUG=flush,incomplete_tex,incomplete_fbo LIBGL_DEBUG=verbose G_MESSAGES_DEBUG=all COGL_RENDERER=egl_xlib COGL_DRIVER=gles2 apitrace -a egl -o hildon-desktop-doublebuf-fallback.trace  maemo-summoner hildon-desktop.launch15:54
freemangordonugh15:54
freemangordonwhy those mesa flags?15:54
Wizzupthis is just how I run the command normally15:54
WizzupI was using them earlier15:54
Wizzuplet me remove them15:54
Wizzupjust checking with you15:54
freemangordon"apitrace trace -a egl maemo-summoner /usr/bin/hildon-desktop.launch" is all I did in the VM :)15:55
Wizzupfreemangordon: btw I replayed it on my laptop and it looks good15:56
Wizzup(what does not look good on lima)15:56
Wizzuphttps://wizzup.org/dirlist/maemo-leste/lima/new-traces/15:57
Wizzupnow let me do with tfp on15:57
freemangordonThis issue reminds me of a proverb that my manager told me back then when I was so much younger, and which translates roughly to " His donkey died because of complex reasons" :)15:57
Wizzupmeaning? :D15:57
freemangordonwell, it does not work because of several issues, not one or 215:58
Wizzupright15:58
Wizzupdoes the trace also replay ok for you?15:58
freemangordonlemme check15:58
freemangordonyep, looks perfect15:59
Wizzuphm, now with tfp it looks ok16:00
Wizzupwtf16:00
freemangordonmhm16:00
freemangordonas expected16:00
freemangordon;)16:01
Wizzupwell I did rebuild it16:01
freemangordonas I said, TFP was bitten by the same scissors issue16:01
freemangordonwas/is16:01
freemangordonbut, we have issues in lima/glamor too16:01
Wizzupsee https://wizzup.org/dirlist/maemo-leste/lima/new-traces/16:02
WizzupI think if we have lima specific bugs we can start asking for their help16:02
Wizzupfreemangordon: wait, hang on, I remember now16:04
freemangordonthat's why as told you to capture both tfp and fallback :)16:04
Wizzupfreemangordon: so regarding this:16:04
Wizzup16:00 < Wizzup> hm, now with tfp it looks ok16:04
Wizzup16:00 < Wizzup> wtf16:04
Wizzupthis happens because things are slower16:04
Wizzupthat is why I was previously struggling to capture traces of some of it16:04
freemangordonwhat is slower? TFP compared to fallback?16:04
Wizzupno, so let me explain what I mean16:05
WizzupI was doing osso-xterm test with clutter and TFP enabled16:05
Wizzupand it looked ok on the screen16:05
Wizzupright?16:05
Wizzupthat is only because it was run within apitrace16:05
Wizzupif I run h-d outside of apitrace with TFP the same bug that we see with fallback path is there16:05
freemangordonah, I see16:06
freemangordonso, a missing fence ;)16:06
Wizzuppossible yes16:06
Wizzupotherwise it looks pretty ok16:07
freemangordonok, do you want to rebuild clutter with DOUBLE_BUFFER enabled and rebuild for -devel?16:07
freemangordonor I shall do that?16:08
WizzupI can do it, just want to check with you that we have more work to do here potentially16:08
Wizzuplet me capture a few more traces16:08
Wizzupone in particular16:08
freemangordonok, but I don;t think we have any more issues in clutter16:08
freemangordonwell, we may want to compare fps with  VIEWPORT_DAMAGE enabled vs disabled16:09
freemangordonbut not now16:09
freemangordonalso, we shall do that on n90016:09
Wizzupactually nevermind I think16:10
WizzupI replayed the trace and dumped the images locally and the problem is gone16:10
Wizzupso it's either a lima problem or a glamor problem16:10
freemangordonlima I would say16:10
Wizzup(it is scrolling in conversations)16:10
freemangordonbecause glamor does 2d16:11
freemangordonand we receive ready textures16:11
Wizzupyeah and conversations uses 3d16:11
Wizzup(qml)16:11
freemangordonmhm16:11
Wizzupok16:11
WizzupI'll do a clutter build16:11
freemangordondon't forget to revert the other changes :)16:11
Wizzupno worries, those are on a pinephone16:11
WizzupI only do this work from my laptop and vm16:12
freemangordonah, ok16:12
Wizzupshall I remove the comments16:12
freemangordonno16:12
Wizzupthe one regarding blitting?16:12
freemangordonmaybe add a new one16:12
Wizzupok16:12
freemangordonsaying "this no longer holds true on leste, so we enable", etc16:13
Wizzuphttps://github.com/maemo-leste-upstream-forks/clutter-0.8/commit/13903d341009266d0bfa19806e74625a16ab552a16:16
freemangordonmhm16:17
Wizzupso on the lima front16:22
Wizzupdo you suggest I just send the traces I uploaded to them?16:22
freemangordonyeah16:24
Wizzupok16:24
freemangordonwe may provide more info if requested16:24
freemangordonwhat's the channel?16:24
WizzupI am in the channel16:24
Wizzup#lima on oftc16:24
freemangordonoftc?16:24
Wizzupirc.oftc.net and you must register and verify16:24
freemangordonok16:24
Wizzupotherwise you are muted16:24
freemangordonby muted you mean I can only see what others are saying, right?16:26
freemangordonsorry for the maybe stupid question, but how to register?16:27
WizzupI think /msg NickServ help16:27
Wizzupand then register, and then I had to 'reverify'16:27
rafael2kwow, you are ready doing serios debbuging! cheers!16:32
rafael2klemme know if there is something I can test here16:34
rafael2kI'm watching kernel compilation TV here in on Maemo PP TV16:34
freemangordon:)16:34
freemangordonseason 5?16:35
rafael2kfinishing season 5 already16:35
Wizzupfreemangordon: it's ready btw16:36
Wizzupin -devel16:36
freemangordoninstalling already :)16:36
WizzupI think there is still tearing16:38
Wizzupsorry for spoiler :P16:38
Wizzupbut maybe not in your setup, if you did more work16:39
freemangordon:)16:39
Wizzupthis d4 is a bit out of date16:39
freemangordonwell, it does not boot for me at all16:39
freemangordonhung on Starting PowerVR16:39
Wizzupnot good :)16:39
freemangordonand then DDK message16:39
freemangordonand that's all16:40
Wizzupmaybe dsme is not called dsme16:40
freemangordonhmm?16:40
Wizzupmaybe you renamed it16:40
freemangordonno16:40
freemangordonwhy should I16:40
Wizzupto prevent it from booting to h-d or something16:40
freemangordonno, I just rebooted from osso-xterm16:41
freemangordonafter doing dist-upgrade16:41
Wizzupdid that complete entirelyt?16:41
Wizzupon -devel or -experimental?16:41
freemangordonyeah16:41
freemangordon-experimental16:41
Wizzuphmm weird16:41
Wizzuppretty sure my daily one is up to date16:42
freemangordonit seems it just hang after starting powervr service16:42
WizzupI will upgrade mine but I do not think I am seeing this16:43
Wizzuphm my device says that xserver-xorg-video-omap is being held back16:43
Wizzupwonder why16:43
freemangordonthat's why dist-upgrade16:43
Wizzupeven with dist-upgrade16:43
freemangordonhmm16:43
freemangordonweird16:44
Wizzupso mesa failed for -devel last night16:45
Wizzupbecause of some really annoying CI bug16:45
WizzupI'll get that started now16:45
WizzupI'll need that to figure out what's up anyway16:45
freemangordonhmm, even emergency shell does not start16:45
freemangordonwhy is powervr needed there?16:45
Wizzupprobably because it is in sysvinit runlevel or something like that16:46
Wizzupis this custom kernel or the one in the repos16:46
freemangordonshould be the one in the repos16:46
Wizzupbtw with pinephone upgraded things are better for sure16:47
Wizzupbut the vkb still has occasional flicker/glitch, but I am going to attribute that to the other thing we're going to chase down16:47
freemangordonthis is with TFP?16:48
Wizzupyes16:48
freemangordonok16:48
rafael2kUnpacking libclutter-0.8-0:arm64 (0.8.2.75+2m7) over (0.8.2.74+2m7.2) ...16:48
rafael2k; )16:48
freemangordon:)16:48
Wizzuprafael2k: try pkill hildon-desktop when that is done16:48
rafael2kWizzup: will this make me lose network connection? I can not lose ssh right now in the middle of kernel compiling.16:49
freemangordonno16:49
rafael2kok16:49
freemangordonin theory :)16:49
rafael2klemme wait a bit, I don't want to spend any amp more turning on the screen right now16:50
Wizzupconceptually :p16:50
Wizzuprafael2k: again, just lmk when you want the easy steps to compile on pc/laptop ;)16:50
freemangordonWizzup: what fps do you get when scrolling in h-d?16:50
freemangordonCLUTTER_SHOW_FPS=1 that is16:51
rafael2kWizzup: I want (if this kernel is not 100% perfect... next try I'll cross)16:51
Wizzupfreemangordon: on pp?16:51
freemangordonmhm16:51
Wizzupfreemangordon: and portrait?16:52
freemangordonboth16:52
freemangordonjust curious16:52
Wizzupfreemangordon: 22 landscape, 55-62 on portrait16:53
freemangordonportrait seems fine, glamor/modesetting seem to SW rotate :(16:54
Wizzupyes, but that is a later worry imho16:54
freemangordonyeah16:54
freemangordonok, I am done for now, bbl17:04
Wizzupmhm17:04
WizzupI'll look at the problem17:04
freemangordond4 you mean?17:05
Wizzupthe dist-upgrade at least17:05
freemangordonok17:05
freemangordonWizzup: well, /usr/bin/pvrsrvinit never seem to exit17:11
Wizzupshould it not be in /sbin?17:12
Wizzupanyway I will upgrade and look17:12
Wizzupbut I will also be busy for some part this evening17:13
freemangordonme too17:13
Wizzupyeah I guess that makes sense17:16
Wizzup:D17:16
sicelo< Wizzup> [17:43] hm my device says that xserver-xorg-video-omap is being held back   <<<--- i got this too17:16
Wizzupsicelo: yes, so I'll try to figure it out once mesa is built17:17
rafael2kfixed ofono packaging using internal libell17:36
rafael2kso we don't need to import newer libell to beowulf (this is how it was built ofono in maemo in the first place anyway... so the right thing to do)17:36
Wizzupyup17:37
Wizzupgoing to be a nice christmas update17:38
Wizzupesp if we can get this lima/glamor bug fixed17:38
rafael2kthat would be pappa frost biggest one17:41
Wizzupnewer clutter makes things much better btw17:42
rafael2kcool! will try soon, certainly kernel compilation is finishing!17:43
Wizzupthat poor sd card ;)17:44
Wizzupbbiab17:44
rafael2kI compiling in the eMMC17:55
rafael2kit is faster17:55
rafael2kit has luks and crypto... which does not help, but anyway...17:56
Wizzupand it'll die sooner and is not replaceable17:57
Wizzup:P17:57
freemangordonWizzup: if you have some spare time, could you patch clutter on pp to dump the default value of EGL_SWAP_BEHAVIOUR?19:11
rafael2kcompilation still going on... eheheheheh19:13
rafael2k4h already19:13
Wizzupfreemangordon: will do19:16
WizzupI tested setting it and it did not make a difference fwiw19:16
Wizzupfreemangordon: might be tomorrow... picking up gf at the airport19:16
Wizzupfreemangordon: but reading the links I shared, it seems very unlikely it is on by default19:18
Wizzupgiven that lima authors added patches to mesa to allow drivers to disable it19:19
Wizzupthe partial update way might work too19:24
sicelonice hostname & nick n90021:19
buZzhehe, qtwebbrowser is pretty nice :D too bad of the onscreen keyboard22:01

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