<MichaelRaskin>
Hm, Ulubis (Common Lisp Wayland composer) needs only libwayland, at least not wl_roots.
<Scrblue[m]>
I'm kinda invested in Smithay, but I'm just a Rust person
<Scrblue[m]>
A functional compositor sounds rad, though; as long as it was performant
<MichaelRaskin>
Oh, Smithay also uses libwayland
<MichaelRaskin>
Meh
<MichaelRaskin>
Common Lisp is not really about any single approach anyway
<Scrblue[m]>
Oh really?
<Scrblue[m]>
I'm not too familiar with it
<MichaelRaskin>
Here I would expect multiple-argument method dispatch (together with runtime ability to load more methods) to be more of a threat to performance. But I guess the hot path is simply inside libwayland anyway
<MichaelRaskin>
Not sure, though, there is OpenGL code, too, of course…
<Scrblue[m]>
¯\_(ツ)_/¯
<Scrblue[m]>
I am all but entirely unfamiliar with anything this low level
<Scrblue[m]>
But learning is fun
<Scrblue[m]>
I'm sorta student still, so I don't know much beyond programming and basic CS
<MichaelRaskin>
Wayland is a bit like HTML5, complicated standard with expectation of dumping all the complexity into a single thing, with annoying security implications, constant version churn, and people just targeting a single implementation in the end.
<Scrblue[m]>
Yeah, I can see that. I read up on the Wayland spec not too long ago cause I wanted to write a compositor for my phone
<Scrblue[m]>
But is there any spec that isn't worse?
<MichaelRaskin>
X11 protocol has lower churn, recommends at least some separation of concerns, and could be used in a way where most clients see themselves as the only client.
<MichaelRaskin>
Sure it has layers upon layers of history, but Wayland is not a cleanup but throwing away all the good properties in favour of a single usecase story
<JJJollyjim>
what is that single usecase in your view?
<MichaelRaskin>
Running unmodified Gnome
<JJJollyjim>
hm
<MichaelRaskin>
In the sense that windows are managed as they are managed in Gnome, and decorated as they are decorated in Gnome, and workflows are whatever Gnome developers expect
cole-h has quit [Ping timeout: 252 seconds]
Ca1us is now known as Caius
<qyliss>
that's not true at all, even if you look at where the money comes from
<qyliss>
lots of the investment in Wayland at the moment is coming from automotive
<MichaelRaskin>
Which is why Gnome looks tablet-like even in a desktop configuration?
<qyliss>
I can assure you they're not running GNOME
<qyliss>
often they're using the Qt Wayland Compositor (which exists)
<MichaelRaskin>
Hm. Do they need any interesting protocol functionality, or are they just about driver support?
<qyliss>
mostly what they need is performance from low-power ARM GPUs that they apparently can't get from X11
<qyliss>
actually, some interesting protocol functionality which might have come from this side of things is dma-buf, but it's difficult to say for sure
<MichaelRaskin>
Hm. Actually not sure whether GLX fits into their description of X11.
<MichaelRaskin>
Of course _either_ approach needs driver work, and it looks like Wayland is the side where investing in driver works looks more promising
<Scrblue[m]>
So I was wondering, with the VM setup there is now, is it possible to also run a conventional VM with its own display server, running multiple applications, etc?
<Scrblue[m]>
Freelancing is dystopian and they take screenshot of my desktop at random intervals
<qyliss>
jesus wtf
<qyliss>
so the answerr is, with the setup in Spectrum at the moment, that would be possible in a couple of ways
<qyliss>
most of my testing so far of graphical stuff has actually been with that setup, with wayfire running in a VM running applications
<qyliss>
but I doubt whatever spyware they're making you use knows how to interact with wlroots to get screenshots
<Scrblue[m]>
It does not :(
<Scrblue[m]>
I'm using X right now
<MichaelRaskin>
Well, you could just run a normal X setup inside Qemu, I guess
<qyliss>
so if you have to run an X server, you'd want to use Xephyr, and you could forward that as a normal window using XWayland (although I haven't tested XWayland)
<puck>
hrmm. i want to write a tool that fakes X screen captures at some point
<qyliss>
but yeah, for now most typical virtualisation solutions should meet your needs here, QEMU for example
<MichaelRaskin>
If you want CrosVM, I guess Xvnc could help you
<qyliss>
not much point using crosvm if you're not using virtio wayland
<qyliss>
or GPU stuff
<MichaelRaskin>
Its limited device support could be considered a safety feature, I guess
<MichaelRaskin>
Sure, you could also use firecracker
<qyliss>
cloud-hypervisor is my go to at this point
<Scrblue[m]>
Lots to look into, but I assume that'd all still be easier than finding a less cyberpunk job
<qyliss>
(at least if I want to do something properly -- mostly I still use QEMU because it's easy, supports everything, and I know how it works)
<qyliss>
Scrblue[m]: something to be aware of is that if they can run code on your computer, it will be very difficult to hide that you're using a VM
<qyliss>
so you need to take into consideration how likely they are to check, and how likely they are to care if they find out
<Scrblue[m]>
Maybe I should just work as an artisan penmaker instead; sounds easier than programming without a degree
<qyliss>
what you're describing is not normal for programming jobs, degree or not
<qyliss>
_especially_ not for freelancing
<Scrblue[m]>
¯\_(ツ)_/¯
<Scrblue[m]>
I'll probably just deal with the insecurity until I can finish school
<lejonet>
Scrblue[m]: I guess you're freelancing for american company atm? I have a hard time imagining any other company doing something so draconic :/
<samueldr>
>> The protected KVM project is adapting the Chrome OS VMM (crosvm) for its VMM
<samueldr>
I guess I'll have to actually listen to the talk (I often can't stand watching talks)
<Scrblue[m]>
Does seem interesting, but you're still using Android :/
<samueldr>
foundational technologies will get better with this, but really the reason I share is because of previous discussions, and actually unrelated to Android
<samueldr>
it's because it means Android-based devices may get actual KVM support!
<pie_>
ooh shiny
<Scrblue[m]>
Right
<samueldr>
so for non-Android-Linux on those phones, it's a boon that they are doing this kind of work
<Scrblue[m]>
I have a Linux phone, but I've never even tried virtualization on it
<Scrblue[m]>
It's slow enough as is
<samueldr>
unless it's a pinephone or a librem5, it's highly unlikely you can do hardware accelerated virtualization
<Scrblue[m]>
It is a PinePhone
<samueldr>
then you can! but as you said, it's not a speed demon :)
<samueldr>
but the hit from KVM is not that bad, so it's still useful in situations where e.g. you'd want more isolation
<Scrblue[m]>
Oh boy
<Scrblue[m]>
Time to see if I can Whonix from my phone
<hypokeimenon[m]>
<samueldr "unless it's a pinephone or a lib"> Wasn't the Cosmo Communicator in possession of a decent SoC too? I don't know what virtualisation was like on there though .
<samueldr>
according to MichaelRaskin, vendor kernel's default configuration does not enable KVM
<MichaelRaskin>
Cosmo is MediaTek
<samueldr>
and it's likely it's not available to configure
<MichaelRaskin>
Hmm
<samueldr>
hmm... I don't know how USB forwarding to a VM works, but it'd be interesting to see the modem being forwarded to a VM on the pinephone, since it's connected through USB
<hypokeimenon[m]>
<MichaelRaskin "Hmm"> Ew...
<MichaelRaskin>
I think one thing Planet never has time for is locking down things, so most probably you could build an alternative boot image with enough masochism
<Scrblue[m]>
How minimal could you get each individual VM on a mobile environment?
<MichaelRaskin>
samueldr: OK, I got around to booting Debian
<MichaelRaskin>
It has /dev/kvm
<samueldr>
hm
<samueldr>
interesting
<samueldr>
can you dump the config.gz?
<samueldr>
well, uncompressed, and /proc/config[.gz] obviously
<samueldr>
I'll try looking at it with the other mediatek harware
<samueldr>
maybe it was a planet computer user that tipped me to /dev/kvm being present
<samueldr>
in qualcomm's case, it's their non-customizable-by-OEMs part of the bootloader chain that blocks KVM access
<samueldr>
Scrblue[m]: I don't know, I'm not even sure the question "really" makes sense
<samueldr>
a VM is a tool, you can use it to do many things :)
<Scrblue[m]>
I'm just thinking for something as low-level as running just the modem like you said
<MichaelRaskin>
Now I just need a pastebin
<samueldr>
AFAIK a VM can run "nothing" efficiently
<samueldr>
so it'd be something like the minimum kernel to boot in the VM, without any bells or wistles, plus the USB drivers for the modem, and what's needed for IPC in/out of the VM
<samueldr>
if you wanted to forward the modem directly
<MichaelRaskin>
It should be able to run pure-computation efficiently, the rest has overhead…
<samueldr>
but maybe you don't want to provide any "modem-ness" out of it, and just provide a network interface somehow
<samueldr>
I really don't know :)
<Scrblue[m]>
There's too much for me to learn X_X
<samueldr>
don't worry, there's lots to learn all around
<samueldr>
MichaelRaskin: nothing really, thanks for the offer
<samueldr>
the kernel config is generally the interesting bits
<samueldr>
so let me try that against the two mediatek devices I have
<MichaelRaskin>
That;s true
<samueldr>
no guarantees the kernel will build, or the feature will work, but knowing it's not outright impossible is half the battle
<MichaelRaskin>
Ahaha. So Debian fades the screen by timeout… and then lights it up again; unlocking shows the dialog «authentication required to allow suspending»
<MichaelRaskin>
Not sure how to configure Debian power management properly for chat apps, so I guess back to Android and Debian chroot in Termux
<pie_>
downside: now you will need kvm escapes to root your phone :P
<MichaelRaskin>
Dunno, with Cosmo I need to follow a ten-step guide on the manufacturer site to root the phone
<samueldr>
and ten steps is probably because it's spelled-out in details
<MichaelRaskin>
Maybe seven, but more than five and fewer than too many
<MichaelRaskin>
There is a factory wipe via repartitioning involved! Performed via a pretty friendly menu in the bootloader
<Scrblue[m]>
I'm feeling grateful for my Linux phone then
<MichaelRaskin>
I guess it actually has power management suitable for having an IM or email client running in the background.
<MichaelRaskin>
(Although I have never tried to check how much battery idling but non-suspended Debian on Cosmo would consume)
<samueldr>
hm, so it built a boot image with [some of] the options [available] enabled
<qyliss>
if I understand it correctly, they're using GPU virtualisation to have a VM render windows, copy those to the host over RDP, and then have the host send those renders back to the GPU when it draws the windows
<samueldr>
I don't know the details, but ain't that the second E of EEE?
<qyliss>
samueldr: difficult to say tbh, they do seem to be going to great efforts to use the standards
<samueldr>
hopefully
<qyliss>
but in the bigger picture sense MS are certainly extending the Linux desktop with Windows features, if you look at it from that direction
<JJJollyjim>
omg, they decided it was easier to port mesa to windows with a DirectX backend than to work with shitty silicon vendors to make OpenGL drivers work on arm?
<JJJollyjim>
incredible
<qyliss>
yep
<MichaelRaskin>
Making silicon vendors make _one_ driver work is close to a miracle
<MichaelRaskin>
Making them provide _two_ working drivers is beyond abilities of MS and Tesla together
<pie_>
going to space is easier
<MichaelRaskin>
Notice how SpaceX talks about being happy to buy whatever from external vendors, then ends up bending steel sheets on their own. Could there be a reason for that.
<MichaelRaskin>
Might it be that they are literally better at going to space than at making vendors do things properly…
<JJJollyjim>
yeah the drivers for steel sheets never get upstreamed so i’m stuck on an old kernel :(
<qyliss>
so from a Linux PoV, this d3d12 thing really only means that some Windows games will work now, right?
<qyliss>
JJJollyjim: are you still interested in bumping chromiumOSPackages btw? It's getting close to the top of my todo list.
<JJJollyjim>
qyliss: i understand the d3d12 thing to be the other way around
<JJJollyjim>
it translates mesa calls to a directx backend
<samueldr>
I have faint memories of the previous d3d12 discussions being that, mesa calls end up going to directx
<JJJollyjim>
could be misunderstanding though
<pie_>
i hope there are some immensely cursed fun things you can do with that
<samueldr>
but I really don't _know_
<JJJollyjim>
i am still interested but have been super busy
<JJJollyjim>
nothing going on at work right now, will double check how the IP policy relates to open source then have a go today
<samueldr>
the more recent MTK device *does* have KVM though when enabling the options
<samueldr>
neat!
<samueldr>
thanks MichaelRaskin
<samueldr>
xiaomi-begonia, for the record, don't buy one as it's not a safe device to mess around with
<samueldr>
trivial to brick
<samueldr>
though maybe the recent bootrom exploits mitigate the issues if it allows going back to a working state
<MichaelRaskin>
I was of better opinion of Xiaomi
<samueldr>
it's mostly specific to this device, the ARB (anti roll-back protection) is broken
<samueldr>
and instead of putting the phone in an unverified state where you can recover it with e.g. fastboot
<samueldr>
it fails to boot entirely
<samueldr>
leaving it to be fixed only with the mediatek flash tool, which in turn uses "VIP" programming, which needs a valid xiaomi account for a token
<MichaelRaskin>
Which takes 72 hours to register?
<samueldr>
nope, unrelated to the unlock process
<samueldr>
it's about authorized repair centers
<MichaelRaskin>
Ouch
<samueldr>
yes :)
<samueldr>
in this instance it's _actually_ pretty much bricked, not "bricked but trivially recoverable"
<qyliss>
I reworked networking today to make IP assignment a little less complicated, but amn't going to post it for now, because I want to try using IPv6 instead, so might end up just posting a patch to convert it to v6 instead if that goes well.
<qyliss>
samueldr: thanks for linking those slides
<samueldr>
the actual talk might be good too, haven't looked for it