The Intellification of AMD

Through multiple rebrands, AMD is slowing becoming the Intel we used to know and hate. This post will hopefully keep you away from these products or at least caution you to pay a fair price.

The first step in this journey was given with the 5000 series, but it became much worse with 7000: it had Zen 4, Zen 3 and Zen 2 chips in the lineup. The distinguishing feature? It ended in 20, 30 or 40.

Now we have a "40" chip with Zen 2 cores. This was entirely predictable.

Going back to 7000, there were 7520U chips that were some low cost 4 core chips with small iGPUs called Mendocino. 7735U was Zen 3(+), but this one could be passable, even if I think it should have never been "Ryzen 7" or 7700 to begin with.

It is hard to understand the Mendocino chips because they are mostly available in more expensive laptops than this 5000 chips, despite lower core counts and significantly worse iGPUs (40%+ deficit). You could since last year, and still can, buy 5700U (Zen 2 6C), 5625U and 5825U laptops for less. Even the 5625U is a perfectly fine chip for office work and will be for some years.

The (not so) new chips

What AMD released last October and which is now reaching shelves is the Ryzen 5 40. Yes, a Ryzen 5 naming convention, which in Intel lingo meant great performance for a reasonable price.

What you get here is another Zen 2, a 7y old architecture, 4 core chip dressed up as high performance. This is extremely bad consumer practices that AMD should end right here and now. There is nothing 2025 about this chip.

This is ending up in $500+ laptops which should are not really worth more than $300, with barely enough 8GB of RAM.

AMD should name this for what it is. A true Ryzen 10 (or Ryzen 1 if they really want it to) and nothing more.

Easier decoding for everyone:
  • Ryzen 5  30,  4C/8T 2.8GHz Zen 2, Radeon 610M  2CU
  • Ryzen 5  40,  4C/8T 2.4GHz Zen 2, Radeon 610M  2CU
  • Ryzen 3 110,  4C/8T 3.0GHz Zen 3, Radeon 660M  4CU (!!!)
  • Ryzen 5 130, 6C/12T 2.9GHz Zen 3, Radeon 660M  6CU
  • Ryzen 5 150, 6C/12T 3.3GHz Zen 3, Radeon 660M  6CU (higher TDP)
  • Ryzen 7 160, 8C/16T 2.7GHz Zen 3, RAdeon 680M 12CU
  • Ryzen 7 170, 8C/16T 3.2GHz Zen 3, RAdeon 680M 12CU (higher TDP)
Look at this product stack. A 4C chip from a slower architecture that will have a Ryzen 5 sticker on it. I don't even recall Intel doing something this devious. Ryzen 7 in a world of Zen 4 and Zen 5 chips is also extremely misleading for the consumer.
Zen 3 chips will land somewhere around Intel Core 5 and Zen 4 6C chips in performance, which are usually Ryzen 5 parts.

Anyhow, now you know. Stay away from these and recall to this chart if you need.

AM3 and AM4 Motherboards for Home Servers - MCE, ECC and RAS Features

ASRock AM4 Pro4 Motherboard

A while back I have built ECC platforms based on consumer hardware and found the information on the web is not really accurate.

Specifically, while ASUS AM3 boards support ECC mode and I have been using this for some years now. I have never witnessed any error being reported during this time, but I am located near the sea level which has influence on the number of cosmic rays.

There is also Machine Check Exceptions support on these platforms but the motherboard itself is hit and miss. These are useful to track errors in CPU caches and other parts, that help prevent data corruption and make you aware of damaged hardware (mostly PSU or board VRMs).

Some TLDR for CPUs:

  • AMD Phenom I/II and Athlon 64 X2 chips support error reporting through module "edac_mce_amd". This module works without ECC and reports cache or other errors related to the CPU.
  • Athlon II also works.
  • For AM4 Ryzen, APUs only support ECC if they are from "Pro" line.
TLDR for motherboard support:
  • ASUS AM3 M4A8xx motherboards officially support ECC but you should not rely on it.
  • ASUS AM4 and Ryzen support ECC through RASDaemon but only on up to date BIOS.
  • Older ASUS AM4 BIOS report through kernel methods but only uncorrectable errors(UE) are logged in '/sys' nodes.
  • All ASRock AM4 boards seem to support ECC mode, with corrected error reporting.
  • Gigabyte AM4 B550 boards mention ECC mode support.
  • Only ECC Unbuffered RAM is supported. (PC3/4-xxxxxE JEDEC specs)

