Tech Over Tea - Building Wayland For MacOS And iOS | Alex Spaulding

Episode Date: February 13, 2026

Today we have the developer of a Wayland compositor on the show, but not just any, a Wayland compositor for the world of MacOS and even iOS on Apple's hardware==========Support The Channel========...==► Patreon: https://www.patreon.com/brodierobertson► Paypal: https://www.paypal.me/BrodieRobertsonVideo► Amazon USA: https://amzn.to/3d5gykF► Other Methods: https://cointr.ee/brodierobertson==========Guest Links==========Repo: https://github.com/aspauldingcode/Wawona==========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 Supercozmanhttps://twitter.com/Supercozmanhttps://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:02 Good morning, good day, and good evening. I'm as always your host, Brodie Robertson. And today, we are going to be talking a bit about Wayland, but not Wayland on Linux. It's still the same Wayland, just on a different operating system. So I did that video the other day of Wayland on MacOS. And today we have a developer who is actually working on one of these projects. So introduce yourself and we'll go from there. Hi.
Starting point is 00:00:32 Hi, my name is Alex Spalding. I am a student in computer science, and I am the current solo developer for Wawona Compositor. The MacOS Compositor that you reviewed. Okay. I thought you're going to say some more about that. Yeah. Yeah, I was confused about how to say it, so it is Wawona.
Starting point is 00:00:58 Wawona, yeah, I had to search it up to you. I don't know. I know that, what is it? And like, it's a land, what is it, forest? Yeah, forest in California or something. Yeah, so, so you know how Apple makes all their operating systems, some random park in Yosemite or, yeah, yeah, in California? And then they're like, oh, yeah, let's do it.
Starting point is 00:01:22 So I wanted to, I was just asking my friend, Noah, hey, like, what the heck do I name this thing? He said, oh, just who's like any of the counties just like in California? And it's just like Apple does. And any of them that starts with a W and I looked at W1, I was like, oh, yeah, that's it. Fair enough, fair enough. It's probably about as much thought as goes into the Apple naming. Yeah. Yeah, pretty much.
Starting point is 00:01:46 For me, I haven't been a Maco's user in a long time. I used to use, I think the last one I used was probably, I'm going to say the last one. No, first one named after a mountain, whichever one that one was. Mojave? Something like that? Yeah, it might have been Mojave. That's the first one. I don't know.
Starting point is 00:02:15 No, no. It's been a while. It's probably Monterey or something. I was used, like, most of my Macfewish experiences back during, like, snow leopard, mountain lion, stuff like that. Yeah, I miss those days. Yeah. So actually, I am a Nixos main.
Starting point is 00:02:33 I love NixOS and ever since I switched to it in 2023, I've been absolutely infatuated with the Nix ecosystem. So that's kind of just where I've been at, Hedspace, absolutely enjoying just using different desktop environments and the Nix build system and creating some projects out of Nix. We will definitely get into Nix because that is obviously related to what your project is. But I guess before we get to that, what is it that you're actually building? So I am building the world's first iOS Wayland Compositor, and that was the main goal. But there are actually several other reasons of why I built this, but basically it's just a Waylon Compositor, and it runs on different platforms other than Linux. Okay. I guess why? Why is a good place to go from? there. So we can always run a full desktop environment on DRM and stream that over with some
Starting point is 00:03:46 VNC or RDP. And that's always very fine and good. But when you're on a mobile screen and you want access to your applications, having those vertical bars, like you're watching a full screen, like a widescreen movie and you just get those black bars, it can be very annoying and it just doesn't match your screen aspect ratio. And I wanted a way to solve that. And I've been using a lot of postmarket OS and I know that there's actually been a lot of optimizations to having these Wayland clients just run directly on a phone screen. So I was thinking, well, we've got like termux and we can use that on Android, but we need something on iOS. And so I started thinking about how the heck am I going to stream over Wayland applications directly
Starting point is 00:04:35 to my phone and that's when it started. You mentioned Termax there. I noticed a newer project that came along. Someone has Arch Linux running in a box on Android, so it's just a full Arch Linux experience. I've not tried it myself, but it does seem really cool. That's awesome. I have also tried some other Termux related things. I was able to get XFCE running.
Starting point is 00:05:00 They actually have different ways to go about it, depending on if you can root your phone or not, just like enhances the speed if you can root. But I notice there's like nothing available for iOS. And actually, I just happen to know a lot about iOS. And I know of all of its limitations. Pretty much you can't do anything without Apple saying, okay, go ahead. So. So I guess with that in mind, like what limitations are there in place that would get in the,
Starting point is 00:05:33 maybe get in the way of what you're trying to do here or maybe help you in some ways. So it turns out when you want to actually run more than one process, that's not really possible. Pretty much every library you bundle within your application used to be statically linked. And as a result, you can't really load things like graphics drivers. Or you can't spawn new applications. And this could work if you had your application as a separate application. But that just doesn't do it for me. I want to be able to integrate a full desktop environment on my phone and use package management and all that.
Starting point is 00:06:12 There's also code signing problems where you end up not being able to run unsigned arbitrary code. And I've also found a way to solve that. But that's like the biggest hurdle that I've figured out. It's definitely possible to get behind. And going forward, I just know that this is something that's going to be, I loaded, it's going to work on jailed devices. You do not have the jail break to use this. Okay. Okay. Because I know that's like a, I'm not like in the Apple ecosystem at all. Why do people tend to jail break their devices? Like what are people trying to do when they're
Starting point is 00:06:54 doing that? So Apple is very restrictive on the way applications work and behave. And most of the time they want you to go through the Apple App Store, which is only like pre-vetted, like pre-approved applications that work exactly how they behave. And they put every single application into this little sandbox. And they prevent certain entitlements to regular developers. So you can't have access to things like the screen, you know, like frame buffers, VPNs. You have to pay for all that. And there's this really long, extreme, difficult review process.
Starting point is 00:07:29 And pretty much everything that would work for term. marks on iPhone is just going to immediately get rejected. And so Apple's developers are just going to have to deal with going through that or they can side load. And a lot of times there's still limitations if you're not able to jailbreak. And that's when jailbreak comes in. So if you jailbreak your phone, you're able to pretty much do anything you want. You can theme your entire screen. You can like change icons. You can run your own applications from pretty much anywhere. there's this whole idea of code injection. So whatever is running, you can inject certain code and run that arbitrarily.
Starting point is 00:08:08 And in many cases, that would solve a lot of O'Wana's issues with not being able to run unsigned binaries and stuff. I do like the concept of jailbreaking, just like even a thing that exists. Like, ah, jailbreaking, as in running software on my computer. Yeah, jailbreaking has been a thing for a while. I've absolutely been in love with it since it's inception, really. I've been using jailbreaking since like 2012 with the first device I got. And I actually have a lot of iOS devices just laying around that are jailbreakable and also can run Linux.
Starting point is 00:08:48 So maybe a project for another day to get Linux going on there. Yeah, you can actually get a pre-boot execution environment going and just boot up the Linux kernel just directly. That's actually pretty cool. Yeah. There's some work with Asahi Linux as well. They've actually added the device trees for some of the older devices that are able to do that. And one of my goals some days to maybe pour over some graphics drivers to get on those older devices.
Starting point is 00:09:20 Awesome. Awesome. So with Wawona, where do you even, I guess where did you start with this? project. Where did you approach it from? How did you even realize something like this was going to be possible? Well, actually, I'm a macOS tweak developer and I spend pretty much all my free hobby time outside of school and work, just making tweaks for macOS. And my biggest aim is always to bring Linux customizations to the Mac. And a lot of people tell me I should just install Linux. And I actually had an older MacBook that didn't have a storage base to do both Linux and
Starting point is 00:10:00 Mac. And because it's an M1, you cannot just wipe MacOS directly. There needs to be MacOS on there. And because I like Xcode, well, actually, that's a lie. Because I need Xcode to compile for iOS, it requires
Starting point is 00:10:16 about 80 gigabytes of storage space. So having just a base specs on the M1 Mac of 256 storage space, splitting that in half, I've run out of storage so fast. So my goals have been, well, let's just figure out how do I bring Linux customizations to the Mac? And I started with some really cool like window customization tweaks, like adding borders and changing colors, tinting everything, the ability to like change the behavior of how Windows behave. I made a tiling window manager at one point.
Starting point is 00:10:48 And as some time progressed, I figured out, well, what would it be cool if I could just get Wayland apps running directly on? the Mac and integrate them directly into the environment. And I found all these limitations with using X-Corts. You cannot use Linux apps and have them scaled with retina. And because it's using the X-Corts, X-11 is not compatible with Mac OS compositing. So you can't really get tiling directly. You can't just integrate it into the desktop directly. And so using Tiling Window Manager, so you immediately found, holy crap, this needs to be sold.
Starting point is 00:11:32 Before we move on from that, probably should explain what X-Quartz is for anyone who doesn't know about it. X-Corts is just an X-11. X-Quartz is just an X-11 backend for macOS. Yeah, server. You can just run your applications directly or a lot of times, there's. there's no native Mac OS ports of any X-11 server software. And you can't, like the most I've seen is like X-Term and, you know, X-I's and some of the sample stuff. But it's been so long since anyone has ever wanted to use X-11 on Mac.
Starting point is 00:12:08 So we just don't have anything. And we end up just doing like Linux and then rendering it to the screen directly. And people complain because, you know, their screens are using retina. And that's basically MacOS scales everything two times. And then as a result, you have a really large screen, something like 4K almost. And it zooms in because it's scaled twice as much. And it uses twice as many pixels as it would for every single pixel. And you end up getting a really sharp image, but causes conflicts with font sizes and stuff in X11 or X-Corts.
Starting point is 00:12:47 And then you just get blurry font all the time. So it's almost not usable. Right, right. So it's like, if you really need to, it does exist, but you're probably better off like, you know, remoting into a Linux system and doing it like that. Exactly, yeah. And I have random experiments using X-Quartz,
Starting point is 00:13:07 and I thought it was really cool. But for practical application, it's probably just not there. And if you've experienced any troubles with XRandar, you know can be really challenging to troubleshoot and figure out how the heck it's supposed to align. with multiple displays. And as soon as you run into that display issue and incompatibilities, you're trying to like tile windows into a screen space.
Starting point is 00:13:28 That's not even where your displays are aligned and it's just not fun. Yeah, I've, um, my, my layout's always been real funky. So X random, or it always called me problems. So I, I run two vertical monitors, but they don't align at the bottom. So the top of one monitor aligns with the top of the middle, the bottom of the right aligned with the bottom of the right side so it creates this like I guess
Starting point is 00:13:59 yeah sort of weird setup that just causes it like I it causes problems I've I've explained why I do this before every time that people see it they get very confused I have my reasons they're not reason to make sense for anyone else but I have my reasons Waylon certainly made that less, less breaky.
Starting point is 00:14:27 Yeah, and so X-Course is just not able to detect where the heck the displays are and set it up correctly and just not render stuff outside of your screens. You'd lose your windows all the time, and it's just not fun. So I wanted to solve that, and I wanted everything to work on the Mac as well. and so pretty soon my whalen compositor for iOS started to be a wayland compositor for MacOS as well and when I started this I was originally thinking oh these are just going to be like regular MacOS windows and then I found out you can render client's side decoration as well and that's just kind of trippy yeah so when you do this on Linux like everything is sort of built or
Starting point is 00:15:15 the fact that this is possible. Like, the addition of service side decorations is this additional protocol that most people adopt, but is, or most desktops adopt, but is still something that is, like, core to it. What happens on macOS here? Do you get, like, double decorations? Like, how do you, how do you, like, get through this situation? So, I just almost constantly get double decorations. I do have a new force server side decorations toggle that you can turn on for figuring out how to just render macOS window only.
Starting point is 00:15:55 And it's really interesting because I have to dig into the protocol and figure out how it works, which I kind of just don't understand right now. It is tricky, but every time I see it and it just renders and behaves like a regular macOS application with macOS title bars and the macOS traffic light. It's just really kind of trippy to me to see a Linux app vendor directly with a view of the app directly inside a macOS window. It's really just trippy for me. What kind of apps have you mainly been focusing on right now? Because obviously a lot of things aren't going to work on MacOS because they are specifically built for something on Linux. So what has been your main concern? So I want to bring in nested compositor support.
Starting point is 00:16:44 And to do that, I need to not only make Wawanna Compositor a Compositor, but also allow it to run Nested Compositing. And so I thought, well, the only compositor that I really care about is Sway Effects. And before I even bother, I will just dig into a reference compositor called Weston. And Weston actually gives you a bunch of built-in, like Lib Weston clients. You can just test them. And you can test for certain backends, like, OpenGL and stuff. And right now my main focus is to see
Starting point is 00:17:18 how many of those I can support. Right now I can get Weston Terminal up and running and I can pipe it over directly from my Linux machine so I don't have to compile it natively. And I did run in some other tests. I was able to get Weston Simple SHM running and that is basically a CPU-based pixel rendering for Weston compositor.
Starting point is 00:17:41 And all of these I can render either nested inside of Weston or just on their own. And that's something that I find really unique and special about having Wayland on something like an iPhone is you can just run the app as if it was a regular app and it'll fit the screen and everything. That's cool. That's cool.
Starting point is 00:18:03 So right now, what is kind of the state of things? Like, what works well-ish, what doesn't work. How much work do you have to do? So I started over. So right now, right now it's pretty limited.
Starting point is 00:18:24 I haven't even tested iOS or Android yet again. And I am thinking of adding Linux support directly. So we'll just see. I don't want to overdo it because there's going to be a lot on my plate and the scope is massive. But there's a lot of work that's already been done. And all I really have to do is put it all together.
Starting point is 00:18:44 And even though there's a lot to do, we don't have Vulcan really. We don't have OpenGL. MacWES has drivers for OpenGL, and they're deprecated since MacWes, Mojave. Yeah, and X-Corp still uses them. So what I really would like to see is maybe getting some graphics drivers running. And I know there's a few that I'd like to try. such as Cosmic Crisp, and that was one of the things I first tried
Starting point is 00:19:14 when I started on Mac OS was getting Cosmic Crisp driver. And that's essentially like Vulcan 1.3 compliant for MacOS by Lunargy. Yeah, yeah. And I tried getting that running on iOS as well, and I have no idea if it worked because I don't know how to test Vulcan. And so the state right now is there's a lot of stuff
Starting point is 00:19:37 that really doesn't work. and I'm kind of focused on getting just like the basics because right now I just fixed keyboard input. You couldn't like type. Previously you could in my C implementation, but I just started over and everything's in Rust now, the back end. So it's going to take a lot of time. And I have to figure out how to structure this so that it works going forward in a maintainable way. Yeah, that's kind of a big thing. One thing if you're just building some tiny little project no one cares about, but if you actually
Starting point is 00:20:13 want this to be some big maintainable project, actually having a sensible structure, like, no matter what you do, you're going to have to restructure things, but you want to try to limit that as much as possible. And I did find I am able to use Rust. There's actually a lot less work to do with Rust because a lot of people who are on the Rust Wayland projects, they've already got it compiled for macOS and i don't have to do any porting there which is nice uh but there's still like compositing that's still like the biggest issue that i am going to constantly run into compositing uh zero copy um how do how do i get accelerated graphics going and macOS is kind of just incompatible with most of it so i got to figure out the best way to translate it over and uh
Starting point is 00:21:03 in in addition like you can like compile awayland apps directly and run them directly on a Mac or iOS. And with this whaling compositor, that's totally possible. You don't need any native UI to do it. Like you don't need to import Coco and all that. But I want to just look at it as when want a compositor is not necessarily just a whaling compositor. It's not that it's implementation detail.
Starting point is 00:21:34 I don't want to focus on that because what I really want able to think about is what's possible if I have Wayland on my phone if I have whalen on my Mac what can I do with that and the answer is well if you can just SSH into a Linux machine you can run anything on Linux right you can port Linux apps directly if you have the source code you can just use my Wayland Compositor and bam you can run it directly on those computers stuff that's not really been done but I just want to like point out we have Android.
Starting point is 00:22:12 We have like Wayroid on Linux. Imagine running Android applications on your iPhone. Like there's like just I just want people to think about what the possibilities are. If you really have Wayland running as if it was native. And it works natively like a regular application. What is possible? and that's when I start going a little crazy. I'm like, holy crap.
Starting point is 00:22:40 Like, I can run Sway directly. I can, you know, I can run Nome if I wanted to. Like, I could get up a whole desktop environment that's usually for Linux, compile it natively for my Mac, and then just replace the whole desktop environment. That's yet to be done. And I know exactly how to do it. And I'm on the right track for doing so.
Starting point is 00:22:58 Okay. How? I know you could obviously nest it and run on the top of it, like you're making it sound like you'd actually replace the environment. You can. And remember how earlier I said I'm into MacOS tweak development. This means I typically look into MacOS source code without access to the source code. And I have to refer to engineer private frameworks and API.
Starting point is 00:23:29 And I end up figuring out how stuff works and how stuff renders and how stuff connects to your display. And there's all sorts of stuff going on. There's behind the scenes on your Mac. So when you boot up your computer, you eventually hit a login screen. And I like to make parallels here. So this is basically your display manager. And MacOS doesn't give you any options here. But if you were able to make your own login window, you'd have your own display manager.
Starting point is 00:23:59 you could select your own desktop environments. And if you figure out how to log in, you can authenticate users and create a brand new third-party MacWest desktop environment that runs on MacOS directly. And it just so happens that I have a friend of mine who's been working on this for a few years now, and they just figured out just now
Starting point is 00:24:24 how to replace your entire desktop environment. And it bypasses, login window as well. So I won't give too many details, but all you really have to do is do a standard Nix run to run the project. And you're immediately rebooted into this third-party desktop environment with the login window replaced completely. And that's how I plan it to it. Okay, that's very interesting. Um, yeah, no, that's, that's actually super cool. So you mentioned Nix there And I think that's something
Starting point is 00:25:05 that everyone will talk about So you mentioned you also use NixOS You've said that Nix is going to be one of the one of the few dependencies the project actually has Why Nix? I guess If you install Nix
Starting point is 00:25:23 with a single command you can declaratively reproducibly create an entire project and share it, and it will work everywhere else. Without issues with dependencies, without issues with isolation, without pluting your source code with your own forks of projects. And I think Nix is great because you can actually pass in variables.
Starting point is 00:25:51 So you have environment variables. You can pass in. You can pass in binaries of other packages, for example, to run directly, and it gives a full path to your immutable Nix store. And it's just such a good choice for this project because there's so much going on and I really only want to include Wawona source code in my repo. So when I publish upstream,
Starting point is 00:26:14 all you're going to see is a bunch of rust. You're going to see Objective C. You're going to see some maybe Kotlin going on for the front ends. But then you're going to see a bunch of Nix and the Nix tooling and Nix modules. And really, I'm trying to simplify it. So all you do is download Nix, and you just type a simple Nix run,
Starting point is 00:26:37 and it automatically compiles and grabs everything for you, takes the entire source code, creates an executable, and runs it immediately for you. And I actually think it's great because you don't have to sit there and type make Kario, make, you know, lib input, you know, XKB comment, And then just take hours upon hours trying to compile source code by yourself, getting dependencies that don't work on Mac.
Starting point is 00:27:04 There's a lot of stuff that's not shipped in HomeBrew, and it's just not going to be a good time if I tell you to get all the dependencies by yourself. So I think Nix is great because you can even include packages that are dependencies of Wayland and then patch them with Nix and then just compile them directly. And it's so easy. like for everyone else to use this it is just the easiest thing and you're able to compile it directly by yourself without having to try. It's interesting to hear about Nix
Starting point is 00:27:35 from the development side because most people I hear talk about Nix are talking about it from like the convenience of building up like a whole system, the convenience from the user side, but I guess that does make sense. I've never properly looked into Nix.
Starting point is 00:27:49 I've had Nix people on this show before and every time they explain it to me, I leave the show more confused. I feel like a lot of NICs people, they're great at telling you, like, the NICs specific things that are awesome, but aren't great at, like, explaining why that actually works and what makes it cool. So, so, yeah, I won't dive into it. It's, it's a mess. It's huge. And it's basically, you know, production grade infrastructure. And it's the strongest we've got. And I'd say it's closest we've got. And I'd say it's closest. to math at that point. It's got the largest package set in the world for any Linux. And I just really appreciate how powerful it gets when you look in terms of automation. With a single command, you could just have a single file that does literally everything for you.
Starting point is 00:28:43 And that's not to say there's a lot of heavy work going on the back end because there definitely is. But it basically is a language, a functional language, and it describes how to compile tools in Apple applications and that's basically all it is. So you don't have to do it yourself. Whoa, you've got to do it once. You've got to make the language, you've got to put the language together to make it do it, and then it works forever.
Starting point is 00:29:09 You can package these, they're called derivations, and you package them upstream to the Nix package, Monor repo. And once you get all the dependencies of the application that you need up there and maintained, you can actually call them as inputs to your software when you package your software to upstream. And it makes it very clean and very organized and very neat and really just straightforward when you're looking at it
Starting point is 00:29:39 from a developer's perspective. I would assume basically everything you would need would have already been in Nix. Absolutely not. Okay. So that's the issue. There's always going to be stuff that's not there that you need to package yourself and that can take months if you don't know what you're doing and so I actually know how to do it and I I plan to make patches to things that are going to be published up up to Nix and I actually have some source code that I need to publish up there so you can run but that's going to happen a long time from now right now I'm just trying to get everything downstream just by itself up and running right right right So get it a little working and then when you know it's working, then go through the next step of, you know, making it more easily accessible.
Starting point is 00:30:34 Exactly. My goal is just to make it so straightforward. All you do is just run a simple command and it works for you. Well, I hope that, I hope you can, I hope you can get to that point. Yeah. I think I'm there. Xcode is just a big pain in the butt. It happens every time. and yeah I said I like Xcode that that was just a complete life what makes Xcode annoying because I've used it a little bit in the past but for nothing serious so I'm a Linux nerd and everything is just usable on Linux and as soon as you do try and do the Apple ecosystem you can't compile for anything without having Xcode which is kind of true but it's also not but it is
Starting point is 00:31:21 It's the whole infrastructure that Apple provides you to run, compile, run, and configure and set up everything, but they're so strict again, like I said, it's like a jail for iOS and all these other platforms that you can compile to. And you end up having to set up code signing. Code signing means you have to actually have an Apple entitlement or like an Apple certificate to get going, and that usually costs. a hundred dollars a year and i'm trying to do it without that but if you did have one you could actually theoretically just use some other third-party code signing tools which i don't have access to and i know that people aren't going to have access to that so i'm constantly working around xcode right yeah right yeah yeah it takes up it takes up 80 gigabytes even if it doesn't use 80 gigabytes every single time if you don't have 80 gigabytes worth of space to allocate,
Starting point is 00:32:24 Xcode won't install, even if it's only like 15. What? Yeah. And it's just annoying. It's annoying. Is it like allocating like build cash? I don't know why it would need that. I don't know why it would need it either.
Starting point is 00:32:43 And we're just not going to go over that today either. Fair enough. I think if I learn more about Xcode, I'll learn to appreciate it, but right now it's just very confusing. No, that's, that's fair. I also just appreciate, like, I could just, like, build something and run it. And that's, like, the power of Linux, and I really just like that. So what a crazy power to have. I would really like to talk about the LLMs and the uses of AI.
Starting point is 00:33:19 my project. Okay, I was going to get that at some point, but yeah, we can go right into that now if you want to. Yeah, let's get into it. Where do you want to start? Okay, so I started this, I started this project in November, okay? And I started it as like, does this even work? Like, can I get a screen printed to my screen? Like a whaling surface, can I render that to macOS and, or to IOS? And, just, so happen if you use AI, you can get it done in a weekend. So I made my first Reddit post. Oh, I got like, I got Wayland on Mac OS in a weekend. You know, what did you do? I do have to do the disclaimer. I used a lot of AI there. I am a student. I'm still learning how to
Starting point is 00:34:12 program. I am still learning C and I'm still learning Objective C and the MacOS platform and all the a macquest frameworks and ecosystem and how they work over here and uh using AI is going to really push forward this project until we reach a point where it just kind of works everywhere and that comes with the added bloat that happens every time you use AI and i am about a thousand five hundred bucks deep into this project of my own money and i'm releasing it for free for everyone to use and check out the open source code uh because i believe in FOS. So I just want to mention that. I know a lot of people are going to be upset when they hear that I've been using AI. But again, like, I'm one person, and I just want you to not think about implementation detail. I really want your viewers to think about this as what is possible. What can I run on iPhone? What can I run on my Android phone? What can I run on macOS? None of it was possible before. And now, I, I'm I'm making it possible with or without AI.
Starting point is 00:35:23 Like, I want this to happen today. I don't want to wait until someone else does it. Because chances are, no one's going to do it for iOS. And that's just going to be something that I've core by heart into. You said your student. How old are you right now? So I'm 26 right now. Oh, okay.
Starting point is 00:35:43 Yeah. I'm 26. I thought you were younger when you said that. No, I'm trying to get. out of here by 2027. We'll see how that goes. But really, like, I'm busy.
Starting point is 00:35:57 That's fair. And this is my hobby. But ambition-wise, if I can't get a job, I really want this to be what I do. I really want to make Wayland available for Mac and just be the pioneer for all of this. And I hope I can get some funding for such a thing. But right now, it's just however it goes forward, whether people support me or not, I just knew on it done. So when did you start learning the program?
Starting point is 00:36:29 Well, probably 2023. Oh, okay. So very recently, okay. Very recently, yes. I am very, very new to programming and I'm still learning. So you, but I am. Oh, gone. I'm creative and I'm very creative and very ambitious.
Starting point is 00:36:47 And things like this don't, don't really worry me for, um, hitting that roadblock when you're doing programming and you find something that is super massive in scope and you can't finish. I'm going to finish this. No, the reason I ask you is because you're like, you've started at a very different time for a lot of the people who watch this channel. Like most people who watch this channel, they started like, you know, years before AI was even remotely usable for anything like this. Like, yeah, obviously, you know, we've had chess machine learning systems since long time ago, but the modern LLM is, whilst it's theoretically existed for a long time, the hardware wasn't capable until very recently. So your experience learning
Starting point is 00:37:29 to program is very different. And the kind of resources that are available for you are very different to what a lot of people who watch this has had in the past. So what is that actually, like, I guess it's hard to compare it because you don't know what it was like beforehand, but what has your experience been like learning to program with all of these AI tools available? How have you used those as you've been learning and developing as a programmer? So the type of software I like to write and the type of software I can write, those are very different things. And I use AI to help me in all sorts of ways. The biggest example is I don't have access to Apple source code.
Starting point is 00:38:14 I can't... Oh, we deced for a second. Discord, uh, we, uh, my camera's frozen. Uh, I don't know if you can hear me, if this is my side. Um, uh, okay. Oh, the entire Discord window is frozen. Render says the type of stuff that I want to make. Uh, sorry, I lost you for like 30 seconds there.
Starting point is 00:38:43 Oh, we did it again. Oh, God. Discord. Oh, Discord's doing the thing again. Okay. Uh-oh. Okay, let me just... Oh, hello?
Starting point is 00:39:01 Yeah, hello? Let me swap to the... I'm going to swap into the web client because I've been having these problems with the desktop client recently. Um, give me, give me a minute. Okay. Apologies for the technical difficulties. I will make sure to cut that in post.
Starting point is 00:39:19 Um... Yes. you're talking about AI usage and learning a program. Yeah. So I think it's actually kind of tricky to learn a program for me because the type of software I like to write and the type of software I can write are very different. I think starting out, normally people learn things piece by piece and put together some sort of program based off the essentials. Like if you're learning C, you'd start learning variables and types and you get into structs and you'd probably do some pointers and stuff like that. But for me, it's all kind of a little different. It's like backwards. I'm starting from
Starting point is 00:40:01 software that Apple's written, figuring out how the heck to read and modify it. And then going in from a different angle where I'm trying to change it. And then I learn about Objective C and how it's like a superset of C and it has all these Apple specific frameworks attached to it. And then I learn, oh, well, you know, it's part of C. And but it's not really. And so it's kind of tricky. AI really helps me because the type of software I like to write with no access to source code, I can kind of like review some private APIs and stuff. And it really helps me dig into and understand what some of the methods might be that I'm using when I'm reverse engineering. So if I'm using IDEA or something like Hopper, Disassembler, I can go ahead and take the
Starting point is 00:40:56 D-Y-L-D shared cache and decompile it and find AppKit framework and dig into all its class names and find out what it does and look at this tree structure and all that. But then to figure out how to actually inject that code into the system at an applicant. level and make modifications, make modifications to my software so that my tweaks actually work, that's where AI helps, because it's not really a whole lot of tutorials on that. So, yeah, and if I was on Linux, it'd be a whole different situation. I'd probably just stick with NeoVim and develop more NICS stuff and go ahead and learn see that way with the regular computer compiler.
Starting point is 00:41:42 And I feel like I would like to do that. at some point. I'm just so busy and I really appreciate Linux and I want that experience on my Mac with a battery life it's got. And I've got the whole ecosystem of iOS, Apple products and I'm the sick of it having to not do what I want. And I'm here to change that for not just myself, but for everyone.
Starting point is 00:42:10 AI helps you do that. Helps. And I know that not a lot of people actually have learned to code with AI and you started with resources and I kind of feel like that's the right way to do it. When you're in a mindset where you can learn and read from a book, which I actually really struggle with, by the way. If you get something like the K and R, you know, the C programming language, I highly recommend the second edition. It's a really good read. I'm still reading it again. I also want to not discourage people to use AI because there's projects like this that could it be out there right now. Anyone besides me could go out there and learn how to make a whaling compositor using AI.
Starting point is 00:42:59 There's so many things that since I started this in November, I didn't know what whalen protocols were. I didn't know what a surface was or the concept of seats. I didn't know that you could make a back end in the front end like that where you have your front end be actual native code and then somehow get that to connect with rust bindings. I had no idea that was going to be a thing. Wayland is like super big and super scary and I just encourage people to go and try just asking Google or AI
Starting point is 00:43:34 if you really want to how the heck to do it. And maybe make a test client. or something. The reason I ask you is I'm just going to curious like where things are actually at because I don't really make use of much of this tooling myself.
Starting point is 00:43:51 Like my video transcripts just because writing an entire transcript by hand is a nightmare. I will usually start with a baseline generated through whisper and then like go through and hand correct it because it makes up words
Starting point is 00:44:07 because it can't understand my accent sometimes. Or I sometimes just pronounce words wrong. But I just am not really super aware of where things are for approaching things like Wayland and MacOS development, things like that. I knew early on it was pretty good for web development stuff because there's sort of a lot of examples of how to do web development. but besides that, I feel like a lot of people,
Starting point is 00:44:39 I think the opinion and the quality of it the people have are sort of set like a year or two ago and a lot of people don't actually know where things are at. Like, a lot of people don't like the tech and don't keep an eye on where it's going. And I at least try to keep an eye on it, but it's moving so quickly that, like,
Starting point is 00:45:03 it's very easy to lose track of it. Right. I can see that. I can understand that. It happens really fast. It's like the new tech push AI using AI everywhere. And I actually kind of don't agree with a lot of it because it ends up just invading our lives. But that's just kind of, that's going to be how it is, I think. My favorite example, my favorite example I saw this, I saw this store that didn't have a search bar, it had an AI chat bot that would find the products on the store for you, which is just the worst possible way to operate a store. It's just a worse experience.
Starting point is 00:45:46 I think there's so many things that we can't hand program. If you're doing robotics, there's just so many things that it just wouldn't make sense to try and write every single movement by yourself, every motor, every degree. It just doesn't make sense. So if you can train like an AI model using machine learning or deep learning, that's kind of where it's really useful. A lot of times these programming projects, they really just make use of a large language model that really caters to everyone and just uses a large database. Pretty much off the entire internet, just scrapes the whole internet, puts it on a giant thing called the pile. There might be more or something right now, but the whole point really is to make this.
Starting point is 00:46:31 general model available to everyone and then people are really good at making that happen and they pour billions of dollars in and still are like whether they're stealing content or not i won't get into that um there's a lot of AI uh artists that are out there kind of invading tic talk and you see a lot of AI generated content um but i'm not on social media platforms and so for me to be over here and using AI it's a completely different experience Like, I can go from having a very basic Mac OS window with nothing in it or maybe some text input. Then I could ask AI, hey, I actually need to replace this view with the Wayland Surface. It's like, I don't know how I'm supposed to do that.
Starting point is 00:47:18 The Internet doesn't know how you're supposed to do that. Like, this is like pioneering type of stuff that not only will you have to read a book, but you'll have to have a Linux machine and you'll have to sit down and develop it all in Linux and figure out how to get it to run on Mac, which really isn't something that you can just read about and learn. And so I use AI because there's, I take on projects that are weird like this, and there's like no written material that can help me
Starting point is 00:47:47 unless I spend years on it and learning. And since I'm still new at coding, I can't just take on Mac Westweek development without something like AI. And I can't just take on, on a whaling compositor without spending months of learning how to program on a Linux machine with a whalen environment already available. So it really is helpful for creating something that's new and something that, again, is kind of like a black box where you don't know how it's going to happen.
Starting point is 00:48:20 You don't know how to implement it because it's one of those challenges where there's not a pre-existing example to go after. Well, on that note, like, what has the, I guess, what has the quality been like using it? Have you run into the situations where you get given something and it's just utter garbage and you're like, this is obviously not working? Like, what is that model of integrating AI into the workflow being like? It has been really fun, actually. I actually spend a lot of time.
Starting point is 00:49:01 I spend eight hours in a row sometimes just sitting down and speaking to AI trying to figure out, how do I structure this repo? You know, how the heck am I going to get Rust to take in the protocols and generate bindings and then use that with NICS somehow and pass in environment variables? Like I could go on and on and on and eventually have this beautiful project repo and just everything kind of makes sense is just laid out perfectly to compile for every and run everywhere. And then the other part of it is just spending a lot of money.
Starting point is 00:49:35 You burn through token usage and you just get to a point where you just wish you knew how to program and do it all on your own and then spend your time doing that. So it's great and it's not great. A lot of people call this vibe coding where you sit down for hours asking AI how to help. But I really just want to emphasize my project goals aren't to sit down and use AI and Fibco to Wayland Compositor. I just want a Wayland Compositor that runs on all of the devices that it doesn't run on. And I want it to be available for everyone.
Starting point is 00:50:10 And eventually, I really do want to rewrite this entire code base by myself without AI. I think it's a really helpful learning tool. I can skip reading the books. I can skip programming directly on Linux, where all the tools are already available. And I can have it today create patches for the systems I'm on. normally they wouldn't be and once once those big hurdles are out of the way I can still get
Starting point is 00:50:35 homework done and come back and just play with test clients on my computer like that's that's all it really is and I it's a learning experience for me so right now it is usable and then there's always times where you're using the LLM and it just spits out garbage I don't want to speak negatively of it because it's just one of those things that's trendy right now. But there are some difficult times with it where, you know, I'm wasting my time and starting over, like for example, just rewriting the whole thing in Rust because it doesn't know how I handle C
Starting point is 00:51:12 safely. So there are architectural decisions that are made because I'm using AI. And, you know, that's not great, but it's what we have. And I don't know, if you want to, if you want to help me and get, this up and running and contribute to this source code. Like, I will take as many PRs as you send my way. I want this to be working and I want it to be out there today. I don't want it to wait another 10 years when someone figures out how to write it all. So, yeah. No, I'm just, like, I'm just
Starting point is 00:51:48 very curious about this, this development, this development structure. I, I've, I've said my piece many times on the way the AI is being used for a lot of things. And I feel like a lot of people have issues with the way a lot of things are being done. But I don't know, I am not wholly against this tech. At the end of the day, I don't really care what other people are doing, but I am certainly interested in the way they're approaching problems. I kind of agree on that. I'm not wholly against it either. I just wish I could do this. and it was just done like last year and I could just use the tooling that comes after.
Starting point is 00:52:34 I'm really hopeful. Mind your camera blurry. I don't know. What? Sorry, one sec, let me see. Okay, now it's not my side having issues this time. That's good. No, it's my side.
Starting point is 00:52:56 Oh, no. Oh, there we go. All right, all right, all right. So where are we? We're just going off of the AI topic. Oh, oh. What is your camera doing? I don't know what it's doing, sorry.
Starting point is 00:53:13 Has it like overheated or something? I don't know. It's an iPhone, so. Mate, okay, mate. I don't know if they overheat being a camera too long. I don't know. I don't know. So right now,
Starting point is 00:53:31 what would you consider to be kind of project blockers, things that are sort of getting in your way in the, I guess, immediate? Process spawning, multi-process spawning on iOS. I did create like a virtual kernel as a library you can import into your project and spawn multiple libraries. And as of right now, it's kind of broken, but I did have it working. It's important for things like running waypipe and then having a waypipe execute open SSH and then having SSH connect to your client and run stuff.
Starting point is 00:54:10 But for example, like if you wanted to compile a Wayland client for usage with this, you could compile it for iOS and then side load it and put it like in the file structure that I've laid out like a shared folder that you can upload your Wayland clients on iOS and run them directly, but because of Einstein, sorry because of unsigned code execution problems you can't really do that so i'm trying to work on a way around that and uh another thing is when you connect a client and you want it to use client side decoration one of the things that's a big blocker for me there is not only rendering the client side uh without like macOS windows um but like having the shadows not be a part of that window and when you
Starting point is 00:55:04 want to resize, that you resize from the frame of the actual client. And I did figure some of this out, but it ends up being a real pain in the butt. And it is a huge, don't worry. Those are problems that also exist on Linux. These are not unique problems to you. Yeah. So these are, these are some annoyances, but some real project blockers, I guess, if you want to talk like, oh my God, it's going to kill the project. I'd say graphics acceleration, getting Vulcan, getting, you know, OpenGL. I have to somehow figure out who's going to make like a graphics driver for MacOS and iOS that runs OpenGL. And like, I'm not going to do that.
Starting point is 00:55:52 I don't know how to do that. Someone needs to do that. Please do it. Please make it happen. I would love to just import it and use it. And if you consider iOS as well, that would extremely help. But also another thing is like, I would like to use the Cosmic Crisp driver for Vulcan, but it only supports Mac because no one's thinking about iOS right now. If literally anyone wants to spend some time trying to figure out how to get that to work on iOS, that'd be great because I don't know how to test it.
Starting point is 00:56:23 These are some project blockers that are like, oh my goodness, I wish I just knew how to do it. and it's going to take me a long time on my own, and I really need your help. And then there's Android. Oh, yes. There's Android, yeah. There's also Android. I have no idea how it's going to work over there.
Starting point is 00:56:42 Considering that there's already a lot of, like you've like Termax and stuff like that, I would imagine there's probably an easier process on that side, and considering that it is, you know, it's still a Linux kernel underneath. Obviously, Android still has a lot of the, same kind of limitations that exist on iOS, but I would imagine there's probably more...
Starting point is 00:57:07 I can't... I would have to assume somebody's probably tried to do this already on the Android side. I'm not aware of any projects. Yeah, exactly. There's actually already some progress in that sense just running Wayland on Android using Turmux. And you can kind of do that today.
Starting point is 00:57:26 So I'm not really trying to compete directly, I just want some equivalence. If I'm going to use an iPhone, I want some of that. I really appreciate Android for being super open and available and able to be not so jailed. But that's a topic for another day. I know how to bypass a lot of limitations on iPhone, and I feel like I can be in charge of that. But if people want to tell me it's not impossible, great. But people who say it's impossible, that's when it's like,
Starting point is 00:57:59 okay, here's how you do it. Let me show you. This is it. This is working. This is a proof. And I don't know. If you want to try it, you can. It's not going to be in the app store because of the nature of Wayland.
Starting point is 00:58:15 But someday, someday we'll have a fully working iOS Wayland Compositor, a fully working macawes whaling compositor, something on Android someday. And maybe at some point we'll get to my major. overarching goal which is one-to-one UIU-I-U-X you have keybines you have window management you have like desktop styles and themes and your windows look the same and work everywhere I'm actually gonna figure out how to use WayPipe to forward Mac OS app kit and iOS UI kit front ends over to Android I mean over to Linux over Wayland so you'll pretty soon that some point
Starting point is 00:58:59 you'll be able to use macOS and iOS applications on your Linux machine. That's just something I have in mind. So right now, we've got macOS and it kind of works. That's kind of the big thing to hooray right now. I do want to get into a lot of the long-term goals, but let's just, before we get to that, what would you consider to be like an MVP? the minimum viable product, where if nothing else was done at this point, it would be okay and good enough.
Starting point is 00:59:39 I think I would like to bundle Weston and get pretty much everything in Weston running. And so if you start up the application and you don't have anything else, at least having a Western environment would be nice, nested. I want all platforms to compile out of the box. Like, I just want people to use and be able to use it. And it just works. But ideally, if it's just going to be somewhat usable at all, I just need Wayland to running. I need Wayland clients to connect and be able to render their surfaces and be interactable,
Starting point is 01:00:13 whether that's touch input, keyboard, mouse input. It doesn't matter. I just need an app that can, like, do it because, like, that's the goal. That's the goal. If we can get there, that's, that's like, okay, that's good enough. So, okay. Well, with that, the more, I guess, expansive goals then, your, you're, like, vision for the project. I am, you've got some big ideas you got here. Oh, we're getting into this. Okay. Yeah, if you want to. So, iOS, obviously, I'm targeting jailed, but I want to make a tweak where you can jailbreak your phone and come
Starting point is 01:01:03 completely replace the front, the whole like interface, just like you would on the Mac if I was going to get that running as well. Okay. Okay. So that means you no longer have iOS springboard or login. You just go straight into the custom desktop environment. That would be the universal thing that I make with the display manager and all. That's one thing. Two, I really want iOS to have some sort of Samsung decks experience.
Starting point is 01:01:30 And that means when you connect to external displays, you. You can use the touchpad on your phone as like an actual input and there's a cursor, and I've actually got some sort of prototype of that running. You can actually put applications inside of an application on iOS, so you can actually run iOS apps inside of iOS apps. And there's already a project out there that does this called Live Container. and they've already figured out there's some really really I would say really really smart people that are on that project and they already figured out how to like use LLVM and the LLDB or whatever and get an application to run unsigned like inside of an iOS app using dot DYLIB or D. D-Y-L-D, which is like a dynamic library or just like Apple, a lot of those stuff.
Starting point is 01:02:41 And it bypasses signature verification. So I want to figure that out. I want to use side-loading and this VPN from the app store to be able to get every seven days a free code sign for your app. So it just runs and you don't have to continuously side-load and lose all your progress. another big project I have is getting obviously like getting this application for iOS to have built in tools so built in built in Weston it'll be bundled but I want people to be able to compile and develop their own iOS Wayland apps on iOS and that means I'm going to have to figure out how am I going to get a compiler on the phone And, you know, not just like a virtual kernel, but there's a lot of stuff going there.
Starting point is 01:03:35 And I might have to make a package manager for the iPhone. And doing it all jailed with multi-process bonding, that's going to take a lot of time and effort. And it's like way out of scope for Wayland. Another big project I have is just getting iOS and MacOS apps to send over Waypipe. And that basically means you can SSH into your Linux machine and render. Linux app or you could just go the other way. You could SSH from a Linux machine to your Mac and render a Mac app on your Linux machine. That thing doesn't exist right now. And I want to pioneer something that does that for iPhone and Mac. And I'm going to make my own full screen
Starting point is 01:04:19 compositing desktop environment and window manager. I want to make some sort of tiling thing. It might be scrollable. It might be some rip-off of sway effects or Neri or something. thing. I have no idea. I just really want it to be super powerful, universal, and work everywhere, have the same key binds. No, like, limitations. I just want it to be full-blown. It just is, like, insane. And on iOS, that means I need to figure out how to get a frame buffer running for the jailed version or the jailbroken version of this. But there's a lot of goals there. And then if we step back for a moment and focus specifically on Waylands. I want graphics acceleration. You know, I want to support Vulcan. I want GPU drivers that run in user space for MacWest. So I need something
Starting point is 01:05:10 somewhat like Cosmic Crisp where you got the Vulcan 1.3 compliant Vulcan drivers on MacOS. I want that sort of thing. I need it for iOS. I need to somehow get OpenGL running. I want to support everything. I really do. I want users to be able to take KDE, plasma, or whatever, compile it natively for macOS and then somehow render their macOS apps directly
Starting point is 01:05:38 in it and have previously Linux-only apps right side by side inside of a plasma-based desktop environment on their Mac. That's a full replacement. I want this kind of stuff today and I want everyone else to have that because I'm just
Starting point is 01:05:54 I don't know. I'm ambitious. So I need this to happen. I need this to happen. I really hope people can realize, holy cow, I could have so much that I'm not having because it just doesn't, it's not a thing. And I want to show people, you really can do this. And it could be done today. But I can't do it alone. I'm one person. I can only tell you it's possible. And I can show you some examples and say, hey, look at this. It kind of works. Whether I use AI or not, you know, those are big project goals and if I get there that's great I really need I really need your support and I need to I guess prove to you that it's real and you can do it the first place
Starting point is 01:06:41 so that's what I'm doing yeah yeah yeah I don't know the overall the project sounds the project sounds really cool but with how big your goals are I just, like, it's hard to see how you get there. And this is where AI comes in because there's just, it's just such a massive repo scope. There's just no way it's going to happen. And so I really need to emphasize, like, AI is going to help a lot. AIA is going to help with the initial porting of tools, the initial compiling of software that doesn't exist on Mac. Right now it helps me get keyboard input.
Starting point is 01:07:28 in my whaling surfaces, even though it's a macOS window and the Linux client has no idea what the keys are, because they're all wrong. Like, I could use intuition for that, but I'd rather just write a simple, like, C program for fun that, you know, it's not a great experience if you're doing it all on your own. So I really have to emphasize, like, this is what AI is for. There's this kind of black box. There's this massive reposcope. It's not going to happen with intuition alone unless you're getting paid. if you're out of school and if you have a whole team with you and I have none of those so I just want to mention like that's that's kind of like how I plan to do this I plan to build it all out using AI and hopefully I can get some donations and help so I'm not doing it all on my own and maybe
Starting point is 01:08:13 some PRs and stuff if anyone's interested it's open source you can check it out if it compiles for you great but it's not going to happen in a night even if you can pour we'll end over to Mac West and make it a simple compositor in a weekend using AI, this type of goal that I have set. It's very large and it's going to take me probably 40 years of an estimate. So I plan to be doing this the rest of my life. I just got to put that out there. This is going to be my spiel, you know.
Starting point is 01:08:48 I want to be known for this. No, like I respect the drive. If nothing else, I respect the drive and the, uh, and the desire to, the desire to do something. Even if the way you're doing it isn't the way a lot of people would want you to approach it, you know, the use of AI, a lot of people would want you to just start from the very start doing things from scratch. And I can understand that perspective, but at the same time, I respect the drive. I think it's cool. Yeah, I do kind of feel sorry and know there's,
Starting point is 01:09:30 a lot of your viewers that are skeptics of AI, and they're going to probably be upset when they see this. Probably. I just want to remind you, like, think of what's possible. I don't care who does it, but if we get a whaling composite for the phone, for iPhone, and we can just run, like, Linux apps from your Linux PC on your iPhone, like, that's, like, all that really matters. Like, that would be so cool. I'm just tired of having VNC and RDP and not be able to use Mac on Linux.
Starting point is 01:09:59 all these little issues that I know how to solve. I know how to do it. And I'm just here to show you as possible. And I really just hope you can agree with me that whether or not it's with some help of AI as a single person. Like, this is pretty cool. Whilst there might not be something for iOS, there are some prior attempts at doing Wayland for MacQuest. Have you had a look at those yourself? I have looked at Owl Compositor.
Starting point is 01:10:32 It's really hard to compile. Yeah, a lot of people had issues with it. It's five years old. It probably isn't built for modern MacWest at this point. And that's exactly where Nix comes in, because you can just use Nix. Someone else has already figured out. You just do a Nix package for that.
Starting point is 01:10:51 Right now it's broken, but someone can fix it. Aul Compositor for MacWS doesn't really do a whole lot today. I really like the idea. of owl and I think owl was made without AI and I really I think that's great. There's some pioneering effort there that I really appreciate from the developer. I think it's also a hobby project and it's one of those things that is a goal but it's not currently being developed in that that kind of thing is not it's not worth it for me to look at and target as something to contribute
Starting point is 01:11:24 to if it's not an active development if it's going to be stuck in a stalemate. for the rest of however long. So I started over. A lot of the Owl Compositor, it has this fork of like Lib Wayland, like the server, and it's in C, and it is kind of outdated, and Aweil Compositor uses a lot of older outdated protocols, and that's why a lot of stuff isn't really working.
Starting point is 01:11:55 And then you get CPU-based rendering because it uses a lot of core, graphics instead of something like a metal view. And so my goals are a little different. I really think the owl compiler is pretty cool, but it just isn't usable today. Maybe someday it will be. But if you're a fan of Wayland and you're a fan of MacWess, maybe that's something you could check out as well.
Starting point is 01:12:17 A more recent project is this one. I don't know if you've seen this one. Wayo, Wayo by Eric Curtin. I have not even looked at that. I didn't even know it was a thing. I saw your video and it looked like it was only two weeks ago. Yeah, about three. Latest commit was three weeks ago, yeah.
Starting point is 01:12:43 I think that's really interesting. I have no idea if they're using AI or not. If they're not, that's really cool. I just think that if anybody wants to put an effort to get Wayland on a Mac, that's great. We need more efforts here because even though, even though whalen's already like it's kind of like new and all that it gives a lot of promise over x11 if you're going to port it over to some third party stuff like macawess yeah the reason i mention them is just as sort of examples of how to do things um whether or not
Starting point is 01:13:17 you contribute to them as a whole other question but there are other approaches for how to how to do wayland on macawess so it's it's more examples of you know how this can be done Yep. I think that's really cool. I haven't looked at Wayoa. I believe it's called or pronounced Wayoa. But I've looked at Owl and I see a little bit of how it works and I think it's really inspiring. Okay. Let's see. What have we not actually talked about? I don't even know. Um, Prime Projects, Y, replace Mac OS, Block is Um, oh, under the, the long-term goals, you said you basically wanted to support, like, every Whalen protocol. Mm-hmm. Like, again, this is another one of these, like, really big goals. Yeah, yeah, yeah, yeah. So this is another thing that's like, that's not happening.
Starting point is 01:14:20 Okay. This is, this is where people are going to be like, there's no way. And I'm like, oh, yeah, well, let me try. And then I find out later. but I just I want to keep this naive approach you're like oh yeah I can do it because like if I don't then I don't try and I don't find out if if no one's going to I'm not saying no one's going to but if I don't try I won't know that it's not possible until I find out you know
Starting point is 01:14:49 if I can support WL roots I can get stuff like sway up and running and I really appreciate Sway because like that's it's a timely wind of editers. It's so nice. I want that. I want that for MacOS. I want you to have it for MacOS. I just don't want there to be any excuses. Like, oh, if I'm not going to support WL Roots
Starting point is 01:15:12 protocols, then boom, suddenly there goes the Nessing Compositor support for Sway. There goes all the WL Roots based compositors that you could have used. So that's my like, okay, that's my take. There's a lot of stuff that's like, why would you support that? like touch input, like you're on a Mac.
Starting point is 01:15:29 There's no touchscreen Macs. I just want to point out that someday they're going to make a touchscreen Mac, and I'm going to look at you and be like, well, we should probably think about supporting that protocol now. So if you hear the rumors, there's probably going to be a touchscreen Mac. And I just don't want to think about not supporting touchscreen just because we're on a Mac platform. And I also want to mention there's like many other things that are like just not going to matter. like disc stuff.
Starting point is 01:15:58 I don't know if there's like disc partitioning related stuff that I have to figure out there's going to be protocols that are like in development and just not even implemented anywhere and I have to figure out why. Why? So I don't know. I just want to make it the goal.
Starting point is 01:16:18 And if everyone if anyone wants to try and implement it with me, great. But that's the naive approach that I'm willing to stand behind. I don't mean this in a negative way at all, but it seems like you're driving, I guess,
Starting point is 01:16:39 how would you say, your driving vision. Your North Star is basically gaslight yourself into thinking it's possible until you know it's not. So far, everything that people have told me is not possible. I found a way that it is. And that happens everywhere.
Starting point is 01:16:58 And a lot of times it's because there's code that you don't have access to. And it's just a matter of reverse engineering that proprietary code and figuring out how to do it yourself or how to implement it or how to inject into that code at runtime and modify it. And these are all skills that I've been learning that are very helpful for me to look at something like, oh, I want to make a display manager. I want to make a desktop environment. I want to replace Mac OS entirely. That's completely possible because of efforts of reverse engineering. And someone would have looked at me and said, that's not a thing.
Starting point is 01:17:36 You can't just get a frame buffer up and running like that. Well, I'm here to tell you you can, and I'm going to show you exactly how. There's constantly that naive mindset. People are going to say, that's not a thing. You can't remove title bars from MacOS Windows. Like, that's not a thing. Well, I can.
Starting point is 01:17:56 I can do that today. And there's all these like, no, you can't do it. So if I continue this mindset of, well, you said no. So I'm hearing that as a yes. There's going to be a point where everything's a, yeah, it's possible. And this is the current implementation, whether it's good or not, it's going to be something instead of nothing. So no more shutdowns. Yeah.
Starting point is 01:18:24 Until I find some sort of. of implementation detail that's just really not feasible. Or something that doesn't make any sense. Right, right, right, right, right. Yeah. So you said you're, like, interested in doing, like, Mac tweaking and stuff like this. Like, what actually got you interested in the Apple platform? So I had a gaming laptop, and it lasted about 10 minutes on a battery, and I went to lecture
Starting point is 01:18:52 and it died, and I had to plug it in. So I was like, oh, no. that's bad and I found out in 2020 they released these MacBook errors with the arm-based Apple silicon and they have these batteries that lasted about 20 hours on a charge and I was like oh that looks nice so I spent you know with an Apple like student discount just some of my spare change here and there and got a MacBook and pretty soon I was like running Linux on that and then I found out it doesn't work with edgy room Wi-Fi and it turns out when you're at school you're really need to connect to the network so you can access it classes. So I had to go back to
Starting point is 01:19:33 macOS and use it there and it just becomes not feasible for a student to sit down and use a Mac and then to use Linux on a Mac because it's just not all there yet. Because with these Macbooks, it's all proprietary. So not only do you have to reverse engineer like Linux drivers for macOS you have to reverse engineer the hardware of the macOS the max that are running too to support this Linux and i've been following like the assahi project of Linux for a while and it's really exciting to me but it's also not feasible when things like Wi-Fi don't work so i'm sitting here with my macOS as my main boot and i use Linux on my desktop which is completely taken apart right now so i'm stuck uh stuck on a
Starting point is 01:20:24 Mac and I actually like being on Mac because I don't necessarily like it that much. And that gives me all this room for ideas and ambition to go ahead and make it work the way that I want to as if it was Linux. And then we reached this point where whether I like it or not, I can make it however I want it to be. And then I'm out here making tweaks for MacWest. That's kind of how it started. The older Macs were a lot more,
Starting point is 01:20:56 maybe not opens the right word, but at least not as locked down. Like, I remember having a, I don't know, one of the old white Macbooks, 2011, whatever year that was, 2010. Something like a power book. The white clamshell ones. Yeah, yeah. And we were, like,
Starting point is 01:21:15 we were running, like, windows on them as well. Like, back with those ones, you could run a lot more with them. It's sort of like the more recent stuff where it's, like, no, you can't do any of that. We desperately want you to, like, stay within our ecosystem. Like, if you go by, like, one of the older MacBook Pros, running Linux on that is pretty straightforward.
Starting point is 01:21:35 Yeah, there's some driver issues and things don't work out of the box, but mostly you were fine with most of the Intel Macs. When you got into the arm stuff, that's where things were like, I'm happy with the work that's been done with Usahee. Like the fact that that project exists is really cool, and it's come a long way. They have working GPU drivers there now. Like, you can play games on them. It's actually super cool, what is actually possible through that project.
Starting point is 01:22:08 So again, I absolutely love the Asahi project. I'm really happy that they're pioneering that effort because it's massive and it's, it's ambitious, you know? And I find that as an inspiration to go ahead and do something similar. whether or not I know what I'm doing, I'm doing it. And I do have experience with replacing the actual OS with something else. And once you start running into the T2-based Macs, you know, with the T2 chip, T2 security, and then now with Apple Silicon with the secure enclave processors, just like the iPhones, you end up getting this problem where you have to side load.
Starting point is 01:22:52 You have to have a Mac partition to keep firmware updates. And then you can have a second partition for Linux, and you can't no longer just replace it directly. Right. And then you have this whole boot chain problem because it's not compatible with, like, the UEFI standard. So just having something like Asahi is super, super fascinating. And I think everyone's lucky that it's even a thing.
Starting point is 01:23:18 What I think is very interesting about Asahi is there's Apple engineers clearly seem to be totally okay with it because at any moment they could just put a stop to like the way they're approaching things. But there's random little things that I would never expect to be documented that are. Like this seems like one of those things where the engineers would love Linux to be fully available on these systems. but management's like, no, we're not doing that. So they just like comply at the easiest level possible. Like that, mate, I don't know what the Apple engineers, but from everything I've heard from people in the USC project, that seems to kind of be the way things have been built.
Starting point is 01:24:05 I think it's super fascinating. I think it's really interesting. But we're starting to learn with projects. There's some MIT researchers that are finding out how to reverse engineers of Apple's ecosystem and one of the latest ones being how to like figure out why the Wi-Fi is so fast on these Apple ecosystem and they use they use the standard Wi-Fi protocols. They just communicate differently. And so reverse engineering Apple products to figure out how to make something like the iPad extended display or something like AirPlay figuring out all of those
Starting point is 01:24:41 protocols like AirDrop, when you reverse engineer those and then make it more available across platform for this ecosystem to expand beyond Apple products, I really find that really interesting and fascinating, and I'm surprised that it's even possible. But then having that that available to other platforms, that's when it, how do I put it? that's when it's like super like out of bounds. Like it's typically like an out of bounds situation where you feel like this, this is something Apple doesn't want you to do. So I have no idea how,
Starting point is 01:25:25 how the Asahi Linux project and Apple, whether they clash or whether they look at it and say, oh, that's cool. I don't know. I'm not a part of it directly, but I'm just here to tear down some walls and to build bridges. My biggest motto right now is, just build bridges, not walls. And I think being able to run Wayland applications directly on iPhone
Starting point is 01:25:49 and directly on your Mac is one of the best ways to do that. Do you have any other big visions, or was this sort of taking up most of that energy? I want to make a tunneling window manager for macOS and it will just be code injection. So you have to disable secure integrity protection, obviously to get code injection. But if you're willing to do such a thing, you can just go ahead and inject everything at runtime. And then I actually figured out a way to shrink applications down to any arbitrary minimum size.
Starting point is 01:26:25 And I figured out how that can be wrapped inside of like an arbitrary frame. And you can draw custom graphics to this frame. So one of the goals I have at some point is to get like a Windows XP based UI on these macOS and uh just when i log in it's just like you just see like the windows xp the the minimize the maximize the close buttons at the top right with the massive like blue ribbon title bars and i know it's possible and i want it to be tiling for whatever reason so that's that's something i'm going to do at some point just completely unrelated that also sounds pretty fun as well yeah i mean it's like your oyster like this you bought
Starting point is 01:27:11 this computer. You should be able to do what you want to it. I know it's not Linux, but I'm, I'm in a situation, this unique situation that I could very well easily just go buy a Linux computer if I wanted to. But I figure while I'm here and I'm learning how to program, this is kind of one of those areas where I'm in a situation where I can make it better for everyone. So, yeah. Yeah. No, I, as I said a couple of times, I, I do think what you're doing is pretty cool. I think somebody... Again, if nobody else is really working on
Starting point is 01:27:54 as ambitious of a project as you are, it's kind of hard to complain that you're doing things the way you're doing them. Like, if somebody has an issue with, like, the way you're approaching this problem, there's not much competition here. You can go make something. Like, yeah, yeah.
Starting point is 01:28:14 Yeah, I'm in this unique position where it's not really made before. I mean, obviously we have whaling compositors. Sure, sure, sure. But there's all this pioneering effort that I kind of got to sit through and sift through on my own, whether I'm going to do that on my own or the assistance of AI. It is my hobby. And I want it to be something that I do for a job. So if this is even something I can get,
Starting point is 01:28:40 funding for based on the nature of it being able to run anywhere. I don't know. I have no idea what the future holds for me. I'm still trying to get a job. I'm still trying to get a degree. But, like, yeah, I'm in this unique landscape where the world's my oyster. I can kind of format how I want. And we get this zero competition right now.
Starting point is 01:29:04 Hopefully that changes. I mean, I want some other people to sit down and write Wayland for MacQuest. and if they can shoot for iOS, great. And if you can do it without AI, that's even more impressive. I'm not going to tell you not to. I just want to be able to run my Linux apps. You know, like, I want to be able to get whalens, and I want to get Waderoid, and I want sway effects,
Starting point is 01:29:28 and I want people to customize their Macs, and we're working on the ability to just do everything. So, so if I'm doing it on my own, it's going to be sad, but it's going to be slow. So if anyone's willing to contribute, I'm all ears. I'll listen. When you first showed us of this project, what sort of response did you get to it? So I got a lot of pushback, like, you're like using AI or something.
Starting point is 01:29:58 Or like, oh, this is going to be a garbage repo. And then I got a lot of like, oh, my goodness, this is so cool. And I got like a big mix of both extremes. I never got like an in-between. And the most frustrating question, or I don't know, it's so like much of a statement that it's not a question. It's more like, but why? And I really, really get triggered every time someone says that because it's because you're
Starting point is 01:30:30 not thinking. Just like you want to use your Android applications on an iPhone. This is a way to do that. like you want to use Linux applications on an iPhone. This is a way to do that. You want to get rid of those black bars at the top and bottom of your VNC client. You can do that. Like you can render the actual nested desktop environment at the native resolution of your screen on your phone.
Starting point is 01:30:56 And like that's something I want to help you do. Like I want to help you. I'm here to help. I'm here to make this thing be available and work. and not be just a toy that you look at as some vibe-coded AI project because I really don't. And again, someday I do plan on rewriting the whole thing on my own. But I do got to learn some other programming languages for whatever reason. My school wants me to learn Java, so I got to sit through that.
Starting point is 01:31:25 That's fun. Yeah. It feels out of the way. My skill was a big fan of Java because we had military contracts. contractors just down the road. Military contractors love Java. Wow. See, I don't even know what to do with Java.
Starting point is 01:31:43 I kind of understand it. I mean, you got this, you got JIT compilation. Probably the most I've done with Java is be able to run Minecraft on an iPhone, like the Java edition of Minecraft. You have to enable, like, just-in-time compilation, and there's some ways to do that. But I'm not a big fan of it. That's just where I sit.
Starting point is 01:32:05 Unfortunately, I have to learn it. And that's kind of like there's always going to be something else grabbing my attention and my free time to sit down and use my intuition. But if I can just maybe zone out for a bit, but additionally, like, learn how Wayland works and talk to AI, that's great. I can structure my repository. I can clean it up. I can reduce lines of code, you know. Optimizations are great. And I'm so glad that the tools.
Starting point is 01:32:35 are here to do that to assist me as a single person right now. If I don't start this and I don't gain traction and there's not a whole people with eyes, it's going to be really hard for me to find contributors and people that are interested in the project. So I'm really glad that you reached out and you found me. When you said you're like people asking like why you're doing this, I don't think everybody who's asking that is asking it maliciously. Like obviously you are going to, But you're going to have people like, oh, why are you doing this is a waste of time. But I think some people are like, I ask the question like, why are you doing this? And it's, for me, it's more like, this is a weird thing.
Starting point is 01:33:17 Like, why did you even get the idea that this is something you wanted to do? Like, this is, this is interesting. But like, you know, what is your motivation here, I guess? So I do, again, I do listen to the words like, but why? I sometimes hear it in like a, why? Like, this is such a waste of your time. Like, sometimes I hear it that way. And I really try not to, but that's just kind of how I hear it.
Starting point is 01:33:46 And I really just want to point out again, like, there's, I want you to think less about implementation detail. If we can abstract that all the way and just present to you the finished product, you can run all of your Linux applications on your iPhone today. like that is like the goal that is the why you can integrate it directly into the native macOS interface desktop like you can do that that is another why but i'm also learning like i'm trying to learn to develop code on my own i'm trying to learn how wayland works i'm trying to get a job so like having a hobby that's ambitious and can give me some of my learnings on my free time whether i'm
Starting point is 01:34:33 coding or not, that's kind of another why. Also, probably the biggest why is I really like Linux. And a lot of people who don't know what that is, it's hard to tell them, like, you can customize it however you want. It's like macOS. It's like Windows, but it's a whole other operating system where you choose. And I really like that. I really like the ability to choose how it looks, how it behaves, and how I interact with
Starting point is 01:35:00 my computer. and that's another big why. So, yeah. I want to give you options, and I'm not here to make a useless vibe-coded project. That's where I'm sitting. I can't even imagine the challenges are trying to break into the developer job market right now.
Starting point is 01:35:22 That seems like a lot of stress with, you know, there's people who are sending out like 11,000, resumes a day that are all just like slightly tweaked. And you kind of like, you have to do it because everybody else is doing it. And then all the companies know that people are doing this. And then they're using AI on their end to filter out the AI. This seems like such a nightmare to, like if you're established, it's one thing. If you have connections, it's one thing.
Starting point is 01:35:53 But trying to break into that market now, just, I don't even know where you'd begin. Yeah, I feel nervous about that too. I haven't had much experience again. I kind of just started. Like, 2022, I started learning program in Python. And then like 2023, we started learning Java. And, you know, I kind of dove into NixOS at that time. And now I'm kind of diving into C right now.
Starting point is 01:36:24 So it is a slow learning, slow churning process. And I'm not even done with my degree yet. So I have no idea how that's going to look. I'm applying to internships right now. I have yet to hear back. But yeah, it is brutal. My only advice is just to build something and take up your free time with more programming
Starting point is 01:36:48 and learn something like Wayland. You can come work with me if you want. Volunteer, obviously. Yeah. So. to say because that's kind of a downer there. Give something more positive? Yeah, let's go somewhere more positive.
Starting point is 01:37:09 I don't know why I brought up the terrible shop market. I don't know. You should join my Discord. Everyone who's watching right now, I did make it available. It's on my repo. I need moderation. I need some help. And yeah, I don't know.
Starting point is 01:37:40 Come talk. Come be a part of it. Come enjoy what makes customizing the Macs so much fun. Fair enough. Is there anything that we haven't really touched on yet? Because I feel like we've talked about most things. I don't know. Maybe donations or how the heck this is going to work.
Starting point is 01:38:06 Okay. What do you want to say there? Well, I did open up my GitHub for donations. If anyone is willing to contribute with Polvercrest, that's great. If anyone wants to try it, that's great. If anyone wants to even be interested at all, that's great. I did create this sponsor, so you can donate to me if you want to see progress here. I am spending a lot on AI to even do this anyway, and I'm giving it out for free.
Starting point is 01:38:38 And it could be another one of those things where I make this a proprietary closed source paid for solution. I really don't agree with that. Everyone tells me I should, and I know that I could make money that way. But I'm really out here trying to do the best for everybody in a fully open source software kind of way. So feel free to support me financially if you can or with just outreach and getting it to the people who are able to make some changes. that would be amazing. Yeah. Okay.
Starting point is 01:39:12 I guess, yeah, if there's nothing else to really talk about, I guess we can wrap up there then. You mentioned Discord and all that. If you want to, is there any place you want to direct people to? Any links you want people to go to? I think most specifically you should probably check out to actually repo. Right now it's a little bloated, but it has a little information.
Starting point is 01:39:38 It has some goals, some issue tracking, and it has my G-Git-my Discord and my GitHub source codes. Nothing else people should go to? I also have a website portfolio, Aisbaldingcode.com. And I have, if anyone's trying to hire, I'm looking for internships. I don't know how that's even going to be a thing,
Starting point is 01:40:04 but feel free to email me reach out somehow. Any way you can. Yeah. Oh, yeah. That's it. My browser just froze. Can you still hear me?
Starting point is 01:40:20 Well, I can't hear you. What? You can't hear me? Well, no, I can't hear you. Well, you're responding, so you're probably going to hear me. What? Uh-oh. You were good?
Starting point is 01:40:31 No? Yes. Oh. Hello. Hi. Sorry, I couldn't hear you for a sec. Okay. Sure. I don't happen there. We love computers.
Starting point is 01:40:51 I was just going to say, the profile picture you have on your website, maybe a blue background's not, right? Because it looks like you've like incredibly pale skin, like icy white skin. Yeah, at some point, any of an updated professional. photography and I'm just not there yet. This is one of things you go to like a job fair and they're like, oh, come take your photo. And then that ends up being your only good photo that you have in your camera role.
Starting point is 01:41:27 That's understandable. Yeah, yeah. Hopefully there's not too much judgment there. Well, you said you wanted to remake the website anyway. Yeah, yeah, I'll remake it at some point. It's kind of wonky. yeah um yeah so is that pretty much all you want to direct people to the project you've got the website you go to discord yeah uh if you want to follow me on twitter or x whatever you call it you probably
Starting point is 01:41:57 call it twitter um i'm on there as well uh with the tag a spalding code and i do sometimes post there about some new macOS tweaks that i've made or released uh if you want to join that and follow there. I don't really do socials, so that's kind of it, really. I'm also on Reddit, but I don't remember my tag, so just let that be. If you want to find any of the post is made, just search macOS composite, you'll probably find it. Yeah. Wellona Compositor, Wilwona. I think that's how you say it. It's your own project. You probably know this. You know what's great. I searched this up just before. It actually is
Starting point is 01:42:43 somewhat of a Native American term for how what sound an owl makes. So when we're talking about the owl compositor, now I can't stop thinking about what sound, like I'm almost mimicking it or making fun of the album compositor. I don't know.
Starting point is 01:42:59 Something to keep in mind. I feel like there's enough degrees of separation there that most people really have no idea about that connection. Yeah. Yeah. It's great. It could be anything. just trying to figure out how to pronounce it is actually kind of hard to Google. Yeah.
Starting point is 01:43:20 Yeah, it was a pleasure to have you on. I hope the project goes well. And yeah, let me know. I'll be lurking around places. But if you want to let me know how the project's going to some point and you get to a, you know, position where it's actually in a good state, I definitely love to chat again. Yeah, probably. within the next three years, maybe, or maybe five years or maybe the next six months. I have no idea.
Starting point is 01:43:48 But it's nice meeting you, and I'm glad I get to be featured here. I watch this channel all the time, so it's great. Thank you. Thank you. Appreciate it. I'm glad to be a guest of your podcast today. Awesome. Yeah. I guess that's where we'll sign off. So I'll do my outro, and unless there's anything else you want to say? I'm good. Okay. Okay, my main channel is Brodie Robeson.
Starting point is 01:44:17 I do Linux videos there, six-ish days a week. Sometimes I stream as well. I've not been streaming lately, so I should do that. The gaming channel is Brodyon Games. Right now I'm playing through Silk Song and DMC Devil May Cry. And if you want to find the video version of this is on YouTube at Tech Over T. The audio version is on basically everything. every podcast platform, tech over tea, search it.
Starting point is 01:44:41 There's an RSS feed. Videos also on Spotify. If you like Spotify video podcast for some reason, I don't know why, but it's a feature they have. Yeah, I'll give you the final word. How do you want to sign us off? Come say hi. Wayland.
Starting point is 01:45:01 Fair enough. Wayland. Yeah.

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