Implementing PCIe Over Fiber Using SFP Modules

Although we can already buy commercial transceiver solutions that allow us to use PCIe devices like GPUs outside of a PC, these use an encapsulating protocol like Thunderbolt rather than straight PCIe. The appeal of  [Sylvain Munaut]’s project is thus that it dodges all that and tries to use plain PCIe with off-the-shelf QSFP transceivers.

As explained in the intro, this doesn’t come without a host of compatibility issues, least of all PCIe device detection, side-channel clocking and for PCIe Gen 3 its equalization training feature that falls flat if you try to send it over an SFP link. Fortunately [Eli Billauer] had done much of the leg work already back in 2016, making Gen 2 PCIe work over SFP+.

The test setup involves a Raspberry Pi 5 on a PCIe breakout board and a PCIe card connected to the whole QSFP intermediate link with custom SFP module PCBs for muxing between PCIe edge connector or USB 3.0 connectors to use those cheap crypto miner adapter boards. The fiber is just simple single-mode fiber. Using this a Gen 2 x1 link can be created without too much fuss, demonstrating the basic principle.

Moving this up to Gen 3 will be challenging and will be featured in future videos, involving more custom PCBs. With Gen 5 now becoming standard on mainboards, it would be great to see this project work for Gen 3 – 5 at link sizes of x4 and even x16 so that it might be able to run external GPUs at full bandwidth unlike Thunderbolt.

Thanks to [zoobab] for the tip.

Continue reading “Implementing PCIe Over Fiber Using SFP Modules”

Running DOOM On…a TrueType Font?

Over the years, DOOM has been ported to many things; think of any arbitrary device and chances are it can run the classic shooter. But what about something more esoteric like [Artem]’s DOOM in a TrueType font?

Okay, it’s not technically a port of DOOM, but it’s still very cool. TrueType actually has a bytecode used for hints to the render and, while not made for this, it’s just complete enough for this demo to run. Either to increase the over-engineering, or just to make it all a bit easier, [Artem] makes a simple DSL and a matching compiler written in Python.

All of this allows the byte code intended to implement serifs run arbitrary code, in this case, ray casting the walls for a DOOM demo. The final bytecode is 6,580 in size and, assuming your font renderer implements this, is very playable.

While this project’s implementation of the game is a bit abstract, the version of DOOM that you can run over DNS is the real deal.

Upgrading A MacBook Neo Using A 1 TB IPhone NAND Flash

The nekkid Flash footprint with unused pads perimeter. (Credit: dosdude1, YouTube)
The nekkid Flash footprint with unused pads perimeter. (Credit: dosdude1, YouTube)

For some reason the newly introduced MacBook Neo appears to be the subject of a lot of modding, though a recent mod by [dosdude1] leans into the fact that this laptop has been assembled using what are effectively iPhone 16 parts inside a laptop case. This consequently means that there’s an overlap with certain iPhone 16 components, such as the NAND Flash. Incidentally storage on the Neo is limited to 512 GB when you purchase it from Apple, which is weird since the same SoC in the iPhone 16 Pro happily uses 1 TB.

Even if it was just a price point thing that Apple went for, there’s seemingly nothing standing between a Neo owner with a hot air gun and sheer determination. As long as you’re comfortable soldering a fine-pitched BGA NAND Flash package, natch.

Of course, there was always the possibility that Apple used a different NAND Flash package footprint, but the installed 256 GB model chip that comes installed matches the replacement 1 TB model K8A5 chip as hoped. This just left disassembly and preparing the PCB for a storage replacement. Removal of the BGA underfill and desoldering the old chip without taking out surrounding SMD parts is definitely the hardest part, but handled in the video with the equivalent of an IC spatula and a temporary removal of some capacitors.

Interestingly, the uncovered IC footprint shows a whole perimeter of unused pads that might target other NAND Flash packages. Regardless, the new chip installed fine, giving the Neo 1 TB of storage and a slightly faster read/write performance.

Continue reading “Upgrading A MacBook Neo Using A 1 TB IPhone NAND Flash”

A stick of DDR4 in DIMM format held by some alligator clips

Dodging A 60-Year-Old Design Flaw In Your RAM

Modern computers use dynamic RAM, a technology that allows very compact bits in return for having to refresh for about 400 nanoseconds every 3-4 microseconds. But what if you couldn’t afford even such a tiny holdup? [LaurieWired] goes into excruciating detail about how to avoid this delay.

But first, why do we care? It once again comes down to high-frequency trading; a couple nanoseconds of latency can be the difference between winning or losing a buy order. You likely miss all the caches and need to fetch data from the remote land of main memory. And if you get unlucky, you’ll be waiting on that price for a precious 400+ nanoseconds! [Laurie] explains all the problems faced in trying to avoid this penalty; you try to get a copy of the data on two independent refresh timers. That’s easier said than done; not only does the operating system hide the physical addresses from you, but the memory controllers themselves also scramble the addresses to the underlying RAM!

For the real computer architecture nerds, there’s a lot more to it, and [Laurie] goes over it in meticulous detail in the video after the break.
Continue reading “Dodging A 60-Year-Old Design Flaw In Your RAM”

