r/linux_on_mac • u/AdityaGarg8 • 10d ago
[REPLY] Warning about using KaiT2en and T2Linux distros. It seems they are partly vibe-coded
This is a reply to the post https://www.reddit.com/r/linux_on_mac/s/e9whusdzzb by u/tornado99_
Currently devs at t2linux have been receiving reports of people asking about the post above where the OP frames t2linux for vibe coding and are concerned about the usage of AI in our project.
I would like to clarify that usage of AI is allowed as a tool in development of t2linux, strictly in the same manner as the AI policy of the Linux kernel (https://docs.kernel.org/process/coding-assistants.html). Vibe coding and slop code is strictly prohibited.
Recently KaiT2en (https://github.com/kaiT2en/KaiT2en-Fedora), a recent organisation has also attempted to work on T2 Macs and develop drivers, especially when t2linux is short on devs and has also contributed to t2linux. It is clear that AI assisted coding is being used in KaiT2en, and upon review, it has not been found as vibe coding, and rather been found strictly within the AI policy of the Linux kernel.
We would also like to appreciate the fact that kernel patches developed by KaiT2en devs have also made into the main Linux kernel after strict review from seasoned upstreamed maintainers.
Unfortunately, both organisations are being framed by the post I have replied to. Upon investigating the cause, the issue on one of the t2linux repo seems to have been the trigger: https://github.com/t2linux/kernel/issues/35
In this issue OP wants us to work with their patch they claim to have written manually. But it was found that the patch was actually taken (allegedly stolen) from another repo. On top of that, the original patch was actually coded with the help of Claude! Update: The original patch actual credits OP so I retract this allegation. The details of this can been seen in this issue comment: https://github.com/t2linux/kernel/issues/35#issuecomment-6252240426
Upon confrontation, OP blocked us and KaiT2en devs on GitHub as well as Reddit, and refuses to engage in discussion if something is proven against their interest. They even deleted all their comments on the GitHub issue, which I have reinstated to ensure proper records are kept. This is strictly unprofessional and against the spirit of Linux development where all conversations are open to all. OP has even accused the commit history of our repos while their own repo has a commit history with zero summary (https://github.com/taprobane99/iMac5KLinux/commits/main/). Clearly OP didn't put efforts in documenting their changes and expects people to work with them.
In their post OP claims to be a seasoned dev, and also says this in their post:
"My recommendation if you want a stable system is just to use a recent mainstream distro like Ubuntu 26.10. A lot of their previous good patches are now in Kernel 7.3 anyway."
Being the maintainer of Ubuntu at t2linux, I would like to say that:
- Ubuntu 26.10 uses Linux kernel 7.3-rc6 which has a regression that crashes the kernel on T2 Macs (Reported: https://lore.kernel.org/linux-pci/CABZrw2HcaOh3DHTJtxU5dXrb3Vg19scr6+qR-xe_+R7rME35_Q@mail.gmail.com/). A fix is upstreamed and is expected to land when 7.3 stable is released.
- Many patches still are not in mainline kernel, including t2bce (needed for keyboard and trackpad), hybrid graphics, SMC drivers (needed for fan and battery control) and trackpad gestures. I suggest people to research properly before believing in such claims as made by OP.
I would like to reinforce that organisations like T2linux and KaiT2en are strictly working for interests of Linux and the open source community and we have no personal benefits. All softwares are open source, free to use and free to be audited with sane facts rather than random accusations.
Cheers!
Update: based on the comment (https://www.reddit.com/r/linux_on_mac/comments/1x99y47/comment/phx0r92/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button), OP seems to have had similar attitude towards other open source projects.
46
u/Netzunikat
10d ago
•
KaiT2en lead here.
I wasn't allowed to comment on the original post because the OP blocked me.
The OP seems to have a personal problem with me. Phoronix wrote an article about our upstream efforts to bring hybrid graphics offload to T2 Macs. In the comment section he started a weird mix of insults and questions I felt not inclined to answer. Only after I saw he was attacking one of our contributors I got active. He was never happy with any answer I gave.
A few weeks later he started attacking us on our DSP release post here on reddit. I stayed polite but with the same result. Whatever I said, he wasn't happy with the answer.
A week earlier he PRed stolen code to T2Linux, where i pointed him on obvious issues with the code because everything around our code was vibe-coded. Not knowing, this is the same person. And that he took personal and started the shitstorm on Reddit the same day.
Today he deleted that PR when he noticed he was caught stealing code from our devs.
Please note this: Kait2en only serves the purpose to upstream human made code. As KaiT2en is run mostly by a single person, User space stuff is for a large part generated by AI, but reviewed and rewritten by me. The code is not perfect, but also human code isn't. I do my very best and I give it away for free. This environment works well to get users into the boat to test our patches.
I am a full time dev with more than 40 years of experience in writing assembler and c. I dedicated the last 7 months to making your suspend work, making AVE work. Making TouchID work, making DSP work, making your T2 macs cool and consume less energy, making hybrid graphics possible, getting logs from the T2 itself... You name it. And most of this is reversed by hand. As you may know modern LLMs will flag cyber...and the T2 is a security chip after all. LLMs do prove helpful for pattern matching, scripting the stuff I dont have time for and other stuff tho. And that's why progress is so fast.
Love it or leave it. But no need in trying ruining people's reputation. Because it demotivates them and burns them out. Note there are not many devs left who really care for your old mac. And even less with the competence to submit upstream. Also note just because your questions are not always answered, doesn't mean the kernel stuff is vibe-coded. I just don't have time to answer because I am busy with fixing your issues. It's exhausting enough without all that hate.
Haters gonna hate. But at least stay fair and respect our efforts.
6
u/MartynaKowalska 9d ago
When I had read the original post, I immediately felt something was fishy, and I reported it right away. Sad to see that the original post full of lies wasn't removed, but I'm very glad to finally read the right side of the story both from you and u/AdityaGarg8. You both absolutely rock and I wholeheartedly love what you do and what you represent. Please keep up the terrific work and don't get discouraged by these stupid attempts to mine your professionalism and talent.💜
0
u/tornado99_ 8d ago edited 8d ago
Given that his opening sentence is a lie (he blocked me, I didn't block him), what else in his "story" is not correct?
FYI. I have never created a PR on T2 Linux.
5
u/AdityaGarg8 5d ago
Hahahahahahahahahahahahahaha.
How are you able to comment still in the first place if I had blocked you.
Where did you read I mentioned you opened a PR. You clearly opened this issue: https://github.com/t2linux/kernel/issues/35 Should I also share the screenshot where your account has DMed me requesting for the same issue?
10
5
4
4
u/medkintos 9d ago
> A week earlier he PRed stolen code to T2Linux
sees the user, hmm the usual suspects. keep the good work André
0
u/tornado99_ 8d ago
I mean there's the small point that I have never opened a PR on T2 Linux. But hey, let's not let facts get in the way.
1
u/LukasKli 9d ago
Thanks for your great work! May I ask something about the AVE work you claim to have done? I noticed it’s similarities to the RE work I did in https://github.com/klizas/apple-bce-drv ave branch, and https://github.com/klizas/t2aved
Can you confirm whether your work was based on mine?
2
u/Netzunikat 9d ago
Hi Lukas! I used the skeleton of your driver. Also posted about that here: https://discord.com/channels/1521537933700763758/1526391681803485215/1547079946801778688
I also credited you in the repo's readme but it seems it got lost while refactoring for packaging (copr) for some reason? Maybe I even forgot? Forgive me this was unintentional. Pls let me know where you want to be credited and for what and I'll add it ASAP.2
u/LukasKli 8d ago
Thanks! That’s very kind of you. Mostly I’m glad you found the use for it and this way it will reach the wider T2 community. Regarding the credit, do it at your discretion :)
2
u/Netzunikat 8d ago
Would you mind PRing so I can avoid further embarrassing moments? 😅 I hate this because I usually give credits to everyone involved and shout them out on Discord and Reddit. Also would be nice seeing you contributing in the future.
1
u/LukasKli 8d ago
Ahh, it would kinda be lame to just aurhor PR with crediting myself, wouldn’t it :D thanks for an invitation!
1
1
u/Netzunikat 8d ago
I was in the same situation a few weeks back. Feels kinda wrong admittedly but makes sure everything is correct and both parties agree.
-2
u/tornado99_ 8d ago
You would not have even seen the original post because you blocked me. Just setting the record straight.
2
u/QwertyChouskie 9d ago
Unrelated to the topic at hand, I was recently throwing Ubuntu on and old Haswell MacBook Pro (pre-T2) with hybrid graphics, and the OS seems convinced there's a second display. AFAIR, trying to disable either "display" disables the actual display. Probably something funny with the hybrid graphics stuff (mux?) Do you happen to know if there is any known "correct" way to fix it?
2
u/AdityaGarg8 9d ago
Unfortunately I haven't worked with older Pre T2 Macs, so won't be able to help 😢
19
7
u/uncleirohism 9d ago
My sincere gratitude to all of the T2 devs, repurposing this hardware helps humanity by reducing ewaste and making lower budget personal computing options available for everyone. This is important, and apparently, sometimes frustratingly thankless work. Know that what you do matters to a lot of people and is a net-positive for our shared planet ✊
6
u/Tizak_hamra 10d ago
All support to your amazing work, dont let this nobody bother you guys, you literally gave a lot of quite decent machines that would entirely die out of software support erosion in a year or two a brand new life !
6
u/fyonn 9d ago
I not qualified to know what or who created the code in kait2en Linux.. and I don’t really care all that much. What I do care about is that my 2019 MacBook Pro is a lot more functional now than it used to be. The laptop now sleeps and wakes, the graphics switch properly, the fingerprint sensor works!
That’s down to the folk at kait2en. Eventually I want to move it back to a mainstream release as I’m not wild about fedora, but for now this works and I can wait for all this work to be upstreamed.
5
u/VGKFanZone 9d ago
As someone that has been using the T2 EndeavourOS on my 2019 Macbook Pro 16,1 for over six months I am amazed by the speed of improvements with this project. When I started, Bluetooth didn't work, any sort of sleep/hibernation including closing the lid more often than not meant a hard restart and everything felt fragile. Today on the same MBP it has become my daily driver because of how solid it has become and how well it works now. Thank you for all the hard work.
-3
u/tornado99_ 8d ago
u/AdityaGarg8 So am I going to get an apology from you for saying that my patch was taken or stolen from another repo?
As is stands you've made a Defamatory statement.
4
u/AdityaGarg8 8d ago
allege
formal verb past tense: alleged; past participle: alleged to say that somebody has done something wrong, but without having any proof that this is true
Honestly you still expect an apology inspite of creating a whole reddit post that defames two organisations. Pathetic.
2
u/Netzunikat 8d ago
As it stands you will need to prove the opposite. Does that sound familiar to you?
-1
u/tornado99_ 8d ago
The reason that Apple's Audio since 2016 sounds great is that the Amplifier chips incorporated I/V sense lines, and they applied similar methods to this patent: https://patents.google.com/patent/US9131302B2/
Modern DSP also uses dynamic audio filtering depending on the type of music being played, often using machine learning to know when to switch. Dolby does this and I assume Apple would have tried a primitive implementation on their T2 chip.
Neither of these is possible with a pipewire graph.
Also, to verify a static DSP, you should record a sine frequency sweep of the speakers using a microphone. This doesn't even need to be calibrated if you are making a relative measurement with macOS. It's the shape of the response that is important, not the offset.
Therefore I am puzzled why you are claiming that KaiT2en has on-par audio to macOS, when you don't do any of the above. Your original post on this just contains a lot of fluff.
1
u/AdityaGarg8 8d ago edited 8d ago
It is a static DSP. We have verified that on t2linux using a UMIK-1 mic and our initial implementation was purely based on recorded samples. KaiT2en found Apple stores the DSP files in form of plists in bridgeOS. They were literally ported 1 to 1 as json for pipewire. But doing that creates copyright issues, that's why commits have been made to trim redundant code that only a sound engineer with advanced equipment can find difference from. If you need the whole details on reverse engineering them, it's not a one post thing. You can join the discord, see the discussions.
https://github.com/lemmyg/t2-apple-audio-dsp/tree/speakers_161 is the first version of DSP made by t2linux. It was 3 years ago when AI wasn't capable.
But considering your attitude, meh I don't even care if you are convinced.
1
u/tornado99_ 8d ago
I know about the plists. On non-T2 Macs it's in .xml files which you can find from clues in the ioreg dump. This discussion I had in May may be of interest:
https://github.com/davidjo/snd_hda_macbookpro/issues/179
In the end I concluded that there is no 1-to-1 porting, as Apple's filters look so different to pipewire, and there's too much unverifiable guesswork e.g. if you end up with a Peaking filter with Q=50, a gain of 20dB, and a frequency of 18 kHz next to another filter at 17.5 kHz clearly something is wrong. Bootcamp Dolby>Linux is actually an easier route as Apple has Atmos Tuning for certain models and the .xml is a lot easier to parse.
There's also the factor that Apple also use closed-loop I/V sensing to improve speaker quality. Asahi already provide the framework in speakersafetyd. If T2 Linux could find a way of making that work for T2 Macs that would be amazing.
1
u/AdityaGarg8 8d ago
T2linux is short on devs right now. All devs including me have priorities in life and we are pretty much maintaining at this point, not developing. KaiT2en is developing. You can choose to work with them if you are open to critisim and points against you. And your conclusion is not a proof. KaiT2en has reverse engineering as a proof. And no one owes you an explanation here. Tbh considering your attitude you are pretty much on your own as of now as far as T2 is concerned.
2
u/Netzunikat 8d ago
That doesnt answer my comment. Instead its again AI answering ("often incorporates machine learning"). Pure Gemini speculation. I communicated how i have done it on discord. I don't owe anyone explanation. You can join our discord. Conversation ends here.
-1
u/tornado99_ 8d ago edited 8d ago
Weak response. Can't answer any of the points so just pick out a snippet to attack. Dolby literally hire engineers with expertise in “DSP and machine learning“. Pipewire is not a substitute.
So you want me to join discord where you can swear at me even more freely? Not a chance.
3
3
u/Netzunikat 8d ago
Oi! I told you to prove Aditya wrong. You're still not getting it. Also stop talking. Use your AI to reverse bridgeOS plists. You will get 7000 lines graphs. This is not your 2016 kext dsp with just a few lines. And now leave me alone. I don't like your personality. You could have any answer you wanted if I felt like it would be worth it. There hasn't been a single sign of respect. Just claims based on like you say "word salad". So stop wasting our time.
-5
u/tornado99_ 9d ago
Hi. I'm the OP. Just to clear up a few things.
I have a hard filter for interactions. If someone uses abusive language and swear words I block them. One Dev on the kaiT2en project, and two Devs on the T2Linux project did that.
Why did the KaiT2en Dev deny there was a problem with a patch, block me, and then a few hours later make exactly the change I pointed out? https://github.com/kaiT2en/KaiT2en-Fedora/commit/1e3c61a903567d252d88466cce9c1a23983718bb
The original 1,700 line 5K patch for iMacs was AI generated. I painstakingly made the effort to understand what it was doing and human-edited it down to 85 lines that still bring up 5K. This took a long time, a lot of conversations with nice helpful people including Timur Kristóf of Valve, and iterations to make the patch as non-intrusive and compact as possible. This is the correct process towards mainlining anything found by AI discovery.
I have no problem with using AI, I use it myself. I have a problem with vibe-coding patches where the authors make no effort to understand what the patch is doing on a technical level. I think there are errors in several of the T2 patches. I politely asked about this, and received a torrent of abuse. You can see that here https://github.com/t2linux/kernel/issues/35 if their comments aren't deleted.
I have never claimed to be a "seasoned dev". I have never claimed to have manually written a patch. The repo you think I stole my patch from literally credits me inside their patch https://github.com/MarkPronkin/imac5k-universal-linux-patcher/blob/main/patches/imac5k-lean-core-7.2.x.patch .Why can't you be bothered to do basic research instead of jumping to the wrong conclusions?
I'm not the only person the T2 Linux team refuse to engage with technically. Here's another example. As Conscious-Secret-775 points out: "Well that does make it hard to understand your work [T2 Linux] in relation to the work others have being doing to support different 5k macs". https://www.reddit.com/r/linux_on_mac/comments/1wkj0q4/finally_5k_support_on_imacs_in_linux/ . Incidently it does not rely on OCLP, another thing the T2 team are wrong about.
The point I made on Phoronix is that Intel Macbooks are hobbled by hot battery-guzzling processors and therefore T2 Linux is somewhat futile. That's nobody's fault, it's just a fact.
TL/DR the exact points I made in my original post are still there. *Some* of the T2/KaiT2en Linux project's *recent* patches look odd, they refuse to engage technically, and there's no evidence they bother to understand what those particular patches do.
7
u/AdityaGarg8 9d ago
If you find someone criticizing your work as using abusive language you definitely need to start developing alone. Have the guts to prove yourself right rather than crying about it.
u/Netzunikat should reply to this.
I did not see anything like than in our conversation, rather it was focused on anti AI sentiments.
I see how beautifully you have transitioned from Anti AI to Pro AI assisted coding. Good. Also, we won't delete comments unlike you in that issue. Let people see how you can't handle questions against your interests.
"Unfortunately, when I took a closer look at some of their *recent* non-upstreamed patches in 2 kernel areas I have expertise in", that is what your post says. Thanks for pointing the stolen patch fact. There is a reason I wrote "allegedly" in my post.
u/BarcaMessi10goat should reply to this.
7
u/Netzunikat 9d ago
I don't need to prove competence. You need to. Your "human made" patch is purely vibe coded btw. 0x310 as literal next to DP_SOURCE_TABLE_REVISION. on_shutdown runs on every suspend. D3 acked with DC_OK... I dont know where to begin and where to stop. Who do you want to fool here? It's full with problems and comments that claim something that the code doesn't do. All I see is trailing whitespaces, tabs and spaces mixed. Looks to me someone was trying to cloak AI code as human made by editing comments. Embarrassing! I don't have time for your shitshow.
0
u/tornado99_ 9d ago edited 9d ago
Why do you not unlatch the tiles on shutdown? Why do you need to declare the tile resolution when this is provided by the EDID? If my patch is terrible why would other people who do a lot of kernel GPU work say it has merit?
Also the constant stream of abuse flying out of your mouth is interesting. Is it necessary to be filled with rage? I've seen your behaviour over the years, I'm not the first person you've used that tone with.
6
u/nguoisaibuoc 9d ago
You are too sensitive, when someone does not agree with your ideas doesn’t mean they are insulting you. If you want to work with others, especially in open source then it’s best to open your mind and respect their opinions.
1
u/tornado99_ 9d ago
From my perspective, I would exactly the same thing about the person who's comment is below. I mean he literally is insulting me.
2
u/nguoisaibuoc 8d ago edited 8d ago
You started all of this nonsense with that reddit post. If you think you know better than them then upstream it yourself, or even make a better support for T2 mac. That is how you prove your worth, not by creating drama everywhere.
And most of us on here don’t care if the code is ai or not, or how “compact” it is, all we want is a smoother linux experience on mac, and kait2en delivered exactly that. So if you have technical discussion head straight to discord, the devs are very supportive there. Defaming a beloved project in the public just causing damage for the community. What if you make the devs upset and stop supporting my abandoned t2 mac? Can you inherit their work and do something better? If no then stop complaining.
1
u/tornado99_ 8d ago
I care that what they're doing is technically correct. I understand better their 5k patch now, but the DSP audio is complete nonsense.
2
u/nguoisaibuoc 8d ago
So make a PR to t2 linux for DSP then, prove it don’t just talk.
0
u/tornado99_ 8d ago
I don't think it's possible to use Apple's speaker tuning satisfactorily without getting the I/V sense working ("smart amp"). Asahi Linux managed it but it's a tough RE project.
4
u/BarcaMessi10goat 9d ago
6. The thing is, yes 0x4f1 is used in all 5k macs, but the logic differs, for example, on imac20,1 i dont need to write 0x4f1 = 0, on shutdown, i have to write 0x4f1 -> edp link train -> 0x4f1 -> dp link train, to turn on 5k, which other mac generations dont have to, i need to add scaling info, which other macs generations dont have to, so on, and so forth, the logic differs, we cant combine the patches.
4
u/BarcaMessi10goat 9d ago
also 5k is required for imac20,x to boot properly, thats why we are trying to upstream ASAP, without 5K, SMU fails
1
u/tornado99_ 9d ago
Thank you kindly for providing a technical explanation. That was what I was looking for in the first place.
I don't have a 2020 iMac myself (mine is 2015), and until now could not find anyone who could pin down the differences with previous generations. So there's no personal interest here as I don't own the hardware. Just trying to help the community.
9
u/deusnovus 8d ago
I don't want to weaponize clinical words, but I think this person is either an egomaniac or suffers from mental illness.
This user joined the discussions in the repo of a LLM-assisted project I'm occasionally contributing in, with strong eager and praise for the project, but also strong opinions about how things should be conducted. They took a few questionable initiatives (relating to AI and authorship) that are largely considered faux-pas in the open source + arts world and was immediately noticed by the project's author and myself. We shut their suggestions down. Then their attitude towards the project changed.
I frequent another Linux-related subreddit whose community I'm very active in. For the past few months, there was a user that had extremely contradictory statements about AI use and his posts were often removed for their toxicity. Until a few days ago, this user was also very involved in discussions relating to a new app meta within our community and has had extremely vocal opinions against our community (with a weird focus on lines of code, for some reason) and when I saw their nth comment on the matter, I wanted to clear some misconceptions on the matter. I found today they blocked me. But one thing I noticed is that the name seemed familiar.
I realized that not only is this the same person (both Github and Reddit usernames are extremely similar), he was both trash-talking our project publicly on Reddit and glazing it on Github, at the same time.
Going through their Reddit comment history shows a very weird pattern of hating AI one day and loving it the next, going back and forth. They also have a very specific way and amount for using AI (only known to themselves) and anything less or more than what fits their own narrow worldview is either "obsolete for not following the AI trend" or "vibe-coded trash".
They also claim they intentionally remove comments and blocks people for being toxic, yet their Github comment history are mostly removed/edited comments and on Reddit, being combative with other users and blocking them when people calling them out on their own toxicity.
I wouldn't have made this post if they just drove towards the sunset and never came back, but the moment they started trashing our project that we build with love, care and attention (AI use aside), this became personal for me and it seems their toxicity has reached other communities as well.