Russell Bateman |
Table of Contents |
This is a log of events building my first new desktop in 6 years. I'm
choosing to run Mint 20.1 Ulyssa LTS,
which is based on Ubuntu 20.04 Focal Fossa, Linux kernel 5.4 and Cinnamon 4.8.
Most of my machines are named after elf kingdoms in Middle Earth. In a sense, host tirion deviates from this because elven Tirion is in Aman and not properly in Middle Earth, however, this distinction is a bit academic and this document is about computer hardware and software. Still...
Encircling the hill of Túna in the Calacirya, lone cleft in the mountains of the Pelóri, Tirion was founded by Ingwë, chief of the Vanya, ahead of the arrival in Aman (Valinor) of their relatives the Noldor.
The Vanya moved deeper into Valinor, closer to the high peak of Taníquetil and the Valar, the "Powers" or creators of Middle Earth, leaving Tirion to be ruled by Finwë. Murdered later by Melkor as that dark lord stole the Silmarils, which would soon precipitate the flight of most of the Noldor back to Middle Earth and, along the way, the kinslaying of the Teleri, Finwë's youngest son, Finarfin, father of Finrod (Felagund, hewer of caves, ruler of Nargothrond) and his sister, Galadriel, ruled in his stead.
Figuring in the image above is Eärendil, whose genealogy may be found here, freshly arrived in the Undying Lands in search of the Valar after the near destruction of Middle Earth and the quasi extinction of the Noldor by Morgoth. The ensuing 40-year War of Wrath would see Vanyan warriors, after thousands of years of contentment in Aman, venture back into Middle Earth along with the Noldoran remnants to avenge the Noldor and second their Valar commanders. Ultimately, Morgoth (Melkor) would be chained forever and thrust beyond the Walls of the World into the Timeless Void. (Sauron, however, feigned repentence and would survive untl the end of the Third Age.)
Host tirion replaces gondolin.
Much of this might be a little higher performance than I really need, but my nephew and advisor is a little more on that side and I don't resent it. His aid and exhaustive experience in the discipline of assembling machines was indispensible. At most I might have saved $40 using a little less exciting CPU cooling system such as I installed years ago on gondolin.
The real performance boosts over gondolin come in
---------------------------------------------------------------------------------------------------------------- Vendor Price Description NewEgg $ 370 Intel Core i7-10700K 3.8 GHz 8-Core Processor Amazon $ 165 LEVEN SINBA 32GB (2x16GB) DDR4-3600MHz PC4-28800 288-Pin U-DIMM CL18 XMP2.0 Overclocking RAM Amazon $ 130 Asus TUF GAMING B460M-PLUS (WI-FI) Micro ATX LGA1200 Motherboard Amazon $ 150 Samsung 970 Evo Plus 1 TB M.2-2280 NVME Solid State Drive Amazon $ 90 Western Digital 4TB WD Blue Hard Drive-5400 RPM Class, SATA 6Gb/s, 64 MB Cache, 3.5" - WD40EZRZ Amazon $ 20 Asus 24x DVD-RW Serial-ATA Internal OEM Optical Drive DRW-24B1ST Black Amazon $ 60 Cooler Master N400 MicroATX Mini Tower Case Amazon $ 80 Noctua NH-D15S 82.52 CFM CPU Cooler Amazon $ 80 EVGA BQ 600 W 80+ Bronze Certified Semi-modular ATX Power Supply Amazon $ 40 Arctic P12 PST 56.3 CFM 120mm Fans 5-Pack Amazon $ 8 Thermaltake TG-7 grease $1178 Total (before tax, shipping free) ----------------------------------------------------------------------------------------------------------------
Everything's ordered, the memory promises to be up to a month away, but the rest should arrive over the next two weeks.
----------------------------------------------------- Component Projected arrival Vendor Arrived Thermal grease 8 January Amazon ✓ Fans 8 January Amazon ✓ Case 9 January Amazon ✓ SSD 14 January Amazon ✓ Motherboard 14 January Amazon ✓ DVD 14 January Amazon ✓ Hard drive 14 January Amazon ✓ CPU cooler 14 January Amazon ✓ Power supply 12 January Amazon ✓ CPU 12 January NewEgg ✓ Memory 21 January Amazon ✓ -----------------------------------------------------
I don't really need a gaming motherboard, but this wasn't expensive and it had pretty much everything I needed on it. It's unclear whether I'll have to add an NVIDIA card with DVI outputs in support of my two HP ZR30w monitors (2560×1600 each) which support Display Port and DVI. We'll have to see.
How does a build proceed? It's a puzzle. You have to figure out what you can assemble that doesn't prohibit something else later from being assembled. What screws will no longer be reachable if I mount this component in the case or on the motherboard?
Something else to keep in mind: tiny, essential hardware like screws, cables and other incidentals. Where do these come from? Should I buy some big box of things like this in preparation for my build? The answer is, "not usually." These things come from the large components you purchase. Whatever you buy, like a case or a motherboard, if something will mount in or on top of it, it's (the case or motherboard that, in general,) going to supply it. For example, ...
Nota bene: click on any image to see it much bigger.
Common cases in the desktop world; often, their size is vaguely described in liters, in other words, if you filled them up with water, how much would they hold. The case and motherboard for tirion is an mATX.
This started out to use a micro ATX case, the Cooler Master N200, the smallest case I have ever used. However, I needed to make use of the last expansion slot and there was no room to do that, so I replaced it with an N400. Cases come in multiple sizes. What you need to know to fit everything in is:
Visible here is the Cooler Master N200 case which I later replaced. The easy stuff to put into a case is where I start...
Ultimately, we're looking for this to happen...
Now comes the motherboard...
For the 1Tb M2 SSD, that I will be using as my boot (root) drive under Linux, the mobo came with a cooling option and hardware to mount it with. Here it is assembled:
But, I wanted to draw your attention to the "rear" screw that holds (and possibly acts as a ground). The spacer (to stand off from the mobo) and screw came (2 copies) with the mobo. I didn't realize that this is what those were for until I started looking for the mounting solution. I'm pointing at this with my screwdriver before I cover the M2 with its heatsink. |
|
I put the second spacer and screw together in the space for the second M2 should it ever be installed (for safe-keeping). See the yellow circle to the left. Also, I have reinstalled the heatsink; I removed a strip protecting the self-stick padding underneath this heatsink because it looked like that's what I was supposed to do. You can see the heatsink, as yet unmounted, and that strip in the second image (light blue in color). |
|
Next, we tackle how to cool the CPU. Because I run HandBrake, I must use a big cooler. When I built my last build, I installed the simple cooling solution Intel packaged with the i7 4790 I bought. It worked fine, but the first time I launched HandBrake, the CPU temperature shot up over 100° C. That CPU red-lined at 80° Celsius, so I had to shut it down (good thing I was paying attention) and install a Cooler Master Hyper T4. See this discussion for more details. That took the operating temperature while running HandBrake down into the 60° range. This Noctua cooler is far bigger.
When screwing things down tight, do not use excessive force. I think this will go down as follows.
|
I had originally order the memory from B & H Photo, but it was on long back-order, so I cancelled it and got it from Amazon instead.
I found this utterance which seems very relevant. Without having stumbled upon it, I would never have known.
DDR4 Ram is defaulted to 2133/2400Mhz. XMP/AMP must be manually enabled in the BIOS essentially over-clocking the RAM to the advertised speed (3600Mhz).
After the memory, which was challenging to insert underneath the CPU cooler, I was ready to comb the cables and wires, then hook them up to the motherboard. This step looks bewilderingly complex, but it's not that bad. The ASUS booklet that accompanied the motherboard, chapter 1, had a diagram. My case and lack of peripherals doesn't offer half of the cool things you can hook up. It was mostly...
russ@gondolin ~/Downloads/ISO $ ll total 1987164 drwxrwxr-x 2 russ russ 4096 Jan 19 07:04 . drwxr-xr-x 27 russ russ 12288 Jan 19 07:03 .. -rw-rw-r-- 1 russ russ 2034827264 Jan 19 07:02 linuxmint-20.1-cinnamon-64bit.iso -rw-rw-r-- 1 russ russ 397 Jan 19 07:03 sha256sum.txt -rw-rw-r-- 1 russ russ 833 Jan 19 07:03 sha256sum.txt.gpg russ@gondolin ~/Downloads/ISO $ sha256sum -b *.iso 14f73c93f75e873f4ac70b6cddc83703755c2421135a8fbbfd6ccfeed107e971 *linuxmint-20.1-cinnamon-64bit.iso russ@gondolin ~/Downloads/ISO $ sha256sum --ignore-missing -c sha256sum.txt linuxmint-20.1-cinnamon-64bit.iso: OK russ@gondolin ~/Downloads/ISO $ gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-key "27DE B156 44C6 B3CF 3BD7 D291 300F 846B A25B AE09" gpg: directory `/home/russ/.gnupg' created gpg: new configuration file `/home/russ/.gnupg/gpg.conf' created gpg: WARNING: options in `/home/russ/.gnupg/gpg.conf' are not yet active during this run gpg: keyring `/home/russ/.gnupg/secring.gpg' created gpg: keyring `/home/russ/.gnupg/pubring.gpg' created gpg: requesting key A25BAE09 from hkp server keyserver.ubuntu.com gpg: /home/russ/.gnupg/trustdb.gpg: trustdb created gpg: key A25BAE09: public key "Linux Mint ISO Signing Key" imported gpg: no ultimately trusted keys found gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) russ@gondolin ~/Downloads/ISO $ gpg --verify sha256sum.txt.gpg sha256sum.txt gpg: Signature made Wed 06 Jan 2021 09:10:08 AM MST using RSA key ID A25BAE09 gpg: Good signature from "Linux Mint ISO Signing Key <[email protected]>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 27DE B156 44C6 B3CF 3BD7 D291 300F 846B A25B AE09
Again, the nastiest thing to deal with has been monitor support. Though the Asus motherboard is superb with theoretically superb monitor support and options, just as for gondolin, this is probably only really true when running Windows.
The solution was simple, or so I thought, I'll just do what I did six years ago and put in my own video card (with 2 × DVI connectors). So, I purchased an EVGA GeForce GT 710 video card just as for gondolin I had purchased the older EVGA GeForce GT 730 video card.
Sadly, this graphics adapter doesn't solve the problem.
While Linux driver support has improved in the last six years—I got along six years ago without real NVIDIA drivers, this card doesn't work for me now whether I use the open-source drivers that come with Linux or NVIDIA's.
I downloaded and installed the NVIDIA driver and I still get only one monitor at full resolution (2560 × 1600) with the other monitor steadfastly refusing to operate at more than 1280 × 800.
I have a question into EVGA to ask them how to make this work. If I cannot make it work, I may have to try to run two HP LA2405wg monitors (maximum 1920 × 1200) instead. Or maybe three of them, if I can swing it.
Or buy new, modern monitors that give me the resolution I need. I don't game; you'd think that this whole monitor situation would treat me more kindly (speaking metaphysically here).
I finally stumbled upon a review that pointed out that EVGA nowhere admits that their...
...Dual link DVI-D is not actually dual link, it's capped at 1080p despite being stated nowhere on their own website. It's very misleading since the specs state that both ports are Dual Link. And physically the port is clearly Dual Link, the picture shows it that way. Once you reach their customer support they admit that you have to return return the 710 and buy a 740, which is double the price, but what's probably more important to me is that it may be thicker. This 710 is alread tight up against and pinching three cables to the power supply.
Running with the on-board graphics (before the EVGA adaptor), I could run one monitor at 2560x1600, but the other one only at 1280x800 (connected via DisplayPort and DVI). Once I installed the EVGA adaptor, though it has two DVI connectors on it, only one is Dual Link and I can run one monitor at 2560x1600, but the other runs at 1280x800.
Moving the second monitor back to the mobo, which ran it at 2560x1600 before I installed the extension adaptor, the monitor no longer comes up/runs at all no matter whether I choose DVI, DisplayPort or HDMI from the mobo.
I have tried with just the drivers that came with Linux Mint 20.4 and also with downloaded NVIDIA drivers, but it's as if with the EVGA, the mobo's graphics are not available.
On my last machine, I had an EVGA GeForce GT 730 with two DVI connectors and both happened to support Dual Link. (And, I didn't need the mobo's graphics.) For 6 years I was happy with these monitors, but I can no longer get that card.
My question is whether or not I can expect to run both solutions simultaneously. I am not like those who want to switch between gaming on the extension adaptor and running otherwise on their on-board graphics for everything else to save on battery. This is a desktop and I need both monitors running (to support development environments, e-mail, browsing, Slack, etc., etc. open all the time).
The reply...
Asus motherboards tend to disable the on-board graphics support when a GPU card is installed, by default. But this can be overridden in the BIOS settings.
Unfortunately it looks like Asus has simplified their motherboard manuals, and they no longer include a full description of the BIOS settings. But it might still be in the same location as in the Z390 generation of motherboards: in the BIOS settings, go to the Advanced mode, go to the "Advanced" menu, find "System Agent (SA) configuration" and under there, there should be "Multi-Monitor" or similar. Enable that, and now the Intel iGPU should activate along with the add-on GPU card.
This is what the BIOS looks like trying the above out:
Glossary
Unfortunately, this affect nothing. I tried a number of reasonable settings. This is an insurmountable problem. First, the motherboard's BIOS can't do it. Second, neither the on-board nor the EVGA GeForce video can do it. I can't add a more performant card in place of the EVGA GeForce because that slot is crammed up against the power supply.
One solution would be to rebuild the computer inside an ATX case to have more room. Wondering if I can do that, I found that...
ATX boards use 9 standoffs/screws. Micro ATX boards only use 6 standoffs/screws. ATX case will accommodate both ATX and micro ATX boards.micro ATX boards line up with the same rear panel and expansion slots that ATX boards do and the holes on the board line up with the same standoffs too. The only difference is that on a micro-ATX board, you won't be using the 3 standoffs farthest away from the CPU under the additional expansion slots that the micro-ATX board doesn't have, since the board is smaller and general won't reach out that far anyway.
ATX is an Intel standard governing:
I rebuilt this computer using the full ATX version of the mATX case I started out with so that I would have room for any graphics adapter. It went pretty swimmingly, especially compared to the first time. Moreover, I had plenty of (planned-for) room for my two 8Tb Western Digital Red spindles that have my Plex Media server content on (separately from server tol-eressea).
The adapter I chose was the one in my old (gondolin) build, an EVGA GeForce GT 730 with 2 × Dual Link DVI connectors. It runs both my monitors exactly as I need.
However, I also found (too late to use it) an NVIDIA NVS 310, model P2014, serial number 0423117015929. I guess I bought it back when I built gondolin and kept it?
This card features DisplayPort 1.2, NVIDIA Mosaic technology, and NVIDIA nView desktop-management software, and can drive up to two 30-inch displays at 2560×1600 resolution.
The nastiest thing to deal with has been monitor support. Though the Asus z87-PRO is a superb motherboard with theoretically superb monitor support and options (see above), this is only really true when running Windows. Linux hasn't got the drivers for this. I found...
The point is that if you run Linux, pray at the altar of NVIDIA: it's the only game in Linuxville.
It turns out that this card is what has got gunked up in my last build (2015) and was making all the disturbing noise. I took it apart, cleaned the fan mechanism and blades, then, using some thermal paste, put it back together. It's quieter, but the graphics cooling still makes nearly 100% of the audible noise now. I can't find this card anymore.
...to be able to run a VM under VirtualBox is enabled in the BIOS like this:
What does my new machine look like ordinarily? I have 32Gb!
root@tirion:/home/russ# free -m total used free shared buff/cache available Mem: 31950 15733 4909 664 11308 15107 Swap: 2047 36 2011 root@tirion:/home/russ# dmesg | grep oom-killer # see about dmesg (the out-of-memory process killer is not running)
...where:
(Warning signs of a low-memory situation would be...)
Here's how to deal with graphics card in the BIOS. Here are the (named) steps as you progress down into the settings:
* "Dynamic video memory technology"
If you need on-board video and video from your GPU, you must enable multimonitor. However, in my experience, this absolutely kills the performance of your host. How that is set up to avoid the performance hit I do not know.
After the build (described above) during which I enabled multimonitor (and forgot that I had enabled it), I ended up using my EVGA NVIDIA GeForce GT 730 to drive my two monitors. This worked well, but my GPU's fan needed replacing because it made a lot of noise. Also my performance was measurably hit. I endured that for several months (until July) when I began looking for a solution. I tried:
The first attempt didn't work so well, I got both monitors going, but they didn't function properly. I removed this card and sent it back to Amazon. The audio on my host stopped working. I found no way to solve that so I bought a StarTech.com 7.1 USB (External) Sound Card with SPDIF Digital Audio with a protection plan. That solved the audio trouble. The solution is vaguely inconvenient, but tolerable.
Then I installed an NVIDIA NVS 310, which has two DisplayPort connectors. Only one of my monitors worked. Enabling multimonitor support and connection the other monitor to the on-board DisplayPort worked, but the performance was awful. However, this led to me realizing that I had inadvertantly left the multimonitor option enabled in the BIOS. I disabled it, went back to the GeForce GT 730, whose fan I had just replaced, and everything works smashingly—very fast.