How To Install Realtek Wifi Drivers on openSUSE

You just finished installing openSUSE, you open the network settings, and your WiFi adapter is completely invisible. No wireless interface, no networks listed, nothing. This is one of the most common problems Realtek adapter owners face on openSUSE, and it happens because many Realtek chips require drivers that are not bundled with the default kernel. This guide walks you through exactly how to install Realtek WiFi drivers on openSUSE, covering three proven methods so you can get your wireless connection working regardless of your chipset model.
Realtek produces some of the most widely used WiFi chips in the world, found in budget laptops, USB dongles, and PCIe cards. The frustrating part is that popular chips like the RTL8821CE, RTL8852BE, and RTL8812AU often ship without out-of-tree driver support in the Linux kernel included with openSUSE Leap or Tumbleweed.
This guide covers openSUSE Leap 15.5, Leap 15.6, and Tumbleweed. You will learn how to identify your exact chipset, check whether a kernel driver already exists, install the correct driver through the openSUSE Build Service (OBS), DKMS, or manual source compilation, and verify the result. You will also find a troubleshooting section covering the most common failures real users hit in the openSUSE forums.
Prerequisites: What You Need Before You Start
Do not skip this section. Missing one of these items is the reason most installation attempts fail halfway through.
- A temporary internet connection: You need a wired Ethernet cable or USB tethering from an Android phone to download packages. WiFi will not work yet.
- Root or sudo access: All commands in this guide require administrative privileges.
- openSUSE Leap 15.5, 15.6, or Tumbleweed: These are the tested versions. Commands may differ on older releases.
- Build tools installed: The packages
gcc,make,automake, andkernel-default-develare required for DKMS and manual compilation. - Correct kernel headers: They must match your running kernel exactly. You will verify this in Step 1.
- An up-to-date system: Run a full system update before starting to avoid package conflicts.
# For Tumbleweed
sudo zypper dup
# For Leap
sudo zypper update
Step 1: Update Your System and Install Build Tools
Start with a clean, fully updated system. Attempting to install kernel modules on a partially updated system is a common cause of dependency failures and broken installs.
Update the System
# Tumbleweed
sudo zypper dup
# Leap 15.5 / 15.6
sudo zypper update
After the update finishes, reboot before continuing. This ensures your running kernel matches the installed kernel headers.
sudo reboot
Install Required Build Dependencies
Once the system is back up, install the core build tools you will need for DKMS or manual compilation later:
sudo zypper install gcc make automake kernel-default-devel kernel-source git
You can also install the full development pattern, which pulls in everything in one shot:
sudo zypper install --type pattern devel_basis devel_C_C++
Why this matters: The kernel-default-devel package provides the header files that match your current running kernel. Without it, make cannot compile any kernel module, and the build will fail immediately.
Verify that your build tools match the running kernel:
uname -r
The version output here must match the version of kernel-default-devel installed. If they do not match, reboot and run the install command again.
Step 2: Identify Your Realtek WiFi Chipset
This step is the most important one in the entire guide. Installing the wrong driver for the wrong chipset wastes time and can cause system instability. Always identify the chipset first.
Using hwinfo (Recommended)
hwinfo --wlan --short
Expected output example:
wlan:
/dev/wlan0 Realtek Semiconductor Co., Ltd.
RTL8821CE 802.11ac PCIe Wireless Network Adapter
If hwinfo is not installed, add it with:
sudo zypper install hwinfo
Using lspci for PCIe Cards
lspci | grep -i wireless
Expected output example:
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless (rev ff)
Using lsusb for USB Dongles
lsusb | grep -i realtek
Realtek USB devices always show vendor ID 0bda. The product ID after the colon identifies the exact chipset.
Common Realtek Chipsets and Their Driver Packages
| Realtek Chipset | Driver Module | Recommended Package |
|---|---|---|
| RTL8821CE | rtw88_8821ce | rtl8821ce-kmp-default |
| RTL8852BE | rtw89 | rtw89-kmp-default |
| RTL8812AU | rtl8812au | rtl8812au-dkms |
| RTL8723DE | rtl8723de | GitHub DKMS |
| RTL88x2BU | rtl88x2bu | rtl88x2bu-dkms |
| RTL8192CE/SE | rtl8192ce | Manual compile |
Step 3: Check Whether an In-Kernel Driver Already Exists
Before installing anything, check if a driver already exists in your current kernel. This is especially relevant on openSUSE Tumbleweed, which ships newer kernels and includes the rtw88 and rtw89 driver families covering many modern Realtek chips.
Try Loading the Module
sudo modprobe rtw89
If this returns no error, the driver loaded successfully. Check whether the wireless interface appeared:
ip link show
Look for an interface named wlan0, wlp2s0, or similar. If it appears, your driver works. You can skip to Step 6 to connect to a network.
Check Currently Loaded Modules
lsmod | grep rtw
lsmod | grep rtl
If you see your driver listed here, it loaded at boot and is active.
Check for Missing Firmware
Many Realtek drivers need firmware blobs in addition to the kernel module itself. Install the firmware package to cover this:
sudo zypper install kernel-firmware-realtek
This package, maintained on software.opensuse.org, contains the binary firmware files that the rtlwifi, rtw88, and rtw89 kernel modules load at runtime. Without it, the module loads but the interface never initializes.
After installing, check the firmware directory:
ls /lib/firmware/rtlwifi/
You should see files ending in .bin matching your chipset, for example rtl8821cefw.bin.
Step 4: Install the Driver via the openSUSE OBS Repository
The openSUSE Build Service (OBS) is the official community build platform where maintainers package drivers specifically for each openSUSE version. This is the recommended method because packages rebuild automatically when new kernels are released, keeping your driver intact after updates.
Search for Your Driver on software.opensuse.org
Open a browser and go to software.opensuse.org. Search for your chipset name, for example RTL8821CE.
Look for packages with -kmp-default or -dkms in the name. The -kmp-default suffix means the package is pre-compiled for the default kernel flavor. The -dkms suffix means it will recompile automatically when your kernel updates, which is ideal for Tumbleweed.
Add the OBS Repository
Once you identify the correct repository, add it with zypper. Replace the URL and alias with the ones from your search result:
sudo zypper ar -f https://download.opensuse.org/repositories/home:/Sauerland:/hardware/openSUSE_Tumbleweed/ realtek-hw
Refresh the repository list:
sudo zypper ref
Install the Driver Package
For RTL8821CE on Tumbleweed as an example:
sudo zypper install rtl8821ce-kmp-default
For the DKMS variant (recommended for Tumbleweed):
sudo zypper install rtl88x2bu-dkms
After installation, update module dependencies:
sudo depmod -a
Then reboot:
sudo reboot
After reboot, verify the interface appeared:
ip link show
Expected output:
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff
If you see your wireless interface listed with a state of UP or DOWN, the driver installed correctly.
Step 5: Install the Driver Using DKMS From GitHub
Use this method when no OBS package exists for your specific chipset, or when you want a driver that automatically recompiles after every kernel update without relying on an external maintainer.
Install DKMS
sudo zypper install dkms
Clone the Driver Repository
For RTL8723DE:
git clone https://github.com/smlinux/rtl8723de.git -b current
cd rtl8723de
For RTL8821CE (if OBS package is unavailable):
git clone https://github.com/lwfinger/rtlwifi_new.git
cd rtlwifi_new
Always read the README.md in the cloned repo before proceeding. The README specifies the correct branch and any chipset-specific build flags.
Register the Module With DKMS
sudo dkms add .
DKMS reads the dkms.conf file in the directory and registers the module. You should see output confirming the module name and version.
Build and Install the Module
sudo dkms install rtl8723de/5.1.1.8
Replace rtl8723de/5.1.1.8 with the module name and version shown after dkms add. Then update module dependencies:
sudo depmod -a
Load the Module Without Rebooting
sudo modprobe rtl8723de
Check whether the interface appeared immediately:
ip link show
iwconfig
If wlan0 or a similar interface now appears, the module loaded correctly.
Step 6: Manual Source Compilation (Fallback Method)
Use manual compilation only when your chipset has no OBS package and no maintained DKMS repository on GitHub. This method works but breaks after every kernel update and requires recompilation each time. It is not recommended for Tumbleweed due to its rolling release cadence.
Download the Driver Source
Download the official driver tarball from the Realtek website or a trusted mirror. Then extract it:
tar -xvzf <driver_package>.tar.gz
cd <extracted_directory>
Compile and Install
sudo su
make
make install
exit
Why sudo su instead of sudo make install? On openSUSE, running each command with sudo separately can miss environment variables that make install needs during kernel module installation. Entering a root shell first avoids permission errors that occur mid-install.
If make fails, read the error output carefully. A message like fatal error: linux/version.h: No such file or directory means kernel-source is missing. Install it and retry:
sudo zypper install kernel-source
make
Load the Module
sudo modprobe <module_name>
Reboot to make the load permanent:
sudo reboot
Step 7: Verify WiFi Works and Connect to a Network
After any of the three installation methods, run these checks to confirm everything is working.
Check the wireless interface:
ip link show
Confirm the module is loaded:
lsmod | grep rtl
lsmod | grep rtw
Check kernel messages for driver activity:
dmesg | grep -i rtl
dmesg | grep -i wlan
Scan for WiFi networks using nmcli:
nmcli device wifi list
Connect to a network:
nmcli device wifi connect "YourNetworkSSID" password "YourPassword"
If NetworkManager shows the wireless interface and lists nearby networks, your Realtek WiFi driver installation on openSUSE is complete and fully working.
Keeping the Driver Working After Kernel Updates
This is the step most guides forget, and it is why users come back to the forums a week later saying their WiFi stopped working after an update.
- KMP packages from OBS: These depend on the maintainer rebuilding the package for the new kernel. After
zypper dup, if WiFi breaks, checksoftware.opensuse.orgfor a rebuilt package and reinstall. - DKMS packages: These recompile automatically during kernel updates as long as
gcc,make, andkernel-default-develstay installed. Do not remove those packages. - Manually compiled drivers: These break on every kernel update without exception. Recompile from the source directory after each
zypper dupon Tumbleweed.
After any major update on Tumbleweed, always reboot and test your WiFi connection before assuming the system is stable.
Troubleshooting Common Errors and Fixes
WiFi Interface Missing After Reboot
This usually means firmware files are absent. Install them:
sudo zypper install kernel-firmware-realtek
sudo depmod -a
sudo reboot
Check /lib/firmware/rtlwifi/ for .bin files matching your chipset.
Module Not Found After Installing the Package
The package may have installed for the wrong kernel flavor. Verify your kernel flavor:
uname -r
If it shows default, install rtl8821ce-kmp-default. If it shows longterm, install rtl8821ce-kmp-longterm. Then run:
sudo depmod -a
sudo modprobe rtl8821ce
make Fails With No Rule to Make Target
Your kernel headers do not match your running kernel. Fix it:
sudo zypper install kernel-default-devel=$(uname -r | sed 's/-default//')
Then retry make from the source directory.
WiFi Connects But Drops Frequently
This is a power management issue. Realtek drivers aggressively enter power-saving mode, which causes disconnects:
sudo iwconfig wlan0 power off
To make this permanent, create a NetworkManager config file:
sudo nano /etc/NetworkManager/conf.d/wifi-powersave.conf
Add the following content:
[connection]
wifi.powersave = 2
Restart NetworkManager:
sudo systemctl restart NetworkManager
Driver Breaks After zypper dup on Tumbleweed
If you used DKMS, force a rebuild:
sudo dkms autoinstall
sudo depmod -a
sudo reboot
If the OBS package became orphaned, search for the updated package:
sudo zypper search rtl8821ce
sudo zypper install rtl8821ce-kmp-default
Congratulations! You have successfully installed Realtek drivers. Thanks for using this tutorial for installing the Realtek wifi driver on openSUSE Linux system. For additional help or useful information, we recommend you check the official Realtek website.