AI can speed up a lot of the manual labour needed to bring even an almost dead, 10-year-old device back to life. My Xiaomi Mi Max 2 (oxygen, MSM8953) was dead. With AI help and my own knowledge, I ported/rewrote the missing drivers, and it now runs Nura (postmarketOS) with working camera, torch, SIM, phone calls and SMS. Only the loudspeaker is still broken.
Everything is up for anyone who wants to install it, or to understand the changes and manually write the patches for mainline: https://github.com/sv1sjp/mi-max2-oxygen-msm8953-nura-drivers Testing, feedback and PRs welcome.


“AI” can also speed up the process of making a code base buggy and hard to debug, when the people that generated it do not understand the code.
Nura will not accept generated patches, by the way. It might run your own version of Nura, but will not run upstream Nura with your patches.
On one hand you don’t know what the code is doing but on the other hand it’s impossible to write so much code by hand and do any amount of testing for projects this big
LLM code is getting less sloppy and you now have the choice between generating open-source projects which you will never read the code of, or using an artisan coded buggy project.
Nobody has the time to test every single communication protocol manually to see when a camera is able to take pictures or a microphone records audio. LLM’s can do this driver development and even check when the result looks good. There’s soooo much tedious labour which can already be automated.
OP managed to revive an abandoned phone with working drivers thanks to LLM development. That’s a massive win.
If nobody understands the code, then I might as well use proprietary software, at least somebody will understand that code.
Too bad Android is locked down and the android versions on these devices don’t support a lot of modern apps.
You can use Nura (PostMarketsOS) and have the LLM write the hardware drivers for your own phone which are missing from the project. This is often a pretty custom for most phones. Once you get the drivers you can use the rest of the OS like normal.
You can now revive obsolete devices and get them useable. There’s probably some slop in there but the slop is really getting a lot better it would be great if people were more accepting for using LLM’s for extremely labour intensive tedious tasks which nobody would else do anyways.
Yeah, I personally prefer the bug-free old version:
On a more serious note, we’re still in a period where people are figuring out what AI can/cannot be used for and what the best practices are. Ironically, since it’s better at reverse engineering and bug hunting than developing when compared to a human, it is more useful for hacker and open-source projects than enterprise.
Well, we know the best practices for the Nura project:
It’s literally the first sentence of their policy.
Citation needed.
Yes, but what about the 2nd sentence?
As you can see, it says nothing about researching, troubleshooting, reverse-engineering, etc. As long as you write and understand the code yourself AI is allowed for everything else. As long as you’re not using generative AI it’s fine.
My personal experience working with AI over the past year. And if that’s not enough, here’s also Linus Torvalds himself.
The arguments regarding resource use and profiting off of theft are valid. The arguments regarding the nature and capabilities of the tech are not. Developers ARE responsible for the code they submit, regardless of how it was created.
It’s not a good tool for research, it will just generate a hallucination and you end up doing something which does not work or just works somehow, but is not done correctly and will break in the future.
I talked to quite a few people recently at the postmarketOS and Alpine Linux conference, it definitely was noticed that more contributions are now coming in that do things wrong or in a subtly broken way and the submitting people have no clue.
If you rely on a lying computer for research, then your code will lie to you.
I rely on it to scour the docs, the forums, the codebases for any and all potential solutions and neatly present them to me. I then validate and evaluate myself. Just going with the first thing the AI suggests is lunacy and is exactly what I meant by “people are still discovering best practices”.
Or just use Ecosia or DuckDuckGo.
A search engine find you places to look at and doesn’t hallucinate incorrect details.
I know it’s perfectly possible to do mainlining of a device and work on the kernel stuff simply by reading stuff, asking people and bouncing ideas while strengthening the community in the process and having fun with other phone hackers.
Υes good luck finding solutions with closed source drivers by using only Search Engines and not at the end of the day…reverse engineering… I mean, technically feasible, but I cannot understand why we skip the HUGE AMOUNTS OF TIME that this kind of work needs to be done. And expertise.
The repository is here with an auto-installer script for anyone interested, the research is here for anyone to study and try to manually implement them to main-line. That’s the beauty of open source.
All in all, The device is alive again, so I would need to consume less new electronic devices in the feature so I will protect more the planet with not needing a new phone/smallserver than some data centers that I do not control!
Unless you’re doing something extremely common with well-established patterns, search engines have sucked for the past 14 years and been unusable for the past 8. For most of that time I would just refer to official docs, and official code examples, avoiding stackoverflow and other forums since they were just filled with outdated or plain bad info.
Search engines like Kagi might still be decent, but they are few.
What a genuinely antithetical stance to take on a project meant to keep otherwise dying hardware alive, but that’s the beauty of open source. You don’t have to give a damn about upstream, just fork and rebase into your own little niche and move on.
You should read the reasoning for the AI policy that explains very well why the use of LLMs is the actually unethical thing here: https://docs.nura.eco/policies-and-processes/development/ai-policy.html#reasoning This thread by Casey goes more into the impact that allowing LLM usage would in her opinion have on the community/project: https://social.treehouse.systems/@cas/117347732017118902
The reasons stated are not immediate granted fact, nor are they all logical. Again, fork it and move on. Nura can have whatever policy they’d like, but it doesn’t make sense not to use a tool, that it should be obvious by now can accomplish the prototyping work of entire engineering teams. In a good enough fashion to create software for revitalizing what would otherwise be ewaste. To me that doesn’t sit well with their goals, at least as applied to this reality. You can have whatever opinion on it you’d like, I know there’s a cult of anti ai on lemmy and in open source software, and I do sympathize with some of their viewpoints and the legitimate concerns.