From a6cc50d994a0fceca775cfb70dbe4a0dc1c8cadd Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 5 Sep 2025 11:16:21 -0700 Subject: [PATCH 1/4] fydetab/duo: fix hardware.firmware being applied --- fydetab/duo/default.nix | 100 ++++++++++++++++++++++------------------ 1 file changed, 56 insertions(+), 44 deletions(-) diff --git a/fydetab/duo/default.nix b/fydetab/duo/default.nix index a3578eb4a..b19eb9ce5 100644 --- a/fydetab/duo/default.nix +++ b/fydetab/duo/default.nix @@ -43,56 +43,68 @@ in }) ]; - hardware = { - deviceTree = lib.mkMerge [ - { - name = "rockchip/rk3588s-fydetab-duo.dtb"; - } - (lib.mkIf config.hardware.fydetab.duo.enablePanthor { - overlays = [ - { - name = "fydetab-panthor-gpu"; - dtsText = '' - /dts-v1/; - /plugin/; + hardware = lib.mkMerge [ + { + deviceTree = lib.mkMerge [ + { + name = "rockchip/rk3588s-fydetab-duo.dtb"; + } + (lib.mkIf config.hardware.fydetab.duo.enablePanthor { + overlays = [ + { + name = "fydetab-panthor-gpu"; + dtsText = '' + /dts-v1/; + /plugin/; - #include - #include - #include + #include + #include + #include - / { - compatible = "rockchip,rk3588s-tablet-12c-linux"; - fragment@0 { - target = <&gpu>; - __overlay__ { - status = "disabled"; + / { + compatible = "rockchip,rk3588s-tablet-12c-linux"; + fragment@0 { + target = <&gpu>; + __overlay__ { + 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 { }; - }; - firmware = lib.mkMerge [ - # 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 (pkgs.callPackage ./himax.nix { })) - ]; - }; + ''; + } + ]; + }) + ]; + 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 + ]; + }) + (lib.mkIf config.hardware.graphics.enable { + firmware = [ + (pkgs.callPackage ./mali-g610.nix { }) + ]; + }) + (lib.mkIf config.hardware.sensor.iio.enable { + firmware = [ + (pkgs.callPackage ./himax.nix { }) + ]; + }) + ]; systemd.services.bluetooth-fydetab = lib.mkIf config.hardware.bluetooth.enable { description = "FydeTab Duo Bluetooth fix"; From 410a17733a70b9c103e60684aa30fc8f3249e285 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 5 Sep 2025 11:20:47 -0700 Subject: [PATCH 2/4] fydetab/duo: fix himax firmware source hash --- fydetab/duo/himax.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/fydetab/duo/himax.nix b/fydetab/duo/himax.nix index e499b3d11..ac1da125f 100644 --- a/fydetab/duo/himax.nix +++ b/fydetab/duo/himax.nix @@ -9,6 +9,7 @@ stdenv.mkDerivation (_finalAttrs: { src = fetchurl { 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; From 295e0f92ff26b8260c78d141a4ee1210816c9ede Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 5 Sep 2025 11:22:25 -0700 Subject: [PATCH 3/4] fydetab/duo: clarify graphics support --- fydetab/duo/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fydetab/duo/README.md b/fydetab/duo/README.md index f96960d1f..e56912361 100644 --- a/fydetab/duo/README.md +++ b/fydetab/duo/README.md @@ -5,6 +5,8 @@ The Fydetab Duo is an open source and hackable tablet by FydeOS. ## Features - Display: **works** + - X11: **untested** + - Wayland: **not working** (niri, sway, COSMIC) - GPU driver: **not working** - WiFi: **working** - Cellular: **untested** From 7e40faf569db5ecb30aa50a0df88fdd50fa74e6f Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 5 Sep 2025 11:49:13 -0700 Subject: [PATCH 4/4] fydetab/duo: enable hid sensor hub kernel module --- fydetab/duo/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fydetab/duo/config b/fydetab/duo/config index 2b343df41..d332555e2 100644 --- a/fydetab/duo/config +++ b/fydetab/duo/config @@ -6540,7 +6540,7 @@ CONFIG_HID_WIIMOTE=m # CONFIG_HID_XINMO is not set # CONFIG_HID_ZEROPLUS 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_MCP2221 is not set # end of Special HID drivers