Dorion Mode

November 1, 2020

A JWRD desktop aiming for open graphics

Filed under: JWRD — Robinson Dorion @ 19:34

I am in the process of building a desktop computer. I approached the task on the following fronts :

  1. a motherboard supported by an open source BIOS, e.g. Coreboot;
  2. an AMD CPU which is not locked down by AMD's Platform Security Processor (PSP);
  3. a graphics card with minimal to no proprietary microcode.

This was motivated by a couple goals :

  1. expand JWRD's hardware offering;
  2. have a desktop with which to play the masterclass in economy mascarading as a video game: Eulora published by The Ministry of Games.

The components I chose are :

Component Make & Model Note
Motherboard ASUS F2A85M
APU AMD A8-5600k with AMD Radeon HD 7560D 4 cores, 3.6GHz base clock
RAM Corsair CMZ8GX3M1A1600C10 DDR3, 2 x 8 GB
SSD Samsung 860 EVO 1 TB
HDD Seagate Barracuda 3.5" SATA, 2 TB
Power Supply CORSAIR TX650M 650W, 80 + Gold, semi-modular
Case Corsair Carbide 200R Mid-tower ATX
Case Fans Corsair AF120 3 x 120mm
UPS CyberPower CP1500AVRLCD 900W

Motherboard

I started my search by reading reading up on motherboard candidates via the Coreboot supported mainboards and board status wiki pages and git respository. The Coreboot wiki has a dedicated page for the ASUS F2A85M (archived).

This board is equipped with an FM2 socket which supports AMD APUs of the A85 Piledriver line on the CPU side and Terra Scale 3 based GPUs of the Trinty line.

The Read Only Memory (ROM) chip is a Winbound 25Q64F that will be flashed externally with an 8 pin chip clip to replace the vendor UEFI/BIOS with a BIOS I compile.

APU

To pick the APU, my starting point was the ASUS website which lists the 391 supported chips. Despite the long list, from what I managed to find, the supply for these is tight. This makes sense given they went out of print in October of 2012 and are supported by Coreboot.

For graphics support, I started at the wiki of the X Window System and in particular the page on the Radeon line of graphics cards due to the Radeon integration in many of the APUs supported by the motherboard.

I'm a bit less of a graphics noob than when I started this process, but still very much a graphics noob. As far as I understand at present, there are no graphics cards which do not require proprietary firmware. There are some rumors that the abandoned radeonhd driver did not require firmware compiled by the vendor, but the Pleased to meet you, hope you guess my name (archived) and Pleased to flash you, hope you change my name (archived) articles by Luc Verhaegen record that if you were familiar with the details, that was never the case. RadeonHD relied on the AtomBIOS, the source code of which was never published, to whit,

At no point do AtomBIOS functions come close to fitting the definition of script, at least not as we get them. It might start life as "scripts", but what we get is the bytecode, stuck into the ROM of our graphics cards or our mainboard.

After reading this, I didn't bother adding a discrete graphics card supported by radeonhd for this iteration. Despite being over a decade old, I did find some radeonhd supported cards still available.

For the APU, I picked the AMD A8-5600K which has the Radeon HD 7560D integrated GPU. The Radeon HD 7560D requires the 3 ARUBA_me.bin, ARUBA_pfp.bin and ARUBA_rlc.bin binary files from the Radeon Linux firmware list which weigh a combined 23.552 kb. Permitting 23kb of mystery meat to run graphics is not the worst of fates. While not ideal, the fact is the complexity the of hardware itself is much greater and likewise not available for the supposed owner to inspect.

RAM and Disks

To chose memory, I started from the qualified vendors list (pdf) of the F2A85M motherboard. I added the Samsung SSD because I also plan to test syncing a Bitcoin node and GBW-node with this set up.

Power Supply, Case, Case Fans

