Hi there Nico,
Thank you for your great summary of research, I'm going to CC it to a coreboot mailing list just in case someone wants to add more findings...
I'm not aware of any people currently working on the OpenAtom project, or of any advances since the last activity long ago. Perhaps it's because 1) AtomDis utility output already gives quite a good idea of what functions/data are inside the AtomBIOS blob to get enough confidence there are no backdoors, and 2) if I remember correctly OpenAtom didn't promise any improvements of user experience (extra features etc.), + the overclocking/underclocking is already achievable by modding the AtomBIOS binary (just need to be careful around the voltages). So, the people would be interested in OpenAtom mostly for software freedom reasons (aka "FSF guys"), but probably it's not enough as we see.
Would you still recommend RX590 as being the best graphics card suitable for open firmware development?
It'd be wonderful from the tech specs point of view - but the development won't be easiest, seeing that AtomDis utility gives a larger % of meaningful output for i.e. HD-8650G / HD-8570M / R5-M230 AtomBIOS blobs of coreboot-supported Lenovo G505S. Last commit to AtomDis was in 2011, it hasn't been updated since that and therefore starts having some trouble deciphering the newer AtomBIOSes (such as RX590).
Although having an open firmware for a prominent RX590 would be a nice end goal, it would be wiser to start with the G505S blobs, especially since it seems the OpenAtom project has already been digging for the HD-8650G of G505S. What is also good: while developing for G505S it would be easier to try the custom ROMs: using a cbfstool utility from a coreboot repository, simply remove the old AtomBIOS blob from your coreboot.rom and add a new one (may even make a custom script, looking at csb_patcher.sh - http://dangerousprototypes.com/docs/Lenovo_G505S_hacking#Introduction ), then flash the updated coreboot.rom into your G505S using a flashrom's internal mode. If you don't see any image on a screen (in case of a bad AtomBIOS), somehow boot to Linux (need to remember a SeaBIOS drive letter) and connect to G505S from another PC using SSH to try a coreboot.rom with another AtomBIOS blob.
One option I was considering is to extract the ROM and add it to cbfs so I wouldn't need SeaBIOS.
Without the AtomBIOS blob I think your GPU won't work at all, no matter what your payload selection is.
If you have any other questions, we will be happy to help you.
On Sun, Jul 17, 2022 at 4:25 PM Nico Rikken nico@nicorikken.eu wrote:
Hi Mike,
Sorry for circumventing the Coreboot mailinglist, but it seems you have posted most recently on this subject. Happy to go via the mailinglist, but I didn't know what to write in a general way.
I'm building a new computer based on the P8Z77-V. I'm considering adding a dedicated graphics card to drive larger display resolutions and have more GPU power for photo editing. I investgated what the current state of openness is. I also posted on Reddit: https://www.reddit.com/r/coreboot/comments/w080ng/requirements_for_adding_rx...
I read the history on this subject including your comments over the years:
- RX590 being the best before AMD PSP introduction
https://www.mail-archive.com/coreboot@coreboot.org/msg54703.html
- Lack of PSP is required to enable open source firmware like openAtom https://www.reddit.com/r/Amd/comments/ex04ld/do_the_latest_amd_cards_include...
- There is/was some effort to open up Radeon cards with OpenAtom, also mentioned in https://www.reddit.com/r/Amd/comments/ex04ld/do_the_latest_amd_cards_include...
- There was an interest to work on it for the GSoC 2015 https://www.mail-archive.com/coreboot@coreboot.org/msg44492.html
It seems all current efforts to further open AMD GPU firmware have stalled.
One option I was considering is to extract the ROM and add it to cbfs so I wouldn't need SeaBIOS. The again I saw your post about the trouble of dealing with extracting certain ROMs: https://www.mail-archive.com/coreboot@coreboot.org/msg49637.html But I think that won't be so much of an issue in this case.
So to summize my question: where do we stand with open GPU firmware on X86? Would you still recommend RX590 as being the best graphics card suitable for open firmware development? Are there still people working on this?
Best, Nico