View Raw Ebuild
# Copyright 1999-2026 tabascoz
# Distributed under the terms of the GNU General Public License v2
# Created with assistance from Grok (xAI) — https://grok.x.ai
# Thank you Grok for the patient debugging and final clean ebuild ❤️
EAPI=8
inherit linux-mod-r1
DESCRIPTION="MediaTek MT7927/MT6639 WiFi 7 driver - patched mt76 (Liquorix 6.19.5)"
HOMEPAGE="https://github.com/jetm/mediatek-mt7927-dkms"
COMMIT="6afbbf55aa873bc953d389059e0ba3f2788979f1"
SRC_URI="https://github.com/jetm/mediatek-mt7927-dkms/archive/${COMMIT}.tar.gz -> ${PN}-${PV}-${COMMIT}.tar.gz"
S="${WORKDIR}/${PN}-${PV}-${COMMIT}"
MT76_S="${S}/mt76"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
CONFIG_CHECK="~CFG80211 ~MAC80211 ~BT ~BT_HCIBTUSB"
src_unpack() {
unpack "${A}"
mkdir -p "${MT76_S}" || die
cp -a "${KV_DIR}/drivers/net/wireless/mediatek/mt76/." "${MT76_S}/" || die
}
src_prepare() {
default
cd "${MT76_S}" || die
einfo "Using Liquorix kernel: ${KV_FULL}"
# Your pre-fix (before patches)
einfo "Pre-fixing mt792x.h"
sed -i '/#define MT7925_/a\
#define MT7902_FIRMWARE_WM\t"mediatek/WIFI_RAM_CODE_MT7902_1.bin"\
#define MT7902_ROM_PATCH\t"mediatek/WIFI_MT7902_patch_mcu_1_1_hdr.bin"' \
mt792x.h || ewarn "sed fix skipped"
einfo "Applying jetm patches..."
local p
for p in "${S}"/mt79*.patch "${S}"/*.patch; do
[[ -f "${p}" ]] && {
einfo " → ${p##*/}"
eapply "${p}" || die "Patch failed: ${p##*/}"
}
done
for frag in "${S}"/mt*.Kbuild; do
[[ -f "${frag}" ]] && cat "${frag}" >> Kbuild || true
done
}
src_compile() {
export ARCH=x86_64
emake -C "${KV_DIR}" ARCH=x86_64 M="${MT76_S}" modules || die
}
src_install() {
# Manual install (this fixes the linux-mod-r1 error)
insinto "/lib/modules/${KV_FULL}/kernel/drivers/net/wireless/mediatek/mt76"
doins "${MT76_S}"/*.ko
if [[ -d "${MT76_S}/mt7925" ]]; then
insinto "/lib/modules/${KV_FULL}/kernel/drivers/net/wireless/mediatek/mt76/mt7925"
doins "${MT76_S}"/mt7925/*.ko
fi
# Firmware extractor
if [[ -f "${S}/extract_firmware.py" ]]; then
insinto /usr/share/${PN}
doins "${S}/extract_firmware.py"
fperms +x /usr/share/${PN}/extract_firmware.py
dosym ../share/${PN}/extract_firmware.py /usr/bin/mt7927-extract-firmware
fi
}
pkg_postinst() {
linux-mod-r1_pkg_postinst
elog "✅ MT7927 driver installed against your Liquorix 6.19.5 kernel!"
elog ""
elog "Firmware (one-time):"
elog " mt7927-extract-firmware /path/to/Windows_driver.exe"
elog " sudo cp ~/mediatek-firmware/*.bin /lib/firmware/mediatek/"
elog ""
elog "Test it:"
elog " sudo modprobe -r mt7925e btusb && sudo modprobe mt7925e"
elog " dmesg | grep -E 'mt79|MT7927|mediatek'"
elog ""
elog "After kernel upgrade: emerge @module-rebuild"
}