azonenberg changed the topic of #scopehal to: ngscopeclient, libscopehal, and libscopeprotocols development and testing | https://github.com/ngscopeclient/scopehal-apps | Logs: https://libera.irclog.whitequark.org/scopehal
<cyborg_ar> huh interesting
<cyborg_ar> my scope doesnt have per-channel bandwidth limiting, it is a global setting for the whole scope
<d1b2> <david.rysk> @azonenberg @johnsel without very much caching a GH hosted CI run takes about 20min
<d1b2> <david.rysk> Will have best-casae numbers with caching soon
<d1b2> <david.rysk> best-case*
<azonenberg> cyborg_ar: innnteresting
<azonenberg> file a ticket, thats not something we can cleanly express in our current api
<cyborg_ar> for now im just ignoring it, i dont normally use it. for you this scope is DC anyway, 150MHz :P
<azonenberg> we have worked with some instruments where a particular setting was either per channel or global based on the model, but have never seen that for bandwidth limit
<azonenberg> yeah but still good to know this is a thing that exists
<cyborg_ar> ugh i wish parsing strings in C++ wasnt such a pain. im so spoiled with python...
<cyborg_ar> kind of bothers me the driver is doing its won parsing with sscanf, i should be able to pass the transport a format spec and get back a parsed response back, with built in error handling. here most calls with sscanf are unguarded so a bad response can mess things up or crash
<azonenberg> Yeah improving robustness would be nice to do. but I'm less worried about input parsing bugs in this particular context
<azonenberg> you're talking to hopefully trusted hardware that should be on an isolated network
<azonenberg> like, anyone who can tamper with the probably-unencrypted-and-unauthenticated can change your power supply voltage and fry your DUT
<azonenberg> being able to segfault ngscopeclient with malformed traffic is the least of your worries in that situation
<azonenberg> making it more robust to user error would certainly be nice, i'm absolutely open to improvements in that regard
<cyborg_ar> for pure SCPI instruments some sort of auto-probing would be nice too, since each driver should be able to know if they can drive an instrument for a given *IDN? response. non-scpi instruments of course dont get that
<azonenberg> Yes. That is on the distant wishlist
<azonenberg> some way to connect to an unknown transport and figure out what driver to invoke on it
<azonenberg> Also improving robustness if you accidentally select the wrong driver. generally more exceptions and clean error handling will be nice to have eventually
<cyborg_ar> ah yeah whats the policy on exceptions here?
<azonenberg> Not currently used, except by the Vulkan wrapper library and I think the YAML parser
<cyborg_ar> C++ exceptions are kinda ugly so some projects dont even use them
<cyborg_ar> ah ok
<azonenberg> but we are probably going to start using them as it seems better than the way we do things now
<azonenberg> in particular for instrument creation failures
<azonenberg> theres no good way to get feedback that a connection failed or a driver couldn't initialize in the curent model
<azonenberg> Backstory: this code is the descendant of something i wrote during my thesis to "just get my work done" and only went public in a form that was buildable by other people (no hard coded paths etc) circa 2020
<azonenberg> and it took a while for momentum to build and more people to get interested in working with it
<azonenberg> So there's a fair bit of legacy cruft that needs cleaning out
<azonenberg> the frontend is generally nicer code because it was completely rewritten recently
<cyborg_ar> yeah i noticed the program would just crash or your would get a partially initialized instrument
<_whitenotifier-e> [scopehal-apps] d235j opened pull request #677: Prevent glfw init for tests as glfw requires an X/Wayland server - https://github.com/ngscopeclient/scopehal-apps/pull/677
Degi has quit [Ping timeout: 276 seconds]
Degi has joined #scopehal
<azonenberg> @johnsel i see some CI jobs queued for debian that arent running, any idea whats up with that? something you're debugging?
<_whitenotifier-3> [scopehal-apps] azonenberg closed pull request #677: Prevent glfw init for tests as glfw requires an X/Wayland server - https://github.com/ngscopeclient/scopehal-apps/pull/677
<_whitenotifier-e> [scopehal-apps] azonenberg pushed 2 commits to master [+0/-0/±6] https://github.com/ngscopeclient/scopehal-apps/compare/0f265a9dd045...cc3acb12144c
<_whitenotifier-3> [scopehal-apps] azonenberg cc3acb1 - Merge pull request #677 from d235j/headless-tests Prevent glfw init for tests as glfw requires an X/Wayland server
balrog has quit [Quit: Bye]
balrog has joined #scopehal
<_whitenotifier-3> [scopehal-apps] d235j synchronize pull request #673: Cmake cleanups - https://github.com/ngscopeclient/scopehal-apps/pull/673
<_whitenotifier-e> [scopehal-apps] d235j synchronize pull request #673: Cmake cleanups - https://github.com/ngscopeclient/scopehal-apps/pull/673
sgstair has quit [Read error: Connection reset by peer]
sgstair has joined #scopehal
bvernoux has joined #scopehal
<_whitenotifier-e> [scopehal] azonenberg bfdbe24 - I2CDecoder: removed ascii output since we now have hexdump and ascii output in the protocol analyzer directly from the binary data
<_whitenotifier-3> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/ngscopeclient/scopehal/compare/1c5994a1fda2...bfdbe24c267c
<d1b2> <johnsel> yes my mistake. I was working on Windows but fell asleep sitting behind the PC
<d1b2> <johnsel> my fiancee delegated me to bed but that left the CI in non-operating
<azonenberg> ok just making sure you're aware :)
<d1b2> <johnsel> no problem, thank you
<azonenberg> its not blocking me right now
<d1b2> <johnsel> I'll fix it in a bit
<d1b2> <johnsel> For some reason the console for the Windows CI machine has frozen
<d1b2> <johnsel> I want look at that first
<azonenberg> also not sure if you saw but i merged fixes from @david.rysk that should make the unit tests run under our CI with no x server
<azonenberg> i.e. vulkan init will now succeed
<azonenberg> we do want x on them eventually so that we can do GUI tests but that's a ways out
<d1b2> <johnsel> that's not super ideal as I used those to test but I will adjust then
<d1b2> <johnsel> I'd prefer if we had a make test-headless option or something
<azonenberg> what do you mean "you used those to test"
<azonenberg> the glfw init errors?
<d1b2> <johnsel> the unit tests
<azonenberg> this doesnt disable the x server or anything if you had one running
<azonenberg> all it does is fix the broken init
<azonenberg> i.e. tests should run and pass on our infra
<d1b2> <johnsel> if(!VulkanInit(true)) exit(1);
<d1b2> <johnsel> so it just skips a job if it can't init?
<d1b2> <johnsel> that's fine
<azonenberg> the change was VulkanInit() to VulkanInit(true)
<azonenberg> which does not try to initialize glfw (this needs a running x server)
<azonenberg> before doing the vulkan init (which is fine headless)
<d1b2> <johnsel> right, then I need to start running ngscopeclient itself to test further
<d1b2> <johnsel> that was my point
<azonenberg> ah ok
<azonenberg> Did not realize that would mess up your workflow
<d1b2> <johnsel> It's not a huge deal but the CI context isn't necessarily the context I get when I ssh into the machine
<_whitenotifier-3> [scopehal-apps] azonenberg pushed 6 commits to master [+0/-0/±26] https://github.com/ngscopeclient/scopehal-apps/compare/cc3acb12144c...3fa026f6f92f
<_whitenotifier-e> [scopehal-apps] azonenberg 4dfc8e8 - Initial work towards protocol analyzer culling
<_whitenotifier-3> [scopehal-apps] azonenberg 24ad97b - Merge branch 'master' of github.com:ngscopeclient/scopehal-apps
<_whitenotifier-e> [scopehal-apps] azonenberg 9a6026e - Updated submodules
<_whitenotifier-3> [scopehal-apps] ... and 3 more commits.
<azonenberg> Finally finished
<azonenberg> This was a massive, like literal order of magnitude difference in framerate, improvement on my test dataset
<azonenberg> went from "barely possible to use but super annoying and jerky" to butter smooth 60 FPS
<azonenberg> on a 1-minute-long bus capture with ~75K packets in the analyzer view
<azonenberg> just in time too, monday starts in 15 minutes and it's a work day
<azonenberg> and i really didnt want to have to put up with this lag for another work day :p
<d1b2> <246tnt> For some reason I still can't build master : CMake Error at lib/scopehal/CMakeLists.txt:263 (target_link_libraries): Target "scopehal" links to: Vulkan::glslang but the target was not found. Possible reasons include: * There is a typo in the target name. * A find_package call is missing for an IMPORTED target. * An ALIAS target is missing.
<d1b2> <azonenberg> @david.rysk ^
<d1b2> <246tnt> (This is without david's rework of build. With his cmake-cleanup branch it works fine)
<d1b2> <johnsel> I wouldn't worry about it then, that'll get integrated soon
<azonenberg> ah ok
<azonenberg> also hmm it seems my culling rework broke the "select closest packet when you move the cursor" workflow
<azonenberg> unless the cursor happens to be over a packet in the visible (non culled) part of the list
<d1b2> <johnsel> azonenberg can you ping 10.2.14.10 ?
<azonenberg> no
<d1b2> <johnsel> I'm pretty sure I used to have RDP access to that stupid box
<d1b2> <johnsel> it thinks it has an ip but is also not connecte
<d1b2> <johnsel> and console has 0.05fps
<d1b2> <johnsel> it might be the e1000 adapter but I can't template the RTL one
<d1b2> <johnsel> grrrr
<d1b2> <johnsel> sometimes I wish we went with VSphere instead
<d1b2> <johnsel> would've been done by now
<d1b2> <johnsel> great it crashed
<d1b2> <johnsel> azonenberg can you check the logs?
<d1b2> <johnsel> this new vm won't start
<d1b2> <johnsel> it says I should check the logs
<d1b2> <johnsel> oh now it did start
<d1b2> <johnsel> so strange this, it's also extremely slow to stop the vm or start it
<d1b2> <johnsel> almost as if things are going wrong on the xen level
<d1b2> <johnsel> ok good
<d1b2> <johnsel> @azonenberg can you pull a new template?
<d1b2> <246tnt> Oh wow, just got a fail notif for the workflow run on github from my PR ... it took 15h to fail ...
<d1b2> <johnsel> my fault
<d1b2> <johnsel> most likely
<d1b2> <johnsel> the CI wasn't operating
<d1b2> <johnsel> @azonenberg when you have a moment please pull a template from https://xoa2.lab.poulsbo.antikernel.net/#/vms/105c5367-c936-56d4-9fd4-f7b03c4ad22c/advanced
<d1b2> <johnsel> Hopefully the issue is resolved now. For some reason when I create a vm from that template it'll be super slow and BSOD. When I create it through the GUI everything is fine. So annoying. I remember running into this before, so I may need to re-build that template as well perhaps
<d1b2> <johnsel> anyway config/setup wise I think we're mostly good
<d1b2> <johnsel> just got to figure out the x server situation on the linux ci box
<d1b2> <johnsel> but please make sure there is a GPU assigned to it as well. I didn't get one in the last session so it might have lost the association
<_whitenotifier-3> [scopehal] d235j opened issue #847: Untangle locale-setting code - https://github.com/ngscopeclient/scopehal/issues/847
* azonenberg sits down at desk for the morning and goes through backlog
<d1b2> <johnsel> it's just me complaining and asking for templates
<d1b2> <johnsel> 🙂
<_whitenotifier-3> [scopehal] azonenberg commented on issue #847: Untangle locale-setting code - https://github.com/ngscopeclient/scopehal/issues/847#issuecomment-1915006176
<_whitenotifier-3> [scopehal] azonenberg assigned issue #847: Untangle locale-setting code - https://github.com/ngscopeclient/scopehal/issues/847
<azonenberg> ooh looks interesting
<azonenberg> ok lets see templates templates...
<azonenberg> There is a GPU on that instance
<d1b2> <johnsel> weird
<azonenberg> Templating it now
<d1b2> <johnsel> thanks
<d1b2> <johnsel> I suspect I'm going to ask that many more times of you
<d1b2> <johnsel> unfortunately
<azonenberg> done and re added to the set
<azonenberg> (at some point we'll probably want to clean up some disk deleting old templates but its not an immediate rush)
<d1b2> <johnsel> yep I was planning to do once we have everything 100% functioning
<d1b2> <johnsel> as I may need to revert to an older template
<d1b2> <johnsel> for esoteric reasons
<d1b2> <johnsel> sometimes a template gets messed up in a way I can't really explain
<azonenberg> yeah
<d1b2> <johnsel> the new vms generated from it just don't work
<azonenberg> i will probably do a bit of a cleanup of templates at that time too to remove things we are never ever going to use
<d1b2> <johnsel> even though they should
<azonenberg> like debian jessie
<azonenberg> or oracle linux 7
<azonenberg> lol
<d1b2> <johnsel> sure, I found a way to recover the system templates with a built-in script would we ever need to
<azonenberg> oh in that case let me purge a bunch of system tempaltes now, leaving all your old ones
<azonenberg> just to make the list less cluttered
<d1b2> <johnsel> sure, go loose
<d1b2> <johnsel> I'll see if the stupid template works
<d1b2> <johnsel> oh did you remove my permissions to the templates for my resource set?
<azonenberg> not to my knowledge?
<d1b2> <johnsel> strange, I don't see any templates anymore
<d1b2> <johnsel> I don't need them back but it is weird that they're gone
<azonenberg> maybe i have to add perms on the templates separately? let me check fro the latest
<d1b2> <johnsel> oh you made a scopehal-ci user
<d1b2> <johnsel> can you send me the password for it?
<d1b2> <johnsel> also, that is not my resource set
<d1b2> <johnsel> that's ci
<azonenberg> thats not a user thats a group
<azonenberg> you are currently the sole member of the group
<d1b2> <johnsel> oh
<azonenberg> there are no templates on your personal set
<azonenberg> what did you want?
<d1b2> <johnsel> I don't need anything
<azonenberg> ah ok
<d1b2> <johnsel> just surprised they were gone
<d1b2> <johnsel> I thought xoa was acting up
<d1b2> <johnsel> but no I don't plan to run anything else
<azonenberg> i didnt think i ever added any there
<azonenberg> ok
<d1b2> <johnsel> I had a debian template for sure, because that's what the znc hosts
<azonenberg> well its back now
<azonenberg> idk
<d1b2> <johnsel> lots of strangeness with xoa once you go past the most basic of use
<d1b2> <johnsel> nope
<d1b2> <johnsel> find the weirdness
<d1b2> <azonenberg> lol weird
<d1b2> <johnsel> it's slow as fuck too
<d1b2> <azonenberg> seems to be running though i see a console
<d1b2> <johnsel> how slow is that console for you?
<d1b2> <johnsel> try navigating
<d1b2> <azonenberg> i just opened the console and saw the background image drawing scanline by scanline
<d1b2> <azonenberg> lol
<d1b2> <johnsel> I'm pretty sure it will BSOD in a bit
<d1b2> <johnsel> now that would be weird on it's own
<d1b2> <johnsel> but the weirdest part is if I use the GUI to create it
<d1b2> <johnsel> 0 issues
<d1b2> <azonenberg> wtf
<d1b2> <johnsel> right
<d1b2> <johnsel> that's what I am thinking
<d1b2> <johnsel> so I have been playing find the difference with the config
<d1b2> <johnsel> I thought nested virtualization was the issue at first
<d1b2> <johnsel> but with it enabled now it has the same behavior
<d1b2> <johnsel> I really don't understand why
<d1b2> <johnsel> or what the difference is
<d1b2> <johnsel> there's some slight difference in the disk configuration
<d1b2> <azonenberg> using ci-ceph-sr for both?
<d1b2> <johnsel> yep
<d1b2> <azonenberg> possibly related: there's a qemu-dm-51 instance in dom0 using 80% CPU
<d1b2> <johnsel> nice
<d1b2> <johnsel> the fuck
<d1b2> <johnsel> rdp is fast
<d1b2> <azonenberg> so local console only? that suggests gpu or gpu driver issue maybe
<d1b2> <johnsel> well
<d1b2> <johnsel> the gpu is not visible
<d1b2> <johnsel> I don't know if you have one on an instance
<d1b2> <azonenberg> i show a passthrough gpu on it
<d1b2> <azonenberg> what kind i cant see from the gui
<d1b2> <azonenberg> dont know how to tell if its attached or not
<d1b2> <johnsel> hmm
<d1b2> <azonenberg> it has an rtl8139 not an e1000 if that's related?
<d1b2> <johnsel> xe vgpu-list
<d1b2> <johnsel> I changed that to test
<d1b2> <johnsel> and because the driver prevents a memory security feature in windows from being enabled
<d1b2> <johnsel> probably the linux ci
<d1b2> <johnsel> btw
<d1b2> <azonenberg> there is a long list of uuids and no obvious human readable linkage to pci ids or vms i can see
<d1b2> <johnsel> xe vgpu-type-list
<d1b2> <azonenberg> uuid ( RO) : 70408f02-546d-4f40-87cb-d30649eeb34c vendor-name ( RO): model-name ( RO): passthrough max-heads ( RO): 0 max-resolution ( RO): 0x0
<d1b2> <azonenberg> very useful :p
<azonenberg> Also reminder everyone, dev call is in just over two hours. I'll drop a zoom link in here shortly
<d1b2> <johnsel> The GPU objects can be listed with the standard object listing commands: xe pgpu-list, xe gpu-group-list, and xe vgpu-list. The parameters can be manipulated with the standard parameter commands. For more information, see Low-level parameter commands.
<d1b2> <johnsel> please mess around with that to see if you can figure out what it's doing
<azonenberg> When I get a chance probably wont be until after work
<azonenberg> i'm busy debugging a specific filter i'm trying to use for actual client stuff :p
<d1b2> <johnsel> sure, I hope you can figure it out
<_whitenotifier-3> [scopehal] d235j synchronize pull request #841: Refactor of Cmake scripts - https://github.com/ngscopeclient/scopehal/pull/841
<_whitenotifier-3> [scopehal] azonenberg bad207f - BusHeatmapFilter: made x/y bin size and range configurable
<_whitenotifier-e> [scopehal] azonenberg pushed 2 commits to master [+0/-0/±4] https://github.com/ngscopeclient/scopehal/compare/bfdbe24c267c...e849e306c68f
<_whitenotifier-3> [scopehal] azonenberg e849e30 - Fixed two filters that included scopeprotocols.h forcing them to be recompiled needlessly when any other filter header was changed
<azonenberg> if you want to add any commentary re exceptions there
<azonenberg> this has been a pending "we'll do it eventually" for a long time
<_whitenotifier-e> [scopehal] azonenberg edited issue #660: Replace FFTS with vkFFT In all library (non-test) code - https://github.com/ngscopeclient/scopehal/issues/660
<_whitenotifier-e> [scopehal] azonenberg commented on issue #660: Replace FFTS with vkFFT In all library (non-test) code - https://github.com/ngscopeclient/scopehal/issues/660#issuecomment-1915273755
<_whitenotifier-3> [scopehal] azonenberg commented on issue #843: Refactor all shaders to handle Vulkan implementations with 64K max thread blocks in X axis - https://github.com/ngscopeclient/scopehal/issues/843#issuecomment-1915274475
<_whitenotifier-e> [scopehal] azonenberg closed issue #843: Refactor all shaders to handle Vulkan implementations with 64K max thread blocks in X axis - https://github.com/ngscopeclient/scopehal/issues/843
<_whitenotifier-3> [scopehal-apps] d235j commented on issue #422: Eye masks not installed by installer - https://github.com/ngscopeclient/scopehal-apps/issues/422#issuecomment-1915284347
<_whitenotifier-e> [scopehal-apps] azonenberg assigned issue #422: Eye masks not installed by installer - https://github.com/ngscopeclient/scopehal-apps/issues/422
<_whitenotifier-e> [scopehal-apps] azonenberg assigned issue #250: Add unit testing to CI builds - https://github.com/ngscopeclient/scopehal-apps/issues/250
<_whitenotifier-e> [scopehal-apps] azonenberg assigned issue #240: Add static analysis to CI builds - https://github.com/ngscopeclient/scopehal-apps/issues/240
<_whitenotifier-e> [scopehal-apps] azonenberg assigned issue #180: Look into static analysis options - https://github.com/ngscopeclient/scopehal-apps/issues/180
<_whitenotifier-e> [scopehal] d235j commented on issue #273: Refactoring: replace snprintf and sscanf with sto* and to_string() where practical - https://github.com/ngscopeclient/scopehal/issues/273#issuecomment-1915287773
<_whitenotifier-3> [scopehal-apps] d235j commented on issue #468: Add SwiftShader to github actions config - https://github.com/ngscopeclient/scopehal-apps/issues/468#issuecomment-1915288548
<_whitenotifier-3> [scopehal-apps] azonenberg commented on issue #471: Look at alternative CI platforms - https://github.com/ngscopeclient/scopehal-apps/issues/471#issuecomment-1915288753
<_whitenotifier-3> [scopehal-apps] d235j edited a comment on issue #468: Add SwiftShader to github actions config - https://github.com/ngscopeclient/scopehal-apps/issues/468#issuecomment-1915288548
<_whitenotifier-3> [scopehal-apps] azonenberg assigned issue #468: Add SwiftShader to github actions config - https://github.com/ngscopeclient/scopehal-apps/issues/468
<_whitenotifier-e> [scopehal-apps] azonenberg closed issue #471: Look at alternative CI platforms - https://github.com/ngscopeclient/scopehal-apps/issues/471
<_whitenotifier-e> [scopehal-apps] azonenberg closed issue #558: ngscopeclient: statistic support - https://github.com/ngscopeclient/scopehal-apps/issues/558
<_whitenotifier-3> [scopehal-apps] azonenberg commented on issue #558: ngscopeclient: statistic support - https://github.com/ngscopeclient/scopehal-apps/issues/558#issuecomment-1915294092
<_whitenotifier-3> [scopehal-apps] azonenberg added user d235j - https://github.com/d235j
<_whitenotifier-3> [scopehal] azonenberg added user d235j - https://github.com/d235j
<azonenberg> https://us06web.zoom.us/j/86404413156?pwd=ZqGfkW2wNMgUKekc0FF7phthmZJXA4.1 Here's the link for the developer call, starting in ~40 minutes
<d1b2> <azonenberg> (reminder @david.rysk @johnsel @hansemro @246tnt @louis8374 @bvernoux @aleksorsist )
<azonenberg> cyborg_ar: ^
<d1b2> <azonenberg> and @lainpants
<d1b2> <azonenberg> and @miek__ if we end up talking gpib
<d1b2> <johnsel> zoom is acting up for me
<d1b2> <azonenberg> can you hear us? there's no video at the moment
<d1b2> <johnsel> yep
<d1b2> <aleksorsist> Same here, can't hear
<d1b2> <aleksorsist> Ok, should be good now
<bvernoux> I have missed the call I was finishing to repair sound card of my wife (jack broken ...)
<d1b2> <johnsel> We are still in
<d1b2> <johnsel> If you want to join still
<azonenberg> Just finished up
<d1b2> <david.rysk> Another PR to homebrew...
<d1b2> <johnsel> nice, did you push your matrix build changes to gh yet btw?
<d1b2> <johnsel> I don't think I've seen them
<d1b2> <david.rysk> yes in my fork
<d1b2> <david.rysk> er
<d1b2> <david.rysk> there wasn't a run with full ccache utilization yet because I was fixing missing headers
<d1b2> <david.rysk> (pch masks missing #includes)
<d1b2> <david.rysk> and yeah next big effort is Windows
<d1b2> <johnsel> I would suggest to change the template work (i.e. ${{ env.SDK_VERSION_REPO }}) because it makes everything un copy-pasteable
<d1b2> <david.rysk> How are things like env vars handled on selfhosted?
<d1b2> <david.rysk> and how are external actions?
<d1b2> <johnsel> from the perspective of the runner everything is the same as on GH
<d1b2> <johnsel> except the environment will not have all the same packages pre-installed
<d1b2> <johnsel> that is something that needs to be done by hand
<d1b2> <johnsel> however that is just a cloud-config
<d1b2> <david.rysk> yeah that can be worked around, also it is assumed that e.g. Debian will have some different package names than Ubuntu
<d1b2> <david.rysk> and Fedora and Alpine will have different package managers
<d1b2> <david.rysk> Or have it in if-blocks in the workflow
<d1b2> <david.rysk> But if you do it on the VM ahead of time, that speeds up build
<d1b2> <johnsel> yes but try to make it possible to copy from the script
<d1b2> <johnsel> I always run builds by copying from the github actions if I can
<d1b2> <johnsel> this way you know everyone gets the same build environment as well
<d1b2> <johnsel> it's fine splitting out stuff to separate scripts as well
<d1b2> <johnsel> I wouldn't even put 2 versions of the same OS in one file
<d1b2> <johnsel> ideally, if you want to keep github runners, we want to just add self-hosted to the existing scripts for those we have an OS image for
<d1b2> <johnsel> there shouldn't be much management overhead
<d1b2> <david.rysk> I can add them in once the VMs are working
<d1b2> <david.rysk> you'll end up with mostly duplicated scripts
<d1b2> <johnsel> that doesn't matter if it simplifies administrating
<d1b2> <johnsel> and I can get you a working vm if you want to run scripts against it
<d1b2> <johnsel> and if andrew blesses it also ssh access
<d1b2> <david.rysk> I'd like Debian, Fedora, Alpine, if possible
<d1b2> <johnsel> and access to scopehal-ci with the cloud-config per os
<d1b2> <johnsel> if you want to change what is pre-installed
<d1b2> <johnsel> though I'm happy to do that too
<d1b2> <johnsel> @azonenberg ^
<d1b2> <johnsel> it's templates time again
<azonenberg> yeah i can set up ssh access for you if needed. as far as templates go i'll do that in a min
<azonenberg> Typing one handed with a sandwich in the other
<d1b2> <david.rysk> don't preinstall anything, I'll put it in the scripts for now
<d1b2> <david.rysk> then we can preinstall it and it can be a no-op in the scripts
<d1b2> <johnsel> sure, let me make those changes and remove the ephemeral flag
<azonenberg> ok template coming right up
<d1b2> <azonenberg> I dont have the time to learn the ins and outs of how the CI works... just play well together kids 😛
<d1b2> <david.rysk> can you also make it so that I can use the self-hosted runners from my fork?
<d1b2> <johnsel> I can allow a PR
<d1b2> <azonenberg> I'm not sure how it would work with a fork on your own repo. if it was a branch on the main repo, yes
<d1b2> <johnsel> then all the changes pushed are ran
<d1b2> <azonenberg> or yes a PR
<d1b2> <david.rysk> I can PR the changes and put a comment to not merge yet 😛
<d1b2> <johnsel> PR is easiest
<d1b2> <david.rysk> but that will spam the crap out of this channel
<d1b2> <azonenberg> yeah just mark as draft
<d1b2> <johnsel> that's fine
<d1b2> <johnsel> we like spam
<d1b2> <azonenberg> I might want to change the notifier settings for that kind of stuff eventually
<d1b2> <azonenberg> we are only recently getting enough dev activity that its getting annoying :p
<d1b2> <johnsel> Yep ideally we get a summary
<d1b2> <johnsel> but that is probably too much too ask
<d1b2> <azonenberg> @johnsel which vm did you want templated
<d1b2> <david.rysk> Any other OSes needed? For versions — currently supported? Do we include bleeding-edge Alpine and Fedora and Debian testing?
<d1b2> <azonenberg> i dont see anything stopped
<d1b2> <johnsel> No, david wants to add Alpine and Fedora
<d1b2> <johnsel> I'm sure you -just- deleted them didn't you?
<d1b2> <azonenberg> oh
<d1b2> <azonenberg> lol
<d1b2> <azonenberg> i thought i only removed old versions of stuff
<d1b2> <azonenberg> but yeah i am not seeing either
<d1b2> <johnsel> bhaha
<d1b2> <johnsel> let me find that script
<d1b2> <azonenberg> i think something went wrong during the removal
<d1b2> <azonenberg> because debian jessie is still on there
<d1b2> <azonenberg> and i dont see alpine
<d1b2> <azonenberg> lol
<d1b2> <johnsel> "create-guest-templates"
<d1b2> <azonenberg> great
<d1b2> <azonenberg> now we have two of everything
<d1b2> <johnsel> yay
<azonenberg> ok this might take some effort to clean up lol
<d1b2> <david.rysk> whoops!
<_whitenotifier-3> [scopehal-apps] Johnsel pushed 2 commits to master [+0/-0/±13] https://github.com/ngscopeclient/scopehal-apps/compare/3fa026f6f92f...9fcea6b730eb
<_whitenotifier-e> [scopehal-apps] Johnsel f39516f - CI: disable vm cycling
<_whitenotifier-3> [scopehal-apps] Johnsel 9fcea6b - Merge branch 'master' of https://github.com/ngscopeclient/scopehal-apps
<d1b2> <johnsel> I'm doing a clean upgrade for debian to 12 while we're at it
<d1b2> <johnsel> @david.rysk mind if I leave a few packages preinstalled on it?
<d1b2> <johnsel> I can more easily revert to that template w/ gpu
<d1b2> <johnsel> the others don't have the GPU attached
<d1b2> <david.rysk> @johnsel sure go ahead, the only reason not having too much preinstalled would be to ensure we're testing the required package list in the docs
<d1b2> <johnsel> and as we've established that is a pita
<d1b2> <johnsel> I appreciate that you're willing to work with me to focus on the self-hosted stuff more
<d1b2> <david.rysk> well at the moment GH-hosted is working
<d1b2> <johnsel> I just don't want to end up with a situation where we end up with 2 heavily admin loading ci systems
<d1b2> <david.rysk> I need to start working on include-what-you-use
<d1b2> <david.rysk> and windows
<d1b2> <david.rysk> I haven't touched windows yet
<d1b2> <david.rysk> other than doing an early test of the CMake changes a while ago
<d1b2> <johnsel> Yep that will be fun
<d1b2> <johnsel> pm me your ssh key
<d1b2> <johnsel> I'll set up ssh via ngrok so you can access it
<d1b2> <azonenberg> (I'm getting him on the VPN soonish)
<d1b2> <johnsel> yep
<d1b2> <johnsel> if you want that is
<d1b2> <david.rysk> I can wait for the VPN setup
<azonenberg> (restarting xoa for a sec to fix something)
<azonenberg> So i dont think we ever had alpine or fedora templates
<azonenberg> we had *alma* linux
<azonenberg> whatever that is
<d1b2> <david.rysk> AlmaLinux was one of the two CentOS replacements
<d1b2> <johnsel> oh then you need to fetch them somewhere
<d1b2> <david.rysk> the other being Rocky Linux
<d1b2> <johnsel> there is another something in xoa where you can download the templates
<azonenberg> We also now have 86 templates installed including a ton of duplicates
<d1b2> <johnsel> sorry that was probably the right thing to do from the start
<azonenberg> and i cant seem to delete them
<azonenberg> lol
<d1b2> <johnsel> great
<d1b2> <johnsel> I love xoa more and more every day
<azonenberg> the hub shows alpine 3.10 and rocky 8.5
<azonenberg> do you want one or both?
<d1b2> <johnsel> alpina and fedora and ubuntu I think
<d1b2> <david.rysk> Sooo rocky: how do we want to treat RHEL?
<azonenberg> There is no fedora prebuilt template any where i can find
<d1b2> <david.rysk> Rocky 8.5 == RHEL 8
<azonenberg> we may have to install ourselves from an iso and template that
<azonenberg> I dont have a specific list of targets. I know really ancient RHEL is probably not worth the effort to support
<d1b2> <david.rysk> would it be less complex to just have one VM OS and use docker containers?
<azonenberg> generally debian stable has been as old as i've targeted
<d1b2> <david.rysk> I haven't looked at how GH selfhosted works under the hood
<d1b2> <johnsel> if you want to help write the dockerfiles, that's definitely an option
<d1b2> <david.rysk> the Dockerfiles would only have to bring it to the state needed for the GH runner, right?
<d1b2> <david.rysk> right now I'm chasing bugs in glslang
<d1b2> <johnsel> correct
<d1b2> <johnsel> actually
<d1b2> <johnsel> there is an existing software for docker + self-hosted gh
<d1b2> <david.rysk> That sounds like a relatively simple Dockerfile tbh 🙂
<d1b2> <johnsel> (which are just vms)
<d1b2> <johnsel> yes there's some difficulty with the gpu usage
<d1b2> <johnsel> same as with the normal vm
<d1b2> <johnsel> it's no problem getting the pcie device in
<d1b2> <david.rysk> so about that
<d1b2> <david.rysk> I fixed the tests to not require an X server
<d1b2> <johnsel> but getting a window session set up and attached
<d1b2> <johnsel> (and eventually driven)
<d1b2> <david.rysk> I think the PR for that got merged
<d1b2> <johnsel> that's good, but we want to drive ngscopeclient with an instrument eventually
<d1b2> <david.rysk> true, but do you need a window for that?
<d1b2> <johnsel> and automated testing of the gui
<d1b2> <johnsel> I don't think it's that difficult setting it up w/ the existing GPUs
<d1b2> <david.rysk> installing Wayland and all that crap is just tedious
<d1b2> <johnsel> so far I've mostly been hindered by the (old) templates
<d1b2> <johnsel> well you do it once and it's done
<d1b2> <johnsel> I'm happy to work on it
<d1b2> <johnsel> it's probably the shortest route to automated testing for a while
<d1b2> <johnsel> and lots of things are dependent on the GUI to be instantiated
<d1b2> <johnsel> I'm more used to running vsphere environments
<d1b2> <johnsel> they are a little nicer in this regard, but I'm sure it's not that big of a problem
<d1b2> <johnsel> we have hdmi spoofers so it's just a matter of getting a framebuffer attached
<d1b2> <david.rysk> you probably don't even need an hdmi spoofer
<d1b2> <david.rysk> I had X running on my headless box without one
<d1b2> <david.rysk> and was doing remote sessions
<d1b2> <johnsel> it depends on the card
<d1b2> <johnsel> (and motherboard as well)
<d1b2> <johnsel> it's also much easier to set up a vnc session remotely than a true headless one
<d1b2> <johnsel> unless you don't want to use the gpu, then it's very easy
<d1b2> <johnsel> they (nvidia) like it this way, makes people but their vgpu software
<d1b2> <johnsel> it's also partially because I do everything in cloud-config
<d1b2> <louis8374> Sorry, client meeting
<d1b2> <johnsel> that is ran as root on kernel level
bvernoux has quit [Quit: Leaving]
<d1b2> <johnsel> interesting
<d1b2> <johnsel> the windows box was able to grab a gpu but the linux boxes can't
<d1b2> <johnsel> I did see an error 7f fly by
<azonenberg> is it possible they are all trying to use the same gpu?
<d1b2> <david.rysk> no I was using, uh, what's that thing that makes persistent sessions like screen
<azonenberg> tmux?
<d1b2> <david.rysk> no for X
<azonenberg> xvfb?
<d1b2> <david.rysk> yeah, that
<azonenberg> thats just an offscreen x server
<d1b2> <johnsel> right that's not using the hardware
<azonenberg> i dont think it uses a gpu at all
<d1b2> <david.rysk> it might not have been that... heh
<azonenberg> fully software rendered
<d1b2> <johnsel> yeah I'm probably looking for the same thing
<d1b2> <david.rysk> no, Xpra. But I think it was using Xvfb
<d1b2> <david.rysk> but IIRC it doesn't have to
<d1b2> <johnsel> I could render to my windows machine via it's xserver lol
<d1b2> <johnsel> before the current regression
<d1b2> <johnsel> it is, or you might have one by accident?
<d1b2> <johnsel> or you need to remove then reattach it perhaps
<d1b2> <johnsel> I don't see the templates showing up btw
<d1b2> <johnsel> I can set up Windows though
<d1b2> <johnsel> funny enough that works out of the box after installing the driver
<azonenberg> meanwhile i see 86 templates lol
<azonenberg> you want that one tempalted?
<d1b2> <johnsel> No, reattach the GPU to that one please
<azonenberg> it shows attached now
<azonenberg> let me remove and re-add
<d1b2> <johnsel> and please give me permissions on the alpine/ubuntu/centos(?) templates
<d1b2> <david.rysk> oh gonna see if ccache is actually helping now 🙂
<azonenberg> centos stream 9?
<d1b2> <johnsel> sure unless @david.rysk disagrees
<azonenberg> and ubuntu 22.04?
<d1b2> <david.rysk> is 9 popular with EDA?
<azonenberg> no idea
<d1b2> <david.rysk> I'm testing on ubuntu 20.04 and 22.04 on GH-hosted
<d1b2> <johnsel> pro eda runs 8 afaik
<d1b2> <david.rysk> so I'd say both to duplicate those, they'll be easiest to get up and running?
<azonenberg> anyway i added those two
<d1b2> <david.rysk> so probably Rocky 8 then
<d1b2> <johnsel> yeah just add them they're free anyay
<d1b2> <david.rysk> @johnsel does pro use Stream, or RHEL?
<d1b2> <johnsel> and we enough for everone
<d1b2> <johnsel> rhel
<d1b2> <david.rysk> yeah then do Rocky 8
<azonenberg> 8 not 9? ok
<d1b2> <david.rysk> EDA tends to be behind 😛
<d1b2> <johnsel> e.g.
<d1b2> <david.rysk> yeah Rocky will give us closest experience to RHEL 8+ without paying for licenses
<d1b2> <johnsel> agreed
<d1b2> <david.rysk> Do we want to test SLES?
<azonenberg> not aware of any users on it
<azonenberg> but cant hurt i guess
<d1b2> <johnsel> hmmm
<d1b2> <johnsel> I could put the installation of msys2 and nvidia drivers and whatever else it might need in the github action runner script
<d1b2> <johnsel> maybe drop a file in the filesystem to flag it as "already installed" and skip after the first time
<d1b2> <johnsel> that would help with repeatability if we're not going to template these suckers
<d1b2> <johnsel> WHAT
<d1b2> <johnsel> oh no
<d1b2> <johnsel> the unknown pci device isn't a graphics card
<d1b2> <johnsel> none of the VMs are grabbing GPUs
<d1b2> <azonenberg> wait what
<d1b2> <johnsel> that's so strange
<d1b2> <johnsel> I hate xoa
<d1b2> <johnsel> this is such a headache
<d1b2> <johnsel> we had this working in december
<d1b2> <johnsel> both vm types had a GPU attached
<d1b2> <david.rysk> what's the OS here?
<d1b2> <david.rysk> windows?
<d1b2> <johnsel> this is win11
<d1b2> <johnsel> but it seems not to matter
<d1b2> <david.rysk> what ven/dev are you seeing in device manager and what driver package are you installing?
<d1b2> <johnsel> none
<d1b2> <david.rysk> ahh right
<d1b2> <david.rysk> I see above
<d1b2> <johnsel> you should know that the ACL doesn't let you give access to the GPU
<d1b2> <johnsel> so by way of the templates having a GPU the derivates got one as well
<d1b2> <azonenberg> ok so let me try something
<d1b2> <azonenberg> i'm going to try command line hotplugging a gpu to that vm and see what happens
<d1b2> <johnsel> the whole "self managed resources set" and GPUs concepts are basically incompatible
<d1b2> <johnsel> it's not implemented in XOA
<d1b2> <johnsel> and then second there is only a passthrough GPU
<d1b2> <johnsel> although it should be possible to create a GPU group with a pci ven/dev (which also sucks because those are equal for the 2) and assign that to the vm manually
<d1b2> <azonenberg> Yeah
<_whitenotifier-e> [scopehal] d235j synchronize pull request #841: Refactor of Cmake scripts - https://github.com/ngscopeclient/scopehal/pull/841
<_whitenotifier-e> [scopehal-apps] d235j synchronize pull request #673: Cmake cleanups - https://github.com/ngscopeclient/scopehal-apps/pull/673
<d1b2> <johnsel> hmm maybe follow that from start to end
<d1b2> <johnsel> since it uses device id now instead of ven/dev
<d1b2> <johnsel> damn it does require a reboot
<d1b2> <johnsel> so clunky
<d1b2> <azonenberg> yeah i'm not sure how to tell if dom0 is grabbing the vm
<d1b2> <johnsel> /s/vm/gpu I think but yeah
<d1b2> <johnsel> you can try without that step just attaching it
<d1b2> <johnsel> do you have a GPU on your instance though?
<d1b2> <johnsel> I'd assume you do
<d1b2> <azonenberg> i'm trying to figure out how to tell if its on dom0
<d1b2> <johnsel> dmesg
<d1b2> <johnsel> or lspci -vv
<d1b2> <johnsel> should have a driver attached if it has it
<d1b2> <azonenberg> pciback
<d1b2> <azonenberg> which i think means passthrough mode
<d1b2> <johnsel> yes
<d1b2> <johnsel> xl pci-assignable-list
<_whitenotifier-3> [scopehal-apps] d235j opened pull request #678: Add missing includes masked by PCH - https://github.com/ngscopeclient/scopehal-apps/pull/678
<azonenberg> [13:31 sanquentin azonenberg]# xl pci-assignable-list 0000:51:00.1 0000:18:00.0 0000:51:00.0 0000:18:00.1
<azonenberg> thats the two GPUs and the audio devices attached to them (for hdmi sound out)
<d1b2> <johnsel> ok good so they just aren't attached to the vms then
<d1b2> <johnsel> azonenberg: need me to write the commands out for you or are you good?
<azonenberg> list of commands to test would be good. but i did try some obvious stuff and did not have much luck
<d1b2> <johnsel> sure sec
<d1b2> <johnsel> xe vm-param-set other-config:pci=0/0000:51:00.1 uuid=8f8091b9-3090-65ec-f9fb-976e85efb397 xe vm-param-set other-config:pci=0/0000:18:00.0 uuid=8f8091b9-3090-65ec-f9fb-976e85efb397
<d1b2> <johnsel> xe vm-param-set other-config:pci=0/0000:51:00.0 uuid=5476490c-a7cc-1829-49bc-3c4e863cb3a4 xe vm-param-set other-config:pci=0/0000:51:00.1 uuid=5476490c-a7cc-1829-49bc-3c4e863cb3a4
<d1b2> <johnsel> that ought to do it
<azonenberg> Done
<azonenberg> (also only the .0 is necessary .1 is the audio we dont care about)
<d1b2> <johnsel> at this point I don't want it to get confused
<d1b2> <johnsel> nope for windows
<_whitenotifier-3> [scopehal-apps] azonenberg closed pull request #678: Add missing includes masked by PCH - https://github.com/ngscopeclient/scopehal-apps/pull/678
<_whitenotifier-e> [scopehal-apps] azonenberg 8042843 - Merge pull request #678 from d235j/add-missing-includes Add missing includes masked by PCH
<_whitenotifier-3> [scopehal-apps] azonenberg pushed 2 commits to master [+0/-0/±4] https://github.com/ngscopeclient/scopehal-apps/compare/9fcea6b730eb...80428430fe8b
<d1b2> <johnsel> and the linux vm won't start
<d1b2> <johnsel> great
<azonenberg> lol
<azonenberg> There is always the option of falling back to no-GPU and just using lavapipe :p
<d1b2> <david.rysk> for now that's enough 😄
<azonenberg> It'll be a lot slower and less realistic but is better than being broken
<d1b2> <david.rysk> not that much less realistic, it's fully 1.3 compliant
<d1b2> <johnsel> I mean at this point we might have to
<d1b2> <johnsel> I have no idea why it's not working anymore
<d1b2> <azonenberg> yeah but i mean in terms of testing corner cases of how particular GPUs act
<d1b2> <azonenberg> things like the different block size limit on intel for example
<d1b2> <johnsel> yeah we had a lot of implementation related issues with vulkan
<d1b2> <azonenberg> ideally we would have multiple real gpus from different vendors in the CI. but that might be too mcuh trouble
<_whitenotifier-e> [scopehal-apps] d235j synchronize pull request #673: Cmake cleanups - https://github.com/ngscopeclient/scopehal-apps/pull/673
<d1b2> <johnsel> you never answered my question though azonenberg, do you have a working gpu attached to your vm?
<d1b2> <azonenberg> which vm
<d1b2> <johnsel> any vm
<d1b2> <azonenberg> not to my knowledge at the moment, no
<d1b2> <azonenberg> i did at one point on a different one for testing but that was last year
<d1b2> <johnsel> another strange issue with xoa
<d1b2> <johnsel> on the one hand it's a nice project on the other hand pfff
<d1b2> <johnsel> what kind of bugs are this
<d1b2> <johnsel> ghost resources
<d1b2> <johnsel> in 2 ways
<d1b2> <azonenberg> i mean IME with hypervisors in generawl passthrough is here be dragons territory
<d1b2> <azonenberg> the ghost usage is a different story
<_whitenotifier-3> [scopehal] d235j opened pull request #848: Add missing includes masked by PCH (locale_t) - https://github.com/ngscopeclient/scopehal/pull/848
<d1b2> <johnsel> it depends
<d1b2> <johnsel> vsphere can do it fine
<d1b2> <azonenberg> yeah and what does vsphere cost these days :p
<d1b2> <johnsel> windows' works perfectly
<d1b2> <johnsel> esxi has a free variant
<d1b2> <johnsel> though you may have too many cores for it
<d1b2> <azonenberg> i stopped using esxi back when it was an 8gb ram limit lol
<d1b2> <johnsel> not to mention 6 months ago our xen worked fine as well
<_whitenotifier-e> [scopehal] d235j synchronize pull request #848: Add missing includes masked by PCH (locale_t) - https://github.com/ngscopeclient/scopehal/pull/848
<d1b2> <johnsel> unraid and proxmox can do it too
<d1b2> <johnsel> pcie passthrough has been solved a long time ago on most platforms
<d1b2> <david.rysk> I've been recently recommended proxmox 😛
<d1b2> <johnsel> yeah xen is lagging behind
<d1b2> <david.rysk> I have worked with Nutanix before ($$$$$) and Proxmox looks like a nice FOSS alternative
<d1b2> <johnsel> openstack makes it a little better it seems but far too much work to admin
<d1b2> <246tnt> I mean, I was using pci-passthru on zen back in 2017 just fine 😅 Never use XOA though, it was just bare xen.
<d1b2> <azonenberg> yeah i was using native xl commands on this box for a long time
<d1b2> <johnsel> yeah honestly this -should- be working
<d1b2> <azonenberg> switched to xcp-ng and xoa to get more automation support for CI
<d1b2> <johnsel> hey
<d1b2> <johnsel> I just realized something
<d1b2> <azonenberg> vs running raw "xl create" commands in the CLI
<d1b2> <azonenberg> ?
<d1b2> <johnsel> the ghost usage problems might be related
<d1b2> <johnsel> if it's still eating CPU and RAM
<d1b2> <johnsel> very likely it's also eating GPUs
<d1b2> <azonenberg> No
<d1b2> <david.rysk> @azonenberg still waiting for VPN 😛
<d1b2> <johnsel> yes
<d1b2> <azonenberg> That was purely self service quotas not accountog for templatizing
<d1b2> <david.rysk> but you seem busy so it's ok 🙂
<d1b2> <azonenberg> in particular, the ram was not actually used
<d1b2> <johnsel> sure but it was counting and refusing to associate/create new resources
<d1b2> <johnsel> if these gpus are marked as "in-use" by the same mechanism
<d1b2> <azonenberg> That mechanism is in the self service pool which doesnt know what a gpu is or have any limits for it
<d1b2> <azonenberg> very unilkely to be related
<d1b2> <246tnt> does live attaching them (with xl) to the running vm work ?
<d1b2> <johnsel> the resource limits are just a sum over the amount of currently in use resources from the database
<d1b2> <azonenberg> [13:57 sanquentin azonenberg]# xl pci-attach 5 0000:51:00.0 libxl: error: libxl_pci.c:1567:libxl__device_pci_add: Domain 5:PCI device 0000:51:00.0 already assigned to a different guest? libxl: error: libxl_pci.c:1727:device_pci_add_done: Domain 5:libxl__device_pci_add failed for PCI device 0:51:0.0 (rc -1) libxl: error: libxl_device.c:1408:device_addrm_aocomplete: unable to add device
<d1b2> <azonenberg> well thats interesting
<d1b2> <johnsel> see
<d1b2> <johnsel> though that could still be from earlier
<d1b2> <johnsel> what's 5 ?
<d1b2> <azonenberg> one of my random vms i had open
<d1b2> <azonenberg> i wanted sometehing disconnected from your templates
<d1b2> <azonenberg> (this is the xl domain IDs not the xe uuids)
<d1b2> <johnsel> well you might need to disassociate it still
<d1b2> <azonenberg> is there any command to see what a gpu is attached to?
<d1b2> <azonenberg> (my suspicion is the card is in a bad state and we need to reset the host)
<d1b2> <johnsel> you can reset the pci endpoint via sys btw
<d1b2> <246tnt> you can unbind the pciback driver from it and re-bind it ?
<d1b2> <johnsel> also not a bad idea
<_whitenotifier-3> [scopehal-apps] azonenberg pushed 4 commits to master [+0/-0/±6] https://github.com/ngscopeclient/scopehal-apps/compare/80428430fe8b...9c777d16c9b5
<_whitenotifier-e> [scopehal-apps] azonenberg f1c607c - Fixed logic checking for all density functions vs eye patterns being swapped, leading to spectrograms and other non-eye density plots not being zoomable in the Y axis
<_whitenotifier-3> [scopehal-apps] azonenberg 4ebb1bc - Updated submodules
<_whitenotifier-e> [scopehal-apps] azonenberg 9ad7ddf - Merge branch 'master' of github.com:ngscopeclient/scopehal-apps
<_whitenotifier-3> [scopehal-apps] azonenberg 9c777d1 - Fix scrolling for culled packets
<d1b2> <johnsel> though might mess up more state in the xen backend
<d1b2> <azonenberg> I can try a host reboot after work
<d1b2> <johnsel> xe vgpu-list is the closest I've come so far
<d1b2> <johnsel> pci-assignable-list will list which devices are available to be assigned to guests. This will list all devices currently assigned to pciback, whether this was done by pci-assignable-add, or by the two methods mentioned in the previous section (linux command-line or manual sysfs commands).
<d1b2> <johnsel> pci-assignable-list will list which devices are available to be assigned to guests. This will list all devices currently assigned to pciback, whether this was done by pci-assignable-add, or by the two methods mentioned in the previous section (linux command-line or manual sysfs commands).
<_whitenotifier-3> [scopehal-apps] azonenberg commented on issue #442: Figure out how to handle markers in filter-only sessions with no history - https://github.com/ngscopeclient/scopehal-apps/issues/442#issuecomment-1915653286
<d1b2> <johnsel> returning the device to dom0 as simple as: # xl pci-detach [domid] 07:00.0 # xl pci-assignable-remove -r 07:00.0
<d1b2> <johnsel> /var/log/xen/hypervisor.log might have something useful too
<d1b2> <johnsel> I'll leave it for you for now
<d1b2> <azonenberg> xl pci-assignable-remove is taking a long time
<d1b2> <azonenberg> like a minute or more
<d1b2> <johnsel> I'm getting a headache from xoa
<d1b2> <azonenberg> but does eventually complete
<d1b2> <johnsel> that might be something
<d1b2> <johnsel> ornot
<d1b2> <david.rysk> I don't like that
<d1b2> <azonenberg> at this point i want to say lets just drop the gpus and run lavapipe
<d1b2> <azonenberg> a few months ago we didnt have ngscopeclient working under any software vulkan implementation
<d1b2> <azonenberg> so the gpu was mandatory
<d1b2> <david.rysk> we can figure out the GPUs later
<d1b2> <azonenberg> its now a nice to have for speed
<d1b2> <johnsel> I think a reboot is worth trying but yeah after that let's leave it for now and button up the rest
<d1b2> <246tnt> Does it run on llvmpipe now ?
<d1b2> <david.rysk> @246tnt it's running on lavapipe in Github-hosted CI
<d1b2> <david.rysk> well, the tests are
<d1b2> <david.rysk> I haven't tested with full GUI
<d1b2> <david.rysk> but I don't see why it wouldn't run
<d1b2> <246tnt> is lavapipe != llvmpipe ?
<d1b2> <david.rysk> Lavapipe is the Vulkan part of llvmpipe I think
<d1b2> <johnsel> afaik it's the same
<d1b2> <johnsel> except lavapipe is pronounciated
<d1b2> <246tnt> Mmm, gui definitely doesn't work for me if I use llvmpipe vulkan at least.
<d1b2> <david.rysk> I'll test over here...
<d1b2> <johnsel> Yeah I'd expect a whole lot of new issues with llvmpipe
<d1b2> <johnsel> david did you fix ehh
<d1b2> <david.rysk> @johnsel you don't have an X session I think?
<d1b2> <johnsel> or is that not fixed/encountered?
<d1b2> <johnsel> possible, it's in my notes from previous testing
<d1b2> <david.rysk> I have this ThinkPad X230 here for testing
<d1b2> <david.rysk> its GPU barely supports Vulkan
<d1b2> <246tnt> yeah, vkcube works with llvmpipe for me. And ngscope sort of does, but it hangs when trying to render a waveform.
<d1b2> <david.rysk> yeah that might be something to debug
<d1b2> <246tnt> lol ... and a quick test shows it's related to the g_done stuff too 😅
<d1b2> <david.rysk> 🤣
<_whitenotifier-3> [scopehal] azonenberg closed pull request #848: Add missing includes masked by PCH (locale_t) - https://github.com/ngscopeclient/scopehal/pull/848
<_whitenotifier-e> [scopehal] azonenberg pushed 2 commits to master [+0/-0/±2] https://github.com/ngscopeclient/scopehal/compare/e849e306c68f...35e1d85c30f8
<_whitenotifier-3> [scopehal] azonenberg 35e1d85 - Merge pull request #848 from d235j/add-missing-includes-2 Add missing includes masked by PCH (locale_t)
<d1b2> <johnsel> sighs
<_whitenotifier-e> [scopehal] d235j synchronize pull request #841: Refactor of Cmake scripts - https://github.com/ngscopeclient/scopehal/pull/841
<d1b2> <david.rysk> I just squashed a lot of stuff
<d1b2> <david.rysk> @johnsel once the xoa-side stuff is figured out I definitely can work on fixing up workflows for the selfhosted 🙂
<d1b2> <david.rysk> right now I'll continue working on what works
<d1b2> <johnsel> yep we'll see if the GPUs come back after a reboot
<d1b2> <david.rysk> @246tnt does llvmpipe/lavapipe work when you add that patch?
<d1b2> <johnsel> otherwise I just need to set up the runners
<d1b2> <johnsel> but I am too tired now
<d1b2> <johnsel> I'll do it soon, maybe tomorrow or the day after
<d1b2> <david.rysk> that's fine
<d1b2> <246tnt> @david.rysk What patch ?
<d1b2> <david.rysk> The one that adds barriers
<d1b2> <246tnt> No, it's merged already and it doesn't fix the issue for llvmpipe.
<d1b2> <azonenberg> 😦
<d1b2> <246tnt> But I forced the break out of the loop (manually forcing done to true) and that made it render. It's not a "correct" render (since it only goes through one iteration), but that points to me that the issue is related to done again.
<d1b2> <david.rysk> can you tell where it gets stuck?
<d1b2> <246tnt> No I'm not sure why it's not stopping. I don't think it's a shared mem issue because even doing the done signal distribution in the most conservative way possible, it's not triggering, so something else might be wrong.
<d1b2> <david.rysk> are you allowed to have a barrier() inside that if-statement?
<d1b2> <david.rysk> or wait, it's not inside, just alongside
<_whitenotifier-3> [scopehal-apps] d235j synchronize pull request #673: Cmake cleanups - https://github.com/ngscopeclient/scopehal-apps/pull/673
<_whitenotifier-3> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/ngscopeclient/scopehal-apps/compare/9c777d16c9b5...9e2e23e1ab43
<_whitenotifier-e> [scopehal-apps] azonenberg 9e2e23e - ProtocolAnalyzerDialog: avoid crash if no packets in decode output
<d1b2> <johnsel> @azonenberg can you send a screenshot of the system overview of xoa? I'm talking in #xcp-ng about the issue
<d1b2> <azonenberg> which page in particular?
<d1b2> <johnsel> I don't know, the one with most relevant info (cpu type etc)
<d1b2> <johnsel> whatever you deem relevant for the question "what system?"
<d1b2> <johnsel> sorry I can't be more helpful, I don't know what pages xoa has for this
<d1b2> <johnsel> thank you