On the kernel side:

  • RAM ECC is supported through "amd64_edac" module. 
  • CPU error reporting is handled by "edac_mce_amd".
Tested hardware:
  • ASUS M4A87TD/USB3
  • ASUS M4A88TD-V EVO/USB3
  • ASUS A320M-K
  • ASUS EX320M Gaming
  • ASUS ROG Strix B450-F
  • ASRock A520M Pro4

Testing Methods

At this point I've had the ASUS M4A board run with ECC RAM for 3+ years and saw no errors reported. This is not really expected even for good hardware!

The only way I see to rapidly test ECC is working is to set unstable timings with ECC disabled and confirm with Memtest86. Next, set it to on and verify it is reporting errors and/or fixing them.

ASUS AM3 Motherboards

ASUS M4A88T

The kernel itself only shows messages with no detail, no matter what kernel parameters are passed to 'mce' boot parameter:

[Hardware error] Machine Check Exception

From testing, these will be corrected errors but I don't know how it will handle uncorrectable errors, as those are harder to reproduce. There is some level of functionality here but it seems the kernel will not be aware of corruption of memory from uncorrectable errors.

The first problem is there is no additional information on what exactly the error is, so the OS will not know if it needs to kill some process to prevent data corruption. There should be additional lines after the [Hardware error] entry but the motherboards is not handling the error further.

Also, the '/sys' nodes for 'mc*' entries in edac module are not be populated with error counts. So you can't really track them over time without custom scripts that monitor the kernel log.

I don't consider ECC to be fully functional on these boards because of this, though some posts seemed to imply ECC was correctly supported.

These boards also don't report any kind of error related to CPU errors. I was first aware of this functionality when a damaged ASRock board started locking up but due to errors reported to the OS. On compatible boards, these show up on the kernel messages in the following format:

[Hardware error] Machine Check Excpetion logged
[Hardware error] ERROR DETAILS
These do not get recorded on MCE Log but are specifically handled by the kernel. ('edac_mce_amd' module) This is useful because uncorrected errors can then discard buffers or kill the process with corrupted data.

Because of ASUS not enabling this functionality, you may get some data corruption if the PSU or motherboard VRM are damaged. I would not rely on this hardware without regularly testing CPU stability with something like Prime95.

ASRock AM4


I have personally had good success with the A520M Pro 4 motherboard. When using a Zen 3, Ryzen based 5600 CPU, everything seems to work as expected. For instance, corrected errors (CE) are reported correctly:

[  988.187253] mce: [Hardware Error]: Machine check events logged
[  988.187257] [Hardware Error]: Corrected error, no action required.
[  988.187266] [Hardware Error]: CPU:0 (19:21:2) MC17_STATUS[-|CE|MiscV|AddrV|-|-|SyndV|CECC|-|-|-]: 0x9c2040000000011b
[  988.187282] [Hardware Error]: Error Addr: 0x000000008df651c0
[  988.187287] [Hardware Error]: IPID: 0x0000009600050f00, Syndrome: 0xd29d00080a800c02
[  988.187295] [Hardware Error]: Unified Memory Controller Ext. Error Code: 0
[  988.187307] EDAC MC0: 1 CE on mc#0csrow#2channel#0 (csrow:2 channel:0 page:0x15beca offset:0x2c0 grain:64 syndrome:0x8)
[  988.187315] [Hardware Error]: cache level: L3/GEN, tx: GEN, mem-tx: RD
[ 1315.867282] mce: [Hardware Error]: Machine check events logged
[ 1315.867287] [Hardware Error]: Corrected error, no action required.
[ 1315.867296] [Hardware Error]: CPU:0 (19:21:2) MC17_STATUS[-|CE|MiscV|AddrV|-|-|SyndV|CECC|-|-|-]: 0x9c2040000000011b
[ 1315.867311] [Hardware Error]: Error Addr: 0x00000000acee4840
[ 1315.867316] [Hardware Error]: IPID: 0x0000009600050f00, Syndrome: 0xd29d00080a800c02
[ 1315.867324] [Hardware Error]: Unified Memory Controller Ext. Error Code: 0
[ 1315.867335] EDAC MC0: 1 CE on mc#0csrow#2channel#0 (csrow:2 channel:0 page:0x199dc9 offset:0x40 grain:64 syndrome:0x8)
[ 1315.867343] [Hardware Error]: cache level: L3/GEN, tx: GEN, mem-tx: RD
[ 1643.548321] mce: [Hardware Error]: Machine check events logged
[ 1643.548326] [Hardware Error]: Corrected error, no action required.
[ 1643.548335] [Hardware Error]: CPU:0 (19:21:2) MC17_STATUS[-|CE|MiscV|AddrV|-|-|SyndV|CECC|-|-|-]: 0x9c2040000000011b
[ 1643.548351] [Hardware Error]: Error Addr: 0x00000000e9115f80
[ 1643.548356] [Hardware Error]: IPID: 0x0000009600050f00, Syndrome: 0xd29d00080a800c02
[ 1643.548364] [Hardware Error]: Unified Memory Controller Ext. Error Code: 0
[ 1643.548376] EDAC MC0: 1 CE on mc#0csrow#2channel#0 (csrow:2 channel:0 page:0x21222b offset:0xe80 grain:64 syndrome:0x8)
[ 1643.548384] [Hardware Error]: cache level: L3/GEN, tx: GEN, mem-tx: RD

