• Activity
  • Votes
  • Comments
  • New
  • All activity
  • Showing only topics with the tag "linux.bazzite". Back to normal view
    1. My Week with a BC-250, or How I Made a Gaming HTPC with a Chopped PS5

      I caught wind of the BC-250 after the Linux on PS5 post where @moocow1452 posted about them and shared a link. The BC-250 is an APU cut down from PS5s that didn't pass Sony QC, they were...

      I caught wind of the BC-250 after the Linux on PS5 post where @moocow1452 posted about them and shared a link. The BC-250 is an APU cut down from PS5s that didn't pass Sony QC, they were originally slated for waste but largely got picked up by crypto miners. I hadn't got myself anything for my birthday or promotion, so when I found a deal, I grabbed it for the HTPC I'd wanted but couldn't justify. (Long post, tl;dr at end)

      Specs:
      6-core AMD Zen 2, stock clock 3.5GHz
      AMD custom GPU, stock clock 1.5GHz*
      16GB unified GDDR6 RAM+VRAM
      M.2 2280 slot
      *Stock lock is weird and limited, will discuss

      I'm not sure exactly when they got proper Linux support or folks started using them for gaming but I'm definitely behind the curve. You used to be able to get them <$100 but now they seem to be going for $180. I found a "pre build" for $275 shipped that had it ready to go, including a case, cooling, PSU, 256GB SSD, and unlocked BIOS... this isn't too far from what I would've totalled had I gotten the board for ~$80, and saved me some headaches. While the seller pre installed Bazzite, no way was I trusting the OS installed by a random eBay seller.

      So what's it take to make one of these usable, what trouble did the seller save me? Let's start with the BIOS -- this needs to be unlocked by flashing though I'm not totally sure if it's required to use it at all but at the very least it unlocks the dynamic 512mb VRAM. 16GB total is kinda limiting today and the default split is 8/8 RAM/VRAM -- a static split isn't exactly ideal -- depending on your game, you could easily be maxing out one with unused of the other. The dynamic 512 reserves only 512mb for the GPU alone and allows the rest to be properly split as needed (mostly, there's still technically a VRAM cap that can be raised with kernel parameters).

      OK next saved headache was the cooling. See, these were built as server units with fans set to blow air through them. The heat sink fins are closed off on the top. One can print a sleeve to have a standard fan push air through, but opening the fins up and letting the fan push air through from the middle is more effective, more like your typical consumer GPU. Seller did a messy job, but it is opened in the middle. Some folks use 2 fans and fully open the fins for a cooler/quieter build.

      The final headache was minor but they saved me from sorting out the PSU and power button. Since the board is powered just by 8 pin PCIE, for this PSU, two pins on another header need to be shorted to stay powered on, seller already had this in place. Seller also soldered power and reset buttons to the board.

      So with the hardware sorted, what does the software end look like? While it can technically run Windows, but it does not and will not have GPU drivers -- though folks have added external GPUs. The main 2 OS options folks recommend are Bazzite and CachyOS. Folks say Cachy is better but benchmarks I saw weren't that compelling, I already use Bazzite and it seemed to have less extra steps so I went with that, standard installation process went smooth and it was basically ready to go from there... So why am I futzing around so much?

      Well, the dynamic VRAM can collide with the default ZRAM swap, causing crashes and other errors. So I went through disabling that, enabling ZSWAP, then tweaking config and kernel parameters according to community info. So part of my futzing was comparing speed and stability with the various RAM settings and swaps.

      So the next futzing was the GPU clock. The stock is locked at 1.5GHz over 920mV always no matter if load is high or low, but PS5 runs em around 2.3GHz and higher volts. There's a community governor that can decrease volts/clocks under light load and unlock the stock. Folks easily get 2.0GHz at 1000mV but some push 2200+ at 1150. So testing with that was more futzing around, playing in Expedition 33 for half an hour to see if settings were stable. I found the defaults to be fairly aggressive, causing artifacts and crashing. I disabled all their default points over 920mV, set one at 2.0/1000, and called it a day. Didn't feel like trying to squeeze out another 100MHz. Also boosted the bottom 700mV point up by 20 since I saw some graphical artifacts at low loads and that cleaned those up. (<700 locks it right back to stock parameters so that's the effective minimum)

      Next up is the CPU, stock has it at 3.5GHz at 1180mV. Folks have been able to get the same clock down to 1000mV, some mad lads pushing 4.1GHz and like 1.3V. There's another community tool for helping with this where you punch in a target clock, voltage, and temp, then it tests it out. I haven't settled this one out, I may go for a bit of an under volt to help keep it quieter/cooler since it's an HTPC, or may just leave it at stock. Folks also recommend disabling mitigations for Spectre/Meltdown as it significantly slows the CPU and you're fairly unlikely to need it for a DIY Steam Machine.

      So I was stumbling through this following the community wiki, it had some good and useful info, but it didn't seem entirely consistent and sometimes was just wrong. Turns out, it's an AI compilation of community info. I'd have saved myself a ton of trouble if I'd found this repo and followed their instructions as that's what I eventually found worked best.

      Expedition 33 was my main real world benchmark tool. With FSR+LSFG on medium, I was hitting 1440p@90fps, 1080p@45fps without. The site compares it to a 3060, I thought that was mine until I double checked and have a 3070. It does E33 with DLSS+LSFG at 1440p@120fps cap on medium, or 1080p@60-70fps without either. So while the .info site seems to accurately describe the GPU as similar to a 3060, their benchmarks seem to include scaling and/or frame gen based on my limited testing. However, E33 still looked bad and off compared to my Nvidia at the same settings. After a day of fiddling, I looked it up and turns out, E33 specifically looks worse on AMD.

      As for HTPC apps, Jellyfin flatpak works great. Official Plex apps are deprecated, both flatpak and snap, they run terribly. Girens (unofficial Plex client flatpak) seems to work well, but requires a mouse and sub menus don't work in big picture. I plan on using a PS4 controller (touchpad works as trackpad) for the time being so this isn't too big a deal, but it's definitely less polished than the Plex smart TV app. VLC with the network drive mapped so we can play direct from file as back-up. And finally VacuumTube for YT smart TV interface with ad blocking. Hardware encoding/decoding does not work and will not so it's all done by the CPU, but it was enough for my high bitrate 4k HEVC decoding test.

      It doesn't have proper sleep states. Can't wake from USB/LAN, power button only, and doesn't actually sleep CPU/GPU so it doesn't really save power in sleep. Shutdown/cold boot is inconvenient for a daily use HTPC. Estimated 60W at idle, about $6 a month left on 24/7 for us, perhaps an extra $50/yr compared to a box with proper sleep. However, most it can pull under load is 235W, less than a typical gaming PC. Not enough to realistically break even versus a gaming PC with proper sleep though, so it's probably an expense worth considering in comparison shopping for a similar usage.

      Final Verdict: do I recommend it? Honestly, if you're getting bare board for $180, maybe not, but also depends on who I'm recommending to. I seen someone on the discord selling them for $150, others may be selling too, perhaps prebuilts even. Between case, fan, PSU, and SSD you're ending up closer to $400 for a running build -- and that's before wifi/Bluetooth/controller if you don't have extras of those already. At that rate, you may be better off getting a mini PC + eGPU dock + older graphics card, but I'd need to shop around to see how their price:performance ratio compares. On top of that, you'll likely need to do the trouble the seller saved me. Getting the software going is fairly simple nowadays though, so long as you have the foreknowledge to just use NexGen's repo. If you're curious, do some comparison shopping between what you find for these versus a mini PC + eGPU setup. Don't forget to consider the cost of the BC250's idle draw if you don't want to cold boot each day/use. I wanted a machine that could be a media client, do some modest gaming, and to experiment with AMD and unified V/RAM. I ended up with one that can do that and some AA/A, so I'm satisfied, despite the quirks.

      7 votes