Skip to content

Conversation

@Cryolitia
Copy link
Member

@Cryolitia Cryolitia commented Dec 10, 2025

Description of changes

Initialize the support of Radxa Dragon Q6A

https://docs.radxa.com/dragon/q6a


A major challenge is how we handle the onboard AIC8800 WiFi module.

The downstream vendor released their driver at: https://github.com/radxa-pkg/aic8800

Due to its extremely poor code quality, this module is virtually impossible to integrate into nixpkgs as is, let alone the mainline kernel. Here are some attempts:

To make matters worse, due to the creators' extremely poor understanding of Linux kernel firmware loading, the original code for this driver was completely unusable on Nixos.

I modified a version on the Deepin community that looks usable, but I can't guarantee its long-term maintenance: https://github.com/deepin-community/aic8800


Things done
  • Tested the changes in your own NixOS Configuration
  • Tested the changes end-to-end by using your fork of nixos-hardware and
    importing it via <nixos-hardware> or Flake input

CC @RadxaYuntian

Signed-off-by: Cryolitia PukNgae <Cryolitia@gmail.com>

boot = {
# We need a out-of-tree kernel for Dragon Q6A, otherwise important hardware such as NVME won't work.
kernelPackages = pkgs.linuxPackagesFor (import ./kernel.nix { inherit lib pkgs; });
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It will be part of upstream 6.19. I hope we can wait and just not deal with downstream kernel.

At least this should be lib.mkDefault.

@Cryolitia Cryolitia marked this pull request as draft December 11, 2025 03:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants