I Wish There Was OS Detection for Certain Things

Hey people just wanting to express how I wish Retroarch had some os detection to apply specific things when detecting the os is… The reason I wish this is if you’ve seen my posts you know I am using a w7 machine & I’ve had my share of struggles of getting things to work.

When updating everything sometimes cores that use to work stop working & I can’t tell if it’s the core, shaders, or possibly some assets. I wish there was an os detection that could recognize the windowsos i’m on & apply stuff that would be known to work for that os. For example lets say some old shaders for a specific core worked & after you update retroarch just crashes no explanation why.

It would be nice if the information was kept in the database to be like oh it’s known for w7 devices for this core to use this specific version, oh these shaders are the last version to work on w7 then downloads them automatically if update removed them & puts them in a separate folder for retroarch to summon it from there so when it updates it knows not to overwrite that folder it made as those assets, shaders, & core versions that have been put there are for your os. Because it checks the database & maybe back to libretro for known reports, information, or etc that this worked on this old machine.

What do you think?

I don’t think maintaining a database would be any more successful than just fixing things. The big problem is that we don’t know what breaks on some random old platform. We try to maintain compatibility, but we can’t test everything, so stuff inevitably breaks. The best thing you can do is report issues at https://github.com/libretro/retroarch/issues

Both would be in combination together not one or the other. User submitted reports of course help improve towards solving those issues & that information can be put towards knowing for the database. Rather then lets say having wait for someone to report an issue which maybe someone else already did & then you send them the link & they read through a long wall of comments to find the steps.

Having it in the database & an os detection of sorts or a selector so that retroarch could either download specific assets or shaders in a separate folder to call those on could be a big benefit. Imagine all the modern up to date in the main folders then for example the lprs2 core as we’ve seen the github issues & one referenced in my other thread suggests to use an older version which was supposedly the last version that worked on 7. Retroarch would detect or you use an os selector & then it will go oh & downloads whats needed & places them in the folders like assets/w7, cores/w7, shaders/w7, & etc.

I believe this would help maintain compatibility, you don’t need to test everything just work with the reports & for fixes that have been known to work once the problem is solved that fix could be added into the database for retroarch to know this is what to do for this os.

I too have a Windows 7 “machine” (HP Compaq 8200 Elite USDT - i3-2120 - 6GB RAM) and let me tell you, that RetroArch has absolutely no way to know if a core is going or not to work in old systems. For instance, Dolphin core stopped working in Windows 7 since 2019… and that’s not because of RetroArch, but because Dolphin devs stopped using OpenGL over Vulkan/DirectX 11-12 and some things Dolphin needs runs under PyQt6 which is also incompatible with Windows 7.

Retroarch, nor Libretro has any way to know this, and doesn’t help if devs or who ever “libretrofies” doesn’t specify “Oh by the way, we’re not supporting Win7 anymore”.

Of course you’re always free to either: 1.- Use old versions of Cores/Retroarch that worked in Windows 7 2.- Do it yourself, try to port modern emulators to accept old Windows 7 methods, and let us know how it goes.

i also use windows 7. offline. via crtemudriver. how about we 7 users keep a log of what latest cores work? for each other? id be willing to contribute what i have working / what i know. let me know if you guys are willing to put in work to this. cause if not, that 1st post is pretty much moot.

1 Like

Yes starting out this would be a way to get things going towards building a list that could eventually be added to the database. I will help with this by adding the information to an excel sheet that can have open collaboration on cryptpad. I can take the info that we collect through messages here or if you want to join on cryptpad so you can add it directly yourself I will invite you.

With this list we need to take the following information core name, version number, current assets, & shaders. Updating assets or shaders could be a reason a core stops working all of a sudden. We can backup all the working stuff together & preserve it in multiple places so it’s always accessible.

I don’t try to discourage… but based on personal experiences with retroarch + windows 7 and some from Wii branch:

1.- Testing requires a lot of time. But I will tell you this, all falls into wether or not the Windows 7 processor still supports OpenGL 3.3, Direct3D 11-12, Vulkan.

2.- Not everyone will get the same data. A core that works in someone’s Win7 machine will definitely not work if another has an older unsupported version of OpenGL (for instance 1.1) or Direct3D 10… and this will depend on Processor, Motherboard and GPU.

3.- Integrated GPUs like Intel’s Quick Sync will behave erratically depending on processor versions. If y’all are going to “do this” then do it right and don’t use GPU at all.

4.- You literally don’t know what you’re getting into… the OS versio has nothing to do in whether or not Retroarch or Core will behave nice or not… it all falls in wether or not the Processor+GPU can run the Core tasks, and again, this is determined by Core’s instruction and compatibility with Processor Instructions… not OS versions.

5.- The fact your Windows 7 with RTX can run a core, does not mean my Windows 7 without GPU will run the same core just because it runs in yours.

EDIT: I held a similar project of Retroarch-Wii maintainance and testing thread in GBATEMP, but after realizing that every version updated kept crashing or behaving worse than the previous then there wasn’t even a reason to keep that Retroarch-Wii thread alive. This was my kind of hobby for 3 years the thread was alive, but gave up after 1.10.X was released… so again, expect to have erratic/wrong assumptions because I’m assuming you all think it’s because it’s Windows 7 when actually is much much deeper than simple OS assumptions.

I appreciate the words even though you’re attempting to be disencouraging I can do that test them without gpu. The goal is to find the last ones that work on 7 & yes the instructions we could possibly inspect with dependencies. Searching, testing, making the notes all takes time like everything in life time is all we have.

As to your wii thread it seems from what I’m understanding here is you were testing to see if new versions worked not making a list of what worked, asset changes, & shader changes. As for goals we don’t need to see if our processors work with direct11-12, Vulkan, or opengl 3.3 taking note of what version they are working on would be something to add to the information.

By the way didn’t Wii come out when Windows 8.1 was around? I think it did which would explain the troubles you faced with getting it to run on 7 because most we’re dropping support for 7 already. So I do expect that to be tough with every update it would be like going from bad to worse.

I’m still going to try & figure what works for us 7 users for a few reasons. Those older consoles worked when 7 was the latest & before that. The newer versions seek newer implementations while discarding the rest of the information from what made it work previously.

I want to archive the old implementations.

Not just for me but for everyone who still uses 7 & for the generations of the future who try 7 in a virtual machine. Hell we got people trying w98 in a vm machine then there was also an article online somewhere about someone who made WSL for w95.

I think you would make a great addition if you’re willing to help out we’re all working together everyone whos willing so you’re not alone in this venture & maybe that will encourage more to try once we show some progress as some is better then none.

i would say fuck what old skull 93 has to say. he/she/it obviously doesnt understand what you and i are trying to do. i dunno what cryptpad is (i am 45 and a half years old) but if you invite me, im sure i can figure it out. i am willing to participate in this project, : no WII bullshit, no “well you know, vulkan, d3d12, i dunno you guys”, i am strictly win7 (offline, i reply to this forum via smartphone) and i am serious about this, i will make sure to mention my os, my cpu, my ram, my retroarch version, my core versions. looks like its me and you, mackarole. what do you say?

1 Like

I sent you a message check it out.

Please let us know how your “OH MY GOD IT WORKS IN WINDOWS 7 :grinning:” project goes.

Yeah when it’s ready i’ll post everything publically it’s gunna take some time got to revert retroarch & try a bunch of different versions.