Considering how many things have recently been added to RetroArch and how many issues have been fixed, the AI [integration] doesn’t seem all that bad. Thanks to AI, we have updated many cores, such as the Atari800 or Hatari, which have been forgotten for ages. Furthermore, new cores are constantly being added, like the recent ones for PCSX2, Cemu, and RPCS3.
The reason cores like LRPS2 and most of the newer cores for newer systems (PS2/GC and upward) is because the standalones that they’re based on only supports Win 10 and up. So the cores usually inherits that as well due to dependencies and such (I didn’t test cores like Xemu or Cemu on pre Win10 systems but I’d really be surprised if they worked on Win 8/7)
Up until recently, I was also still using a much older Windows version. Honestly, the fact that all the newer emulators/RA cores didn’t work on older Windows has a lot to do with why I made the jump to Win 10 (though I’ll likely start maining Linux before I jump to 11). Hell, even MAME dropped support for pre Win 10.
Though AI has really sped up the portage of standalones to cores recently…I don’t know if it could just as easily turn a core or standalone that requires at least Win 10 and make it run on say Win 7. That’s probably more complex.
To answer the regression worry directly: for 1.22.2 last year, we had zero CI regression tests. Before release, the maintainer would just take a random commit, test it on their PC, go ‘works for me’, and ship it. That was the process. Today there are over 100 regression tests, run on every commit and PR. Every change is still reviewed by a human, who is responsible for what gets merged. That part hasn’t changed.
If anything, we want to increase backwards compatibility, and AI gives us the chance to optimize for older hardware and APIs that we never had the manpower for before. That’s been the real story this year. AI let us finally tackle things we always wanted to do but couldn’t, for lack of contributors with the time and skill. It has also brought in new contributors who otherwise wouldn’t have joined. We’re not alone in this: MAME, PPSSPP, Flycast and Linux all take AI-assisted contributions now (or use it directly like in PPSSPP and Linux’s case).
Like hunterk said, there are open questions that we’ll deal with as they come. But the goal is the same as always: a better experience for the end user. We want the next stable to be a big step up in quality, which is also why it’s taking a bit longer.
Try the nightlies to get a taste of what’s coming. If something breaks, please report it so we can fix it before the stable.
Not sure why LibretroAdmin and Hunterk feels like they need to, justify it…
It’s not like, the complainers are supporting the project, aren’t they?
On this, I can’t wait to: “Make Dolphin and Citra work in Windows 7, full speed and make no mistakes”… jokes aside, I do hope Libretro/Retroarch devs manages to implement further optimization with AI assistance.
Because they care about the community, as much as the community cares about the project. And this is a good sign to me. When people have concerns, doesn’t it make sense to discuss, explain and sort it out? I don’t think the community has to pay money in order to discuss issues or what bothers them.
By support I don’t mean monetary support… I mean, are these complainers even contributing something to Retroarch itself? Are they at least trying to fix the very stuff they complain about?
In this month I’ve witnessed so much drama regarding AI asistance/help/ussage in software and everything ends up in:
- AI? Then it’s “Slop”… until it benefits me, then it’s a great work.
Just look at the decomps and ports that took place recently, how many of those get’s pumped weekly? I personally don’t use them and never will, but forum users falls in either “anything AI is “slop” unless I like the product”… so no… even if “the community cares” then provide something useful to Retroarch/Libretro instead of complaining about what the actual devs are doing with their project. Or complain all you like, but prove you can do better.
There’s no actual discussion… most people complaining about stuff with AI aren’t:
- Real users of Retroarch because “it’s ugly UI and too difficult to use”.
- Real contributors.
- Never have wrote even a “hello world” in their lives.
Edit: Want a fresh reminder on why I don’t think a discussion is even valid?
AI Generated Overlays “Nice Work We’re contributing to the project”: AI Overlays
AI Generated Shader “How dare you! You don’t even type code” : [Release] AI-Generated Lightweight GLSL Shaders for Low-End Android
They/me are users so they have a Right to ask Questions and get them Answered
Nobody owes anyone anything here. This is my hobby, so nobody gets to tell me how to do it. They can choose to use (or not) the things I make and share, but that’s as far as the relationship goes.
Sometimes, writing the code is the hobby, and using AI to do it doesn’t make sense because it’s the process that’s important rather than the outcome (e.g., this is how I feel about shader code). Other times, the end result (i.e., the finished program/feature) is the important part, and the code is just the way to get there. If AI gets me to that result easier/faster/better, it often makes sense to use it (this is how I feel about most other code stuff in RetroArch).
My concerns about people using AI to develop stuff is how it will affect the long term maintainability of the software. For shaders it doesn’t matter, they are self contained and if there’s a bug in one of them, people can always use another. The issue is more with using AI code in cores and particularly in the libretro libraries and RetroArch frontend.
Using AI to produce code means someone has to understand it to review it effectively. If the person who used AI doesn’t do that, someone else will have to. If that’s not done, it leaves a maintenance time bomb for thee future.
Any idea of ‘you submitted the code, you’re responsible for it’ does out of the window when a person who uses AI to generate code doesn’t understand coding well enough to even attempt to review or debug it.
Very few people like reviewing other’s code and whilst fixing knotty problems has some appeal to some people, even they prefer writing new stuff. Expecting volunteers to spend lots of their time reviewing/fixing a deluge of AI generated code risks discouraging them from engaging in the project - to the long term detriment of the project.
A few replies i’d like to address without quoting them. It’s good to show you care about the community & pointed out how you want to increase backwards compatability; I do believe that AI increases those chance because there are those who are only doing it for themselves & always update those type of contributors I believe are just trying to make a name for themselves without caring about the software or the community fully. There is always never enough contributors with the same goals in mind so it’s hard to make those things possible when every person’s opinion is diverse from each other & everyone thinks they know enough to say things like it’s impossible or it’s just not gunna work.
Coding has taught me anything is possible if you have the will for it research & development is key to every project. So I could appreciate AI assisting because it’s not judgemental it’s an assistant to solve the predicament. The models can get better but the user of AI assistants is what can generate good or bad results by the context of the instructions.
That’s a way of saying if it ain’t precise then the results won’t be nice. As someone who has read a little bit on image generations prompt language I learned that it’s pretty complex you need to be very precise & there are formats in the prompting language which tell the AI importance of priority which the average user does not use these formats they write paragraphs & believe that alone is good enough. More people should try to understand the formats when prompting as this plays a role in code generation just like it does in image generation.
As to the other subject around contributors, complainers, & hobbyist it’s a hobby when you do it for yourself but the moment you decide to put it out there in the internet open to the world it’s no longer a hobby it’s a project. When you put a project out there you are putting a product out into the world the product will be used because it exist to the public to me that’s basic consumerism. When you do that you are a service no matter what your intentions are expect to be customer service when you go public.
Everyone has the right to give feedback & criticize what is public all of that should empower you to want to be better, do better, & make the project a better success for all. If you cannot comprehend that all of this is to be expected or if your intent is not to be a service for the public then please do not put your stuff out there. Keep it all at home work alone or along side your llm or real life one friend who want to work with you on your hobby because that’s what a hobby is a hobbiest is not trying to be a service they are doing it just for them.
The whole AI is slop until it works for me yes it’s true not everyone is a coder, there will be average people or half wayers I like to call those who can read code to a certain extent somewhat understanding what’s happening but not fully enough to write or contribute to themselves or others will use AI. As I mentioned above the complexities of prompting there will be alot of average people who don’t understand & will produce sloppy code from generations assuming it works & pushing it out there as is. We seen some of the jokes out there haven’t we?
Coders have a new job field ai fixers they get paid to read ai slop & fix the code. The debates on if AI is ready yet, will ai ruin every project if everyones using it, the expectency of failure or regression these are all wrong ways of thinking about it. The questions to ask is what model are they using, how developed is that model, the author who uses that how skilled are they actually, & does the author use the complexities & formatting when prompting generation fully?
Those are the real factors that determine if the results are going to be slop or not. To simplify it in metaphor ai models are like swiss army knives theres many made by different brands that do put different tools on their swiss army knife, the person who got the swiss army knife may not know how to use every tool on it but they do have all those tools available to them.
I don’t mean this as an attack, but this characterization ignores the role of collectivism and the concept of the commons, and it renders all production transactional, which is exactly in opposition to the ideas behind open source and copyleft.
End-users thinking they get to dictate how open source developers spend their free time is what drives devs to quit contributing to open source altogether.
Again, if you like to use the things I make and give away for free, you’re welcome to, but this does not entitle you to anything beyond what’s outlined in the license. If that’s not an arrangement you’re comfortable with, you should stop using open source software and instead stick with commercial software where you can “vote with your wallet” and hassle their customer service department until you get your money’s worth.
I disagree with that it’s not that people are ignoring the role of collectivism as for the rest of what you said I think your stance on it makes production transactional. Praise me or pay me & I will continue to do what I think what’s best for everyone other wise i’ll continue to do whatever I want only for me. That’s what i’m getting from it; end users you mean the people using your product are not dictating how you should spend your free time they are wanting the complaints to be heard & the issue to be solved. Nobody is coming to your house dictating you or forcing you to do anything they will seek the alternative if you fail to provide.
As I said those devs who are contributing for praise or to make a name do not truly care about the software. They seek recognition or some sense of approval if they quit because they aren’t getting it. I don’t think consumers are believeing they are entitled because they complain & express it.
You don’t have to pay to express a problem but if you did pay for it then you probably should get your money back. My hobby is wood crafting I make wooden objects for me I don’t advertise or put my creations out there because I have no desire to sell them or make a name for myself. But if I did & I got complaints about the craftsmen ship like a wooden guitar I made isn’t edged perfectly or seems uneven I wouldn’t tell them if you don’t like it to go to a commercial craftmenship shop like J.M Stewart or C.F Martin.
I know I ain’t perfect & I am doing it for me I can improve & be better but when I decide i’m gunna put it out there this is what I do on the internet it no longer is for me I am asking to be known as a service to the public. There will always be complaints & criticisms how we handle it is what counts.
I recommend you google “why do open source devs quit?” I assure you: “lack of adulation” ain’t it.
Using your woodworking analogy: let’s say you live by a bus stop that has no bench. You commonly ride that bus and get tired of standing there, so you decide to build a bench to sit on while you wait. At first, you carry it with you back and forth, but from your window at home, you see kids and old people having trouble standing there, too, and you think “other people could probably use a place to sit, so I’ll just leave my bench there and maybe they can sit on it, too.”
Later, an Amish guy knocks on your door and says “did you use power tools to make that bench? You should not use power tools in your woodworking because I don’t like it, and I’m going to tell other people not to sit on your bench because it was made with tools I have deemed unethical.” [this is for illustrative purposes only; Amish people don’t usually care if other people use technology, and some even use power tools themselves, just powered by compressed air instead of mains electricity]
How would this make you feel? Have you invited this man to tell you how to do your woodworking simply because you left a piece of it where someone else could (at their option) find value in it, as well? Are you further obliged to not only listen to him, but to indulge him?
Your earlier comments suggest the answer would be ‘yes’, and you never would have left the bench there in the first place because of that risk, kids and the elderly be damned. But is this the world we want to live in?
I want to emphasize, that not everyone expressing their concern and discuss it are entitled. Just for the record. It’s one thing to bring up a potential issue and concerns, it’s another to ask for something and then there is demand.
I will try to go along with this analogy. If I built the bench & carried it back & forth in something concealed then it’s mine I did it for me. If I saw the old people & kids standing there then had that thought the moment I stepped outside & left it there it no longer is something I did for me. Whether it be a gift or if I intended to sell it to the city to have it placed there i’ve already put it out there this is what I do i’m showing it off I became the service & my bench is the product.
For the amish man to come knocking on my door I would have had to put it out there this is where I live or this is my shop. At that point I am to expect critique I let my work be known so any feedback positive or negative I would appreciate because I know nothing is perfect & neither am I. Lets say this amish man did come into my shop to complain I will have to change the argument abit here because complaining over the tools makes no sense but I get what you’re getting at.
Lets say the amish man says the legs are short, it’s to low to the ground, the back is too flat & should arch back at the top, the curve for your butt is too small squishing your cheeks in the dip. How would I feel honestly I would feel empowered by that more so honored that the man took the time to read the address on the back of the seat, looked it up to gps to come over here, & waste their time to give me criticism. The fact they made all that effort & complained in specific detail rather then the whole bench fucking sucks wtf your a moron I would be appreciative.
I would most likely admit I fell short on the job & probably would work harder to replace that bench at that location if I had a few more complaints. I’m not indulging anyone by admitting my fault I am being honest with myself as I am to others. The man could have never said anything & chose to deliberately stand there instead of sitting down or he coulda brought his own folding chair.
In the end we both acknowledged each other’s time spent. He acknowledged mine seeking me out & going into detail of the problems. I acknowledged his by taking that criticism & using it to improve my craft to eventually replace that bench.
If I didn’t want any of that then I never should have walked out of my place with the bench to leave it there. In that moment of that decision that I decided to I know I am choosing to be the public service. Is this the world I want to live in where people speak up about problems rather then keep their mouths shut or only talk of praise & never anything negative? Absolutely!
The amish man wasn’t seeking me out to feel entitled, to indulge his inadequacy to make himself feel better, or to come dictate how I should craft the bench. He did it all because he cared enough about my work to do all of that!
That is a supporter if I make the better bench & it makes him happy 30% - 50% chance he will tell someone else about my work & where i’m at. But remember I asked for that because I left the bench there.
Spot on @thingsiplay
Big Difference when someone asks for a Fix or a New Feature and People who just Demand it
1st is asking and giving Ideas and IF they are nice then they can discuss with RA Devs
IF you Demand it then the Devs most likely don’t want anything to do with the Person
Just need to treat people with Respect
I think you’re confusing sharing something with the public with signing up to provide a public service. I create AI shader tools and hacks because I genuinely enjoy what I do and want to contribute to the community, not because I’m looking for praise or recognition or trying to satisfy every single user.
Of course, people are free to have opinions and point out problems with my work. But that doesn’t mean I’m obligated to give everyone my time and attention or fix every issue they bring up. Sharing something publicly doesn’t turn my hobby into a job or make me an unpaid customer support service. I’m still free to decide what I want to work on and how I spend my free time.
Your woodcraft example is actually a good way to look at it, but I see it differently. You make things because you enjoy it, and I create tools for the same reason. I choose to share mine because I like the idea of other people benefiting from what I make. That doesn’t mean I’ve committed myself to addressing every complaint or changing my work to meet everyone’s expectations.
I appreciate constructive feedback, and if someone points out a genuine issue, I’ll decide whether I want to address it. But there’s a difference between offering feedback and acting as though the creator owes you a solution. I don’t make these tools for applause, and I don’t need everyone’s approval to keep doing something I enjoy. The satisfaction of contributing something useful is enough for me.
Nobody is forcing anyone to use my work, just as nobody is forcing me to change it. If my tools aren’t what you’re looking for, you’re free to use an alternative. That’s perfectly fair. All I’m saying is that sharing something out of passion shouldn’t come with an expectation that the creator must meet everyone’s demands.
If you enjoy what I make, you’re welcome to use it and enjoy it. If you have a problem or want to suggest an improvement, ask respectfully and show some appreciation for the effort that went into it. And if my work simply isn’t for you, you can always ignore it and move on quietly. I’ll keep creating because I love doing it, not because I need anyone’s approval or permission.
Wanting to contribute tl the community means you want to be a provider of your service which is to create ai shaders & hacks. You can’t want to contribute then not expect to have complaints or only improve yourself. It’s not about obligation there is none as I said the criticism is given because they care the question is do you want to improve yourself or not?
Maybe the view on this is different because there is less to criticize about a tool it either works or don’t. Where my woodcrafting would affect your body in the bench scenario & may actually cause you discomfort. I disagree with sharing your hobby turns it into a volunteer job because a hobby is when you do it just for you. The moment you decided to share it & had that thought I want to contribute to the community. It no longer became for you it’s now for the community.
I think we’ve turned this topic into something else. Do you think AI in retroarch will improve backwards compatibility for older operating systems?
I understand where you coming from, but I do not agree on the conclusion.
I think the only contract a developer or contributor with the end user has, is the license. Morally speaking, there could be obligations, in the sense of “With great power comes great responsibility”. But no one should dictate how the developer operates when there is no contract for.
I wouldn’t say a hobby is just working for yourself. You can work as a hobby by helping others, or providing your work for free (and even as an Open Source license) for everyone for free. The important part is the contract provided by the license. This is especially true with Open Source, where the user has the right todo whatever it wants to do with it (while respecting the license off course).
This question is not aimed towards me, but allow me to express myself. I am a bit conflicted about the entire Ai thing, in general. I understand its problems, but also its strengths. I personally have no doubt it will help making RetroArch better in some ways, and may help improving compatibility. But I am also concerned about security issues and other random bugs.
Ultimately it is the call of the project owner and contributors what they want to do, and how they want. While as a community we have some rights to express our opinion, we have no right to dictate.
I think we need to step back a bit and look at the bigger picture. AI is neither a magic bullet nor the downfall of open source—it’s simply a tool that speeds up productivity.
The real question isn’t what tool was used to generate the code, but how that code is reviewed and tested. A bad developer will write bad code with or without AI. What actually matters is that the RetroArch devs are enforcing strict code reviews and automated CI regression tests. Human oversight remains the core gatekeeper.
Thanks to this, tedious tasks, complex core porting, and maintaining older cores that were abandoned for years due to a lack of manpower are finally getting done. For a volunteer-driven open-source project of this scale, ignoring tools that save time would just be counterproductive.
Of course, there will be ongoing discussions around licensing and long-term service sustainability as the tech evolves, but the concrete results are already visible: faster progress and a continuously improving ecosystem. Let the team experiment, test the nightlies to provide constructive feedback, and judge the project on the quality of stable releases rather than speculative worries.