Gold 80 Plus power supply efficiency was good enough for me. Cases with tempered glass windows and shiny lights seem to be marketed heavily. I went all metal for sturdiness. The case has a built-in rear fan. My plan for the other three are to put two stacked from the bottom of the front and one on top for bottom-to-top, front-to-back cooling airflow.

Next Steps

The parts have started arriving. I'll start the build this week and report back. I focused this article on what I ended up choosing. I looked at several more set ups in this process, the notes for which need cleaning up prior to publishing.

Conclusion
While it looks like a fully open desktop with graphics support is out of reach at present, I gained from the process and am looking forward to setting this machine up.

  1. The complete list:
    AMD A10-5700 (AD5700OKA44HJ, rev.A1, 3.4GHz, L2:4M, 65W) ALL 5008GO
    AMD A10-5800B (AD580BWOA44HJ, rev.A1, 3.8GHz, L2:4M, 100W) ALL 5008GO
    AMD A10-5800K (AD580KWOA44HJ, rev.A1, 3.8GHz, L2:4M, 100W) ALL 5008GO
    AMD A10-6700 (FM2, AD6700OKA44HL, rev.A1, 3.7GHz, 4C, L2:4M, HD 8670D, 65W) ALL 6002GO
    AMD A10-6700T (FM2, AD670TYHA44HL, rev.A1, 2.5GHz, 4C, L2:4M, HD 8650D, 45W) ALL 6402GO
    AMD A10-6790B (FM2, AD679BWOA44HL, rev.A1, 4.0GHz, 4C, L2:4M, HD 8670D, 100W) ALL 6501GO
    AMD A10-6790K (FM2, AD679KWOA44HL, rev.A1, 4.0GHz, 4C, L2:4M, HD 8670D, 100W) ALL 6501GO
    AMD A10-6800B (FM2, AD680BWOA44HL, rev.A1, 4.1GHz, 4C, L2:4M, HD 8670D, 100W) ALL 6002GO
    AMD A10-6800K (FM2, AD680KWOA44HL, rev.A1, 4.1GHz, 4C, L2:4M, HD 8670D, 100W) ALL 6002GO
    AMD A4-4000 (FM2, AD40000KA23HL,3.0Ghz, L2: 1M , HD7480, rev.A1, 65W) ALL 6102GO
    AMD A4-4020(FM2, AD4020OKA23HL,3.2Ghz, L2: 1M , HD7480D, rev.A1, 65W) ALL 6502GO
    AMD A4-5300 (AD5300OKA23HJ, rev.A1, 3.4GHz, L2:1M, 65W) ALL 5008GO
    AMD A4-5300B (FM2, AD530BOKA23HJ, rev.A1, 3.4GHz, L2:1M, 65W) ALL 5008GO
    AMD A4-6300 (FM2, AD6300OKA23HL, rev.A1, 3.7GHz, 2C, L2:1M, HD 8370D, 65W) ALL 6002GO
    AMD A4-6300B (FM2, AD630BOKA23HL, rev.A1, 3.7GHz, 2C, L2:1M, HD 8370D, 65W) ALL 6002GO
    AMD A4-6320(FM2, AD6320OKA23HL, rev.A1, 3.8GHz, 2C, L2:1M, HD 8370D, 65W) ALL 6502GO
    AMD A4-7300 (FM2, AD7300OKA23HLA, rev.A1, 3.8GHz, 2C, L2:1M, GCN Radeon R5, 65W) ALL 6506GO
    AMD A4-7300B (FM2, AD730BOKA23HLA, rev.A1, 3.8GHz, 2C, L2:1M, 65W) ALL 6506GO
    AMD A6-5400B (AD540BOKA23HJ, rev.A1, 3.6GHz, L2:1M, 65W) ALL 5008GO
    AMD A6-5400K (AD540KOKA23HJ, rev.A1, 3.6GHz, L2:1M, 65W) ALL 5008GO
    AMD A6-6400B (FM2, AD640BOKA23HL, rev.A1, 2C, 3.9GHz, L2:1M, HD 8470D, 65W) ALL 6002GO
    AMD A6-6400K (FM2, AD640KOKA23HL, rev.A1, 2C, 3.9GHz, L2:1M, HD 8470D, 65W) ALL 6002GO
    AMD A6-6420K (FM2, AD642KOKA23HL, rev.A1, 2C, 4.0GHz, L2:1M, HD 8470D, 65W) ALL 6502GO
    AMD A8-5500 (AD5500OKA44HJ, rev.A1, 3.2GHz, L2:4M, 65W) ALL 5008GO
    AMD A8-5500B (AD550BOKA44HJ, rev.A1, 3.2GHz, L2:4M, 65W) ALL 5008GO
    AMD A8-5600K (AD560KWOA44HJ, rev.A1, 3.6GHz, L2:4M, 100W) ALL 5008GO
    AMD A8-6500 (FM2, AD6500OKA44HL, rev.A1, 4C, 3.5GHz, L2:4M, HD 8570D, 65W) ALL 6002GO
    AMD A8-6500B (FM2, AD650BOKA44HL, rev.A1, 4C, 3.5GHz, L2:4M, HD 8570D, 65W) ALL 6002GO
    AMD A8-6500T (FM2, AD650TYHA44HL, rev.A1, 4C, 2.1GHz, L2:4M, HD 8550D, 45W) ALL 6402GO
    AMD A8-6600K (FM2, AD660KWOA44HL, rev.A1, 4C, 3.9GHz, L2:4M, HD 8570D, 100W) ALL 6002GO
    AMD Athlon X2 340 (FM2, 3.2Ghz, 2C, L2:1M, 65W) ALL 6102GO
    AMD AthlonX2 350 (FM2, AD350XOKA23HL, 2C, rev.A1, 3.5GHz, L2:1M, 65W) ALL 6102GO
    AMD AthlonX2 370K (FM2, AD370KOKA23HL, 2C, rev.A1, 4.0GHz, L2:4M, 65W) ALL 6404GO
    AMD AthlonX4 730 (FM2, AD730XOKA44HJ, rev.A1, 2.8GHz, L2:4M, 65W) ALL 5008GO
    AMD AthlonX4 740 (FM2, AD740XOKA44HJ, rev.A1, 3.2GHz, L2:4M, 65W) ALL 5008GO
    AMD AthlonX4 750 (FM2, AD750XOKA44HL, 4C, rev.A1, 3.4GHz, L2:4M, 65W) ALL 6102GO
    AMD AthlonX4 750K (FM2, AD750KWOA44HJ, rev.A1, 3.4GHz, L2:4M, 100W) ALL 5008GO
    AMD AthlonX4 760K (FM2, AD760KWOA44HL, 4C, rev.A1, 3.8GHz, L2:4M, 100W) ALL 6102GO
    AMD Sempron 250 (FM2, SD250XOKA23HL, 2C, rev.A1, 3.2GHz, L2:1M, 65W) ALL 6102GO []

1 Comment »

  1. For completeness or for other graphics noobs (though isn't it funny how none of this actually has anything to do with graphics? welcome to hardware-accelerated bureaucracy I guess) the alternatives for 3D graphics hardware - excluding the embedded stuff found on phones and such - are Intel and nVidia. AMD got into the game by acquisition of ATI. Intel is the low end with integrated chips only (on the motherboard, sharing system memory with CPU) but supposedly has strong open source driver support. Not sure of the firmware situation - I know they play the "'open driver' with closed firmware" game on their WiFi adapters at least - and of course it won't help if one has set the evil bit on Intel. nVidia traditionally had the best support for Linux through their fully-closed drivers but there's a reverse-engineered "nouveau" driver that's been in the works for ages and might be good enough in some cases. So in short, from what we know so far AMD is the least-bad option especially if one wants decent performance.

    Comment by Jacob Welsh — November 1, 2020 @ 21:37

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress