Giter Club home page Giter Club logo

akmods's Introduction

ublue-os akmods

build-39 build-40

A layer for adding extra kernel modules to your image. Use for better hardware support and a few other features!

How it's organized

The akmods image is built and published daily. However, there's not a single image but several, given various kernel support we now provide.

The akmods package is broken out into three akmod "streams":

  • common - any kmod installed by default in Bluefin or which was originally in main pre-39
  • extra - primarily for kmods used in Bazzite or any others we need, but don't fit in common
  • nvidia - only for the nvidia kmod

Feel free to PR more kmod build scripts into this repo!

Features

Overview

  • ublue-os-akmods-addons - installs extra repos and our kmods signing key; install and import to allow SecureBoot systems to use these kmods
  • ublue-os-nvidia-addons - installs extra repos enabling our nvidia support

Kmod Packages

Package Stream Description Source
ayaneo-platform extra Linux drivers for AYANEO x86 handhelds badge
ayn-platform extra Linux drivers for AYN x86 handhelds badge
bmi260 extra kernel module driver for the Bosch BMI260 IMU badge
evdi common kernel module required for use of displaylink negativo17 - fedora-multimedia
facetimehd extra kernel module Linux driver for the FacetimeHD (Broadcom 1570) PCIe webcam badge
framework-laptop common A kernel module that exposes the Framework Laptop (13, 16)'s battery charge limit and LEDs to userspace badge
gcadapter_oc extra kernel module for overclocking the Nintendo Wii U/Mayflash GameCube adapter badge
kvmfr common KVM framebuffer relay kernel module for use with Looking Glass badge
nct6687d extra Linux kernel module for Nuvoton NCT6687-R found on AMD B550 chipset motherboards badge
nvidia nvidia nvidia GPU drivers built from rpmfusion RPMFusion - nonfree
openrazer common kernel module adding additional features to Razer hardware badge
openrgb extra kernel module with i2c-nct6775 and patched i2c-piix4 for use with OpenRGB badge
rtl8814au extra Realtek RTL8814AU Driver badge
rtl88xxau extra Realtek RTL8812AU/21AU and RTL8814AU driver badge
ryzen-smu extra A Linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen Processors badge
v4l2loopback common allows creating "virtual video devices" RPMFusion - free
wl common support for some legacy broadcom wifi devices RPMFusion - nonfree
xpadneo common xbox one controller bluetooth driver negativo17 - fedora-multimedia
xone common xbox one controller USB wired/RF driver modified to work along-side xpad badge
zenergy extra Based on AMD_ENERGY driver, but with some jiffies added so non-root users can read it safely badge

Notes

We do our best to support all current builds of Fedora, current versions of the kernel modules listed, and the latest NVIDIA driver. Note: NVIDIA legacy driver version 470 is no longer provided as RPMfusion has ceased updates to the package and it no longer builds with kernel 6.8 which has now released for Fedora 39. Also the -550 extra driver version tag has been removed as the latest driver will always be included.

The majority of the drivers are tagged with KERNEL_TYPE-FEDORA_RELEASE. NVIDIA drivers are bundled distinctly with tag KERNEL_TYPE-FEDORA_RELEASE-NVIDIA_VERSION.

KERNEL_TYPE FEDORA_RELEASE TAG
Fedora stock kernel 39 main-39
40 main-40
patched for ASUS devices 39 asus-39
40 asus-40
patched fsync 39 fsync-39
patched Microsoft Surface devices 39 surface-39
40 surface-40

Usage

To install one of these kmods, you'll need to install any of their specific dependencies (checkout the build-prep.sh and the specific build-FOO.sh script for details).

For common images, add something like this to your Containerfile, replacing TAG with one of the something-FR tags above:

COPY --from=ghcr.io/ublue-os/akmods:TAG /rpms/ /tmp/rpms
RUN find /tmp/rpms
RUN rpm-ostree install /tmp/rpms/ublue-os/ublue-os-akmods*.rpm
RUN rpm-ostree install /tmp/rpms/kmods/kmod-v4l2loopback*.rpm

For extra images, add something like this to your Containerfile, replacing TAG with one of the something-FR tags above:

COPY --from=ghcr.io/ublue-os/akmods-extra:TAG /rpms/ /tmp/rpms
RUN find /tmp/rpms
RUN rpm-ostree install /tmp/rpms/kmods/kmod-facetimehd*.rpm

For NVIDIA images, add something like this to your Containerfile, replacing TAG with one of the something-FR-NVV tags above:

COPY --from=ghcr.io/ublue-os/akmods-nvidia:TAG /rpms/ /tmp/rpms
RUN find /tmp/rpms
RUN rpm-ostree install /tmp/rpms/ublue-os/ublue-os-nvidia*.rpm
RUN rpm-ostree install /tmp/rpms/kmods/kmod-nvidia.rpm

These examples show:

  1. copying all the rpms from the respective akmods images
  2. installing the respective ublue specific RPM
  3. installing a kmods RPM.

Adding kmods

If you have a kmod you want to contribute send a pull request by adding a script using build-kmod-wl.sh as an example.

Verification

These images are signed with sisgstore's cosign. You can verify the signature by downloading the cosign.pub key from this repo and running the following command, replacing RELEASE with either 39 or 40:

cosign verify --key cosign.pub ghcr.io/ublue-os/akmods:RELEASE

Metrics

Alt

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.