qyliss changed the topic of #spectrum to: A compartmentalized operating system | https://spectrum-os.org/ | Logs: https://logs.spectrum-os.org/spectrum/
<qyliss> Try setting buildPhase = "ninja" in the vm_protos Nix expression?
<cole-h> Sure, one moment.
<cole-h> FWIW, the ninja buildPhase sets -j4 -l4 for me.
<cole-h> Yeppers, that fixes it for me. Man, computers suck! :P
<cole-h> Now let's try to build spectrum-vm again
<cole-h> Urgh, I wish NIX_PATH= also implicitly removed overlays...
<cole-h> (I have an overlay for emacs26, which breaks the build if I don't set -I nixpkgs-overlays=/var/empty lol)
<qyliss> cole-h: are those the only ninja flags?
<cole-h> That's all it prints after "build flags:", so I believe so
<cole-h> spectrum-vm builds fine now, too.
<qyliss> Does enableParallelism = false; without the custom buildPhase also fix it?
<qyliss> (You may have to correct that if I've misspelled paralellism. I can never get it right.)
<cole-h> We're about to find out...
<cole-h> (It's actually `enableParallelBuilding`, btw)
<qyliss> Ah of course :)
<qyliss> Ah, I think I see the problem.
<cole-h> Nope, still fails with that set to false.
<cole-h> ninja -j1 -l4 also failed. Testing if ninja -j1 fails.
<qyliss> b
<qyliss> Your build fails when the fuzzer stuff can't find the vm_crash stuf
<qyliss> But it doesn't declare a dependency on vm_crash
<cole-h> lol
<qyliss> So I'm willing to bet that if we fix that, your build will at least get further
<cole-h> ninja -j1 fails as well. Only ninja sans flags works.
<qyliss> Okay that's really weird
<qyliss> Maybe it gets stuff from the environment somehow?
<cole-h> Maybe. The only thing I did between these runs was rm -rf gen, so maybe not as pure as it could be.
<cole-h> s/maybe/definitely/
<cole-h> Yep, build succeeds when adding `":vm-crash-rpcs",` to the fuzzer-protos deps.
* cole-h checks with `eval "$buildPhase"` now
<cole-h> Didn't die on 26/52, at least.
<cole-h> Yep, success.
<qyliss> Okay, that's good news.
<cole-h> Time to add a new patch to the bundle :P
<qyliss> Yes :)
<qyliss> You gonna do that or shall I?
<cole-h> You, please. I modified the folder dropped by unpackPhase. Gonna take a break from PC instead of clone platform2 :P
<qyliss> Alright
<qyliss> I think I'll first send a platform2 patch, and ask you to test that by just adding hacking it into the vm_protos derivation. Then once that's been reviewed I'll add it to the bundle and send a new nixpkgs patch.
<cole-h> Sure, sounds good.
<cole-h> qyliss: Yep, patch works. Would you like a reviewed-by and/or tested-by, or just email confirmation?
<qyliss> Tags please :)
<qyliss> tags make me happy
<cole-h> Both or one?
<qyliss> Both if you feel them appropriate!
<cole-h> Alright, I'll just do reviewed-by for this one (since I didn't really test it...), and reviewed+tested in the actual chromiumOSPackages bump :^)
<qyliss> Sounds good :)
<cole-h> OK, now I will take that fabled break from the PC. When I get back, I'll actually test spectrum-vm.
<cole-h> Still wonder how you never hit that on both machines... Technology, amirite?
<qyliss> weird
<qyliss> Have a nice break :)
<cole-h> One annoying thing about aerc is that, to pipe patches to `git am`, you gotta do `:pipe -m git am`, otherwise the subject is missing and you an "empty ident" error :')
<cole-h> I always forget
<qyliss> that is annoying
<qyliss> -m for mbox?
<cole-h> -m: Pipe the full message
<qyliss> Oh, without that it's just the body?
<cole-h> Yep
<qyliss> I assume you can at least bind a key to that?
<cole-h> Oh yeah, I could change the | bind to do that
<cole-h> Also, hit another snag.... crosvm fails to build.
<cole-h> Specifically, libcras fails to compile: https://gist.github.com/cole-h/9e4b1888817ad18738ce39f93a16ab4a
<qyliss> spacekookie has a really cool Emacs binding that brings up, like, an interactive patch applying menu for all your patch applying needs
<qyliss> I just hit | and then type "git am -C whatever" like a sucker
<cole-h> Hehe
<qyliss> man it is so weird that this all happens only for you
<cole-h> :D
<cole-h> Cursed computer, what can I say
<qyliss> now that does not look like a paralellism thing
<cole-h> By any chance do you have any un-pushed cros commits?
<cole-h> data_model is too old it seems
<qyliss> We don't even build cros from Spectrum's tree yet
<cole-h> oh wait I'm on master lol
<cole-h> Not interguest
<cole-h> JK still happens. Maybe because I git pull'd adhd?
<qyliss> Oh, you're building your own crosvm
<qyliss> You don't mean chromiumOSPackages.crosvm
<cole-h> Nonono, sorry
<cole-h> `cargo build`
<qyliss> Ohhh
<qyliss> Up to date Rust?
<qyliss> That makes more sense at least
<cole-h> 1.43.0
<cole-h> I think the problem is that I git pull'd adhd, since it now references a data_model member function that we don't have yet
<qyliss> Yeah maybe
<qyliss> I'm using adhd d21c38d4
<qyliss> But also sounds like it's time to update crosvm
<cole-h> Yep, master succeeds with that
<qyliss> This kind of stuff is all very annoying and makes me consider just moving everything into a huge monorepo
<cole-h> interguest branch chokes on `pub mod virtualized;` in `devices/src/virtio/mod.rs` with file not found.
<qyliss> on it
<qyliss> Are you thinking of hacking on crosvm?
<cole-h> Eventually ^^; I've got the spectrum TODO list perpetually open, at least :D
<cole-h> I'll start thinking about what I'll actually attempt to help with once I've got my VM setup again (one stressor at a time :P)
<qyliss> Was just curious why you were building it with cargo :)
<cole-h> Oh
<qyliss> Well no, like, you should be building it with cargo if you're gonna work on it
<qyliss> But you don't need it for, say, testing spectrum-vm
<qyliss> Does that make sense?
<cole-h> Oh, I could just `nix-build -A chromiumOSPackages.crosvm` and point spectrum-vm to `result/bin/crosvm`...
<qyliss> spectrum-vm has a built-in crosvm :)
<qyliss> The purpose of spectrum-vm, more or less, is to have default values for crosvm, rootfs and kernel, so you don't have to think about the two or three of those you aren't currently working on
<qyliss> You just need to run spectrum-vm
<cole-h> ....oh.
<qyliss> Yeah this is why spectrum-vm needs some docs :)
<cole-h> Well, now that I've attempted this, maybe I can help out in that regard :D. Couple questions: 1) How do I shutdown the VM from the serial console we get again? and 2) How do I change the keymap?
<qyliss> 1) reboot 2) modify the configuration file in the rootfs
<qyliss> If you have a better suggestion for 2 I'm all ears fwiw
<qyliss> I'm not sure if there's a way to easily find out what the current wayland keymap is
<qyliss> If we could do that, then we could pass it through as a kernel param or something probably
<cole-h> And 3) how do I move windows? Does Wayfire use the same binding as sway (mod4/super)?
<qyliss> I usually use the mouse
<qyliss> I haven't actually spent all that much time with wayfire beyond checking it works, fwiw
<qyliss> Usually in the VM I'll just full screen the terminal
<cole-h> Oh OK. Moving stuff around was only inaccessible to me because it had started out tiled -> titlebar went off screen
<qyliss> I usually just hit F11 as soon as it appears, which puts the terminal full screen
<qyliss> And then stay like that for the whole VM session
<cole-h> Oh, hey, that totally works :)
<cole-h> Spinning the different workspaces is kinda fun
<qyliss> Yeah :)
<qyliss> Wobbly windows too
<qyliss> Another Wayfire pro tip: if a window is too big for a workspace, hit super to go to the workspace grid, and then you can drag it
<qyliss> What you will have noticed so far is that this is not a very pleasant computing environment
<qyliss> But it's also too early to really spend much time making it any nicer
<qyliss> Since it's really just for debugging
<qyliss> (The exception to that is the keyboard layout thing, which it absolutely would be worth fixing)
<cole-h> Cool beans. Tags incoming soon :)
<cole-h> I'll brainstorm some ways to address the layout thing
<qyliss> I'll see if I can update crosvm and get it to build with latest adhd
<cole-h> (Taking so long because IAttaching a little guide of what I did in crosvm to the email in order to have somewhere to point to before I try and write some actual docs)
<cole-h> because I'm attaching*
<qyliss> no hurry :)
<qyliss> cole-h: I added the missing file to interguest
<qyliss> but fwiw you probably don't want to be on that branch unless you need to try a feature that's only in there
<qyliss> it's unstable and I very frequently force push it :)
<qyliss> master, otoh, is stable
<cole-h> Ack.
<cole-h> qyliss: Now I get an error about src/guest/wl.rs missing (the crosvm_guest_wl bin) ;^)
<qyliss> Added
<cole-h> Builds now 🎉
<cole-h> Works too :^)
<qyliss> Yay!
andi- has quit [Ping timeout: 272 seconds]
andi- has joined #spectrum
<qyliss> That explains a lot about confusing compilation errors I've encountered
maxdevjs has quit [Ping timeout: 246 seconds]
vilhalmer has quit [Quit: :qa!]
vilhalmer has joined #spectrum
julm has quit [Ping timeout: 260 seconds]
cole-h has quit [Quit: Goodbye]
nicoo has quit [Read error: Connection reset by peer]
cole-h has joined #spectrum
nicoo has joined #spectrum
maxdevjs has joined #spectrum
leah2 has quit [Ping timeout: 260 seconds]
leah2 has joined #spectrum
MichaelRaskin has quit [Quit: MichaelRaskin]