Open Graphics Card Powers Cyberpunk “Laptop”

For once, we can avoid debating in the comments what constitutes a “cyberdeck”, because [LCLDIY] does not refer to his cyberpunk masterpiece as such — he calls it a laptop. Considering the form factor is more like an all-in-one with a built-in laser projection keyboard, that’s arguably an even more controversial label to use, but as stylish this build is, it’s what’s inside it that interests us most.

This would be much easier than the original for our old eyes, especially in the dark.

No, not the cash-register motherboard that serves as the brain, though that has got to be worth some hacker cred. No, it’s the graphics card [LCLDIY] designed to drive 10″ electroluminescent (EL) displays that really has us interested. EL screens have a unique and beautiful glow that many find captivating, but we don’t see them all that often for two reasons. One is price: if you can’t find them surplus, they’re not cheap. The other is driving them, which [LCLDIY]’s project helps with, because the graphics card is open source.

The card is PCI, so you’ll need an adapter to plug it into a modern PCIe slot, or you’d have to redesign the thing. Since this isn’t elegant-engineering-a-day, we know which we’d do. The card is based on the CHIPS65548/5 chip, which means you should be able to find driver support under Linux and Windows. [LCLDIY] seems to be using Windows 2000, but that might just be because it’s all been downhill since then.

If the cyberpunk laptop wasn’t enough inspiration, [LCLDIY] also created a giant-scale Game Boy using the same 10″ screen and DIY graphics card. The soft glow of the EL display is particularly suited to the low-res nature of the retro games, as it’s not entirely unlike a CRT. You can see it in action–both builds!– in videos embedded below.

The last time somebody posted an EL display here, they had to build the driver board for it, too. Continue reading “Open Graphics Card Powers Cyberpunk “Laptop””

DC In The Data Center For A More Efficient Future

If you own a computer that’s not mobile, it’s almost certain that it will receive its power in some form from a mains wall outlet. Whether it’s 230 V at 50 Hz or 120 V at 60 Hz, where once there might have been a transformer and a rectifier there’s now a switch-mode power supply that delivers low voltage DC to your machine. It’s a system that’s efficient and works well on the desktop, but in the data center even its efficiency is starting to be insufficient. IEEE Spectrum has a look at newer data centers that are moving towards DC power distribution, raising some interesting points which bear a closer look.

A traditional data center has many computers which in power terms aren’t much different from your machine at home. They get their mains power at distribution voltage — probably 33 KV AC where this is being written — they bring it down to a more normal mains voltage with a transformer just like the one on your street, and then they feed a battery-backed uninterruptible Power Supply (UPS) that converts from AC to DC, and then back again to AC. The AC then snakes around the data center from rack to rack, and inside each computer there’s another rectifier and switch-mode power supply to make the low voltage DC the computer uses.

The increasing demands of data centers full of GPUs for AI processing have raised power consumption to the extent that all these conversion steps now cost a significant amount of wasted power. The new idea is to convert once to DC (at a rather scary 800 volts) and distribute it direct to the cabinet where the computer uses a more efficient switch mode converter to reach the voltages it needs.

It’s an attractive idea not just for the data center. We’ve mused on similar ideas in the past and even celebrated a solution at the local level. But given the potential ecological impact of these data centers, it’s a little hard to get excited about the idea in this context. The fourth of our rules for the responsible use of a new technology comes in to play. Fortunately we think that both an inevitable cooling of the current AI hype and a Moore’s Law driven move towards locally-run LLMs may go some way towards solving that problem on its own.


header image: Christopher Bowns, CC BY-SA 2.0.

Windows 3.1 On A Modern AM5-Based PC Is Surprisingly Usable

Although Windows 95 stole the show, Windows 3.0 was arguably the first version of Windows that more or less nailed the basic Windows UI concept, with the major 3.1 update being quite recognizable to a modern-day audience. Even better is that you can still install Win3.1 on a modern x86-compatible PC and get some massive improvements along the way, as [Omores] demonstrates in a recent video.

The only real gotcha here is that the AMD AM5 system with Asus Prime X670-P mainboard is one of those boards whose UEFI BIOS still has the ‘classic BIOS’ Compatibility Support Module (CSM) option. With that enabled, Win 3.1 installs without further fuss via a USB floppy drive from a stack of ‘backup’ floppies that someone made in the early 90s. [Omores] also tried it with CSMWrap, but with this USB to PS/2 emulation didn’t work.

Windows 3.1 supports ‘enhanced mode’ by default, which adds virtual memory and multi-tasking if you have an 80386 CPU or better. To fix crashing on boot and having to use ‘standard mode’ instead, the ahcifix.386 fix for the responsible SATA issue by [PluMGMK] should help, or a separate SATA expansion card.

For the video driver the vbesvga.drv by [PluMGMK] was used, to support all VESA BIOS Extensions modes. This driver has improved massively since we last covered it and works great with an RTX 5060 Ti GPU. There’s now even DCI support to enable direct GPU VRAM access for e.g. video playback, with audio also working great with only a few driver-related gotchas.

Continue reading “Windows 3.1 On A Modern AM5-Based PC Is Surprisingly Usable”