Merge pull request #1605 from RossComputerGuy/fix/fyde

fydetab/duo: fix hardware.firmware being applied
This commit is contained in:
0x4A6F
2025-09-05 20:15:52 +00:00
committed by GitHub
4 changed files with 62 additions and 47 deletions

View File

@@ -5,6 +5,8 @@ The Fydetab Duo is an open source and hackable tablet by FydeOS.
## Features ## Features
- Display: **works** - Display: **works**
- X11: **untested**
- Wayland: **not working** (niri, sway, COSMIC)
- GPU driver: **not working** - GPU driver: **not working**
- WiFi: **working** - WiFi: **working**
- Cellular: **untested** - Cellular: **untested**

View File

@@ -6540,7 +6540,7 @@ CONFIG_HID_WIIMOTE=m
# CONFIG_HID_XINMO is not set # CONFIG_HID_XINMO is not set
# CONFIG_HID_ZEROPLUS is not set # CONFIG_HID_ZEROPLUS is not set
# CONFIG_HID_ZYDACRON is not set # CONFIG_HID_ZYDACRON is not set
# CONFIG_HID_SENSOR_HUB is not set CONFIG_HID_SENSOR_HUB=m
# CONFIG_HID_ALPS is not set # CONFIG_HID_ALPS is not set
# CONFIG_HID_MCP2221 is not set # CONFIG_HID_MCP2221 is not set
# end of Special HID drivers # end of Special HID drivers

View File

@@ -43,56 +43,68 @@ in
}) })
]; ];
hardware = { hardware = lib.mkMerge [
deviceTree = lib.mkMerge [ {
{ deviceTree = lib.mkMerge [
name = "rockchip/rk3588s-fydetab-duo.dtb"; {
} name = "rockchip/rk3588s-fydetab-duo.dtb";
(lib.mkIf config.hardware.fydetab.duo.enablePanthor { }
overlays = [ (lib.mkIf config.hardware.fydetab.duo.enablePanthor {
{ overlays = [
name = "fydetab-panthor-gpu"; {
dtsText = '' name = "fydetab-panthor-gpu";
/dts-v1/; dtsText = ''
/plugin/; /dts-v1/;
/plugin/;
#include <dt-bindings/clock/rk3588-cru.h> #include <dt-bindings/clock/rk3588-cru.h>
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/power/rk3588-power.h> #include <dt-bindings/power/rk3588-power.h>
/ { / {
compatible = "rockchip,rk3588s-tablet-12c-linux"; compatible = "rockchip,rk3588s-tablet-12c-linux";
fragment@0 { fragment@0 {
target = <&gpu>; target = <&gpu>;
__overlay__ { __overlay__ {
status = "disabled"; status = "disabled";
};
};
fragment@1 {
target = <&gpu_panthor>;
__overlay__ {
status = "okay";
mali-supply = <&vdd_gpu_s0>;
};
}; };
}; };
'';
fragment@1 { }
target = <&gpu_panthor>; ];
__overlay__ { })
status = "okay"; ];
mali-supply = <&vdd_gpu_s0>; rockchip = {
}; rk3588.enable = true;
}; platformFirmware = pkgs.callPackage ./u-boot.nix { };
}; };
''; }
} (lib.mkIf config.networking.wireless.iwd.enable {
]; firmware = [
}) # Only iwd is supported by the interface
]; ap6275pFirmware
rockchip = { ];
rk3588.enable = true; })
platformFirmware = pkgs.callPackage ./u-boot.nix { }; (lib.mkIf config.hardware.graphics.enable {
}; firmware = [
firmware = lib.mkMerge [ (pkgs.callPackage ./mali-g610.nix { })
# Only iwd is supported by the interface ];
(lib.mkIf config.networking.wireless.iwd.enable ap6275pFirmware) })
(lib.mkIf config.hardware.graphics.enable (pkgs.callPackage ./mali-g610.nix { })) (lib.mkIf config.hardware.sensor.iio.enable {
(lib.mkIf config.hardware.sensor.iio.enable (pkgs.callPackage ./himax.nix { })) firmware = [
]; (pkgs.callPackage ./himax.nix { })
}; ];
})
];
systemd.services.bluetooth-fydetab = lib.mkIf config.hardware.bluetooth.enable { systemd.services.bluetooth-fydetab = lib.mkIf config.hardware.bluetooth.enable {
description = "FydeTab Duo Bluetooth fix"; description = "FydeTab Duo Bluetooth fix";

View File

@@ -9,6 +9,7 @@ stdenv.mkDerivation (_finalAttrs: {
src = fetchurl { src = fetchurl {
url = "https://github.com/Linux-for-Fydetab-Duo/pkgbuilds/raw/f4c012bd42d87f677370f987f703982d53cd233d/fydetabduo-post-install/Himax_firmware.bin"; url = "https://github.com/Linux-for-Fydetab-Duo/pkgbuilds/raw/f4c012bd42d87f677370f987f703982d53cd233d/fydetabduo-post-install/Himax_firmware.bin";
hash = "sha256-z0p/zXcNTBdhKCV6GmM2C8C02lu4Wkb2HP+Ir/nQJTc=";
}; };
compressFirmware = false; compressFirmware = false;