Doing a rebuild, and how to start from scratch

The small SATA SSD I used to build my BC-250 got quite full quite quickly and I wanted to get a bigger one, but the price is quite scary nowadays.

Browsing second hand items in the local CEX I saw a 1TB "M.2 SATA SSD" lurking at the back of the display for a decent price. I figured SATA is slower than NVME but almost certainly good enough given the BC-250 only does Gen2 speeds. When I paid they handed me this, which is actually a 1TB NVME Gen4 SSD, so I got a real bargain.

Also this meant it was time for a rebuild and I decided to write down the various tweaks to Bazzite I did in the process. This is all information from other people but is scattered around various GitHub pages and Discord so I'm going to try and link to everything useful here. I'll update it if I find other things.


BIOS Flashing

The default BIOS is not what you want for a gaming system, there are a couple of 'unlocked' images available and I would recommend with using v3.00, using this method. Beware lots of the pages are AI generated so it has some duff information in like the pinouts for the power connector, which caught me out, but this section is OK.


Installing Bazzite

Modern versions of Bazzite will just boot and install, only needing some minor tweaks afterwards. Download an image for a USB stick and flash that stick (16GB+) with Balena Etcher. When you do the download, select the following options.

  • Desktop
  • AMD (R4xx+ | AI)
  • KDE
The final option is whether you want to boot straight into Steam gaming mode and that is probably a good choice if that's the main use for the machine.

Enabling SSH

Many of these later tweaks are done in the terminal and it's very helpful to enable remote access over SSH, so go in to desktop mode from the power menu and open a terminal. Pop in the following...

sudo systemctl enable --now sshd

...you will now be able to log in remotely and do the rest of these setup steps.

NexGen-3D-Printing setup script

One of the very involved people on the Discord has come up with a script to do a set of optimisations and fixes that suit the BC-250 better than the Bazzite defaults. This is around swap size, zram and so on.

There are instructions for doing the all-but-essential GPU overclock in the document and you should work through them to set a level that works for you.

Cooler Control

You will almost certainly want to have some monitoring of temperatures and fans. There's a good section in this page on the subject. Essentially you need to install Cooler control from the terminal...
ujust install-coolercontrol
Beware lots of the pages are AI generated so it has some duff information in like the pinouts for the power connector, which caught me out, but this section is OK.

The first time you run Cooler Control it will tell you the commands you need to type in the terminal to enable its service.

Cooler Control can customize your fan speeds for different temperatures in a more flexible way than the basic BIOS settings, so set your fan to 100% in the BIOS then use Cooler Control to lower it from that. You generally want the "Pump fan" to be running 100% if the GPU gets to 70C but below that you can fiddle with the curve to be cooler or quieter.

ACPI

Bazzite by default doesn't handle the BC-250 ACPI states, again NexGen-3D-Printing has some instructions for fixing this. Even with this idle power efficiency is pretty poor and sleep doesn't really work.

CPU overclock

The main NexGen-3D-Printing script takes you through GPU overclocking but not CPU overclocking. Which is frankly less important but the instructions for this are in the same document as the ACPI info.

Heroic Launcher

If you have games in stores other than Steam, perhaps a library of free games from the Epic Games Store, then you can install these using the Heroic Launcher. Switch to Desktop Mode from the Power menu and it's in the "Bazaar" which is Bazzite's app store.

Look through the settings before you install any games, in there is a tickbox to "add to Steam" and this will make these other games appear in the Steam Launcher once you've added them using Heroic Launcher.

The very roundabout on/off switch mechanism

With a little circuit tested that latches on when the BC-250 starts and puts the server PSU into standby when it shuts down I still wanted to make the behaviour more "ATX-like" ie. you can also use the power button to ask the system to shut down.

There is a button on the faceplate of the BC-250 that can act as a shutdown or sleep switch depending on how you configure it in the OS. Sadly this isn't brought out on a header anywhere. Which means soldering directly to the PCB. I checked the BC-250 Discord and made up a little flying lead for this.

Some of the people on the Discord have been making quite complicated latching setups for doing this, some including microcontrollers, but I've opted for simple expedient use of a DPDT momentary button.

One side of the button is connected to my latching setup that turns the BC-250 on. The other side is connected to this flying lead on the BC-250 that asks it to shut down.

That's it.

Push for on, push for off.

This will also allow me to go with the decorative button switch I fancy for my case and I've designed a 3D printed mechanism that holds a brass coin and the actual switch. If I laser-engrave the coin and sink this flush in the front of the case it should look pretty snazzy.



Cardboard engineering

With no ATX compatible power switch and standby mechanism the BC-250 expects there to be a constant 12V at the GPU connector. This is slightly wasteful as the PSU is always on. There's a 'power switch' on the BC-250 you can use to turn it off and on, but it doesn't communicate with the power supply at all.

I quickly bashed together a little MOSFET based setup that puts the server PSU I have in standby. When the BC-250 is on it uses a feed from one of the headers to hold the PSU on but when it shuts down the PSU goes back into standby.

While I plan to make a wooden case I'm probably not going to be CNCing a back panel, it's out of sight so 3D printing will do. I improved on my original brackets and printed them on the Hackspace printer which produces better quality prints than mine do.

These brackets are designed to just screw to a wooden baseplate and hold everything firmly. The baseplate is going to be a bit of boring old plywood and then I intend to lower something more decorative over the top. Most of the gamers doing BC-250 builds are going for gamer type stuff and I quite fancy a 'steampunk steam deck' made of wood with brass accents.

The Hackspace got a fibre laser engraver recently so doing little embedded brass plaques etc. should be very possible but will mean learning to use our CNC machine. My woodworking skills simply aren't up to the chisel work to do it by hand.

Before I get ahead of myself though I need to make sure this arrangement isn't going to cook the BC-250. So it was time for some cardboard engineering and a heat soak test.