Tech Over Tea - Standing At The Forefront Of FOSS | Asahi Lina & Luna

Episode Date: June 29, 2022

Asahi 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)
Starting point is 00:00:00 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.
Starting point is 00:00:48 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,
Starting point is 00:01:33 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
Starting point is 00:02:06 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
Starting point is 00:02:21 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?
Starting point is 00:02:37 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
Starting point is 00:02:47 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
Starting point is 00:03:03 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,
Starting point is 00:03:29 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.
Starting point is 00:03:37 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
Starting point is 00:03:45 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.
Starting point is 00:04:13 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
Starting point is 00:04:42 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?
Starting point is 00:05:29 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...
Starting point is 00:06:06 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.
Starting point is 00:06:45 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.
Starting point is 00:07:14 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
Starting point is 00:07:32 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,
Starting point is 00:08:12 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.
Starting point is 00:08:24 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.
Starting point is 00:08:42 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.
Starting point is 00:08:57 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
Starting point is 00:09:14 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
Starting point is 00:09:31 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
Starting point is 00:09:57 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.
Starting point is 00:10:30 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.
Starting point is 00:10:44 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.
Starting point is 00:11:27 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...
Starting point is 00:12:04 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
Starting point is 00:12:19 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.
Starting point is 00:12:51 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.
Starting point is 00:13:17 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.
Starting point is 00:13:39 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.
Starting point is 00:13:57 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.
Starting point is 00:14:31 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.
Starting point is 00:14:58 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?
Starting point is 00:15:46 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.
Starting point is 00:16:17 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
Starting point is 00:16:51 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
Starting point is 00:17:26 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
Starting point is 00:18:11 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
Starting point is 00:18:37 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.
Starting point is 00:18:58 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...
Starting point is 00:19:15 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.
Starting point is 00:19:34 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
Starting point is 00:19:55 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
Starting point is 00:20:17 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...
Starting point is 00:20:29 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.
Starting point is 00:20:51 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...
Starting point is 00:21:12 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
Starting point is 00:21:36 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.
Starting point is 00:22:08 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
Starting point is 00:22:30 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
Starting point is 00:23:13 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.
Starting point is 00:23:32 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...
Starting point is 00:23:56 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?
Starting point is 00:24:16 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.
Starting point is 00:24:46 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.
Starting point is 00:25:05 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,
Starting point is 00:25:45 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.
Starting point is 00:26:01 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
Starting point is 00:26:35 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?
Starting point is 00:26:51 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.
Starting point is 00:27:32 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.
Starting point is 00:27:54 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,
Starting point is 00:28:29 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
Starting point is 00:28:52 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.
Starting point is 00:29:17 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
Starting point is 00:29:50 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!
Starting point is 00:30:30 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.
Starting point is 00:31:09 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
Starting point is 00:31:29 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.
Starting point is 00:31:48 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.
Starting point is 00:32:04 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-
Starting point is 00:32:53 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
Starting point is 00:33:34 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.
Starting point is 00:34:02 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?
Starting point is 00:34:26 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.
Starting point is 00:34:45 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.
Starting point is 00:35:19 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
Starting point is 00:36:01 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,
Starting point is 00:36:48 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
Starting point is 00:37:15 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
Starting point is 00:37:50 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.
Starting point is 00:38:12 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,
Starting point is 00:38:40 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
Starting point is 00:38:56 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
Starting point is 00:39:20 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
Starting point is 00:39:44 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,
Starting point is 00:40:19 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
Starting point is 00:40:33 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.
Starting point is 00:40:52 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?
Starting point is 00:41:25 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
Starting point is 00:41:52 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.
Starting point is 00:42:25 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.
Starting point is 00:42:41 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.
Starting point is 00:43:25 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
Starting point is 00:43:43 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.
Starting point is 00:44:17 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
Starting point is 00:44:56 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
Starting point is 00:45:20 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.
Starting point is 00:45:52 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
Starting point is 00:46:10 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.
Starting point is 00:46:30 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
Starting point is 00:46:50 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?
Starting point is 00:47:10 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
Starting point is 00:47:30 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.
Starting point is 00:47:54 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
Starting point is 00:48:16 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.
Starting point is 00:48:46 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.
Starting point is 00:49:07 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
Starting point is 00:49:36 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.
Starting point is 00:49:59 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.
Starting point is 00:50:24 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
Starting point is 00:50:42 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.
Starting point is 00:51:02 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
Starting point is 00:51:40 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.
Starting point is 00:52:16 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
Starting point is 00:52:31 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
Starting point is 00:52:50 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.
Starting point is 00:53:12 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
Starting point is 00:53:32 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.
Starting point is 00:54:07 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
Starting point is 00:54:42 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...
Starting point is 00:55:15 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
Starting point is 00:55:44 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
Starting point is 00:56:01 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.
Starting point is 00:56:29 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.
Starting point is 00:56:53 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
Starting point is 00:57:36 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.
Starting point is 00:58:02 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.
Starting point is 00:58:57 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.
Starting point is 00:59:18 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
Starting point is 00:59:49 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.
Starting point is 01:00:24 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
Starting point is 01:00:54 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.
Starting point is 01:01:12 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
Starting point is 01:01:33 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
Starting point is 01:01:52 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.
Starting point is 01:02:11 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
Starting point is 01:02:28 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...
Starting point is 01:02:43 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.
Starting point is 01:02:58 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.
Starting point is 01:03:24 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.
Starting point is 01:03:42 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.
Starting point is 01:04:06 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.
Starting point is 01:04:31 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?
Starting point is 01:04:58 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
Starting point is 01:05:39 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
Starting point is 01:06:25 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.
Starting point is 01:07:04 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,
Starting point is 01:07:20 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.
Starting point is 01:07:43 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.
Starting point is 01:08:17 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.
Starting point is 01:08:38 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
Starting point is 01:09:18 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.
Starting point is 01:09:47 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
Starting point is 01:10:19 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
Starting point is 01:10:38 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.
Starting point is 01:10:58 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
Starting point is 01:11:29 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.
Starting point is 01:11:47 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.
Starting point is 01:12:08 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!
Starting point is 01:12:34 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
Starting point is 01:13:11 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
Starting point is 01:13:31 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.
Starting point is 01:14:08 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.
Starting point is 01:14:35 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
Starting point is 01:14:51 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?
Starting point is 01:15:39 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
Starting point is 01:15:58 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
Starting point is 01:16:32 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
Starting point is 01:16:55 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
Starting point is 01:17:21 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
Starting point is 01:17:39 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.
Starting point is 01:18:08 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.
Starting point is 01:18:29 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,
Starting point is 01:18:39 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?
Starting point is 01:19:05 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
Starting point is 01:19:49 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.
Starting point is 01:20:34 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
Starting point is 01:21:07 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.
Starting point is 01:21:34 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.
Starting point is 01:21:50 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.
Starting point is 01:22:14 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,
Starting point is 01:22:32 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
Starting point is 01:22:54 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.
Starting point is 01:23:25 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.
Starting point is 01:23:58 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
Starting point is 01:24:26 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,
Starting point is 01:25:06 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
Starting point is 01:25:28 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'
Starting point is 01:25:52 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,
Starting point is 01:26:28 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.
Starting point is 01:26:59 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.
Starting point is 01:27:35 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?
Starting point is 01:28:16 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
Starting point is 01:28:38 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,
Starting point is 01:28:52 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.
Starting point is 01:29:17 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?
Starting point is 01:29:47 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.
Starting point is 01:30:04 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.
Starting point is 01:30:46 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.
Starting point is 01:31:09 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...
Starting point is 01:31:27 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.
Starting point is 01:31:55 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.
Starting point is 01:32:06 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.
Starting point is 01:32:19 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?
Starting point is 01:32:38 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,
Starting point is 01:32:56 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!
Starting point is 01:33:16 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!
Starting point is 01:33:34 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
Starting point is 01:34:05 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.
Starting point is 01:34:25 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
Starting point is 01:34:56 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.
Starting point is 01:35:28 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,
Starting point is 01:35:44 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.
Starting point is 01:36:26 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
Starting point is 01:36:49 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
Starting point is 01:37:16 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
Starting point is 01:37:40 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
Starting point is 01:37:58 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
Starting point is 01:38:35 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.
Starting point is 01:39:10 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
Starting point is 01:39:35 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
Starting point is 01:39:52 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.
Starting point is 01:40:13 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.
Starting point is 01:40:29 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.
Starting point is 01:40:47 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.
Starting point is 01:41:03 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.
Starting point is 01:41:54 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
Starting point is 01:42:34 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
Starting point is 01:42:57 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?
Starting point is 01:43:29 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
Starting point is 01:44:04 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
Starting point is 01:44:22 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
Starting point is 01:44:44 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
Starting point is 01:45:00 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
Starting point is 01:45:09 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.
Starting point is 01:45:16 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
Starting point is 01:45:23 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
Starting point is 01:45:38 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
Starting point is 01:46:06 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
Starting point is 01:46:36 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.
Starting point is 01:46:54 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
Starting point is 01:47:13 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

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.