As you can see, both EDAC interface and MCE report the memory errors that were detected during memory scrub.

This is rather important feature that allows you to detect configuration or other RAM problems that may eventually cause uncorrectable errors (UEs).

Looking at the '/sys/devices/system/edac/mc/mc0/*e_count' nodes, will give you a summary of the number of each type of error since system boot.

The motherboard also works fine with both RASDaemon and mcelog software:

  • When an hardware reboot is forced by MCE, the kernel logs the error when the system reboots. It is visible with dmesg command (dmesg | grep mce).
  • It is also acessible by running mcelog on the terminal, upon which it will be consumed from the error stack.
  • Further mcelog executions without runtime errors will return empty.
Overall, it is not surprising the ASRock has high quality support for ECC on AM4 - they have been using this type of consumer hardware on the ASRock Rack boards. They have been providing this type of hardware for server boards for many years, which is not so much the case with ASUS.

ASUS AM4
ASUS EX320M Gaming

On ASUS AM4 boards, older BIOS versions would work as the AM3 boards but memory error reporting was working correctly - you could read /sys and get error counts, or look at the kernel log.

On current BIOS, AMD has updated the error reporting to the modern RAS functionality of the Linux Kernel. You have to install RAS Daemon and use 'ras-mc-ctl' command to read error counts.

The corrected errors (CE) are reported in RAS but are not counted in EDAC 'mc*' nodes, only uncorrected errors. The kernel handles UEs and won't reboot the system if the process is non-critical or hits a page cache, which is discarded.

CPU related MCE/RAS may require some register tweaking, according to AMD's documentation for these CPUs. I have managed to reproduce CPU crashes by undervolting, with no errors reported in the kernel or RAS Daemon.

Other AM4 Brands

Gigabyte AM4 based on B550 and X570 chipsets are explicitely listed to support ECC mode with unbuffered DIMMs. Boards with A520 chipsets mention ECC but not explicitely "ECC Mode", which may mean it will work normally with ECC DIMMs but not offer the same advanced functionality.

All series of these boards seem to work as long as you select one of those two chipsets.

Gigabyte A520I AC I managed to also boot with ECC and there are a lot of configuration options related to ECC. Further testing is needed on this brand.

Lexar microSD 633x 128GB Review

Last time I reviewed an oldie, but today we're looking at a current Lexar microSD flash card. It is part of the '633x' branded cards:
  • A1 app performance class,
  • U3 UHS performance class (30MB/s),
  • V30 video performance class.
  • Lexar specs for 128GB model is 100MB/s read and 30MB/s writes.
  • 32 and 64GB models don't list write speeds above the already rated by V30/U3 class.
Lexar is, since 2017, part of the chinese company Longsys. Current microSD cards and USB drives may have no resemblance to the ones manufactured by Micron. Flash is usually from Micron but that may not always be the case.

It is available in 32 up to 512GB sizes:
  • Amazon US, ~$10: link (prices have gone up a lot in 2026)
  • Amazon UK, ~£9: link

