Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cb59a2e331 | |||
| cdd1bb750b | |||
| 1e82a29f5a | |||
| 3506d95e67 |
@@ -1,19 +1,7 @@
|
||||
self: super:
|
||||
{
|
||||
ddccontrol = super.callPackage ../pkgs/ddccontrol {};
|
||||
opencode-claude-auth = super.callPackage ../pkgs/opencode-claude-auth {};
|
||||
# Pin some kde packages to 6.3.1, 6.3.2 breaks thunderbolt
|
||||
# kdePackages = super.kdePackages.overrideScope(kdeFinal: kdePrev: {
|
||||
# kwin = kdePrev.kwin.overrideAttrs (prevAttrs: {
|
||||
# src = super.fetchurl {
|
||||
# url = "mirror://kde/stable/plasma/6.3.1/kwin-6.3.1.tar.xz";
|
||||
# hash = "sha256-mlC6DqpiCXg73vu2aOV9DL36cc6Ov70X/kRtttdz8kI=";
|
||||
# };
|
||||
# version = "6.3.1";
|
||||
# });
|
||||
# });
|
||||
linuxPackages = super.linuxPackages.extend (lpself: lpsuper: {
|
||||
acer-wmi-ext = lpsuper.callPackage ../pkgs/acer-wmi-ext {};
|
||||
acer-wmi-battery = lpsuper.callPackage ../pkgs/acer-wmi-battery {};
|
||||
});
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
# Custom module for Acer WMI features, like battery charge limit
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
kernel
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "acer-wmi-battery";
|
||||
version = "0.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "frederik-h";
|
||||
repo = "acer-wmi-battery";
|
||||
rev = "0889d3ea54655eaa88de552b334911ce7375952f";
|
||||
sha256 = "sha256-mI6Ob9BmNfwqT3nndWf3jkz8f7tV10odkTnfApsNo+A=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ kernel.moduleBuildDependencies ];
|
||||
|
||||
# Makefile provided in repo is useless, hardcoded paths, not using it
|
||||
|
||||
setSourceRoot = ''
|
||||
export sourceRoot=$(pwd)/source
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"-C"
|
||||
"${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
||||
"M=$(sourceRoot)"
|
||||
];
|
||||
|
||||
patchPhase = ''
|
||||
cat > Kbuild <<EOF
|
||||
obj-m := acer-wmi-battery.o
|
||||
EOF
|
||||
'';
|
||||
|
||||
buildFlags = [ "modules" ];
|
||||
installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ];
|
||||
installTargets = [ "modules_install" ];
|
||||
|
||||
meta = {
|
||||
description = "Acer WMI kernel module for battery charge limit";
|
||||
homepage = "https://github.com/frederik-h/acer-wmi-battery";
|
||||
license = lib.licenses.gpl2;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -11,10 +11,10 @@ stdenv.mkDerivation {
|
||||
version = "0.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TenSeventy7";
|
||||
owner = "Lumpiasty";
|
||||
repo = "acer-wmi-ext";
|
||||
rev = "78aaf9392e1fbdd62c3ec9944e9615505485ec04";
|
||||
sha256 = "sha256-AmhBnZiy7llYqHB9gD6T7lK4L2qhtl5pBWAf+H+V8hE=";
|
||||
rev = "71bc84f4729eb53e7786aaed37957c6d91ce0cfd";
|
||||
sha256 = "sha256-eMKEVgEFaBB1oDL5mlmnJyEj24jzi8HsISl3cCzstD8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ kernel.moduleBuildDependencies ];
|
||||
@@ -31,19 +31,6 @@ stdenv.mkDerivation {
|
||||
"M=$(sourceRoot)"
|
||||
];
|
||||
|
||||
patchPhase = ''
|
||||
# Add support for Acer Swift 14 (SFG14-63) model
|
||||
# Using values found by playing with performance settings in acer's software on windows
|
||||
# https://github.com/hirschmann/nbfc/wiki/Probe-the-EC's-registers
|
||||
# Also, disable USB control because not sure, need to verify
|
||||
patch -p1 < ${./sfg14-63.patch}
|
||||
|
||||
# Create Kbuild file for module
|
||||
cat > Kbuild <<EOF
|
||||
obj-m := acer-wmi-ext.o
|
||||
EOF
|
||||
'';
|
||||
|
||||
buildFlags = [ "modules" ];
|
||||
installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ];
|
||||
installTargets = [ "modules_install" ];
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
diff --git a/acer-wmi-ext.c b/acer-wmi-ext.c
|
||||
index 24112bf..7829c19 100644
|
||||
--- a/acer-wmi-ext.c
|
||||
+++ b/acer-wmi-ext.c
|
||||
@@ -69,9 +69,9 @@ struct set_battery_health_control_output {
|
||||
|
||||
enum battery_mode { HEALTH_MODE = 1, CALIBRATION_MODE = 2 };
|
||||
|
||||
-#define ACER_SYSTEM_CONTROL_MODE_EC_OFFSET 0x45
|
||||
+#define ACER_SYSTEM_CONTROL_MODE_EC_OFFSET 0x10
|
||||
enum system_control_mode {
|
||||
- SYSTEM_CONTROL_BALANCED = 1,
|
||||
+ SYSTEM_CONTROL_BALANCED = 0,
|
||||
SYSTEM_CONTROL_SILENT = 2,
|
||||
SYSTEM_CONTROL_PERFORMANCE = 3,
|
||||
};
|
||||
@@ -146,9 +146,9 @@ static struct quirk_entry quirk_unknown = {
|
||||
static struct quirk_entry quirk_acer_system_control_mode = {
|
||||
.system_control_mode = 1,
|
||||
};
|
||||
-static struct quirk_entry quirk_acer_sfg174_73 = {
|
||||
+static struct quirk_entry quirk_acer_sfg14_63 = {
|
||||
.system_control_mode = 1, // Enable system control mode for this model
|
||||
- .usb_charge_mode = 1, // Enable USB charge mode for this model
|
||||
+ .usb_charge_mode = 0, // Disable USB charge mode for this model
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -165,12 +165,12 @@ static int __init dmi_matched(const struct dmi_system_id *dmi)
|
||||
static const struct dmi_system_id acer_quirks[] __initconst = {
|
||||
{
|
||||
.callback = dmi_matched,
|
||||
- .ident = "Acer Swift SFG14-73",
|
||||
+ .ident = "Acer Swift SFG14-63",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
|
||||
- DMI_MATCH(DMI_PRODUCT_NAME, "Swift SFG14-73"),
|
||||
+ DMI_MATCH(DMI_PRODUCT_NAME, "Swift SFG14-63"),
|
||||
},
|
||||
- .driver_data = &quirk_acer_sfg174_73,
|
||||
+ .driver_data = &quirk_acer_sfg14_63,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
autoreconfHook,
|
||||
intltool,
|
||||
libxml2,
|
||||
pciutils,
|
||||
pkg-config,
|
||||
gtk2,
|
||||
ddccontrol-db,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ddccontrol";
|
||||
version = "1.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ddccontrol";
|
||||
repo = "ddccontrol";
|
||||
rev = version;
|
||||
sha256 = "sha256-qyD6i44yH3EufIW+LA/LBMW20Tejb49zvsDfv6YFD6c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
intltool
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libxml2
|
||||
pciutils
|
||||
gtk2
|
||||
ddccontrol-db
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace configure.ac \
|
||||
--replace \
|
||||
"\$""{datadir}/ddccontrol-db" \
|
||||
"${ddccontrol-db}/share/ddccontrol-db"
|
||||
|
||||
substituteInPlace src/ddcpci/Makefile.am \
|
||||
--replace "chmod 4711" "chmod 0711"
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
intltoolize --force
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Program used to control monitor parameters by software";
|
||||
homepage = "https://github.com/ddccontrol/ddccontrol";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with lib.maintainers; [ pakhfn ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user