The AceMagic AM18 Linux Gaming Experience

If you’ve been tracking my , you’ll know that I’ve been on the lookout for a small, powerful, and quiet Ryzen desktop and mini-server. I’ve been using a for almost three years now and it’s been a great experience, but I wanted to explore the desktop side of things, especially since my have shown that ARM-based servers are at an interesting inflection point for running small AI models, and I just had no real data on AMD‘s capabilities in that space.

Ryzen-based mini-PCs have been around for a while, but the previous generation of mobile processors (like the 4700U and 5700U) never quite managed to get traction in that space. Now, with Intel leaving the NUC segment to its licensees and a resurgence of interest in small, powerful desktops with good integrated GPUs (thanks in large part to the Steam Deck and its custom APU), there’s a lot of possibilities to explore.

The Quest

In short, I was looking for something that had a better iGPU and could handle virtualization workloads without excessive power consumption, since my experiences with and the has shown me that Intel CPUs have spread out into extremes where they either consume too much power for the performance they deliver or are just built too cheaply.

The AceMagic AM18, in all its RGB glory (don't worry, it can be turned off).

So when I stumbled upon the AceMagic AM18 and saw that it was based on the 7840HS–a 4nm process, 8C/16T processor that can go up to 5.1GHz–I decided to give it a try.

Disclaimer: AceMagic sent me a review unit (for which I thank them), and this article follows my . Also, as usual, I purposely avoid doing any detailed price comparisons.

The Plan, and a Change of Plans

However, with ollama starting to support AMD graphics this week and my having some trouble in (and ) dealing with ROCm and ZLUDA, I decided to split this review in two:

  • This post focuses on the hardware and a little detour through the Linux gaming experience (let’s admit it, I need a little fun)
  • A second piece (that is about 1/3rd done, but struggling to get finished due to several challenges with ROCm) will circle back to the AI and homelab side of things

So let’s get started.

Hardware

The AceMagic AM18 is, as you would expect, nice and compact, following the usual NUC-like flattened cube form factor with ports on the front and back. It’s a bit larger than a NUC and has a large cooling fan on top, but it’s small enough to fit under a monitor or under a TV (which is actually where I kept it the week it arrived).

The model I received had the following specs:

  • AMD Ryzen 7 7840HS (4 nm, 8C/16T, turbo up to 5.1 GHz)
  • 32GB DDR5 RAM (in a nice dual-channel configuration using Crucial CT16G56C46S5.M8D1 SODIMMs, rated for 5600MT/s, and, interestingly enough, mentioned by Crucial as having on-die ECC support)
  • 512GB M.2 2280 NVME SSD (in a PCIe 4.0 slot) that identifies itself as a RS512GSSD710 from TenaFe and (unusually for mini-pcs) has a built-in temperature sensor.
  • 4xUSB-A 3.0 ports (two in the front, two in the back. Confusingly, the back ones are black and the front ones are blue)
  • Three display connectors (USB-C in the front, HDMI and DisplayPort in the back–I would have preferred two HDMI ports, but they are all rated for 8K@60Hz, and use the amusingly named “Pink Sardine” AMD chipset.)
  • An internal M.2 RTL8852BE Wi-Fi 6/Bluetooth 5.2, which sits underneath the SSD.
  • 2 Ethernet ports (2.5Gbit/s and 1Gbit/s, both Intel chipsets)
  • A beefy external USB-C 100W PSU, rated at 20V/5A.

The front also has a TTRS audio jack and a power button. There are no Kensington lock slots, which might deter business users, but the machine is small enough to be easily hidden away.

I also got a VESA mount, display cables, etc., but, interestingly, no SATA cables or brackets–the reason for that only became clear when I opened up the machine:

Internals

The engineering in this is pretty impressive.

The machine is relatively easy to open for cleaning and expansion–the top four decorative screws provide easy access to the fan for cleaning (but not removal), whereas (sadly) you need to remove the rubber feet to get at the bottom screws that allow you to pop the bottom cover.

Once you remove the bottom, it’s easy to see why there is no SATA cable supplied–the single NVME slot is all that you get for storage expansion, and even though the plastic is moulded to hold a 2.5” drive, the bottom fan is mounted in that slot.

It’s not necessary to remove the internal bracket to access the Wi-Fi card, but I did it anyway, and it revealed the CMOS battery, a UART header tucked near the USB ports (which seems really interesting to play with later) and a (pinless) debug header, plus a red CMOS clearing jumper and assorted wiring.

Before you ask (since I have purposefully delayed mentioning it), the RGB lighting can be controlled only via the front button, and can fortunately be turned off entirely.

I did find the white setting to quite useful when trying to work around the machine under my TV, and I suspect it will come in even handier when I move it to my server closet.

Software and BIOS Settings

The machine arrived with a basic Windows 10 Home install that has been customized to (at least) include some chipset drivers and Google Chrome:

Almost vanilla Windows, but no apparent bloatware.

I am not a fan of anything being added to the Windows images except drivers (and AceMagic has recently had to change their base images), but I understand that there are markets where this is a requirement or preference. I did not find anything wrong with the install, but since I need at least Windows Pro for working and my plan was to use it as a Linux machine, I wiped the install and set up on the internal SSD, and then later replaced the internal SSD with a 1TB one to run (which I will write about in a follow-up post).

I did, however, take a look at the BIOS settings, and found them to be quite comprehensive:

Most of the BIOS options, including some I found particularly interesting.

Things I liked to see, and intend to use in a server configuration:

  • AC Power resume
  • Wake-on-Lan and RTC wake
  • Power Configuration and Limits
  • Basic fan curve control
  • PXE boot
  • IOMMU and PCIe features

Unlike my 5700U machine, I did’t see any obvious way to pre-allocate RAM to the iGPU, but I suspect that’s just because it is a different chipset.

If you’re curious, I have an annex with the output from sensors and lshw that I am using as a basis for tweaking the setup I’ll be posting about in the second part of this review.

Linux Gaming

Since the machine arrived on a day when I had not a whit of clear desk space in my office on account of my testing it went directly to my living room, where I plugged it into a power monitoring socket next to my TV.

Linux setup was as easy as installing the bazzite-gnome-deck spin of , rebooting, and then setting the resolution to 1080p–and after going through the initial install wizard and configuring , it felt pretty much like any game console would.

A pleasant surprise was that the M780 iGPU detected my TV without any issues–it is a relatively old LG that goes up to 4K 120Hz with HDR support, and I was able to set it at anywhere between 1080p/60Hz to 4K/120Hz without any issues.

I eventually trimmed it down to 1080p/120Hz to make sure I could get a decent frame rate–the AMD Radeon M780 iGPU can handle the full resolution for regular desktop work, but there was no point in harming the gaming experience1.

I then paired an Xbox controller via Bluetooth, and started downloading my library.

Wi-Fi, Power Consumption and Noise

That helped me get an early start on testing power consumption and Wi-Fi speeds–impressively, it was able to download my Steam library at a peak 480Mbps, which is only slightly less what gets on a wired Gigabit connection–and I don’t have Wi-Fi 6 in my house yet:

Several measurements of Wi-Fi speed.

The power consumption was also quite good, and I was able to measure it at various loads:

Operating System Power (W) Notes
Bazzite (Fedora 39) 60.3

Gaming (Steam, average over the games listed)

50.9

Steam downloads over Wi-Fi

45.6

Gaming (Emulation)

21.7

Booting

11.2

Idle, TV/display on

0.1

Suspend

This will, of course, be expanded upon in the server part of this review, but I was quite pleased to see that the machine was able to idle at around 12W and consume less than 100W under heavy load.

As to noise, and being extraordinarily fan-averse to the point of , I was quite pleased to find that the fan was generally barely audible even when gaming, and I could only notice it for a few seconds at a time when under heavy load.

But I did place the machine squarely under the center speaker of my audio setup, so it was a bit of a moot point–I suspect it would be more noticeable (and annoying) if I had it right beside me–but I will eventually do more detailed measurements when I get around to posting the server part of this review.

The good thing is that tweaking the fan curves in the BIOS is a feasible option on this machine–plus the sheer size of the top fan (in mini-PC terms, it’s pretty massive) means that it is relatively quiet and completely non-whiny even when running at full speed.

Game Compatibility and Emulation

Throughout that first week I installed a few games and emulators to test over the evenings, and was able to play a few hours of , Borderlands 3, Hades and Stray without any issues.

I also synced my setup and experimented with a few emulators, and everything worked fine other than dual control presses in the 8bitdo Ultimate Controller I tried to use for a particular game–but that’s just the combination of a couple of rough edges in and .

As you’d expect, everything flagged as Steam compatible “just worked”. I only had trouble with Horizon: Zero Dawn, which is known to be fickle and does work on my , but I suspect it’s just a matter of getting a few more Proton/AMD updates down the line:

Frame rates in various games, all at 1080p

I also emulated on the very evening it was rendered extinct, and it was… glorious, both in 1080p and in 4K (although I think the M780 is smack in the middle between smooth 1080p/30fps and 4K/30fps). Even without any immediate way to tweak the frame rate, I suspect 1080p/60fps is well within reach.

Benchmarking

I will be doing more detailed benchmarking in the follow-up post, but I did want to run a throughput test on the shipping PCIe 4.0 SSD for later comparison:

# fio --filename=/<path>/file --size=5GB --direct=1 --rw=randrw --bs=64k --ioengine=libaio --iodepth=64 --runtime=120 --numjobs=4 --time_based --group_reporting --name=random-read-write --eta-newline=1
random-read-write: (groupid=0, jobs=4): err= 0: pid=7251: Sun Mar 17 18:20:12 2024
  read: IOPS=115k, BW=7218MiB/s (7568MB/s)(846GiB/120001msec)
    slat (usec): min=4, max=2551, avg= 9.39, stdev= 2.54
    clat (usec): min=10, max=4139, avg=1091.34, stdev=72.41
     lat (usec): min=17, max=4155, avg=1100.73, stdev=72.50
    clat percentiles (usec):
     |  1.00th=[  938],  5.00th=[  979], 10.00th=[ 1004], 20.00th=[ 1037],
     | 30.00th=[ 1057], 40.00th=[ 1074], 50.00th=[ 1090], 60.00th=[ 1106],
     | 70.00th=[ 1123], 80.00th=[ 1156], 90.00th=[ 1188], 95.00th=[ 1205],
     | 99.00th=[ 1270], 99.50th=[ 1287], 99.90th=[ 1418], 99.95th=[ 1532],
     | 99.99th=[ 2057]
   bw (  MiB/s): min= 7004, max= 7437, per=100.00%, avg=7221.87, stdev=17.80, samples=956
   iops        : min=112078, max=119006, avg=115549.98, stdev=284.76, samples=956
  write: IOPS=115k, BW=7215MiB/s (7565MB/s)(845GiB/120001msec); 0 zone resets
    slat (usec): min=6, max=2872, avg=23.47, stdev= 6.27
    clat (nsec): min=1272, max=4136.1k, avg=1092150.09, stdev=72495.42
     lat (usec): min=9, max=4156, avg=1115.62, stdev=72.91
    clat percentiles (usec):
     |  1.00th=[  938],  5.00th=[  979], 10.00th=[ 1004], 20.00th=[ 1037],
     | 30.00th=[ 1057], 40.00th=[ 1074], 50.00th=[ 1090], 60.00th=[ 1106],
     | 70.00th=[ 1123], 80.00th=[ 1156], 90.00th=[ 1188], 95.00th=[ 1205],
     | 99.00th=[ 1270], 99.50th=[ 1287], 99.90th=[ 1418], 99.95th=[ 1532],
     | 99.99th=[ 2057]
   bw (  MiB/s): min= 7014, max= 7312, per=100.00%, avg=7218.74, stdev= 9.64, samples=956
   iops        : min=112230, max=117002, avg=115499.83, stdev=154.17, samples=956
  lat (usec)   : 2=0.01%, 20=0.01%, 50=0.01%, 100=0.01%, 250=0.01%
  lat (usec)   : 500=0.01%, 750=0.01%, 1000=8.92%
  lat (msec)   : 2=91.07%, 4=0.01%, 10=0.01%
  cpu          : usr=9.18%, sys=90.07%, ctx=11180, majf=0, minf=54
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
     issued rwts: total=13858307,13852536,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=64

Run status group 0 (all jobs):
   READ: bw=7218MiB/s (7568MB/s), 7218MiB/s-7218MiB/s (7568MB/s-7568MB/s), io=846GiB (908GB), run=120001-120001msec
  WRITE: bw=7215MiB/s (7565MB/s), 7215MiB/s-7215MiB/s (7565MB/s-7565MB/s), io=845GiB (908GB), run=120001-120001msec

That’s a whopping 115k IOPS, which is very impressive for a vendor-supplied SSD and should be more than enough for most workloads. It might even be slower than the one I got for testing … but we’ll see.

Conclusion

From a gaming perspective (and from someone who just ), the AceMagic AM18 is very solid, and as a first hands-on experience with a 7840HS-based machine, it’s quite impressive in terms of performance and power consumption.

This becomes ever more apparent if I compare it with , which is nominally more powerful and acting as a streaming server but, in the end, provides a similar gaming experience on my TV at the expense of a lot more power (and heat).

And yes, the AceMagic AM18 can be a / server as well–I tried it out of curiosity and it worked fine on lighter games, but the reason I wanted to test it was really to understand the limits of the AMD APU architecture, and I’m trying really hard not to go down any more rabbit holes right now.

But if you came here looking for a small, powerful, and quiet desktop that can, perhaps, replace your conventional console, I’d have to say maybe. And that’s simply because comparing the AceMagic AM18 directly with a console is a bit unfair in either direction.

If you’re still looking for a bias on my part instead of a fully formulated opinion, then I’d say that spec-wise it is a good match for the current generation of consoles if you don’t care about AAA 4K gaming or console exclusives2.

And I’d leave it at that until Proton gets more optimizations for this new crop of Ryzen APUs.

But at this power envelope, I’m really impressed. It’s not Apple Silicon, but definitely the next best thing in terms of average performance per watt.


  1. The only teething issue I had was apparent lack of HDMI-CEC support–I do have an HDMI switch in between that also has other (working) devices plugged into it, and I still had to fiddle with buttons to switch inputs. I suspect that’s a combination of the M780 iGPU and , and there were no obvious BIOS settings to tweak. ↩︎

  2. And if I , the idea of replacing a console with a -based home theatre PC is something I might do myself some day. ↩︎

On Notes, This Site and Other Things

Somewhat like , I decided to put my on hold again–just a bit earlier than Easter this time.

Read More...

Notes for March 11-12

When things are so-so, they can always get worse. Much worse, often in multiple dimensions at once.

Read More...

Notes for March 4-10

A busy, exhausting work week punctuated by surreal moments that shall remain forever .

Read More...

The Orange Pi Zero 3

Around early February, I got a little extra something in the mail: An Orange Pi Zero 3, which is (yes, you guessed it) yet another single-board computer–not based on the RK3588, but on the AllWinner H618 SoC, which is a lower end quad-core ARM Cortex-A53 running at 1.5GHz:

Read More...

Notes for February 26-March 3

Bit of a stressful week. Weather didn’t help, although I did get some random exercise in. Managed to get a lot done on personal terms despite multiple late night meetings.

Read More...

A Review Of The Two Trees SK1

My journey into 3D printing started with a Prusa clone I built from a kit, and has moved forward in fits and starts. Last year into it, and now things have escalated yet again–for I have spent the past month testing the Two Trees SK1, a solid CoreXY machine that has the build quality and the open software stack I have been looking for:

Read More...

Notes for February 19-25

This week was a mixed bag all around, with some yak shaving, a refreshing amount of coding (including low-level MCU development) and quite a bit of writing.

Read More...

Living With Our Machine Sidekicks

I’ve been using GitHub Copilot (and various other similar things) for a long while now, and I think it’s time to take stock and ponder their impact.

Read More...

Building OpenAI Writing Aids as macOS Services using JavaScript for Automation

A couple of days ago I came upon NotesOllama and decided to take a look at how to build a Service that would invoke Azure OpenAI to manipulate selected text in any editor.

Read More...

The Logitech K380

This is one of those pieces of gear that I’ve sat in front of for years and never actually wrote about–either because it was too obvious, or because it seemed too trivial.

Read More...

Notes for February 12-18

It was an interesting week, with a turn away from SBCs and a return to a bit of hardware-related coding.

Read More...

Notes for February 5-11

A rainy, soggy, somewhat intense week. I almost enjoyed it.

Read More...

A Review Of The YouYeeToo R1

A little while after writing about the , I got another single-board computer in the mail that I was quite excited about (and still am).

Read More...

Archives3D Site Map