ChanServ changed the topic of #asahi-gpu to: Asahi Linux GPU development (no user support, NO binary reversing) | Keep things on topic | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Logs: https://alx.sh/l/asahi-gpu
linuxgemini is now known as Guest7678
Guest7678 has quit [Read error: Connection reset by peer]
linuxgemini has joined #asahi-gpu
chrisl has joined #asahi-gpu
lion328 has quit [Ping timeout: 480 seconds]
chrisl has quit [Ping timeout: 480 seconds]
shintyl has quit [Ping timeout: 480 seconds]
pb17 has quit [Ping timeout: 480 seconds]
chrisl has joined #asahi-gpu
chrisl has quit [Ping timeout: 480 seconds]
pb17 has joined #asahi-gpu
KxCORP58940003455 has quit [Quit: Bye!]
KxCORP58940003455 has joined #asahi-gpu
kujeger has joined #asahi-gpu
kujeger- has quit [Ping timeout: 480 seconds]
chrisl has joined #asahi-gpu
chrisl has quit [Ping timeout: 480 seconds]
lion328 has joined #asahi-gpu
ddxtanx has quit [Remote host closed the connection]
ddxtanx has joined #asahi-gpu
ddxtanx has quit [Remote host closed the connection]
ddxtanx has joined #asahi-gpu
yuyichao_ has quit [Ping timeout: 480 seconds]
yuyichao_ has joined #asahi-gpu
ddxtanx has quit [Remote host closed the connection]
pb17 has quit [Ping timeout: 480 seconds]
pb17 has joined #asahi-gpu
marvin24 has joined #asahi-gpu
marvin24_ has quit [Ping timeout: 480 seconds]
chrisl has joined #asahi-gpu
linuxgemini is now known as Guest7696
Guest7696 has quit [Read error: Connection reset by peer]
linuxgemini has joined #asahi-gpu
chrisl has quit [Ping timeout: 480 seconds]
linuxgemini is now known as Guest7699
Guest7699 has quit [Read error: Connection reset by peer]
linuxgemini has joined #asahi-gpu
chrisl has joined #asahi-gpu
chrisl has quit [Ping timeout: 480 seconds]
chrisl has joined #asahi-gpu
chrisl has quit [Ping timeout: 480 seconds]
bpye has quit [Quit: Ping timeout (120 seconds)]
bpye has joined #asahi-gpu
pb17 has quit [Ping timeout: 480 seconds]
pb17 has joined #asahi-gpu
chrisl has joined #asahi-gpu
chrisl has quit [Ping timeout: 480 seconds]
aak has joined #asahi-gpu
chrisl has joined #asahi-gpu
ddxtanx has joined #asahi-gpu
chrisl has quit [Ping timeout: 480 seconds]
pb17 has quit [Ping timeout: 480 seconds]
pb17 has joined #asahi-gpu
aak has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
glem810053 has joined #asahi-gpu
glem81005 has quit [Ping timeout: 480 seconds]
glem810053 is now known as glem81005
chrisl has joined #asahi-gpu
pb17 has quit [Ping timeout: 480 seconds]
chrisl has quit [Ping timeout: 480 seconds]
Halian has joined #asahi-gpu
chrisl has joined #asahi-gpu
chrisl has quit [Ping timeout: 480 seconds]
pb17 has joined #asahi-gpu
aak has joined #asahi-gpu
ddxtanx_ has joined #asahi-gpu
ddxtanx has quit [Ping timeout: 480 seconds]
chrisl has joined #asahi-gpu
chrisl has quit [Ping timeout: 480 seconds]
Retr0id has quit [Remote host closed the connection]
Retr0id has joined #asahi-gpu
john-cabaj has joined #asahi-gpu
oliverb has joined #asahi-gpu
<oliverb> now. I just have some questions:
<oliverb> alyssa: i know you do not support the mesa driver on mac, I want to try to get this working anyways. I've started to work on the basics in getting your asahi/gpu demo triangle to run on macos 15. Found some changes in the iokit calls as you've talked about in the past and tried to get them in line with what simple metal apps do. So far so good, now i am presented with successful iokit calls and a black window, but I call this success for
<oliverb> * second: is the Linux uabi more or less compatible with what the iokit interface expects? Should it be possible to build a drm shim for mesa/asahi that just translates the drm calls to iokit calls or do you know of some major changes in what the kernel does in Mac/Linux?
<oliverb> * first, the data in the command buf that gets submitted to the gpu, is that independed of the actual gpu? You where working with a G13G_B0 while I have a G13X gpu, can I just send the same data as you did in your triangle demo?
<oliverb> Third: as a future outlook: If I follow through and get this actually working, there shouldn't be anything that blocks me from having opengl 4.6 working on a Mac, right? If this works somehow, would it be possible to get virgl/native context working too? As I understood it, it would do all the work in the VMs mesa and just forward the ioctl calls to the host, which could then be processed using my theoretical drm shim implementation, is
<oliverb> that correct?
pb17 has quit [Ping timeout: 480 seconds]
john-cabaj has quit [Ping timeout: 480 seconds]
chrisl has joined #asahi-gpu
chrisl has quit [Ping timeout: 480 seconds]
pb17 has joined #asahi-gpu
<alyssa> oliverb: great questiosn =D
<alyssa> 1. I don't know. I would assume it's similar, but it's entirely posible added a field in g13x or something like that. Apple doesn't guarantee stability on this interface.
<alyssa> 2. More or less, yeah. Should be possible. Timestamps are the one place that the uapi already/will diverge but you don't have to worry about that right now. I also assume sparse will be different but that only matters for DX12, also not a right now problem. (That's all the VM_BIND calls. I don't actually know if macOS has an equivalent. It might?)
<alyssa> 3. Effectively. There'd still be a pile of WSI code needed to get OpenGL working in Cocoa windows. For initial driver bring-up, I was just using XQuartz which is... not really what people want from their macOS graphics drivers!
<alyssa> Ironically Vulkan would be easier since the MoltenVK and lavapipe interfaces already exist.
domben2 has joined #asahi-gpu
<alyssa> 4. native context is by far the spiciest question. I think that depends how you implement things. Honestly, that might be the *easiest* place to start though - trying to hack up virglrenderer to translate Linux virtualized UAPI into macOS UAPI
chrisl has joined #asahi-gpu
<alyssa> that way you don't have to touch Mesa at all yet, you can just run stock asahi/mesa in a UTM guest and then try to get "gl4.6+vk1.3+cl3.0+gles3.2 working inn inux guest on a macOS host"
<alyssa> in Linux
<alyssa> that lets you hit all the interesting problems of UAPI translation, without hitting any of the really annoying problems of WSI or fixing Mesa macOS build breakages
<alyssa> (and if that works, dropping the VM layer would be the obvious extension)
<alyssa> this is what Faith did for Windows, effectively
<alyssa> As I'm sure you know, none of this is viable for shipping to end-users because macOS updates will break it
<alyssa> (that is significantly less stable than Asahi Linux... where upgrading the dual booted macOS is generally safe for the Linux)
<alyssa> but as a way to prove the haters wrong? go get 'em
<alyssa> :)
<alyssa> (also fair warning - I don't know if I'd merge the Mesa patches, they were a huge maintenance burden... virglrenderer patches might be easier to persuade me on though for the "Linux guest + macOS host" use case)
chrisl has quit [Ping timeout: 480 seconds]
domben2 has quit [Ping timeout: 480 seconds]
chrisl has joined #asahi-gpu
domben2 has joined #asahi-gpu
aak has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
domben2 has quit [Ping timeout: 480 seconds]
domben2 has joined #asahi-gpu
pb17 has quit [Ping timeout: 480 seconds]
john-cabaj has joined #asahi-gpu
pb17 has joined #asahi-gpu
<oliverb> Thank you for the answers!
<oliverb> Regarding the first question: I meant the content within the cmdbuf or allocation. Isn't that OS independent and just forwarded to the GPU? Is that the same on the m1 and m2 gpus?
<oliverb> I am not thinking about shipping anything yet, I am hoping to get something work in the first place. The virglrenderer idea sounds great, I'll probably have a look into that once I get my triangle.
<oliverb> Not implementing a wsi sounds good, I have a six month old kid, so progress will be very slow anyways.
<alyssa> oliverb: the content within the "cmdbuf" is kernel defined, it's a "kernel command buffer" in macOS land
<alyssa> over on Linux we use the uapi structs for the same effect
<alyssa> the content within the "encoder" is hardware and just pased to hardware and OS independent
<alyssa> and is.. notably not a command buffer, it's a "control stream"
<alyssa> if you look at old mesa that still supported macos, `magic.c` is the macOS stuff
john-cabaj1 has joined #asahi-gpu
john-cabaj has quit [Remote host closed the connection]
domben2 has quit [Remote host closed the connection]
<oliverb> Thank you!
DarkShadow44 has quit []
DarkShadow44 has joined #asahi-gpu
glem81005 has quit [Quit: Ping timeout (120 seconds)]
glem81005 has joined #asahi-gpu
aak has joined #asahi-gpu
john-cabaj has quit [Remote host closed the connection]
phire_ has joined #asahi-gpu
phire is now known as Guest7779
phire_ is now known as phire
Guest7779 has quit [Ping timeout: 480 seconds]
pb17 has quit [Ping timeout: 480 seconds]
pb17 has joined #asahi-gpu
lion328 has quit [Ping timeout: 480 seconds]
lion328 has joined #asahi-gpu
aak has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
aak has joined #asahi-gpu
aak has quit []
pb17 has quit [Ping timeout: 480 seconds]
pb17 has joined #asahi-gpu
ddxtanx_ has quit [Remote host closed the connection]
ddxtanx has joined #asahi-gpu
pb17 has quit [Ping timeout: 480 seconds]
pb17 has joined #asahi-gpu
c10l has quit [Remote host closed the connection]
c10l has joined #asahi-gpu
DarkShadow44 has quit []
DarkShadow44 has joined #asahi-gpu
pb17 has quit [Ping timeout: 480 seconds]
pb17 has joined #asahi-gpu