Tech Over Tea - Standing At The Forefront Of FOSS | Asahi Lina & Luna
Episode Date: June 29, 2022Asahi Lina has been doing incredible work on the M1 GPU reverse engineering project and Luna the Foxgirl has been working on the only FOSS competitor to Live2D for Vtubers and game engines. ==========...Guest Links========== Asahi Lina Twitter: https://twitter.com/LinaAsahi Asahi Lina YouTube: https://www.youtube.com/AsahiLina Asahi Linux Website: https://asahilinux.org/ Luna YouTube: https://www.youtube.com/c/LunaTheFoxgirl Luna Twitter: https://twitter.com/LunaFoxgirlVT Luna Patreon: https://www.patreon.com/m/LunaFoxgirlVT Luna Twitch: https://www.twitch.tv/LunaFoxgirlVT Inochi2D Twitter: https://github.com/Inochi2D/ ==========Support The Show========== ► Patreon: https://www.patreon.com/brodierobertson ► Paypal: https://www.paypal.me/BrodieRobertsonVideo ► Amazon USA: https://amzn.to/3d5gykF ► Other Methods: https://cointr.ee/brodierobertson =========Video Platforms========== 🎥 YouTube: https://www.youtube.com/channel/UCBq5p-xOla8xhnrbhu8AIAg =========Audio Release========= 🎵 RSS: https://anchor.fm/s/149fd51c/podcast/rss 🎵 Apple Podcast:https://podcasts.apple.com/us/podcast/tech-over-tea/id1501727953 🎵 Spotify: https://open.spotify.com/show/3IfFpfzlLo7OPsEnl4gbdM 🎵 Google Podcast: https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy8xNDlmZDUxYy9wb2RjYXN0L3Jzcw== 🎵 Anchor: https://anchor.fm/tech-over-tea ==========Social Media========== 🎤 Discord:https://discord.gg/PkMRVn9 🐦 Twitter: https://twitter.com/TechOverTeaShow 📷 Instagram: https://www.instagram.com/techovertea/ 🌐 Mastodon:https://mastodon.social/web/accounts/1093345 ==========Credits========== 🎨 Channel Art: All my art has was created by Supercozman https://twitter.com/Supercozman https://www.instagram.com/supercozman_draws/ DISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase we may receive a small commission or other compensation.
Transcript
Discussion (0)
Good morning, good day, and good evening. I am as always your host Brodie Robson, and today, this is episode 121 of Take of a Tee.
And today, I've not just got one guest, I've actually got two. Welcome to the show, us, Selena, and also Luna the Fox Girl. How are you doing?
Hello, I'm doing great, I'm Selena.
The instant I started recording,
everything started breaking. The bitrate on Discord just dropped by like 50%.
Seriously? Yep, it's fine, we'll deal with- it's fine.
Let me just make sure it's not on my end. No, it's fine. Okay, Discord's just being Discord.
How are you? I am doing just fine.
But I'm not very tired.
Yeah, pretty good.
Yeah, awesome.
Well, I presume that some of you know, some of the guys listening know who you are, Lina.
But how about you introduce yourself anyway, and then I guess Luna can introduce herself as well.
So yeah, my name is Asahiririna and I work on Linux kernel development. And right now I am working on writing a CPU driver for the Apple M1 as part of the Asahirinux project.
Luna, how about yourself?
I'm Luna, I'm a game engine and game developer who, well, decided to write a VTuber 2D bottle format thing and now I'm using it and Luna is using it and oh god everyone is, well,
not everyone, but a bunch of people running my software and I'm hoping it doesn't crash.
It is certainly getting a bit more attention.
I know that a year ago I think Ren talked about it on his channel, and then you've been slowly
working on it and improving on it, and I've recently started hearing about it recently,
and it seems like it's gotten into a much better state than it was at least.
Yeah.
Basically what happened is when Lina was like a week- wait, two weeks away from debut, we
basically just speedran getting it ready for debut, and I rigged her model in a week, wait, two weeks away from debut, we basically just speed ran getting it
ready for debut, and I
rigged her model in a week while very sleep
deprived.
Yeah, that was an interesting two
weeks.
I can't imagine that.
Yeah, well, you're here now, so look,
it's clearly not full apart
at this point.
It's improving.
Yeah.
Like, we didn't have physics when I debuted,
so, like, my hair was, like, made of plastic.
Oh.
Well...
But now it's pretty good, you know?
I guess that's the problem with...
What would you call it?
Alpha software?
Beta software?
Where would you put it right now?
Weird.
Currently we're working on
beta 0.7.2
of the specification and
of Notch Creator 0.7.3.
Awesome.
Well, before we get into
any of the individual stuff that both of you
are doing, why don't
we talk about why you're both here together?
Because I tried to
plan both of you separately and you
both wanted to do the podcast together well uh lena has helped out a lot with you know should
he like she helped me doing the jam that was like the week-long jam where we prepared for a debut
and also she support the project a lot throughout the time so he's basically the first person to use the specification.
That's awesome.
Well, besides me, I guess.
Yeah.
Yeah, and I mean, Blue is basically the reason I'm here, right? Because I wanted to do the,
you know, the VTuber thing, but there was no open source software, and then I sort of
ran into Luna and NH3D, and that's what really inspired me to, you know, to do it like this,
and to really go for it. So yeah, I think that's pretty much it.
Yeah, I think that's pretty much it.
Yeah, I think that's pretty much it.
Yeah, I think that's pretty much it.
Yeah, I think that's pretty much it.
Yeah, I think that's pretty much it.
Yeah, I think that's pretty much it.
Yeah, I think that's pretty much it.
Yeah, I think that's pretty much it.
Yeah, I think that's pretty much it.
Yeah, I think that's pretty much it.
Yeah, I think that's pretty much it.
Yeah, I think that's pretty much it.
Yeah, I think that's pretty much it. Yeah, I think that's pretty much it. Yeah, I think that's pretty much it. Yeah, I think that's pretty much it. Yeah, I think that's pretty Luna and Inno3D and that's what really
inspired me to, you know, to do it like this and to really go for it.
So, yeah.
Was that before, no, I guess it would have been after Ewan started doing his 3D stuff,
but there wasn't anything on the 2D side.
Yeah, so I was actually thinking of doing it on the 3D side, but, you know, I wasn't
too sure and I like the look of 2D models more side, but you know, I wasn't too sure.
And I like the look of 2D models more, but you know, you don't want to use live 2D
because that's a Windows thing and yeah.
I, isn't there like ways you can get it working through Wine?
But even so, if there's something that's going to be open source, you'd
probably prefer to use that instead.
Yeah.
And there's like weird licensing issues with it too, and like rules
around the models and it didn't give me a good vibe really. Yeah, no, that's totally fair.
That comes a bit into why I actually started developing in ArchGD. But yeah.
Well, we can talk about that then, uh, cause I did hear the story about like where it came
from on Twitter, but how about you just
let people know how you initially came up with the idea?
Okay, so I was working on a game, plus a game engine, a Lispion Foxgill Mahjong
Visual Novel game, and I wanted to animate the characters, and I looked at Life's Least
Licensing and was like, this is kind of bullshit.
So then I started making my own thing, because I have a very bad case of not invented here syndrome uh and then uh
uh then i uh later decided to take it out of the engine and then i saw that the fact that like uh
uh oh god what's what was the program called again? Like the thing people used before, like Vcface and VTube Studio?
Ah, the one that had like the dog avatar bundled with it?
Oh god.
I hope you're asking me that because I don't have an answer for you.
I don't remember what the application was called, but it was bought up by another
company or something and suddenly they were switching like to a um subscription model yeah for it and it was
like this is kind of trash maybe there shouldn't be like two monopolies for me to bitch and then
i decided to basically spin it out to be like a full thing and stuff just like a subsystem in my
game engine yep well i i can clearly see, like, it's working in a...
There's enough of a state where you can actually use it to do vtubing, but, like,
where do you, like, where would you consider the, I guess, the state of it to be right now?
Like, it is at, like, slightly past the minimal viable product. So we have a few more node types we want to add and a little bit of
optimization to the spec itself.
Uh, otherwise the specification is actually mostly done and then it's just all the
tooling that needs to be made, not terrible.
Well, Lina, how do you feel about the state it's in right now?
Cause you're, uh, I guess the prime case of using it.
Yeah. feel about the state it's in right now because you're uh i guess the prime case of using it yeah um i mean i guess it's at this state where like you know if you're a technical person and
you can write like simple code yeah um then you can use it because like the the sort of there's
no player apps so to speak so i literally just have like a you know a small script that um maps
the um tracking parameters into the model so there there's no like UI for configuring,
for running it, right?
So that's in the works.
I am working on it.
I can see why you said minimal viable product.
But, you know, Luna's working on that.
And then as far as the editor,
it's a bit awkward.
I mean, it's really good.
Like if you think about it from the perspective
that she wrote it from scratch
and that, you know, there's a lot of things going on for uh bringing a 2d
model it's actually really good um but there's a lot of weird words and things that you know
don't make sense and uh a few big missing features that would make a rigorous life a lot easier um
so you know it's usable but um like i feel a bit bad for some people using it you know because it's it's, it's, there's so much, it can be so much better too, right?
It's, you know, it's already great, but it can be so much better, that kind of, that kind of deal.
There is a reason why when you open up Crater, a giant root takes this, this is beta software.
At least when you open it for the first time.
Well, at least it's a, it's clear the state that it's in then.
Like, it's not just like, hey, I'm gonna have this product here.
I'm not gonna even acknowledge the state that it's in, but hey, if you wanna try it, well,
go ahead!
I don't know what I'm gonna do.
Yeah, that's more or less...
I just want people to save often, and that is probably gonna crash a lot.
Yep, yep, yep.
And also that a lot of features are missing and stuff.
But yeah.
At least I have control S.
Because it didn't have that before! What? And also that a lot of features are missing and stuff. But yeah. At least I added Control-S.
Because it didn't have that before.
Well, that's because the Imguri shortcut management is kind of
really annoying to deal with, so I haven't done
much of it.
Well, Lena has improved that, and I am
working on more stuff
on improvement on the UI side.
So like, after 0.7.3 for the So after 0.7.3
for the creator,
0.7.4 will just be focused on
making the UI better.
Especially since the undo system
is half implemented, so there's some things
you can undo and some things you can't.
It's very broken right now.
That's the thing, right? We've talked about
a lot of features and how they should be implemented,
but there's so much time.
Yeah, of course
especially now that I'm busy with other stuff so yeah
well yeah
busy is one way to put
to put what you do
I've seen
that you seem to do like minimum
7 hour streams
I think I did
1 3 hour one but
yeah well
one three hour is basically
three hours is like my
maximum for the most part maybe on a
good day I'll do four hours but
ten is
ten's kind of extreme
I keep reminding Lena to like get food
I just get in the zone and they just start coding and
you know and it's on a stream so i get it's like you don't want to stop until something works
yeah yeah which considering what you know what you've been streaming is kind of a a big goal
to get to um for anyone who doesn't know about what you've been doing. You've been heavily involved in the M1 GPU project,
which just for anyone out of the loop,
explain what you're actually doing there.
So this is all part of the Masahi Linux project,
which is about porting Linux and both the kernel
and some user space bits so that they run well on Apple's M1
and, you know, future Apple Silicon machines,
so like all the new MacBooks and stuff.
Because they're really nice machines,
and they're ARM, and, you know,
they run with really quiet and no power,
so, you know, a lot of people were interested
in running Linux on them.
So that's kind of the overall project, right?
Yep.
And so, yeah.
Well, I'm sure there's a lot of people-
Oh sorry. Yeah oh sorry. Go ahead. So what I've been working on is the GPU side because
so the you can actually get a second Linux today but it just runs on a frame buffer so there's no
acceleration or anything like that and so Valicia and my sister, Yenny, have been working on the Mesa side, on the sort
of user space side of the GPU. And so there was a lot of existing reverse engineering of shaders
and all that, basically the part that goes into Mesa. But all of that was done on top of the Mac
OS kernel, right? So there was no kernel side and there was no reverse engineering of the GPU's
firmware interface or the hardware side. So there was that one missing piece there was no reverse engineering of the GPU's sort of firmware interface on the hardware side.
So there was that one missing piece, right?
It's like, you know, you got the Mesa side, you got the rest of the kernel running, and then there's this kernel driver missing.
And so I just sort of jumped on that and I've been working on reverse engineering it.
And so sort of at the beginning was a lot of research and tracing and kind of, you know, getting huge screens of numbers on the screen and trying to figure out what they all mean.
And then for the past few weeks, I've been actually writing the driver,
a very cursed prototype driver.
But it actually works now, and you can actually render things.
And so just...
yeah.
Go ahead.
I've been sort of watching the RC Linux project.
Basically, I guess...
I'm not sure.
When was it announced?
It wasn't that long after the M1 actually came out.
Like, maybe a few weeks or like a month or so
after that initially came out.
I honestly didn't think the GPU would be
in the state that it's in at this point. Like,
this seems... You and everyone else involved have done a lot of amazing work to get it this far.
Thank you. I mean, I think pretty much everyone involved, you know, both finds it really
interesting and also really fun to do. And, you know, we can have a very good team that we put together.
So it wouldn't be possible without everyone.
Yeah, absolutely.
Well, what has it been now?
Like, when did M1 come out?
I think it was like December 2020.
So it's been a year and a half now.
Yeah, past like three or so years have all blended together in my mind.
I have no idea when anything happened.
I don't know what you mean.
Because I graduated uni in, like, I think, like, three months after COVID started.
And everything after that has sort of, like, blended together.
I don't know when anything else happened around that point.
Yeah, I think it's like that for the most part.
I mean, I remember the M1 stuff, but most of everything else is just like, I have no
idea what it is.
Yeah, yeah, absolutely.
I'm sure it's pretty much the same for you as well, Luna.
Yeah.
Well, Denmark's course in COVID-19
has been slightly different.
We locked down pretty quickly and
we also started rolling out
vaccines quite quickly so
we got like
quote unquote over it.
Not really over it.
Quite quickly so I was quickly set back
away from online
schooling back to
well that was when i was doing
getting educated getting education now i'm working at a games company so
i don't know how much you can say about what you're doing or not you did mention you had a
nda for a lot of stuff uh yeah the the stuff i do at work is under NDA, but I can tell that I work at a Danish games
company, a company that has made games like Welcome to Elk and England.
Well, published England, rather.
And I helped a bit with getting Welcome to Elk running on Linux and Proton.
Oh, nice.
Well, actually, that sort of leads me to something.
Like, how did both of you get yourselves into the whole, like,
you know, FOSS and Linux sort of world?
I guess, Lena, you first up.
Yeah.
So, you know, when I was, like, I think I was, like,
in, like, middle school or so, I had a Nintendo DS and I discovered that there was this thing called Homebrew that you can get on it.
People were making their own apps and it wasn't like big games companies and stuff in it.
It all sounded so interesting.
And so I started messing with that.
And I ended up teaching myself how to program.
And it just kind of went from there. I started learning about writing programs in CA and stuff like that and just
sort of for time kind of ended up really interested in reverse engineering because that's kind of how all that world starts, right?
Because there's no documentation.
And yeah, I guess I ended up here.
Well, it sort of makes sense if that's where you started, that you eventually
made your way over to, hey, let's write the driver for a GPU that has no documentation. All we have to go by is the existing driver
on a completely separate operating system.
So we can see what it's supposed to look like
when the output's correct.
But besides that, just make it work, basically.
Well, I mean, one thing that I tell people
who ask me about reverse engineering
is that it always pays off a lot
if you write tooling first,
right? So especially as you learn sort of how to work with that unknown and undocumented
hardware, you kind of realize that every hour you put into tooling is a lot of time you're
going to save in the end just by using it. So that's kind of the philosophy that I follow, right?
It's like, okay, it's a big black box, but as you work on tools, those tools help you
actually understand it a lot faster, and you sort of go from there.
I've personally never looked into doing reverse engineering stuff, but we definitely have
to talk a bit more about that in a moment.
But before we get into that, Luna, how did you get yourself here?
Well, it all started when I was five years old and I discovered something on my parents' computer called QBasic.
And then from there, I learned programming.
I used to be like a massive Windows, I don't know, fangirl, I guess.
And then at some point I
was like, actually, nah, and then I started using Linux as a daily driver in 2012.
Oh wow, okay. You've been using Linux a lot longer than I have then.
Yeah, I was back in the dark ages where nothing really worked.
Well, I've done a stream of, well, think maybe like a six or so months back where i went back
and looked at like early versions of uh of ubuntu i went all the way back to 4. is it first version
4.04 yeah warty warthog and i'm actually kind of surprised by how usable some of those old systems
were i'm sure you know daily driving it would have been a much
um different a much yeah much much different experience but it seems like it still would
have been relatively usable even back then i'll just say that broadcom used to be and real tech
used to be really bad about wi-fi drivers so i had nothing good about curse yeah I used to really curse things like install something called
bcm-wl
and I had to download files from random
places to get it working it was terrible
right right
and I already had laptops to run it on
but
once I did get it running
and I managed to get myself a GPU
I could use compass and then I got wobbly windows
everyone loves the wobbly windows.
Everyone loves those wobbly windows!
And I don't know how many people got introduced to, like, you know, Linux UI's
being cool because it's the Compiz!
Wobbly windows and burn your windows away.
I used that to do menus.
I didn't burn my windows away, I just used that on menus so when I closed menus they
would burn away. Yup, yup. Sadly I missed that to do menus. I didn't burn my Windows away. I just used that on menus so when I closed menus, they would burn away.
Yep, yep.
Sadly, I missed that time.
I've gone back and looked at videos
of what Compiz was,
and it looks like...
It would have been a really cool project at the time.
I know that when I...
If I was using Linux when I was...
I would have been...
When Compiz was really popular,
like, I don't know, mid-teenage, I would have really... when comps were like really popular like, I don't
know, mid-teenage, I would have really loved it. It looked ridiculous, and it looks ridiculous
now, but it certainly looks like a lot of fun if nothing else.
I think almost every like, comps effect these days is actually supported in KWin, so like
if you really want those things you can actually enable them.
I don't think... there's a few effects that I don't think work in K-Win, but
they could be planted pretty easily.
One of them is like, so for the desktop cube
in Compass, you could make it a sphere.
You could also make it a cylinder.
And then you could make windows float above it
and drag them around as they floated.
And you could even get that to hack
it a bit to actually work with wobbly windows
during that. It was pretty funky.
But, yeah.
It sounds like an interesting experience, but it also sounds like kind of a terrible
way to use your system.
It was terrible, but I was a teen, and I loved the weird graphical effects that
it gave me.
Yeah, yeah, that totally makes sense.
Even if they were very, very inefficient.
Mm-hmm.
Well yeah, I-
I love getting- Oh, sorry.
Oh, sorry.
It doesn't seem like...
Well, I'm sure that if we were to write...
I guess that's sort of what Wayfire is now.
Like, if we were to write a composite
that does have fancier effects like that now,
especially if you start leaving XOR behind,
you can do it in a much more efficient way.
But, yeah. I can't imagine it
would have been great for especially those older systems.
So like, I also played video games back then through Wine and stuff, and like,
whenever I dragged a window, the game would just go like 2 FPS due to like, Compass doing
good stuff.
Yeah.
You never considered...
Like, you get performance issues
depending on what you're doing with compositing.
And also amazing...
tremendous amounts of screen tearing.
Yeah.
Don't get me started on screen tearing.
I mean, like, one of the reasons
why I'm doing this CPU stuff is that right now
I'm using an Intel iMac as my main machine
with a Radeon card and for some silly reason like power management doesn't work on it so it's
like new vault but for amt because something aimed at something apple i don't know why it's it's
weird it crashes so i'm running it's running like underclocked which means that on a you know 4k
screen it just about checks along if i turn off chugs along if I turn off compositing.
But if I turn off compositing, then it tears.
So I've been having a tear fest for like the past year,
and I still want to fix that and just move to another one.
What's worse, it chugging along and being unusable, or just tearing?
What would you prefer?
Depends on what I'm doing.
If I'm, like, using a desktop, I prefer tearing.
If I'm watching a video, I probably...
Yeah.
I'm not sure, actually.
Yeah, no, that's totally fair.
I'm so...
I'm so used to screen tearing, cause, uh, not getting into my depressing childhood trademark but like i i
came from a very come from a very poor family so we usually we always had like really underpowered
hardware i ran a pentium 4 all the way up to like 2010 uh so like screen tearing was just a part of
my life and running games at like 10 to 20 fps sometimes five so i i'm kind of used to it so i can kind of like just block out screen
tearing but like things chucking along at this point now that i have good hardware is just very
hard to ignore well look if it makes you feel any better i didn't have an internet connection till
2006 i think 2008 for me okay okay maybe it was worse The thing we had then was like
It used to be dongle it used like mobile data
And we got like I think 10 kilobytes a second down
Oh wow
I um
Before that point I basically lived in the middle of nowhere
In rural Queensland
And
You weren't getting much
Out there maybe you could have probably
got dial-up but my parents didn't even know what the internet was at that point
so they weren't gonna get it.
And I can imagine that like the internet types to Australia weren't great back then.
Well the internet here didn't really get good it's not good now it's very
overpriced but it didn't really get good until, like, maybe 2016?
2017, maybe?
Like, right now, I've got
50 by...
What is it? 50 by 10.
And we're paying, like...
I think it's...
70
Australian dollars a month, which is about, like,
50 USD or so.
So it's, like like not horrendous.
Is it here where I humble brag about having 500, 500 for around 50?
Yeah, no, I'm not surprised.
And Lina, why don't you tell me what you have?
I mean, I have a gigabit.
But I mean, I don't get a gigabit to like, you know, Europe and the US.
So that's one thing that I've noticed that being in Japan that, you know, there's this, there's your local connections and then that's where you actually get like to the rest of the world.
Right.
And they're two very different things.
Well, yeah, Japan's in like, it's in a weird spot.
Cause it's like, yeah.
Cause Europe is, Europe's a very long way away.
Like I'm sure that, you know...
There's very little connectivity through Asia and Russia, so almost everything takes
the long way around to the US.
Ah, right.
To get to Europe.
Right, that explains it then.
But hey, at least if you wanna, I don't know, read the local news, you can download the
gigabit.
Yeah! And if you've got mirrors, this is why Asahi Linux has a worldwide CDN!
Right. For the installer images!
My ISP is starting to roll out 10 Gigabit, and might also roll out in my area.
They already have 10 Gigabit for business customers, but they're rolling out for, well, just home customers.
The thing is, Denmark has like 50 ISPs that are all competing, so like, the prices are really low,
plus in Denmark, good internet connection is a human right, so they're also kind of pressured
by the government to offer proper service. Right. That would be lovely. Maybe I should
move to Denmark. Australia,
Australia's problem is we don't have competition.
We have a government monopoly,
but they don't,
it's not like,
hey,
they are required to offer a certain amount of speed.
It's,
we will offer the bare minimum that will make people not hate us.
So I think in certain like small areas um you can get gigabit i think you
can get gigabit as like a business connection but it's like 150 a month or something yeah it's not
good as soon i'm getting fiber at my house though so i'll be able to get something better than what I have but still not gigabit
I actually had
100 megabits in my trick
at my previous
place I'm going to stay briefly
and that was pretty good too
so I think that's kind of the minimum
you can expect in Tokyo
but they are rolling out 10 gig
if you pay for the construction fees
and all that you can actually get 10 gig I don't know what I would voting out 10 gig, like, if you pay for the construction fees and all that, you can actually get 10 gig.
The thing is, I don't know what I would do with 10 gig.
Well, do you have...
Like, I don't even have a 10 gig LAN, right?
I was going to say, like, do you even have 10 gig gear to use it?
We have...
There's a Mac studio around here for some reason, and there's a 10 gig port but uh there's there's like an old switch um that has
some sfps that i need to find some uh hardware for and they can you know maybe someday i'll
actually have a 10 gig network but not right now no we here we do have 10 gig gear because
well i i live with a friend i'm basically like renting two rooms yeah like a a room and a walk-in closet from my friend who has a
house.
And when he bought the house, he also got a loan for improving the house.
And one of those things was improving the networking.
So I helped a bit.
But yeah, we rolled in.
Internally in the house, we have 10 gig networking.
We have a cloud switch and a way too beefy router.
So we can run 10 gigabit technically here, we just need to upgrade the actual fiber
receiver.
Right, right, right.
Yeah, I'm doing the same thing minus the 10 gig.
Yeah.
But at my parents, like they are living,- they- they are living- well, I also live in, like, the middle of nowhere now, but they live also in the middle of nowhere.
Uh, in an area that isn't really well covered by the ISP. Well, it wasn't, but now they have actually rolled out fiber, but, like, my parents are very cheapskate and want to only pay, like, 10 to 20 dollars for, uh, the internet, so.
They have, uh...
Uh, what was it, like a 10.1 speed.
Okay.
I thought you were going to say they have some,
they have basically what I have, 10 bugs.
Well, it's 10.1 on a good day and like 5.0.5 on a bad day.
Okay, right.
Basically, complete unserviceable uploads, Bean.
It's a connection
if you want to check your facebook
maybe not facebook because facebook you know
you'd be downloading all the images that would be pretty bad
my dad's a boomer he checks facebook
if you want to check your emails
and you don't load images
I think you'd be fine
yeah
that sounds horrible.
At least I got Linux installed on my parents' computer so I don't keep getting- like,
having to provide support from them, like, absolutely just loading their PC with malware.
They can't figure out how to do that now, so I'm safe from having to be tech support
all the time.
Are they the sort of people that if you let them do it, they would just run the
computer till it dies, and if they stay on Windows XP for the next 10 years, it'd be fine?
Yeah, it took me, like, first they refused to run Linux, so it took me like a week to convince
them to upgrade to Windows 7 from Windows XP, and XP had been out of service for years at that point.
Yeah.
And finally I convinced them to run Linux, I installed Linux Mint, and I have
not had any real tech support issues from them since then.
That's good.
I have kind of the opposite problem, because my dad actually gets the tech enough that I don't have to babysit him.
Ah yeah.
But because he gets the tech, he likes doing interesting things like,
you know, oh the Wi-Fi doesn't cover the house well, let me take this old ISP router that's sitting in the closet and stick it on the other side of the house.
And you can imagine how well that ends up. It's like, oh the WiFi isn't stable.
And they're like, Dad, you're using the old DSL modem!
Like, with 2.4!
Like, hit it to that 11G!
Like, they're not gonna work well anymore.
Well, sometimes my dad does mess with the the the
computer like he tried to put in more ram he put in the wrong kind of ram he tried yeah
that didn't go well uh he used to build computers back when like windows 98 was new yeah yeah
and yeah uh he's kind of like forgotten how computers work or something, cause uh,
he sometimes calls the RAM the CPU and other things the other thing.
Yeah, no.
Yeah.
Uh, I don't trust him with working with computers anymore.
I've luckily not really had to deal with that.
My parents have always been very, very tech-illiterate.
I think it took me like two months to teach
my mom how to send an email
and since
then she knows how to use her phone just fine
she can like you know use Facebook
and stuff recently
she started
she mentioned TikTok a couple of times
please don't do that
don't actually get involved
in watching TikTok stuff.
Oh god.
That sounds scary.
Yeah, a little bit.
I do also have to teach my parents how to use
whenever they get a new phone, I have to teach them
how to use it. That's fun.
And like, they complain, why does this app
not work? It's because you're not logged in.
Or you press the log out button. You have to log in again and then they forget the passwords for
everything and ask me and i'm like i'm not your password database i installed a password database
for a reason then they forgot the password to the password database didn't they bingo
yeah even though it was written on their note on their table they could just have looked on the note yeah it's uh it's the adventure with my parents yeah my parents um they my mom especially
had a book where she had all of the passwords written down just like well look if you're gonna
do that you won't forget them except when she like has passwords that have changed and then
doesn't know which password is the current password and just cycles through all of them.
I think the stupidest thing-
Does he think I'm mad for too many login attempts after that?
I think the stupidest thing my dad has done was like, uh, back when like Bitcoin
and stuff was like the craze he wanted
to get into trading it and i i warned him a billion times that he would lose that money and
like in the end i just had to do it because like he would not relent and then immediately uh that
bitcoin went to nothing and uh yeah he learned his lesson after he lost uh like i guess a hundred
dollars would it be okay yeah i'm on it i um i had my stepdad ask
me about bitcoin i think it would have been it would have been after that like last big peak
that happened so like when everything was you know going crazy every literally everything could make
you money and his uh financial investor like advisor, whatever, because he used to own a farm, he's got, like,
a bunch of money sitting around, was like,
hey, you should put all of your money into Bitcoin.
And he asked me about it because he knew that I had put money into it earlier.
I was like, don't do that.
Fire him.
Find someone different if they're saying to do that.
Bro, I'm in the dumpsters.
If they're saying to do that.
I'm in the dumpsters.
I, uh, I luckily sold out everything that I had, uh, during the last peak.
And I've been watching it thinking like, maybe, you know, maybe I'll put some money back in.
And then it's just... It's like, nope, okay, I'm lucky I did that.
I didn't do that.
Well, that was tangent upon tangent. Well, this what's tangent upon tangent?
Well, this is what
the show basically is.
Look,
if it's getting tangent upon tangent,
that means that a conversation is happening.
I can definitely work with that.
As long as we don't start talking about it
after.
Well, look, you know, we can do that if you really want to.
I mean, the Nudge2D- the Nudge2D wiki has a thing where it's like, we do not support
NFTs or anything, and if that's what you want to use Nudge2D for, please piss off.
Like, there's like, the actual wording for it.
But yeah, that pretty much like much clears up my stance on that.
That makes sense.
I'm guessing yours is fairly similar, Lena?
Yeah, to say that I haven't seen the NFT market do good things for artists recently.
I have heard a lot of people...
I heard mixed things about NFTs and artists.
We'll ignore the whole, like, you know, the monkey stuff and all of the dumb stuff happening with NFTs.
I've heard sort of mixed things when it comes to, like, whether NFTs are actually a good thing for artists.
I've heard from some artists where they'll have people, you know, buying their art, sometimes paying for commercial licenses sometimes not
and then making an NFT project with it even though that was never really part of the agreement for
doing the art whereas then there'll be other people who say uh this is some way to sort of
help to fund the artists and things like that but I'm not personally involved in the art space like
that so I've got my own like opinion on whether I like nfts or not but i just i'm not really sure whether it actually is helpful for the artist in the long
run or not i don't think i know any artist that is you know like not already big that has actually
made money with nfts right that means usually when they do making money so it's just a way for
people who have money to make more money, which doesn't really make any sense.
So, yeah.
Also, a lot of the artists I see that actually, like, draw something that is not monkeys that do NFTs end up making that their entire personality.
Probably because, like, they will not get any money unless they do that.
Yeah, that makes a lot of sense. If you want to see someone who gets nothing but crypto in their world,
just go through Elon Musk replies,
and it's just nothing but people shilling their,
whatever their project is.
Yeah, it's...
Me no likey.
It's not just outright spam too,
just people replyinglying tagging random people
yeah i think that's i think a lot of people just think they can just become rich from doing
nothing it's like that's just you know i i could go out and actually make something that's gonna
improve the world or improve even just improve some sort
of like niche that i'm interested in instead what i'm gonna do is i'm gonna jump on this trend of
selling monkeys and i'm gonna find someone that is dumber than me that will buy the monkey off of me
and then hopefully all the rock away under them and then if i have like this if i actually made
it myself there's usually gonna be like a a, you know, there's a,
what's it called?
There's a seller's fee attached and like a part of that goes back to the
original creator.
So it's like, if I can just find someone dumb enough,
I can just then convince more and more people to keep selling it.
And I can just make millions from doing nothing.
Yeah.
Everyone's dream. Yeah. That's not how the world nothing. Yeah. It's everyone's dream.
Yeah, that's not how the world works.
No, no, definitely not, especially with how it's been going recently.
Yeah, if you're an artist and you want to make money, you should start drawing feature
avatars, because there's actually good money in that, there's a lot of people who want
that, and you know, you're not betting on some random pyramid scheme.
So yeah, I would recommend that.
I was going to say VTubers and also furry porn.
Both of those are great ways to make money.
Not necessarily porn, just jail of furry art.
There are suspiciously wealthy furries that will pay for it,
no matter if it's loot or not.
I am not involved in that space,
but I've only heard stories of how much some people have paid for it, no matter if it's loot or not. I am not involved in that space, but I've only heard stories of how much some people
have paid for art. Just like, well,
look, if that's how you want to spend
your money, I'm not going to stop you.
I paid
$800 American dollars for my
model.
But I also paid for commercial
rights for using it for streams and all that
stuff.
Commercial rights is something that i've
seen confused a lot of people like i've seen just every so often i see some bit of drama about like
should this be i should have to pay commercial rights for this or should i have to pay it for
that i think ultimately it's sort of if you're going to be buying art from someone it should
be up to the artist to decide the specific terms of how they want their art
to be used.
Yeah, and they should also make it clear so that the commissioner knows what they're
getting into.
There's a lot of people that are like, I do not pay extra for commercial use and never
specify what they think commercial use is.
Mhm, yep.
I often, when that happens, I just ask them whether my use case would count as commercial
use, but like, it would be nice if they nice if they listed examples as well, what they count as commercial use.
I think it's very important when you commission art like that, that it's, I mean,
if at all possible, that you actually get to know the person, right?
It's not just throw money at someone and get some art back, but, like, I'm basically friends with everyone
who has worked with me on the stream,
designing the music on the model and everything.
So, you know, it's like,
if I have any questions about how to use it,
I can ask them.
If I'm like, well, do you want to help me with this?
Or, you know, do you want to get some money from that?
Or that kind of thing. You know, it's
a lot easier when you actually know the person, right?
So I would encourage people to always
try that.
Yeah, my
way
forward is, I don't really
know the people I commissioned that well.
Like, the person who
drew the cheaply version of Ada,
the Notch2D mascot, I, like, know them on the surface, but, chibi version of Ada, the, uh, InnoctiD mascot, I know them
on the surface, but it's not like I'm really friends with them.
Yep, yep, yep.
But I'm still in, like, a talking stance with them.
Yeah, yeah, right.
That makes sense.
And like, most artists are on that talking stance where you can ask them questions
about their conditions and what their rates are and all that fun stuff so and also like even if it's someone you don't
know just like actually have a conversation with yeah yeah like not um you know like not literally
just like two words and about the art and it's cool that's done right it's like you know but
but actually um you know try to have a comfortable conversation so that if anything comes up, you can always ask, right?
Yeah, yeah.
Well, yeah, because everyone's sort of got their idea
of what they want to see happen.
But I guess if you don't really form any sort of relationship
with that artist, you're not really in a position to get anything fixed
if they do anything that's not really in the sort of vision that you have for it
You can always do be like hey you get it and say odd
I don't like this, but you don't really you don't really explain
What's actually wrong with it and do so in a way that you know is gonna keep you on good terms then I?
Wouldn't expect any artist to you know want to go out of the way to actually address that
I wouldn't expect any artist to, you know, want to go out of the way to actually address that.
Yeah.
For the most part, like, it's a good idea.
You have, like, good references for what you want.
Yeah, yeah.
As well, most artists, like, let you make request changes during the sketch stage.
There are some people who just, like, pretty micromanage artists, which, yeah, don't go do that. I just really love art,
so I usually don't ask for that many changes unless it's something where
this arm is
the wrong place or something.
Or sometimes they accidentally
draw an extra hand, stuff like that.
I'll let them know that.
Yeah, yeah.
I think it's good to always look closely at the sketches you get back, but also there's
a lot of things that are not hard at all to fix, right?
So I asked my artist to draw some skirt emotes and stickers and stuff, and there was one
where I was like, the expression looks a bit off there, and like maybe move the eyebrows or something and you know and it took like five
minutes right and it was done and you know that kind of thing is no problem at all right um so
it's always good to you know to tell the artist about those things um instead of you know sort of
like forever thinking oh if i only said something um and the artist doesn't appreciate um you know
that kind of commentary because it also helps them improve.
So it's, you know...
As long as you're not micromanaging
everything about the artwork, that's fine.
That goes for YouTube designs as well.
Yeah, anytime I've got art commissioned,
I've always tried to...
I don't know, maybe I'm annoying
with how much I'll give them
because all the art that i've
done is i've got done is based on my ff14 character i'll give them like as many angles of the character
as i can possibly get it's like if if there's anything here that you don't you can't work on
the design i uh here is more information hopefully hopefully you you can work out what needs to be done here.
Most artists appreciate that, though.
Like when you give full 360 references and stuff, because then it's way easier to know
how depth works for the character.
Stuff like that.
That makes sense.
I actually have an issue there with my front hair because originally I only had the front view
And so when I rigged it, I didn't really get the feeling of depth properly
And then eventually I got a corner shot and I was like, ah that's how it was supposed to work
So I need to redo that, I need to redo the hair rig to fix that
But it's not a big deal, but it's always that nice to have more
References. Yeah. Mm-hmm. And also for me to be right because when you're beating it's a it can often be two different people
I'm drawing the artwork and they don't know when
But
Yeah different conversations we had there so yeah speaking of Final Fantasy XIV
I do have a Final Fantasy XIV character
but it's more like
reversed there
I attempt to make them look more like my VTuber
character as much as I can but like
there's no foxtails in the game
the closest I can get is a Mikote with like
wolf ears colored
yellow
I know you can get is a mikote with like uh wolf ears colored yellow yeah i know you
can get like uh the tamamo headband from like farming tamamo but i don't think they look that
great because you can like see the headband and it doesn't hide the mikote ears yeah i uh sorry
if you let me i could talk about fFXIV for the entire podcast, but...
I have tried to drag Lena into it.
Well, yeah, then you're just going to sit there
and be like, ah, yes.
Yes.
Eventually, I'll drag Lena into it.
You keep saying that
and you're like, I'm just going to drag me into Minecraft and like, and she's gonna drag me into
Minecraft and everything else and it's just like
like, do I
have time for that?
I mean, I just feel like such a
time sink that they scare me. I'm sorry
and they both scare me. Luckily, both these
games work really well on Linux, so
you know, you've got no excuse.
Also, Mahjong
Soul, which also works well because it's a browser game.
You know, like, Mario Kart's a good game.
We can play Mario Kart.
Well, you'll have to get a new capture card.
I'm always up for Mario Kart.
Maybe we can do that.
That's like the one game that said It's like Switch stuff
Oh okay yeah
I've been wanting to get a Switch for a long time
I just never got around to it
There's so many things that I
I've already got enough games that I want to play
And not enough time to play them
So do I want to get something else
Where it's just going to sit there for a really long time
I know the feeling.
You know back when the Humble Bundle was, like, a big thing?
Yeah, yeah.
This one had this, like, giant pile of Steam games that I played.
Let's see, how big is my Steam library from Humble Bundle?
Uh, 135 games.
It's not that many.
Well, some of them I've played for like over a thousand hours
yo yo
yeah I
where is that game
there's not that
many games I can think of I've put a thousand
hours into
Dark Souls 1 definitely
and RuneScape
but I'm never playing RuneScape again,
that's not gonna happen. If you want something to waste all of your time, Lena, play RuneScape.
It will take you- I feel like very, um, very, um, like-
Don't do it, it's a bad idea. I don't think I've ever played
the game for like more than like 100 hours.
I think when it comes to Final Fantasy, it's like the opposite
of RuneScape. It's the game that
is happy about you putting the game down.
Like, for example, when you go into an inn.
Yeah, like when you go into
an inn to log off,
you just get experience bonuses every time you
log in again. Stuff like that.
In RuneScape, it will take you literally
three months, 24 hours a day to get to max level on one skill.
Okay, I found the game I spent like over a thousand hours in. Terraria!
Ah! 1,046 hours.
Jeez! It's definitely a good game.
Blink.
What was that, Lena?
I said blink.
I already did.
The concept of putting that much time into a game
is something that my brain does not
compute.
To be fair, I've played the game for many years.
Yeah, well.
Like, it came out when I was like, 12, 10?
I don't know.
Yeah, yeah.
And I played it since, like, it was in, like, before they added all the Moon Lord
stuff and all that stuff, back when they just had added the, um, the Hallowed biome.
Ah yeah, oh wow!
Yeah, that's- sorry for uh, I pirated a copy of it at the start, because I was very
broke and now I do actually have the full game.
Yeah, I did the same thing with Minecraft back when I played that. I think... When did I start playing that?
I think it was...
I want to say 1.31 beta.
That sounds right.
I started playing it when it was a browser game.
Oh, wow.
So, like, 2010, 2009.
Wow.
Okay.
Well, to be fair, I stopped playing when the full release came out.
When the full release came out,
I got bored of the game and started playing modded instead.
Yeah, that's fair.
Well, Lena, you have more productive things to do
rather than spending all the time playing video games.
Now I make video games instead of play them.
Well, look, you can
justify playing the games as research.
Right, right, right. I mean,
that's the other thing, right, is I'm gonna have to at least
try a bunch of games on the GPU to make sure
that they actually work.
I don't think I'm actually gonna play for them, but I'm gonna have to install
a lot of games.
And also, Lena, you do need to take breaks sometimes, so I will drag you into playing video games with me.
At least eat food. Just you wait. Even a haste-
Okay, I took a break and I made some music, like, a few weeks ago.
Yep. Yeah.
At the very least, I'll drag you into playing, like, an open source game like Sonatic or something like that.
Uh, yeah, I guess we can do that.
Play some Super Tux Cart.
Yeah, I guess we can do that. Place it on SuperTux cart.
I actually want to run that on the cursed driver, but the problem is that right now
it only really works with software that runs on surfaces, DRM, GBM, so no Xapps.
So we need to figure something out for that.
Yeah, also it currently only supports older OpenGL versions, so like,
we had to make a quickly hacked together version of InnoCity that ran on even older OpenGL
versions on 3.2.
I did see, I also have things to do so I can't watch a 10 hour stream, but I did
see the part where you did get, you did get the... it actually working. And... it
was working! I was just... I was just in chat, like,
helping her getting all the D stuff working. Yeah, because I had to get, like, EGL
working with D, and it turns out the bindings are, like, not quite there yet. So that was, yeah, that was one of the mini, uh,
detours. The OpenGL ES
Yeah, it works!
Find PC OpenGL ES is version 0.0.1
for reference.
So. Yeah, and that was also,
that was, like, desktop OpenGL on top
of ETL, which wasn't supported at all.
So I had to patch the OpenGL
bindings to do that.
I, uh, I did notice that
Inochi 2D was
made in D. I
forgot this language even existed until I
looked at the project.
Why is it in D?
Is there any reason for that?
I like writing code in D.
Fair enough.
Well, there's multiple reasons. Well, one, again, I like writing code in D. Fair enough. Well, there's multiple reasons.
Well, one, again, I like writing code in D, and I started the project, so therefore I
get to decide what's written in.
Yeah, perfect.
Also, because D is very close to C sharp, C, C++, all of those, so it's very
easy to get into, unlike Rust.
It's also natively compiled, and you can expect what the garbage collector
does, so
you can actually write pretty optimized code
with it, even if it has a garbage collector.
And yeah, again, it
runs natively, so you don't have all the overhead
from a JIT compiler running.
Yep, yep.
I've never used D before in
the studio, but it was actually
very easy to pick up, because I use a lot of c
in python and it kind of reminds me of both you know it's it's a it's a compiled systems language
like c but you know it's object oriented and it has the syntax that is not you know sort of like
over the top like you know like java and c++ can be depending on what you're doing
You know like Java and C++ can be depending on what you're doing. Oh, Java, what a language.
It actually feels quite... I don't know, it just feels comfortable to write code in, so...
I actually would consider it if I'm doing a game arithmetic app or something like that.
It just feels like a good fit for that.
I have a...
I was just gonna say, once I do debut, I'm gonna stream making making game engines in D and talk to people about how game engines works and stuff.
That's awesome.
That's my deal.
No, I think that would be a really good idea, actually.
Yeah.
And, you know, it was actually kind of an interesting experience because I wrote some of the algorithms for Node2D.
kind of an interesting experience because like i wrote some of the algorithms for h2d and i'm so used to writing uh you know sort of high level algorithms in python where you're like oh you
know this is like owen squared and it's gonna be terrible and you know anything like that and then
i do this like terrible algorithm and it's like oh it still runs at 60 fps
right this is a compiled language but you, because normally I don't write high-level algorithms like that in C,
so it was kind of a weird, you know, like, ah, right, that's why you would use this kind of language.
I have experience for that.
And even if, you know, Shady has not, like, re-optimized anything yet,
we still use, like, a tenth of the CPU processing power than Live2D, and, like, no memory.
I've seen people complain about, like, Live2D, and like, no memory. I've seen people complain
about Live2D's editor, and I've seen post images and the memory usage is up in like
the 16 to 32 gigabytes of RAM. I was like, yeah, it's...
It's written in Java, right?
It's written in Java.
Oh! Yeah, the JVM's not great about memory, is it?
It likes reserving memory and like, freeing up the pages it reserves, so it just
kinda booleans up very quickly.
Right.
D is not like that.
I can see why every big VTube is like, hey, I'm gonna buy a 3090 and 128 gigs
of Rare.
You know, I actually read this, like, I'm using it right now
for my VTubing. I read all of this
on an old, like,
10-year-old laptop with an NVIDIA card and
NUVO. Yeah, I was gonna ask you what you were
running.
Yeah, like, my streaming PC is like an
old laptop with an NVIDIA
and it's one of the last generations that actually work well with Neovol that don't have the uh, the firmware issue.
Um, and yeah, I mean it works, right?
A 10 year old, where would that put the card? What generation?
Uh, Maxwell?
It is, uh, I think it's Maxwell, yeah.
Gee, well look, it's functioning!
People have- people have successfully run Inno4D on a Pentium 4 GTX 650.
And it still runs 60 FPS.
This is a GTX 660M.
Mm-hmm.
Now is there any, like, you know, any functional reason, like, anything that's major missing
from InertiaD that would make it so much
lighter is just the fact that Live2D is just written terribly.
Eh, Live2D is just written terribly.
Sure, right, fair enough.
Look, maybe you're a biased source to ask that question too, but...
I mean, we do a lot of things correctly that Live2D does wrong, like they do color
blending wrong, so like, people have issues with like weird outlines
on their parts and they also have issues where they only have two blending modes so they can
only do normal and multiply we support more blending modes because we handle color correctly
uh i've i've had to help someone well just like on the surface so i didn't actually write any
live cd code so but yeah i had to help them a bit with like an issue with it and i just got a glimpse of how cursed it is to sit up like
actually doing a live 2d model it is not pretty uh so i can understand why it runs terribly it's
it's not very well written and yeah well before live 2d there wasn't anything in that space. I remember when Live2D, like, was first being demoed.
I think it was some games conference in Japan.
Like, I don't even know how many years ago.
This was way before VTubing was even a thing.
I think it was being demoed for, like, some visual novel stuff or whatever.
But, yeah.
It was the only thing that was doing it.
But actually, there was something before.
Oh, there was something doing it before called the Emote Engine, which was made by the people who make Nekopara, which also has an animation subsystem.
Yep.
And yeah, so it has actually existed before Live2D, but Live2D kind of got the limelight by not being tied to a specific engine.
The same with Notch2D, it's just a specification so anyone can implement it. Someone is working on a Godot version, and I'll probably work on a Unity and maybe a
web version, because I personally am making something called KaleidoKit.
Well, I might be working with them to have an Innoche2D version of their online...
Oh, wait, I know what that is, yeah, okay, I got for a second, but no, um, one second, um, yeah, sorry, just talk about that for just a moment, uh, I can't, wait, what, do you know what the website for it is?
Lightoface? Uh, I don't, uh, you could just Google it.
Yeah, fine.
I don't know the, uh.
Yeah, no, that's, I think I talked about this, like, I don't know, maybe it, I don't know,
when it first came out.
No, this is a really cool idea.
Yeah.
Yeah.
And I'm, well, I'm actually, yeah, I'm actually in talks with both, most of the people within VTubing and also NVIDIA.
So, they actually, NVIDIA actually sent me a graphics card because they wanted the, they have something
called Maxine AR for like face tracking and they wanted that to work within our 3D so
they sent me a RTX 3070 Ti for free so yay!
I don't have to pay for that.
So I have to go look at that at some point.
I have started looking at their API.
It's just, it's their API. It's different
from all the other stuff, because they are just applications that then send data over
a socket here. I need to actually start Maxine AR from Facetrack D and then pipe the data
in somehow. It's slightly different.
I had no idea that you were getting that far along with the project. I thought
it was still some really small thing that only a few people were using.
I mean, there's only...
Well, there's me, Lina, and Seagetch, which is one of our Japanese users.
There's also a bunch of people on our Discord that are, like, experimenting with it.
But I wouldn't say it's, like, ready for the average VTuber to use yet.
Sure, but, like, you're getting, you know,
attention from companies that are like involved in some way in this space.
Yeah, I mean, Shoujo even at some point were like offering to look into maybe sponsoring
the project, but they kinda dropped that. That would have been massive if that happened.
Yeah, but it didn't, but I'm still
pretty cool that they even considered it.
Yeah, yeah. Well, if they considered it, then
it's always a possibility that them
or someone else will come along down the lines
and when it's in a much better
state, not a minimum viable product,
at a stage where someone
who's not a super technical user
could actually productively make use of it,
then at that point, maybe something else will happen.
Yeah, hopefully.
I think sometimes it's always like, you know,
I'm very modest in thinking, you know,
it's not going to be like a huge project,
but it's actually a pretty big deal.
I mean, it's not just open source,
but it's also very friendly to game engines
because it's permissively licensed.
And being lightweight is very important for games
and also for VTuber collaborations,
if you actually want to render locally
and not use weird color green screen tricks, which always
is not great.
And so there's actually a lot of reasons to use it. like green screen tricks, which always is, you know, not great.
There's actually a lot of reasons to use it, but
it's always like, oh, you know, maybe someday
it's gonna get
there, you know?
It's still the early stages, but
it's come definitely a long way,
that's for sure.
You should look up the editing tool,
like, I mean, I know it's missing a lot of
features and it has, you know, has the broken undo and stuff like that,
but just seeing that it's a proper UI.
You can actually just drag in a PSD
and start moving nodes around
and adding parameters.
It's quirky,
but it's not like I am typing in numbers
and twitching something.
It is a proper editor.
I'm gonna try
to see if I can find... I have some
videos of when I first worked on the
specification, and it just... it's come a long
way since then, so give me a moment. I need to look
into my backups and stuff.
Yeah, if you can find anything...
Oh, wait, I think it's
on my Linux drive. I'll have to...
I did that!
Sorry? I did do to like... I did that! Yes? Or...
Sorry?
I did do two streams where I was rigging my...
Digrating the physics engine and rigging my hair, so...
I do have a couple examples of...
I've had that works on my channel too.
If anyone's interested.
Awesome.
If you can find them, I will maybe put them in the description.
If I don't forget, but I'm
very bad at remembering to do things.
I cannot find those videos because they are on my Linux drive, and I do not have a thing
to read Linux files from my Windows thing right now.
I'm on Windows 10 right now because I also need to make sure this thing runs in Windows
for the Windows users that are using it.
Yeah, well you don't, if you're using it. Yeah, well, you don't...
If you're going to be building something like this, you don't just
want it to be a Linux-exclusive thing.
Yeah, we make sure it runs
in Linux, Mac,
and Windows.
Yeah, yeah.
Yeah.
How is the...
Yeah, how is the state of it coming along on the different operating systems?
Is it in a better state on Linux or on Windows?
How's that going?
You're going to get better performance on Linux than on Windows, but otherwise they're
pretty much on par.
That's good.
I think the main issue right now is the deployment on Mac.
There's no CI and there's a big issue with the DBindings and the building of libSDL and
some stuff, especially CMGree on Mac.
So there's a build.
The build sucks, basically.
But once it's built, it works.
So if we fix the build scripts, it can be the... Oh, the build scripts have been fixed.
You won!
Yeah, Playmour pushed fixes for the build scripts.
Oh, okay! I didn't know that!
So they actually work now.
Because when I had to try... I was trying out the M1s on Mac OS to see how it worked,
and I had to do some really, really cursed stuff to get it to build, and then it was crashing,
and then I realized it had to do with the PNG
or writing the apposite PNG.
Yeah, that was not great.
Nothing to do with the app, right?
It was all about the dependencies and the libraries and everything.
So, yeah.
What right now would you consider to be like the, I guess, the major, the major
blocker that you have for NH2D?
Like what, what is the biggest challenge you're trying to overcome with it?
Uh, the fact that I don't have, uh, well, that much time to work on it because i have a lot of like uh real life stuff
happening and also uh i also need money to like survive and stuff so i also have to do my day job
i do have patreon but like uh right now it's not enough to like support me working on full time but
hopefully one day it'll be enough and then Patreon! Do it, everyone!
Yeah, I'll leave a link to it in the description down below, so if you want to go and support the project, absolutely go and do so.
Okay. But yeah, that's the main plug. Okay, I actually did find a video of when I was working on a deformation test.
Oh yeah?
For very, very early. And I didn't even have a model yet, so I just had a I just used a picture I had around
so but yeah that's that's very early days like when was this video 2020 10 09 um let me see
what can I do here I can download this yes this is how we can do this uh I can download this I can
open it in my browser because I don't want to go and mess around
with anything else.
Yeah, that should work.
But feature-wise, is there anything feature-wise that's sort of acting as a blocker right now?
It would mostly just be editor features, like, specification features.
There's like, I guess, I'm working on a post-processing pipeline,
I'm working on a particle system node, an art animated part node, and then we want a
bone node so they can have skeleton animation as well, with both forward and inverse kinematics.
And that's basically the only blockers in the spec that are for 1.0.
So it's both just the tooling.
Yeah, like with the spec where it is,
I mean, it works, right? I'm using it.
The actual spec is, you know, there's
things that Luna wants to add, but there's not
really any blockers there
for people actually using it.
It's really about the tooling,
both making the editor, you know,
that's terrible for people who
don't know exactly how it works.
It also needs non-destructive deformations and mesh deformations and things like that.
And then on the user side, it's really session, right?
Because right now, we can make a model for someone.
We can make a model for someone.
But you literally need to edit source code to change it.
Right, right.
But I'm working on session so i did see you meant oh sorry i think one session works um we can we can you know start having quite
a few people um try things oh and also we're getting those test models from cgh right so
anyone can use those and uh and mess around with them. Very good. Because we don't have open test models yet.
Yeah.
They're going to be creative comments licensed as well.
So let's see what kind of
shit people make with them.
I did see you mention on Twitter
that the live 2D format
isn't supported inside of
Inochi 2D.
Is that something that's ever planned to happen if you ever work it out?
Not officially, because...
Yeah, I probably won't officially support it,
because I don't want to be sued by live 2D.
Right, yeah, that's fair.
But I'm not against someone else doing it,
as long as they don't push it to the official repositories, then they're free to try to map the formats if they want to.
The main thing is that, like, NFC is not a clone of Live2D, right?
Like, it doesn't work like Live2D, so it doesn't really translate, like, one-to-one.
So you could, I mean, it would be pretty easy to, like, import the model as in the textures and the default positions and things like that.
But, like, actually importing the rigging,'s not you know not that easy and then you're not really getting that much and there's and also there's the whole story with uh
like compiled models versus editable models and you know artists not wanting people to edit their
models and yeah there's a whole lot of discussion here too about um sort and the VTB and growth around
model editing.
I was going to say something, but I forgot.
I'm sorry.
It's okay.
Well,
actually, I noticed that you... What was the license
you've got on O2D? It is BST2Claws.
2Claws.
Why specifically that license?
Uh, because it makes it easy for game developers to include in the games, even if they're proprietary.
Mm-hmm.
Because I- I want it to be useful to as many people as possible, and GPL is kind of like the antithesis of that.
Oh, let's just say, if you want it to be useful, GPL's probably not where you want to go.
Yeah, at least if you're making a library. If you're making, like,
for operating systems, like kernels and stuff, I see the use for GPL, because those are like
important subsystems and it's best that they stay open. But for games-
It depends on what part of it
I like your finish but I can talk about that too
but yeah
specifically like
the deep levels of the kernel
I think those should be like in a license
that makes sure that
people knows what's going on
but for like game development
they'll want to tweak it and they probably
don't want to start releasing the source code for the game.
Yeah.
Cause then people could just, like, fetch the resources from elsewhere and remove
any, like, anti-piracy tricks or whatever, and then, yeah, that wouldn't be very attractive
for game developers.
I'm personally against DRMs, so I don't make my games have DRMs, but I know a lot of other
people do want DRMs in their games, so.
I don't wanna, like, stand in the way of that I was gonna say I know there's like scuffed ways to work around it
being GPL without necessarily integrating it within the project but if you want it to be
something you know that's how how do I like if you want it to be something that's actually a
core part of what is available in that tooling. Yeah,
I can see why you've
not gone with the GPO, or
you know, V2, V3, whatever.
And like, exactly one of the
you know, sort of big
pain points of IFTT is the licensing, right?
They have some really weird
licensing clauses, so
if you want to compete with that,
I mean, if you make a GPO, they're just gonna bring you in on another set of weird classes.
Mm-hmm, mm-hmm.
So...
Yeah.
Like, these classes have, like, weird anti-competitive things, uh, like, you're not allowed to use,
uh, like, competing formats in the same application.
Okay.
Uh, according to their license, which is weird.
I can see why you decided to just build it yourself.
Yeah.
And also, you're not allowed to compete with other people in the marketplace as well, which
is also a weird thing, they have a marketplace called Nisima.
Uh-huh.
Also, haven't they started training in AI on people's models now or something?
Yeah, Life2D is training people- like, when you sell stuff on eSIM now, they will- they're
training using your, like, rigging as trading data.
Okay!
Look, I guess when you've basically got a monopoly on the entire market, you can do whatever you want?
Oh. It's just flicking out.
Oh, what? Oh yeah, I think think i think we just have networking issues oh uh
it didn't maybe my side i don't know i don't i think it was your side because we both saw
you're gonna chat oh okay um what i was gonna say was um what did i say
oh right if you're If you basically have a monopoly
you can do pretty much whatever you want
and that's sort of the state that Live2D
has been especially, maybe not on the
game development side but definitely on the
VTubing side
The fun thing about
the stuff they're doing with the AI
is stuff you can do with basic trigonometry
so I don't know why they're training AI to do this stuff. I have not even heard about this.
What are they actually doing? It's like they're doing the
face rig stuff where when you turn the face you have to deform the eyes in a certain way and all
that kind of stuff. But that's really the same thing as just taking a 3D mask of the face and
doing what a 3D engine does, right? And then kind of doing it. Yeah, just, basically, they're
brute-forcing the same as, like, just mapping the eyes and mouth to a sphere, and then rotating the
sphere- not a sphere, a cylinder, and then rotating the cylinder, but they're just brute-forcing it
with machine learning instead of just, like, doing a bit of math.
So this sort of goes more into the fact that Live2D is written terribly. It's like,
let's just make it as big and as heavy as possible.
Apparently so.
I can't really speak for the developers, but...
They actually have a deal with Nvidia and all of the RAM manufacturers to make people
buy bigger systems.
Oh, wow.
That's the fear I'm going with now. It would surprise me if they do.
Oh, god.
That sounds like a mess.
It is a royal mess,
and that's why I decided I didn't want to use
Life to Debut Game Engine for that
lesbian, fuckskill, mahjong, racial novel
trademark.
I'm definitely familiar with the fact that that's where it started from
I'm going to finish that game and stream someday
Look, if an O2D ever becomes
like some major VTubing tool
that needs to be the tagline of it
My cheeks hurt from laughing laughing laughing so much
uh well um you know let's talk a bit about the i completely ignored it for a while talk a bit
about the m1 side because i did want to talk to you about that lena um back when the the triangle
thing happened everyone started talking about the triangle,
I did see a lot of people not being sure why that even remotely mattered.
It's a triangle. What's the big deal about a triangle?
Well, the big deal is that it actually works right now, because if you can render anything at all,
that means like the entire
framework to get to the rendering is working
to the point where it can actually render something
and like most of the complexity
in modern GPUs
doesn't really have anything to do with the actual
like you know triangular thing that's on the screen
it's just you know like a dozen layers
below that that are the same no matter you have one
triangle or you know 27 or
2 million so
so it did i was saying um it's been sort of interesting to see it come along from that
point like i i am not someone who has like a deep understanding about like gpu drive development so
seeing it sort of evolve as it has been it's been really impressive to see
from my side but has it been going you know as smoothly as you expected from that point or has
there been any extra hiccups that have happened like since then or how's it going i mean there's
always uh hiccups because it's reverse engineering right so there's always gonna be weird things um
one thing that happened last week was that
I was supposed to do the rendering myself
on the GPU thing,
and I got nerd-stamped by Alyssa
running into an issue with
MIP maps, because
NFC uses MIP maps.
Yes, I'm slightly at fault there.
I did a test render, and everything
was fine, except my lower lid was completely
messed up.
And it turns out that it's a weird formula to calculate the memory layout of
midmaps and nobody knew what it was and so we know we're like input output what's the algorithm right
and i spent a whole like 10 hour stream trying to work this out did not get it
got pretty close though and then the next day on Google who was one of the folks that was helping out with that
like cracked it and then I was like
ah that's what it was
but you know what's the funniest part
is that the next day when I actually did the stream and I rendered myself
I just turned off mipmaps because it was taking
too long to generate
and they worked fine
and I could see they were going to work fine but I was just like
okay I have a different problem now.
Now I need to turn the maps off.
Yeah, generating the maps was like making it run out of memory as well, which is funny.
Well, it's because I don't free any memory.
Well, it's fine temporarily.
It's a prototype!
Look, as long as you don't leave it running for too long, it doesn't matter if you don't free up memory.
That code base was literally like, start the program, render a triangle, shut down
the program, right?
You don't care about freeing memory.
And then the next stream, I did like, you know, the bunny thing and I literally was
like, okay, I did one frame.
Is it going to do multiple frames? I did the bunny thing. And I literally was like, okay, I did one frame.
Is it going to do multiple frames?
I did not expect multiple frames to work.
And I tried,
and it was rendering multiple frames.
It's like, wait, what?
That wasn't the bunny.
That was the cube.
That was when I got to the cube.
Yep, yep.
And so then, of course,
it's like, well,
you're doing multiple frames now.
You probably should be freeing memory,
but...
Yeah, just writing it like the decompiler does stuff. The D compiler is also only freeing
memory when absolutely necessary trademark, which means that like getting LLVM to work
with D is just like, ah, D is now using 16 gigabytes of RAM.
Where does the, uh, sorry?
Ah, it's just like, because I also sometimes delve into compile development, so I made
my own program language with LLVM, and yeah, I wrote it in D, and I just like, I was running
into issues where it would just like, run for like, two hours, and like, just use all
the memory until it crashed, so.
They did fix that later, yeah. So I know you've been doing a
lot of stuff with using what using the M1 as an eGPU because the I guess well
explain why you've been doing that anyway. I mean it's kind of a joke right? I mean I've been using it as a development platform in a particular way
And then I realized that technically that qualifies as an eGPU
And so I just sort of made the joke you know because it's funny because the M1 can't use eGPUs
But now I made the M1 into an eGPU
But no so the thing is that when we do this reverse engineering stuff, this is what I talked about with the tooling, right?
Instead of, like, running software on the actual machine you're targeting, like, locally,
which very often means you're, you know, like, doing compile test cycles that you have to keep, like, rebooting and putting software into it and, like, you know, copying some files over and all that.
So what we actually do is that we have a proxy that runs on the M1 bare metal, because there's
no OS.
And that just exposes a USB device, because the M1 has a USB device mod.
And you just plug it into another computer.
And so that's basically a very dumb interface on that, that can let you read memory, write
memory, send commands and stuff like that.
And then we have a Python shell and a Python framework that you can run on the host side and we prototype
everything there.
And the thing is, because it's Python, it's a lot easier to mess around and prototype
and script and make experiments.
And it kind of feels wrong if you're used to writing drivers and C, but then you realize that it
makes a lot of sense because you're running on a development machine and you're just testing
remotely and the reboot cycle when you actually need to reboot, which is not that often.
Well, actually for the GPI, I reboot every time because the firmware reset requires that.
But most of the time when you're messing with hardware, it's like you have an interactive
shell, right? You can just type, you know, commands and read and write RAM and, you know, try things
multiple times.
It's super, super fast.
And so that's why it's, you know, quote, an EGBU.
Yeah, yeah, yeah.
Like my entire, you know, everything is right on my development machine and then just sort
of puppeteering the M1 over USB.
Right.
That's also why it has to be so slow because because it has to upload all the vertex buffers every frame
over USB 2.0.
Right, right, right, right.
That makes sense.
Because I've been like, 0.5 FPS.
Well, yes, it's supposed to be that slow.
So if it was actually running properly on the machine,
and not just passing everything over USB 2.0,
it would be in a state where it's actually running,
obviously not as optimized as it possibly could be,
but in a reasonable state.
I mean, it literally is spending all the time copying vertex buffers now.
Yeah.
And if you do the GLMARK2 with Python over USB,
I actually get like 15 FPS, even with that mess.
And it's still uploading commands and stuff, right?
So I have no doubt
that
sorry, that if I literally run, if I
had a way of running the same code base locally,
30 FPS, definitely.
Even with Python. Because there's no reason
why it wouldn't be that fast. Even 60,
I don't know. Actually
quite possible.
So where does the
project go now? You've got it it working so what's the next step
um so the next step is that um it's not it's kind of working in the sense that
we are rendering single frames in sequence yeah um from a single app so there's no multitasking
um there's no um you know like like, I don't free memory.
I know how to free memory, but part of the reason why I don't free memory is that I don't
know when the GPU stops using some pieces of memory, so that's important.
Right.
And so the thing is, there's sort of different paths you can take from here, right?
Like, I could start writing a real kernel driver and get it, you know, working to the
point where it is working right now on the real machine.
But the thing is for it to work well, we still need to understand more things.
So the way I think about it is that it's worth spending more time with the Python, CURSE
stack, understanding things like multitasking, like parallelism, having multiple apps rendering at the same time,
and just sort of prototype all that
and understand how you're supposed to do that in the GPU
because it means that then when everything makes sense,
it's almost literally taking the Python driver
and rewriting it in C.
I mean, not literally, but it's kind of close to that, right?
And once you understand the hardware,
it's a lot easier to write code
that actually does what you expect it to do.
Yep, yep.
So my plan right now is actually for the next stream, which is tomorrow, by the way.
I'm going to be doing, like, some snooping on the memory as it's being written by the GPU.
So that I can understand little details, like, when a render is finished finished how the flags get set how do i know
that you know that it's actually done how do i tell the gpu that these things have to happen
in sequence and not at the same time what happens if i do two renders at once in two different
threads what happens if i make a very slow render and then i want to interrupt it and like preempt
it with another render like i don't know anything about that right yeah so the next steps are going
to be all about working that out,
and once more of that makes sense, then I would like to start writing the real driver.
Yeah. Well, it sounds like you've got a lot of work still ahead of you.
Yeah, there's still quite a bit, but it's been moving pretty quickly, so I'm pretty sure that, you know,
we're going to have a, you know,
at a point where you can render a desktop
sometime this year.
What about Très Moi?
Très Moi?
Just referencing that, Mike.
Yeah, this person made an amazing an amazing Like spoof subtitle video
And it was like
And I said in the video that it was gonna be done
In three months
And Ariel was just like
Someone on Feronix already said
Like quoted that as like an official
Well
I don't know why
I never said that okay I don't know why anyone would take, like, an edited version of Asterix and Opeliks'
mission Cleopatra as, like, gospel.
I mean, the website video is so great!
I've watched the movie.
The movie's also great.
One thing I wanted to ask you about is, a lot of people have been i have no idea about
this i don't i doubt you have much of an idea at this point but i've seen a lot of people asking
like what's really going to happen you know with the m2 systems that are coming out soon like
is this going to be something completely different is Is it going to be an iteration where, you know,
supporting that as well isn't going to be as, like,
as crazy of a jumper starting from nothing?
Like, do you have anything that you might, you know,
think about at this stage?
It's going to be incremental because it's incremental.
And if you need proof of that, some folks just got the Linux kernel running on like, I think it was like an A9 or something, like a relatively older Apple SOC on iPads.
And it's like using all the SI drivers with minor changes.
So there's going to be new things to add.
There's going to be things that Apple changes.
But they never start from scratch.
And they're actually one of the companies that take that most seriously because they realize that it's a waste of time to start
from scratch. So when they have major GPU generation changes, that's going to need a
lot more reverse engineering of if the shader changed and things like that, the shader chords changed. But still, you're still going to have the same design, right?
Yeah.
You're going to have the same concepts.
The firmware is probably going to be, you know, basically using the same architecture.
So it's a very, very different thing from starting from scratch.
Because, like, the thing you spend the most time on is not literally, you know, like, what numbers mean.
most time on is not literally you know like what numbers mean but like what the design what the intent of the person designing you know those structures and those um instruction sets and all
that was right so once you have that it's very very rare that it's going to be like complete
from scratch like nothing to do with it that basically never happens so yeah I don't expect it to be, you know, like, nowhere takes as much time as the M1
is taking.
So it's not going to be like...
I was just going to say, isn't the M2 Mac Pro out now?
So I'm pretty sure Marquette is just going to get that bootstrap pretty quickly too.
I have to ask him about that.
But yeah,
we should be finding out pretty soon, I guess.
I don't know what...
I mean, I guess Alyssa's going to have to
look at the Mesa site probably first.
And I'll
walk around if I can get my hands on one
on the Colonel's site.
But they sort of
depend on each other,
so it kind of, yeah.
So there was a lot of people
that were sort of worried about it,
but that sounds like it's in a much better state,
or much more iterative state,
a much less of a disaster situation,
like going from x86 to ARM,
like a completely different paradigm.
It sounds like it's something that can actually reasonably be worked on.
Yeah, and there's always like, you know, you know, the Apple things, um,
like, you know, how the boot process works and all that, like, that's all
worked out right, and they're not gonna change that.
Um, to give you an idea, I was looking at the IRC channel and the,
cause the, um, people already can see the device trees, right?
And like what the hardware is supposed to look like from a software perspective.
And it looks like this time the sort of random new thing is the keyboard and the mouse controller
got, and the touchpad and keyboard controller got integrated into the M2.
So the interface for that changed.
So it's probably going to be like, well, we get the core drivers working and then the keyboard and the trackpad
are the manual driver, right?
That's kind of the level that you expect with this kind of
generational change.
Right, that makes sense.
So I'm sure it's
even though the M1 project still has a lot
of work to be done, I'm sure
the M2 is still an exciting thing
to see come out as well.
Yeah, definitely. Especially once they start M2 me still an exciting thing to see come out as well. Yeah, definitely.
Especially once they start M2 mechs and whatever, they probably have planned with their superscalar architecture.
I'm not working on... I'll just preface this by saying I don't work on Asahi Linux, I'm a bystander.
Yet.
With me dragging Lina into video games, she'll probably drag me into kernel development. I don't know.
I think one of those takes a little bit more effort to get yourself involved in.
I mean, I make my own game engines and programming languages.
I make my own game engines and programming languages for fun. A curl driver can't be that bad. Famous last words.
You know what's funny?
I keep mentioning that, but, like, we're actually in a VTuber group with two other VTubers.
And, like, all four of us are, like, the perfect layer stack.
Because we have Ketan at the top writing, like, actual games in Unity.
And then there's Luna writing game engines.
And I'm writing, like, GPU drivers.
And then Akinya is, like, doing, like, FPGAs and, like, hardware development.
Oh, jeez, okay.
And so it's, like,
the perfect four-year stack, all the way
from, like, Transistors to, like, Unity games.
So great.
That's actually awesome.
Yeah, K-10 is actually making a game
called Toaster Crash right now that's, like, being...
It's gonna be uploaded to the point of of life. It's like, uh...
I can't remember what it's like. It's a... I don't know, parody, I guess, of an older Flash game or something?
Mhm.
Uh, and I'm in it, apparently.
Well, the rest of the... everyone from the old point of life is in it, but yeah, it's gonna be interesting to see that thing finished.
She works on the game on stream.
I will, uh...
What was her name?
I'll bring up the channel right now.
Okay, give me a moment.
I'll get you a link.
Oh, yeah, if you just give me the link, I'll...
Do you want her...
If you could just give me the link...
Do you want her Twitch or her...
Whatever you want to give me.
Go ahead.
I'm just going to send her Twitter
because she posts announcements
about streams there.
Okay, here we go.
I'll bring it up on the thing.
There we go.
I'm going to put you back on the thing
so people can see you move.
Ah, yeah, here we go.
And awesome.
There we go.
Yeah, so go check that out if you want to see
some
cool stuff being done, I guess.
What else do I actually have
on this list of topics?
What do I have?
I think I went over
a lot of it, actually.
Um, hmm.
I was going to ask if your camera is okay,
because I was really twitching out here,
but it just fixed itself right now.
Oh, no, the camera that you're seeing is just,
it's just being shown to you.
So even though it looks genuinely terrible,
it should be fine on my side, I hope.
But, you know, the, um, the...
UBC can be weird sometimes.
Yeah.
By the way, you asked me to, like, say something straight out of the whiteboard earlier, did...
Oh!
Isn't it the play that'll be showed later?
Or is it just something we can't see from this side?
Oh, you can't see it here.
Um...
But, it... I've got this written. Oh, can't see it here, um, but it- I've- I've got this written.
Oh, can't see- there we go.
Wait now!
If I just hold it here, then you can see me properly!
Wait!
Wait, why does it- why does it do that?
I guess- I guess it caused it to white balance properly?
We can see it, we can see it!
Sure, no... now my face looks terrible again.
It is different text than what I said, but that's also pretty good text.
I didn't remember what you said when I went to go and write it.
Yeah, I said, world hard cold
fucks kill soft and warm.
This is something really dumb.
Well, let's...
I don't think I have much else to talk about in here.
Do either of you have anything else you want to
really bring up?
I tell his fluffy.
You tell his fluffy. You tell his fluffy.
True.
Yes.
That really changed.
No, but actually, I remember I was going to mention something when you mentioned licenses.
Because everything we're doing for Asahi Linux is mostly MIT or BSD licensed also.
And it's kind of for the same reason, right?
Because we actually want BSD to be able to use these drivers. The TRM stack Linux is actually mostly VST licensed for that reason, because VST just
kind of takes it wholesale. And I think that makes a lot of sense, right? Even if the core
OS is licensed very differently, we can still share these drivers. And actually, funny enough,
right now, OpenVST is the only OS that supports DM1 natively other than a Zylinx.
Like, we have an option in our installer for UEFI, like bare UEFI bootloader.
And literally the only project that officially you can use with that is OpenBSD right now.
I wonder if RuneSuite will join that.
I wonder.
And also even Windows, right?
Like people are talking about Windows on the M1.
You can't actually port Windows to the M1 natively
if you're not Microsoft.
Yeah.
Because of like technicalities of the kernel
that need to change that are not possible to change,
you know, like just adding typovers.
But you can mess around with virtualization
to sort of work around that,
even if it's still
mostly native. And there's actually someone working on that. And if it gets to that point,
obviously they should be able to use the GPU drivers, right? And port them to Windows if
they want. So, yeah. It wouldn't be the first time that Microsoft's had a source code leak
for an operating system. So, hey, you know, well, I'm also pretty sure that eventually Microsoft is gonna like upgrade their kernel
to work with like different page sizes as well, as more ARM devices like...
The main thing, the main issue there is actually, because we can do 4K on the M1 fine, the main
issue that they have right now is the interrupt controller. Because the Apple one is non-standard.
And Microsoft only supports the standard one.
And the Raspberry Pi one, which is another weird thing.
Like they made a special patch for the Raspberry Pi.
And that's like the only weird one.
But you can't actually plug that in through a driver.
So yeah, what you are doing is basically virtualizing that.
Like you're having a very, very thin VM
and just sort of making a virtual interrupt controller
and probably using UEFI and DACP and all that.
But then keeping the rest of the hardware native in theory,
you could just write writers and renderers for that.
Which, by the way, is the same thing we do for macOS.
When we reverse engineer macOS,
we run it on a virtual machine um that also runs like bare metal and
runs the real version of mac os not like apple's bms which are not running the real version of
mac os um they run a special kernel but the you know this actually runs the real bare metal kernel
in a bm and uh and then we can just snoop on all the hardware right so that's that's how that works
what do you mean by that? I don't
use Mac OS. I'm not sure what you meant by
they don't use a real Mac OS.
If you run Mac OS
on an M1 and the VM is
an M1 like the official way,
the kernel in the VM is a special
kernel because the VM is
not virtualizing
an M1. It's virtualizing a generic
ARM system.
Okay.
That's why you can install Linux
in a VM in an M1 on macOS
because Linux is a generic ARM
system. Right. And it's the same for macOS.
I do wonder.
I will literally compile macOS to run on non-M1
systems for VMs. I do wonder if you could then get macOS running on a Raspberry Pi or any generic ARM system?
You can, and people actually did that on QEMU even before macOS officially supported this.
The main problem is that it wants a pair of virtual metal GPU devices to actually give you a desktop.
So you can get single mode macOS and a VM that's not an MM1.
But if you want a desktop, you're going to have to implement metal, which is a bit of
a bigger project.
The thing is that the macOS code is actually open source, so someone could just
make a version of Darwin that does support like just standard ARM devices I assume?
Actually it already has code for Raspberry Pi like Apple have that in the official source
dumps. I guess it's like they're like not a Mac test platform so I don't know how broken it is
but in principle you can compile the macOS kernel for like a Raspberry Pi, you know, you probably have to write a
lot of driver stuff.
But still.
It sounds like some engineer at Apple was like, let's just see what happens here and
just make it work.
Because like, people can look at Apple as a company as like, you know, whatever you
want to feel about Apple's, you know, repairability practices
and things like that, but Apple
has a lot of, like, really intelligent engineers
who probably just want to do a lot of really cool things.
And you can tell from the
hardware and the software, really.
Like, um,
there's a lot of really, really cool engineering
in these things, and that's the
sort of fun part, right? It's actually, uh, you know, it's actually a and that's sort of the fun part right
it's actually a lot cleaner
than most of the other vendors
it's also probably cleaner than a PC
because the PC is like
bloated with legacy
that too
hey but you gotta be able to run your Windows 98 software
like
Gates A20, anyone?
Does anyone remember that?
I don't remember that well.
I'll have to be reminded.
It was this thing where, like,
back when PCs had, like, one megabyte of RAM,
and then they added more,
and some applications assumed that the one megabyte
wrapped around to zero.
Oh.
At the end.
And so they literally added like an AND gate on that pin of the CPU.
To turn it off.
And that's still there.
Oh jeez.
Yeah, yeah.
It's fine.
Leave it there.
It's not doing any harm.
Backwards compatibility. It's fine. Leave it there. It's not doing any harm. Backwards
compatibility.
People back then,
engineers back then, had very little
knowledge of what they were doing, because
it was all still new.
Well, you gotta make it
work with the hardware that was available.
You don't have, you know, 128 gigs of RAM like you do now, you just, like, hack it until it functions.
Computers are truly cursed, we should never have tricked Brox into thinking. and then here am i running uh 3d apps on top of like mesa on python on a usb link on
and i think that then sends it back to hdmi and then goes through my vtuber stack which
is also cursed because then it's like hdmi to an ffm big window to another like upscale
then downscale through another hdmi to obc yeah yeah yeah it sounds like HDMI to another fanfic window, to another upscale, then downscale, through another HDMI to OVC.
Yeah, yeah, yeah.
It sounds like everything you're doing is just cursed.
My tracking was glitching out for a moment.
What can I say?
It's just what we do.
It's just what we do.
Well, if none of you have anything else to say say i think that's that's as good of a point
to end it as anything that's good to me uh later where can you get out of this is that everything
i do is completely cursed and tons of fun and you should watch my streams well i was gonna say
where can people find you later um so i'm on twitter at alina
because i was taken up and my youtube channel is um so but you can just google like a sahi
and it'll show up um and yeah i got stream on on youtube uh usually on wednesdays and fridays
um and uh and i'm on twitter and we have a Discord too with
Luda and the other NoPointerLive girls
so that's linked on the
NoPointerLive Twitter account
and Luda
I am on
well I'm Twitch on Twitter
LunaFoxGirlVT
that's where you can find me
I don't stream that much right now because I'm
very busy but like once I do debut I plan to stream at least twice a week.
Not 10 hour streams?
We'll see about that.
You know, I didn't plan on streaming, I'd also just kind of forget that, like, I'm alive for ten hours,
so then I just wake up like, wait, why is the sun up?
And why is it up in the other side of the scenery?
At least these days people got me to remember to buy some snacks before a stream,
so usually halfway through a stream I'll be like, okay, I'm taking a break to take a little snack, come here, I'm done.
I was gonna ask you, do you actually eat during those streams?
Are you just like... I keep reminding... There's usually like a snack break or two.
Okay, good. I do also in chat remind her after like nine to ten hours to also eat dinner.
Because I usually start the stream like right after lunch.
because I usually start the stream right after lunch
and it's still
like an early lunch and dinner
so yeah I kind of need a snack halfway through
well
if you guys got nothing else
to shout out then I'll do
my outro
well
was there anything else you wanted to mention
I'm fucks
I'll have all your links
in the description down below
if there's anything that you forgot
to mention just send me the link
and I'll put it down below so then people can go and find it
well yeah
that has been episode 121.
I am your host, Broderick Opperson.
You can go find me over on my main
channel, that is Broderick Opperson. I do Linux
videos, tech videos, things like that. I've
got a gaming channel, Broderick Opperson Plays.
I stream there twice a week, usually.
Right now playing Hollow Knight and
Kingdom Hearts 2.
Usually, the YouTube
shorts go up
every other day
of the week
for the most part.
If you're listening
to the audio version
of this,
the video version
is available on YouTube.
If you're a video watcher,
the audio version
is available
anywhere that you
can find podcasts.
There's an RSS feed
as well,
so just chuck it
into whatever app
you want to use.
There's some pretty
good ones out there
that are open source
like AnchorPod,
for example.
But yeah, you'll find it on iTunes, wherever you want to use. There's some pretty good ones out there that are open source, like AnchorPod for example. But yeah, you'll find it on iTunes, wherever you want to find it.
Give me the final word.
What do you want to say, Luna?
I don't know.
Thank you so much for having us.
And yeah, if you're interested
at all in all this love level coding
stuff,
I actually forgot to say that
the reason why I stream all this stuff is
because i want people to be interested i want people to be curious to learn and to figure out
that they can do it anyone can do this uh so please please uh if you're interested at all
join in and ask questions join our discord like i'll be happy to answer and uh you know if if
what i do and the streams i make get people interested in
this kind of stuff that would make me very very happy so please please like stay curious and
always uh you know never think that you can't do anything and uh how are you gonna up that
uh i i i had something and now I forgot oh god I'm soft
and fluffy and
goodnight
I don't know
it's okay she's only like revolutionizing
the V2R world so
a little thing
oh yeah now I remember
0.3 is out soon
please give it a shot there's app images
and well someone's working on Flatpak,
and there's also a Windows release, and I have to, oh, God,
I need to figure out how to get it working back.
Well, you're both welcome back on the show whenever you want.
If you know you have a major release of Inertia 2D
or anything crazy happens with the GPU project
or anything else you're involved in with the RC Linux side,
if you want to come back and talk about it
absolutely free to do so
sounds good
maybe next time once I'm rendering my
streaming from Asahi on the driver
that would be awesome
well
I guess that's going to be it then
so
see you guys later
yeah see ya thank you so much