These are now generally available everywhere in the world.

Switch 2 Console Price Drops in Europe

UPDATE Dec 1st: Prices have dropped further for the MKW bundle. The console is being sold for 399€, with an extra 10% cash in coupon and a free extra game. For the extra game, many SW1 titles are available as is Cyberpunk or Pokemon Z-A SW2 version.

In a bit of welcome news, it seems the highly sought after Nintendo Switch 2 has seen a price drop of 10€ for the Mario Kart World bundle, with a further 70€ with coupon on a select store (worten.pt). That brings the price of the bundle down to 430€.

This is from a reputable retailer that has had VAT off promotion last week (23% off), which would be slightly cheaper still at 413€ given RRP of 509.

This is not the first time Nintendo has cut game and system prices in the Iberian countries, where purchasing power and demand seems to be somewhat lower than elsewhere in the EU. This is also not surprising considering that the PS5 has outsold the Switch 2 in the EU, almost by double in Sept and for an even bigger margin in the first week of October. (data by VGChartz)


The base pack is also available with a 75€ coupon on AliExpress. This is from a well rated Spanish seller, though the usual Ali Express may apply. This is a store that has been on the platform for one year and I have not made high value purchases from the site, so I don't know how it would be handled if there is some problem with the item.

With the warnings out of the way, this brings the price of the base console to 395€.

While the purpose of this blog isn't gaming per se, I thought it would be interesting to share this information about hardware prices, given price increases that have occurred this year (especially on game consoles)

Linux Distros for Gaming

2025, year of Linux Gaming

Linux for gaming has been a big discussion since Valve released SteamOS and the Steam Deck.

I have been using Steam on Linux for a while and mostly agree this is great, as it is now quite mature compared to two or three years ago.

In this post, we will look at what new users can expect and what options they should use for a mostly hassle free experience.

Linux Browsers - X11 vs Wayland Performance


(Updated Dec. 19th, 2025)

Firefox, on Gnome, runs through the XWayland layer by default. This causes issues if you want to use screen scaling, as everything will look blurred. You can fix it by forcing native Wayland which, by the way, also enables better support for touchscreens. Double win.

Firefox now defaults to Wayland natively, as does Chrome. 

I also recommend switching to a Wayland compositor for modesetting drivers, as some drivers experience vertical tearing on Xorg but not on Wayland.

TLDR

To enable native Wayland on Firefox, put the MOZ_ENABLE_WAYLAND=1 flag on the desktop launcher or before "firefox" on the command line.

For Google Chrome, open "chrome://flags" and change "Native Ozone Platform" to Wayland or Auto.

System Setup

Acer Laptop SP111-31. It is a very old, slow system, where there is more variation between browsers.

For 2022, it was the same system running on the Celeron N3350. Starting with 2024, I upgraded to a quad core N3450, which has two more cores and 200MHz less of boost.

Software

The OS used was Mint 20 in 2022, which was updated to 21.2 in 2024. Because of this, there may be kernel and library related changes that have some performance implications for these benchmarks. Nevertheless, I think it is better to have a suite that is more representative of current performance than not.

What has become apparent is that current performance on this machine, in June 2023, has increased substantially at least for Speedometer 2.0.

I have refrained to move to Speedometer 2.1 as it is faster. I may restart the benchmarking at a later time on that version. Speedometer 3.0 is too slow to run on this particular hardware.

I have also changed the CPUFreq scheduler to 'ondemand', as the default 'schedutil' has always been noticeably slower for me, accross a range of hardware.

Browser support

Edge does not support native Wayland at this time, while Chrome does. Edge on Linux is till a work-in-progress.
Firefox supports both and now enables Wayland when running under a compatible compositor.

Speedometer 2.0 tests

With this I also decided to test performance on the new display server protocol, compared to Xorg. The browser benchmark of choice, has been Speedometer.

Results - N3450 (2.2 GHz):

Chrome  130 (X11)      - 48.10 / 48.96 (max)
Chrome  129 (X11)      - 47.39
Firefox 131 (X11)      - 40.75

Results - N3350  (2.4 GHz):

Chrome 143 (Wayland)   - 52.10 / 2.00%
Chrome 114 (Wayland)   - 40.40 / 1.00%
Chrome 114 (XWayland)  - 41.10 / 0.67%
Chrome  95 (X11/XFCE)  - 33.20 / 1.00%

