Adventures in ultra low cost system building, and getting my feet wet with fedora

I tend to maintain two types of systems – high-mid range gaming PCs, like my lovely core i7, and low powered home servers. My old atom server is getting noisy, and I wanted to get a new toy. Ended up looking around and picking up a gigabyte brix – specifically a N2807

Unlike the systems based on a more mainstream processor, the celeron based brix (and possibly its NUC cousins) lack a msata port. It has a single, non standard port on the board that breaks out sata data and sata power for a single 2.5 inch hard drive. It also has a single slot for DDR3L ram (which I populated with a single 4gb stick), unlike the two slots the more capable core i3 based NUC class systems do. In short, this is a small box with the heart of a tablet, the IO options of a laptop, and a need to stay firmly teathered to a wall. Its passively cooled, so you *cannot* get any quieter. Its an awesome, simple HTPC.

I went with fedora on this system, since I’ve been toying with moving off ubuntu, and fedora has all the shiny toys. I’m using BTRFS for the system.

The system comes with a single band, single channel wifi card, which also does bluetooth 4.0. Not played with this much yet, though locking and unlocking it with a phone sounds fun. You also have a gig-e capable nic.

Output wise, I have the standard HDMI and VGA ports, 2 USB 2 and one USB 3 port and a single combo out. Sound quality is decent, since it uses one of those practically ubiquitious realtek audio codecs.

I also wanted a decent, cheap display. Rather than going for a regular display, I ended up buying a 10.1 inch display off DX. Its actually a rather odd unit, the display seems to be wrapped in electrical tape at the edges, the backlight has a translucent screen (which is annoyingly desirable, since it gives me bias lighting. Any logical way I can think of mounting it involves covering up the back). Its insanely sharp, and lovely when its the right resolution. Which it often isn’t(it defaults to 1024×768 on the computer). I ended up creating a script that fixed that.

Total cost so far, about 500 dollars – 90 dollars for the hard drive, 250 for the brix and ram, and another 90 for the screen. I could have gone cheaper (I had a 40gb hard drive I spent a tenner on), or gotten a cheaper hard drive, and in a HTPC setting, you could probably forget about the screen.

Now here comes the fun part. Plug this little thing into a TV, install steamos or steam on linux, and its basically an awesome little streaming console. While steam streaming does seem to open up (and gets wierd when you move) a game on the ‘server’, so it dosen’t *quite* let you use the server for other things while you’re at it. I
t might make a ton of sense if you do a lan party house style setup (or even run a central server with more than one video card running KVM. Oh, the ideas.

The NUC class systems also seem to be decent for virtualisation. While ESXi is a finicky, grouchy thing, – There’s reports the core i3 and better versions do ESXi fine, but the realtek NIC on this isn’t supported, and a driver modded boot disk fails horribly on my celeron. KVM runs gloriously however, and was trivial to install on fedora (install virtmanager and its dependancies, and… well, that’s about it.)

One thing I had issues with with fedora was font rendering – I installed freetype-freeworld from rpmfusion, turned sub-aliasing and sub pixel rendering in the ‘fonts’
control panel, and set sub pixel rendering to RGB and hinting style to medium. I also installed corefonts and set most of the fonts in firefox to the same defaults as firefox on windows. This was also helpful since steam apparently needs some of those fonts.

One final annoyance is that selinux basically makes it a pain in the rear to install samba. You need the semanage command. This is installed through policycoreutils-python. Do not bother with the gui – edit your samba.conf file, and make sure your selinux permissions are set correctly. You need to run

 semanage fcontext -a -t samba_share_t '/<shared path>(/.*)?'

then

 restorecon -R /<shared path>

.

Still, this is a fun, low cost system with reasonable performance and great usability. Its no raspi, but try running windows, or steam on one. 😉

2 Comments

  1. Colin Keenan September 25, 2014 10:58 am  Reply

    “I ended up buying a 10.1 inch display off DX…”

    What’s DX?

    Since I finally got a (sort of) HD TV a few years ago, I’ve just been using that for my computer screen. It’s only 1366×768 though, but looks very crisp at the distance I view it. Some computers I’ve hooked to it did have the problem you mention where it would not see the native resolution, and I had to resort to xrandr as you did. I spent a lot of time researching it and it was supposedly because the TV wasn’t correctly reporting it’s native screen resolution, but that can’t be it. Originally I had a computer with onboard Nvidia graphics – very old though. Sometimes it worked perfectly without xrandr, and other times I had to use xrandr and the best I could get was 720p instead of 1366×768, and it was kind of ugly. Like you, I had to mess with the fonts to deal with the ugliness of the non-native resolution. It seemed to be entirely caused by the video driver – some updates worked, while others didn’t. That was on VGA though. When I built my new computer using a core-i5 with Intel HD 4000 graphics, at first I had the same problem because I was still using VGA. But, my new computer was capable of HDMI and once I got a good working cable (the $15 one from a nearby store failed, but the $4 one from Amazon worked), it correctly detected and gave me perfect native resolution.

    So, why I’m telling you all this is that I was wondering how you’re connecting to the screen. If it’s VGA, do you have an HDMI option with it?

    • geek September 27, 2014 11:37 pm  Reply

      Dealextreme. Its basically a bare naked LCD screen with a pretty standard controller boards for such things – adafruit uses something similar on their screens. I’m using HDMI right now, though there’s a VGA and composite option. I use HDMI primarily cause its a less fat cable ;p.

      I’m half certain its a *software* issue since the loading screens look fine, and it gets wierd after I log on, but the resolution still isn’t detected. Its probably not the cable or display since it works fine in windows.

      The font fixes are unrelated, fedora just dosen’t actually do subpixel aliasing by default.

Leave a comment

Your email address will not be published. Required fields are marked *