Realtek: The Crab
Yesterday we profiled Broadcom — a company that is actively hostile to open source. Today we profile a company that is something worse.
Indifferent.
Realtek Semiconductor is a Taiwanese chip company founded in 1987. They make Ethernet controllers, WiFi chips, audio codecs, and card readers. Their products are in everything. Not in everything expensive — in everything cheap. If your laptop cost under $800, there is a Realtek chip inside it. If your USB WiFi adapter cost $8, it has a Realtek chip. If your motherboard makes sound, there is a Realtek audio codec between your CPU and your speakers.
In Taiwan, Realtek NICs are called “crab cards” (螃蟹卡) — a reference to the crab in Realtek’s logo. The name stuck because crabs are bottom-feeders. So are the chips. I do not mean this as an insult. I mean it as a market position.
Realtek achieved 70% global market share in 10/100M Ethernet controllers by 2003. They held 50% of the audio codec market the same year, rising to 60% by 2004. They did this not by making the best chips, but by making the cheapest chips that still function.
Broadcom is hostile because they choose to withhold. Realtek is worse because they do not even bother to choose. They dump the code and walk away. What happens after is not their problem.
The RTL8139: The Chip That Won by Losing
The Realtek RTL8139 is the most successful network interface chip in history. Not because it was good. Because it was cheap enough to put in everything.
In the late 1990s and early 2000s, the RTL8139 was the default NIC in every budget motherboard, every no-name PCI Ethernet card, every beige box assembled in a warehouse. The chip won the Innovative Product Award from the Hsinchu Science Park Administration in 1995 — an award for innovation given to a chip whose primary innovation was costing less than the competition.
The Linux driver for the RTL8139 is 8139too.c. That name is not a joke — though it reads like one. Jeff Garzik wrote it around 2000. It has been in the kernel ever since. The RTL8139 is so simple, so well-documented-by-accident, and so ubiquitous that it became the standard tutorial NIC for operating system development. If you have ever written a toy OS kernel, your first network driver was probably for the RTL8139.
This is Realtek’s legacy: a chip so cheap and so simple that it became the “Hello World” of driver development.
The WiFi Situation:
Realtek’s WiFi division makes Broadcom look almost cooperative.
Broadcom was hostile — they actively refused to provide documentation, shipped proprietary drivers, and fought the community. But eventually, under pressure, they released brcm80211 and engaged (minimally) with the kernel process.
Realtek’s approach is different. Realtek writes drivers. They release the source code. Then they leave.
The code they release is not Linux kernel code. It is Windows driver code with an abstraction layer. The same codebase that compiles for Windows, compiled for Linux with a shim. It does not use mac80211. It does not follow kernel coding standards. It does not integrate with the kernel’s wireless infrastructure. It is a foreign body dropped into the kernel source tree like a crab dropped into an aquarium.
The Linux kernel developers have been clear: Realtek’s vendor drivers are low quality code that does not meet the standards required for inclusion in the mainline kernel. Realtek refuses to work with kernel developers to improve the code. They do not track kernel API changes. They do not respond to review feedback. They do not actively maintain what they ship.
Realtek’s out-of-kernel driver development ended in 2021. They stopped. The drivers they had dumped on GitHub — for the RTL8188, RTL8821, RTL8812, and dozens of other chips — were abandoned at whatever kernel version they last compiled against.
The GitHub Graveyard:
Search GitHub for “rtl8” and behold the graveyard:
rtl8821ce— community-maintained, not by Realtekrtl8821CU— community-maintained, not by Realtekrtl8188eu— community-maintained, not by Realtekrtl8812au— community-maintained, not by Realtekrtl8192fu— community-maintained, not by Realtek
Each repository is a fork of a fork of a fork of Realtek’s original SDK dump, patched by volunteers to compile against newer kernels. The maintainers are not Realtek employees. They are users who bought a $8 WiFi adapter and discovered it did not work on Linux.
One maintainer — Larry Finger, known as lwfinger — maintained multiple Realtek WiFi driver repositories for years. He backported the rtw88 and rtw89 drivers from the wireless-next kernel tree so that users with older kernels could have working WiFi. One person. Maintaining drivers for a company with billions in revenue.
The Realtek out-of-kernel drivers are not Linux Wireless Standards compliant. They do not use mac80211. They appear to be designed for embedded systems built by engineers who have access to the full SDK — not for end users who plug in a USB adapter and expect it to work.
| Chip | In-kernel driver | Status | Notes |
|---|---|---|---|
| RTL8139 | 8139too | Stable since 2000 | Ethernet, simple, works |
| RTL8111/8168 | r8169 | Stable | Gigabit Ethernet, works |
| RTL8188EU | rtl8xxxu | Limited | No 40MHz, no power management |
| RTL8821CE | rtw88 | Broken for many revisions | Kernel 5.9 version incompatible with most chips |
| RTL8821AU | rtw88 (kernel 6.14+) | Recent | Only good quality as of kernel 6.14 |
| RTL8812AU | Out-of-tree only | Community | Likely a dead-end for Linux |
Some chips will never have an in-kernel driver. The RTL8821AU and RTL8812AU series were declared likely dead-ends for Linux users. If you bought a USB WiFi adapter with these chips, the community’s advice is: do not buy more.
The Audio Codec:
Realtek’s ALC series audio codecs are on every motherboard that is not marketed as “audiophile grade.” The ALC892, ALC1220, and their variants handle the sound output for most desktop computers on Earth.
They crackle.
This is a known issue across Windows and Linux. The ALC892 rapidly switches outputs between analog output and analog headphones, causing pops and crackles. The fix on Linux is to disable Auto-Mute in alsamixer — a workaround discovered by users, not provided by Realtek. On Windows, the fix is often to disable Realtek’s own audio enhancements, or to replace the Realtek driver with a generic Windows audio driver. The generic driver produces better audio than the vendor’s own driver.
The chips cost pennies. The audio quality reflects this. Motherboard manufacturers use Realtek codecs because they are cheap enough to be rounding errors in the bill of materials. The crackling is a feature of the price point.
The Comparison:
| Aspect | Broadcom | Realtek |
|---|---|---|
| Hardware quality | Excellent | Adequate |
| Driver quality | Proprietary but functional | SDK dumps, abandoned |
| Community engagement | Hostile | Absent |
| Kernel collaboration | Minimal | None |
| Response to bugs | Slow | None |
| Market position | Premium | Budget |
| Attitude | ”You need us" | "We don’t care” |
| BSD support | None (until recent efforts) | None |
Broadcom knows you need them and charges accordingly. Realtek does not know you exist. Both outcomes result in the same thing: the community writes and maintains the drivers.
Why Realtek Gets Away With It:
Realtek chips cost almost nothing. The RTL8139 was chosen for budget NICs because it was the cheapest option that technically functioned. The WiFi chips are chosen for USB adapters because they cost less than a dollar in volume. The audio codecs are chosen for motherboards because they cost less than the capacitors next to them.
At this price point, the expectation of support disappears. Nobody calls Realtek to complain about a $8 USB adapter. Nobody files a bug report with a company that does not read bug reports. The chips are disposable. The drivers are disposable. The community is not disposable, but Realtek treats it as if it were.
This is the economic reality of bottom-of-the-market silicon. Realtek’s business model does not include software support. Their business model is: design a chip, sell it to OEMs for cents, and let someone else worry about making it work. If the community writes a driver, good. If they do not, Realtek will sell the same chip to a different OEM who does not care about Linux.
The Lesson:
Broadcom is a company that makes a conscious choice to be hostile. You can negotiate with hostility. You can pressure it. You can shame it. Broadcom eventually released open-source drivers, not out of kindness, but because the pressure exceeded the cost of compliance.
Realtek is indifferent. You cannot negotiate with indifference. You cannot shame a company that does not attend the meeting. Realtek’s WiFi driver code was abandoned in 2021 and they have not looked back. The community maintains everything, and Realtek saves the cost of a driver team.
In the vendor hostility spectrum, Broadcom is the dictator who oppresses you. Realtek is the landlord who never fixes the plumbing. One is cruel. The other simply does not care. Both leave you without working WiFi.
The crab does not care about your operating system. The crab has 70% market share and costs fifty cents. The crab wins by not competing.
In the Republic of Derails, we do not use crab cards. Not because of principle — because the crackle in the audio codec was interfering with the national anthem.
— Kim Jong Rails, Supreme Leader of the Republic of Derails