What is technically not doable about what I'm doing ?
Something being technically doable only means, all needed technical requirements are given, so
in theory technically it can be done. Or to put in other words, it's not science fiction, so completely unrealistic.
But it needs more to realize something, not theory only, e.g. time is a very important factor many projects fail about, because not realistic estimated.
Silly example:
To remove a mountain by somebody just using a spoon is technically doable. But you see on the instant: Bogus. Not doable within a decent time, so unrealistic.
That's what I meant with:
get some realistic idea of what amount of different kinds of work needed to be done, how many effort is needed for each (hours to work on), and then estimate added up hours needed to be done divided by the amount of people working X hours per day on it, gives the estimated months/years until it's finished, and so if it's realistically doable, or not.
Such are fundamental basics of project planning.
As you said, your are ambitious, have enough time, and don't need to meet no time schedule, so you might not use any sophisticated project planning, but you could just start on it and see how far you get. But even if so, you might at least check out, if something is really realistic or you run into an endless desert, and perhaps one day may look back on many years, still not are where you wanted to get, and just have that frustration of wasted time and effort, and maybe even money. (mountain and the spoon - better don't start on that in the first place.)
I think that for this project the right configuration should respect the KISS philosophy (Keep It Simple Stupid) : a GPU,a monitor attached to it and a open source driver. Every piece that I add is a variable that I should exclude if / when something will fail.
KISS is basic fundamental engineering. Of course it should be respected. Anything not respecting KISS is bad engineering.
KISS means, not to add any unneeded junk, not to complicate things more than just needed. But this does not mean, just because something is not unneccessarily complicated, then it's automatically simple, so trivial, so quick and easy to do.
To create some special hardware, that will be cheap to buy, and then adapt your software and FreeBSD to it, comes later. If you start with the hardware, you put the cart before the horse.
And looking for cheap but sufficient hardware is already optimizing. Never ever start optimizing unless you already have the essentials solid working.
"Premature optimizing is the root of all evil." [Donald Knuth]
This is true for any kind of engineering, not software, only.
My advice was, before you start tinkering with any hardware, just see how to get steam games running on your FreeBSD machine at all. No need to tinker some own computer for that (yet.) And better more power than what you might expect for the future (optimization.)
You need to do that anyway, and that's also where the most work is.
You need your hardware fit the job shall be done, not adapt the job to the hardware.
See, what's already there, how it works, where it fails, if it fails, and why, what can you use or learn from it, so encircle and minimize the amount of work you need to do. But first start to make it run on FreeBSD at all, don't bother the hardware.
There are several attempts for this already, like Mizutamari, as I already mentioned.
If you already get this far, provide to play steam games on FreeBSD, even on ambitious hardware, without much tinkering for the user to get it up and running, and not everything gets ripped apart when there is an update, you already reached
a lot.
If it was easy, we already had it.
But you also need to check, if the games really run. You say, you are not a player. I am. So I know what to look for. Just see some splash screen occurs at the start doesn't mean the game runs. Just see the game technically starts to run doesn't mean it runs. You need to really play it, to figure out if it runs
playable, not snail slow and/or full of lags, not crashing at some certain points, having some graphics errors/artifacts or suddenly see nothing at all anymore etc. etc. etc.
As I said:
Computer games are technically most ambitious and pretty tricky at the same time.
And they vary very much in how they work, and what they need.
They are not some deskto App consisting of some python code assembled with some GTK library.