Skip to content

Commit 70af399

Browse files
bshermanEyeCantCU
andauthored
fix: everything asus and surface (#73)
Co-authored-by: RJ Trujillo <eyecantcu@pm.me>
1 parent 96f54e5 commit 70af399

18 files changed

+65
-36
lines changed

.github/workflows/build.yml

+8
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,14 @@ jobs:
3232
nvidia_version: 535
3333
- cfile_suffix: nvidia
3434
nvidia_version: 0
35+
- kernel_flavor: asus
36+
major_version: 37
37+
- kernel_flavor: surface
38+
major_version: 37
39+
- kernel_flavor: surface
40+
major_version: 39
41+
- kernel_flavor: surface
42+
nvidia_version: 470
3543
steps:
3644
# Checkout push-to-registry action GitHub repository
3745
- name: Checkout Push to Registry action

Containerfile.common

+16-11
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,23 @@ RUN /tmp/build-prep.sh
2727

2828
RUN /tmp/build-ublue-os-akmods-addons.sh
2929

30-
RUN /tmp/build-kmod-gasket.sh
31-
RUN /tmp/build-kmod-gcadapter_oc.sh
32-
RUN /tmp/build-kmod-nct6687d.sh
33-
RUN /tmp/build-kmod-openrazer.sh
34-
RUN /tmp/build-kmod-openrgb.sh
35-
RUN /tmp/build-kmod-ryzen-smu.sh
36-
RUN /tmp/build-kmod-steamdeck.sh
37-
RUN /tmp/build-kmod-v4l2loopback.sh
38-
RUN /tmp/build-kmod-wl.sh
39-
30+
# Set kernel name
4031
# Exclude negativo17 kmods from Fedora 39
41-
RUN if grep -qv "39" <<< ${FEDORA_MAJOR_VERSION}; then \
32+
RUN if grep -qv "surface" <<< "${KERNEL_FLAVOR}"; then \
33+
export KERNEL_NAME="kernel" \
34+
; else \
35+
export KERNEL_NAME="kernel-surface" \
36+
; fi && \
37+
/tmp/build-kmod-gasket.sh && \
38+
/tmp/build-kmod-gcadapter_oc.sh && \
39+
/tmp/build-kmod-nct6687d.sh && \
40+
/tmp/build-kmod-openrazer.sh && \
41+
/tmp/build-kmod-openrgb.sh && \
42+
/tmp/build-kmod-ryzen-smu.sh && \
43+
/tmp/build-kmod-steamdeck.sh && \
44+
/tmp/build-kmod-v4l2loopback.sh && \
45+
/tmp/build-kmod-wl.sh && \
46+
if grep -qv "39" <<< ${FEDORA_MAJOR_VERSION}; then \
4247
/tmp/build-kmod-evdi.sh && \
4348
/tmp/build-kmod-xpadneo.sh && \
4449
/tmp/build-kmod-xpad-noone.sh && \

Containerfile.nvidia

+6-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,12 @@ RUN /tmp/build-prep.sh
3232

3333
RUN /tmp/build-ublue-os-nvidia-addons.sh
3434

35-
RUN /tmp/build-kmod-nvidia.sh ${NVIDIA_MAJOR_VERSION}
35+
RUN if grep -qv "surface" <<< "${KERNEL_FLAVOR}"; then \
36+
export KERNEL_NAME="kernel" \
37+
; else \
38+
export KERNEL_NAME="kernel-surface" \
39+
; fi && \
40+
/tmp/build-kmod-nvidia.sh ${NVIDIA_MAJOR_VERSION}
3641

3742
RUN cp /tmp/ublue-os-nvidia-addons/rpmbuild/RPMS/noarch/ublue-os-nvidia-addons*.rpm \
3843
/var/cache/rpms/ublue-os/

build-kmod-evdi.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ set -oeux pipefail
66
cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/negativo17-fedora-multimedia.repo /etc/yum.repos.d/
77

88
ARCH="$(rpm -E '%_arch')"
9-
KERNEL="$(rpm -q kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
9+
KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
1010
RELEASE="$(rpm -E '%fedora')"
1111

1212

build-kmod-gasket.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -oeux pipefail
55
cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/
66

77
ARCH="$(rpm -E '%_arch')"
8-
KERNEL="$(rpm -q kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
8+
KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
99
RELEASE="$(rpm -E '%fedora')"
1010

1111
rpm-ostree install \

build-kmod-gcadapter_oc.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -oeux pipefail
55
cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/
66

77
ARCH="$(rpm -E '%_arch')"
8-
KERNEL="$(rpm -q kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
8+
KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
99
RELEASE="$(rpm -E '%fedora')"
1010

1111
rpm-ostree install \

build-kmod-nct6687d.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -oeux pipefail
55
cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/
66

77
ARCH="$(rpm -E '%_arch')"
8-
KERNEL="$(rpm -q kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
8+
KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
99
RELEASE="$(rpm -E '%fedora')"
1010

1111

build-kmod-nvidia.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ rpm-ostree install \
2323
xorg-x11-drv-${NVIDIA_PACKAGE_NAME}-{,cuda,devel,kmodsrc,power}*:${NVIDIA_MAJOR_VERSION}.*.fc${RELEASE}
2424

2525
# Either successfully build and install the kernel modules, or fail early with debug output
26-
KERNEL_VERSION="$(rpm -q kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
26+
KERNEL_VERSION="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
2727
NVIDIA_AKMOD_VERSION="$(basename "$(rpm -q "akmod-${NVIDIA_PACKAGE_NAME}" --queryformat '%{VERSION}-%{RELEASE}')" ".fc${RELEASE%%.*}")"
2828
NVIDIA_LIB_VERSION="$(basename "$(rpm -q "xorg-x11-drv-${NVIDIA_PACKAGE_NAME}" --queryformat '%{VERSION}-%{RELEASE}')" ".fc${RELEASE%%.*}")"
2929
NVIDIA_FULL_VERSION="$(rpm -q "xorg-x11-drv-${NVIDIA_PACKAGE_NAME}" --queryformat '%{EPOCH}:%{VERSION}-%{RELEASE}.%{ARCH}')"

build-kmod-openrazer.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -oeux pipefail
55
cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/
66

77
ARCH="$(rpm -E '%_arch')"
8-
KERNEL="$(rpm -q kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
8+
KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
99
RELEASE="$(rpm -E '%fedora')"
1010

1111

build-kmod-openrgb.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -oeux pipefail
55
cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/
66

77
ARCH="$(rpm -E '%_arch')"
8-
KERNEL="$(rpm -q kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
8+
KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
99
RELEASE="$(rpm -E '%fedora')"
1010

1111
rpm-ostree install \

build-kmod-ryzen-smu.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -oeux pipefail
55
cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/
66

77
ARCH="$(rpm -E '%_arch')"
8-
KERNEL="$(rpm -q kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
8+
KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
99
RELEASE="$(rpm -E '%fedora')"
1010

1111

build-kmod-steamdeck.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -oeux pipefail
55
cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/
66

77
ARCH="$(rpm -E '%_arch')"
8-
KERNEL="$(rpm -q kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
8+
KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
99
RELEASE="$(rpm -E '%fedora')"
1010

1111
rpm-ostree install \

build-kmod-v4l2loopback.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ set -oeux pipefail
44

55

66
ARCH="$(rpm -E '%_arch')"
7-
KERNEL="$(rpm -q kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
7+
KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
88
RELEASE="$(rpm -E '%fedora')"
99

1010

build-kmod-wl.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ set -oeux pipefail
44

55

66
ARCH="$(rpm -E '%_arch')"
7-
KERNEL="$(rpm -q kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
7+
KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
88
RELEASE="$(rpm -E '%fedora')"
99

1010

build-kmod-xone.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ set -oeux pipefail
66
cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/negativo17-fedora-steam.repo /etc/yum.repos.d/
77

88
ARCH="$(rpm -E '%_arch')"
9-
KERNEL="$(rpm -q kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
9+
KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
1010
RELEASE="$(rpm -E '%fedora')"
1111

1212

build-kmod-xpad-noone.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -oeux pipefail
55
cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/
66

77
ARCH="$(rpm -E '%_arch')"
8-
KERNEL="$(rpm -q kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
8+
KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
99
RELEASE="$(rpm -E '%fedora')"
1010

1111

build-kmod-xpadneo.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ set -oeux pipefail
66
cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/negativo17-fedora-steam.repo /etc/yum.repos.d/
77

88
ARCH="$(rpm -E '%_arch')"
9-
KERNEL="$(rpm -q kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
9+
KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')"
1010
RELEASE="$(rpm -E '%fedora')"
1111

1212

build-prep.sh

+21-10
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ fi
1818
mkdir -p /var/lib/alternatives
1919

2020
# allow simple `dnf install` style commands to work (in some spec scripts)
21-
ln -s /usr/bin/rpm-ostree /usr/bin/dnf
21+
if [[ "${RELEASE}" -eq "37" ]]; then
22+
ln -s /usr/bin/rpm-ostree /usr/bin/dnf
23+
fi
2224

2325
# enable more repos
2426
rpm-ostree install \
@@ -37,28 +39,37 @@ fi
3739

3840
### PREPARE CUSTOM KERNEL SUPPORT
3941
if [[ "asus" == "${KERNEL_FLAVOR}" ]]; then
40-
echo "Installing ASUS Kernel:" && \
41-
rpm-ostree cliwrap install-to-root / && \
42+
echo "Installing ASUS Kernel:"
43+
wget https://copr.fedorainfracloud.org/coprs/lukenukem/asus-kernel/repo/fedora-$(rpm -E %fedora)/lukenukem-asus-kernel-fedora-$(rpm -E %fedora).repo -O /etc/yum.repos.d/_copr_lukenukem-asus-kernel.repo
44+
rpm-ostree cliwrap install-to-root /
4245
rpm-ostree override replace \
4346
--experimental \
4447
--from repo=copr:copr.fedorainfracloud.org:lukenukem:asus-kernel \
4548
kernel \
4649
kernel-core \
50+
kernel-devel \
51+
kernel-devel-matched \
4752
kernel-modules \
4853
kernel-modules-core \
49-
kernel-modules-extra \
50-
kernel-uki-virt
54+
kernel-modules-extra
5155
elif [[ "surface" == "${KERNEL_FLAVOR}" ]]; then
52-
echo "Installing Surface Kernel:" && \
56+
echo "Installing Surface Kernel:"
57+
# Add Linux Surface repo
58+
wget https://pkg.surfacelinux.com/fedora/linux-surface.repo -P /etc/yum.repos.d
5359
wget https://github.com/linux-surface/linux-surface/releases/download/silverblue-20201215-1/kernel-20201215-1.x86_64.rpm -O \
54-
/tmp/surface-kernel.rpm && \
55-
rpm-ostree cliwrap install-to-root / && \
60+
/tmp/surface-kernel.rpm
61+
rpm-ostree cliwrap install-to-root /
5662
rpm-ostree override replace /tmp/surface-kernel.rpm \
5763
--remove kernel-core \
58-
--remove kernel-devel-matched \
5964
--remove kernel-modules \
6065
--remove kernel-modules-extra \
61-
--install kernel-surface
66+
--install kernel-surface \
67+
--install kernel-surface-core \
68+
--install kernel-surface-devel \
69+
--install kernel-surface-devel-matched \
70+
--install kernel-surface-modules \
71+
--install kernel-surface-modules-core \
72+
--install kernel-surface-modules-extra
6273
else
6374
echo "Default main kernel needs no customization."
6475
fi

0 commit comments

Comments
 (0)