Chrome  ?? (X11/XFCE)  - 35.30
Chrome  ?? (XWayland)  - 36.80
-----
Edge   114 (XWayland)  - 29.00 / 1.20%
Edge    95 (XWayland)  - 24.50 / 0.60%
-----
Firefox 143 (Wayland)  - 40.40 / 2.70%
Firefox 143 (X11/XFCE) - 40.70 / 1.40%
Firefox 138 (Wayland)  - 38.30 / 2.50%
Firefox  93            - 23.90
Firefox (XFCE)         - 25.27
Firefox (XWayland)     - 25.13
Firefox (Wayland)      - 27.78

Conclusion

Definitely better performance, even for Chrome running over XWayland. On Firefox only native improves results and, as usual, trails Chrome quite a bit in benchmarks. More recent hardware sometimes is more up to speed with Chrome/Edge and Windows performance is different than Linux. IIRC, Chrome is slower on Windows vs Linux, Firefox is faster.

For this machine, I have been opting to use Firefox because of support for VA-API video acceleration and for some reason Chrome lags a lot while switching tabs or opening new ones.

Have you tried it, what are your thoughts?

GeForce Now Linux with VAAPI Hardware Acceleration

So, being mostly a Linux user has caused me issues with GeForce Now. It is supported but unless you have hardware that is very capable of software decoding, it is going to be slow or very limited.

Google Chrome supports it well but there is no official VAAPI/LIBVA support, which only works for Chromebook devices. On the other hand, Firefox supports video acceleration out of the box nowadays but GeForce Now is not compatible. So this is mostly focused on GFN but you could use these instructions for other websites.

People seem to have had success with patched versions of Chromium but I have found that this has so many levers to pull that I decided to add some information to the discussion. Here is what worked for me.

Software and Hardware

I am running Linux Mint with an old Intel N3450 "Apollo Lake", with Chromium version 131. Any version higher or lower may not work due to different flags or even distro specific compilation flags.

This hardware is quite slow for software decoding but can decode via hardware for pretty much everything, except for 10bit VP9 and AV1.

On Mint and Debian based Linux, you need to install:
  • intel-media-va-driver-non-free
  • intel-gpu-tools (to use "intel_gpu_top")
  • libva-glx2
  • libva-drm2
  • libva-x11
  • vainfo
For other hardware, I haven't tested yet but I think AMD Radeon will have already enough Mesa plumbing that it just works.

You should then run 'vainfo' to make sure everything is working well:
libva info: VA-API version 1.14.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.14 (libva 2.12.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.3.1 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileNone                   : VAEntrypointStats
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointFEI
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointFEI
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointFEI
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointFEI
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD

 VAEntryPointVLD means it is decoder, for each line, and EncSlice means there is decoding support.

Chromium

Let's say I have had many issues getting this to work well, since everyone seems to be hanging on older flags that seem rather useless.

Browsing for recent code reviews, it seems the new flag is AcceleratedVideoDecodeLinuxGL, like so:
--enable-features=AcceleratedVideoDecodeLinuxGL

The other requirement is that this only works on X11, so you need to go to the "chrome://flags" URL and set the Ozone platform to force X11.

I will updated this if something changes.

GeForceNow Silliness

I have not managed to get Gnome + Wayland working without this going over XWayland.

For some bizarre reason, GFN reports Chromium as unsupported when running Chromium natively on Gnome/Wayland.

There is no amount of extensions that will fix this, you just need to run it over X11. User agent seems to always report X11, so it is likely the browser is sending other types of hints.

Some years ago, spoofing the user agent would make it work and work well. Now, it doesn't.

I think you can create a profile just for GeForce Now and have that load with X11 Ozone. But Chromium is usually much slower due to a lack of Profile Guided Optimizations (PGO), so you're better off with Chrome for most of the browsing. (especially on a slower machine!).

Encoding Support

I haven't found many reports on the web but you can also enable video encoding for other types of apps.

Just add the new flag, so the command line is:
--enable-features=AcceleratedVideoDecodeLinuxGL,AcceleratedVideoEncoder

The "GPU Internals page" will show decoder information, so you know it is working correctly:


 Let me know what is your experience and if you got it working this way.