Compare commits

..

33 Commits

Author SHA1 Message Date
Andy Nguyen
3c05c6140a config: update to 7.0.10 2026-05-24 15:36:49 +02:00
Andy Nguyen
e6fb93f866 linux: add fan autoservo param update 2026-05-24 15:30:04 +02:00
Andy Nguyen
7d5d7976dd linux: re-add link training
Some monitors blackscreen without it.
2026-05-24 15:27:37 +02:00
Andy Nguyen
d44cfeb934 linux: add spcie and tpcie shutdown 2026-05-18 20:37:16 +02:00
Andy Nguyen
99e816eccb linux: use bapm param set 2 2026-05-18 20:33:52 +02:00
Andy Nguyen
f2c40a90d5 readme: remove todo for wlan driver 2026-05-17 12:09:05 +02:00
Andy Nguyen
042599e9f5 config: update to 7.0.8 2026-05-17 12:07:48 +02:00
Andy Nguyen
fe852d3cdb linux: fix link training failure 2026-05-17 12:04:36 +02:00
Dan
3da1ba3610 CI: build and release kernel on push (#5) 2026-05-14 19:55:53 +02:00
Andy Nguyen
874c43ebb6 linux: add spcie init 2026-05-11 00:05:10 +02:00
Andy Nguyen
d8d6674e74 config: update to 7.0.5 2026-05-10 14:17:20 +02:00
Andy Nguyen
59bb64ec34 config: enable cifs and smb 2026-05-09 08:58:15 +02:00
Andy Nguyen
e18eb668c7 linux: implement more hdmi and mp1 cmds 2026-05-08 20:13:33 +02:00
sleirsgoevy
7169870a21 linux: fix shutdown 2026-05-08 16:00:12 +02:00
Andy Nguyen
c6571488b6 readme: simplify it 2026-05-07 23:24:11 +02:00
EclipseFox25
640bb1a4e3 Added instructions for Arch Linux (#3) 2026-05-07 07:18:49 +02:00
Andy Nguyen
f221a7b224 linux: improve hdmi audio 2026-05-06 22:27:30 +02:00
Andy Nguyen
23375e091c linux: add 1080p120 support 2026-05-06 20:59:07 +02:00
Andy Nguyen
c1ecd51139 linux: fix typo and increase delay 2026-05-06 11:37:03 +02:00
Andy Nguyen
e2f07ba332 config: update to 7.0.3 2026-05-06 11:24:22 +02:00
Andy Nguyen
520ccf7787 linux: rework hdmi patches 2026-05-06 11:21:29 +02:00
Andy Nguyen
fb8321d25d linux: ignore legacy irq 2026-05-05 23:09:47 +02:00
Andy Nguyen
d2a2f89d50 linux: improve dmi patch 2026-05-05 23:03:17 +02:00
Andy Nguyen
0a043f6e76 linux: reorganize flava3 and verde in hdmi 2026-05-05 22:45:39 +02:00
Andy Nguyen
e366fdf3f6 config: enable dmi 2026-05-04 07:50:26 +02:00
Andy Nguyen
81a51f9750 linux: add icc power button 2026-05-03 18:43:54 +02:00
Andy Nguyen
59dce27dca linux: add dmi info 2026-05-03 17:22:38 +02:00
Andy Nguyen
bb79008922 readme: add instructions for installation 2026-05-03 10:38:18 +02:00
Andy Nguyen
dd041dcac0 config: enable ntsync and more 2026-05-03 10:30:09 +02:00
sleirsgoevy
1f493df000 linux: defer amdgpu initialization until HDMI is enabled (#2)
This fixes a black screen issue when amdgpu happens to initialize before
salina.
2026-05-01 12:10:45 +02:00
Andy Nguyen
dc2ee1ce8c linux: lock pci read/write 2026-04-30 23:04:50 +02:00
Andy Nguyen
639992e81d linux: hardcode ari functions 2026-04-30 22:31:03 +02:00
MikeM64
ae12c3982c Enable CONFIG_BNX2X for Devkit Ethernet
This enables the kernel module for the dev lan port
2026-04-29 18:44:09 -04:00
5 changed files with 3470 additions and 294 deletions

153
.config
View File

@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 7.0.2 Kernel Configuration
# Linux/x86 7.0.10 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0"
CONFIG_CC_IS_GCC=y
@@ -425,7 +425,7 @@ CONFIG_CPU_SUP_AMD=y
# CONFIG_CPU_SUP_CENTAUR is not set
# CONFIG_CPU_SUP_ZHAOXIN is not set
CONFIG_HPET_TIMER=y
# CONFIG_DMI is not set
CONFIG_DMI=y
# CONFIG_GART_IOMMU is not set
CONFIG_BOOT_VESA_SUPPORT=y
# CONFIG_MAXSMP is not set
@@ -1960,6 +1960,9 @@ CONFIG_PROC_EVENTS=y
# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DMIID=y
CONFIG_DMI_SYSFS=m
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_FW_CFG_SYSFS is not set
CONFIG_SYSFB=y
CONFIG_SYSFB_SIMPLEFB=y
@@ -2084,7 +2087,7 @@ CONFIG_NVME_HWMON=y
# CONFIG_DW_XDATA_PCIE is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_XILINX_SDFEC is not set
# CONFIG_NTSYNC is not set
CONFIG_NTSYNC=m
# CONFIG_NSM is not set
# CONFIG_C2PORT is not set
@@ -2243,7 +2246,95 @@ CONFIG_NETKIT=y
# CONFIG_NET_VRF is not set
# CONFIG_VSOCKMON is not set
# CONFIG_ARCNET is not set
# CONFIG_ETHERNET is not set
CONFIG_ETHERNET=y
CONFIG_MDIO=m
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not set
# CONFIG_NET_VENDOR_AGERE is not set
# CONFIG_NET_VENDOR_ALACRITECH is not set
# CONFIG_NET_VENDOR_ALTEON is not set
# CONFIG_ALTERA_TSE is not set
# CONFIG_NET_VENDOR_AMAZON is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
# CONFIG_NET_VENDOR_ASIX is not set
# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_CX_ECAT is not set
CONFIG_NET_VENDOR_BROADCOM=y
# CONFIG_B44 is not set
# CONFIG_BCMGENET is not set
# CONFIG_BNX2 is not set
# CONFIG_CNIC is not set
# CONFIG_TIGON3 is not set
CONFIG_BNX2X=m
# CONFIG_SYSTEMPORT is not set
# CONFIG_BNXT is not set
# CONFIG_BNGE is not set
# CONFIG_NET_VENDOR_CADENCE is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
CONFIG_NET_VENDOR_CHELSIO=y
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_CHELSIO_T4 is not set
# CONFIG_CHELSIO_T4VF is not set
# CONFIG_NET_VENDOR_CISCO is not set
# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_DAVICOM is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
# CONFIG_NET_VENDOR_ENGLEDER is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
# CONFIG_NET_VENDOR_FUNGIBLE is not set
# CONFIG_NET_VENDOR_GOOGLE is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_JME is not set
# CONFIG_NET_VENDOR_LITEX is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MELLANOX is not set
# CONFIG_NET_VENDOR_META is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MICROSEMI is not set
# CONFIG_NET_VENDOR_MICROSOFT is not set
# CONFIG_NET_VENDOR_MUCSE is not set
# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_FEALNX is not set
# CONFIG_NET_VENDOR_NI is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NETRONOME is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
# CONFIG_NET_VENDOR_OKI is not set
# CONFIG_ETHOC is not set
# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
# CONFIG_NET_VENDOR_PENSANDO is not set
# CONFIG_NET_VENDOR_QLOGIC is not set
# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
# CONFIG_NET_VENDOR_RDC is not set
# CONFIG_NET_VENDOR_REALTEK is not set
# CONFIG_NET_VENDOR_RENESAS is not set
# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
# CONFIG_NET_VENDOR_TEHUTI is not set
# CONFIG_NET_VENDOR_TI is not set
# CONFIG_NET_VENDOR_VERTEXCOM is not set
# CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WANGXUN is not set
# CONFIG_NET_VENDOR_WIZNET is not set
# CONFIG_NET_VENDOR_XILINX is not set
# CONFIG_FDDI is not set
CONFIG_MDIO_BUS=y
CONFIG_PHYLINK=m
@@ -2545,7 +2636,7 @@ CONFIG_INPUT_VIVALDIFMAP=m
# Userland interfaces
#
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=y
#
@@ -2903,6 +2994,8 @@ CONFIG_HWMON=y
#
# Native drivers
#
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1025 is not set
@@ -2943,6 +3036,7 @@ CONFIG_SENSORS_K10TEMP=m
# CONFIG_SENSORS_GIGABYTE_WATERFORCE is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_GPD is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_G762 is not set
# CONFIG_SENSORS_HIH6130 is not set
@@ -3128,6 +3222,8 @@ CONFIG_WATCHDOG_SYSFS=y
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
# CONFIG_LENOVO_SE10_WDT is not set
# CONFIG_LENOVO_SE30_WDT is not set
# CONFIG_WDAT_WDT is not set
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_ZIIRAVE_WATCHDOG is not set
@@ -3535,19 +3631,24 @@ CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
# CONFIG_DRM_ACCEL is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_PCM_ELD=y
CONFIG_SND_HWDEP=m
CONFIG_SND_SEQ_DEVICE=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_UMP=m
# CONFIG_SND_UMP_LEGACY_RAWMIDI is not set
CONFIG_SND_JACK=y
CONFIG_SND_JACK_INPUT_DEV=y
# CONFIG_SND_OSSEMUL is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
# CONFIG_SND_PCM_OSS is not set
CONFIG_SND_PCM_TIMER=y
# CONFIG_SND_HRTIMER is not set
CONFIG_SND_HRTIMER=m
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MAX_CARDS=32
# CONFIG_SND_SUPPORT_OLD_API is not set
@@ -3559,12 +3660,20 @@ CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_UTIMER is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
# CONFIG_SND_SEQUENCER is not set
CONFIG_SND_SEQUENCER=m
# CONFIG_SND_SEQ_DUMMY is not set
# CONFIG_SND_SEQUENCER_OSS is not set
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_SEQ_MIDI_EVENT=m
CONFIG_SND_SEQ_MIDI=m
CONFIG_SND_SEQ_UMP=y
CONFIG_SND_SEQ_UMP_CLIENT=m
CONFIG_SND_DRIVERS=y
# CONFIG_SND_PCSP is not set
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_ALOOP is not set
# CONFIG_SND_PCMTEST is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
@@ -3772,7 +3881,7 @@ CONFIG_HID_MALTRON=m
# CONFIG_HID_MAYFLASH is not set
# CONFIG_HID_MEGAWORLD_FF is not set
CONFIG_HID_REDRAGON=m
# CONFIG_HID_MICROSOFT is not set
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
# CONFIG_HID_MULTITOUCH is not set
CONFIG_HID_NINTENDO=m
@@ -4022,6 +4131,7 @@ CONFIG_LEDS_CLASS_MULTICOLOR=m
#
# LED drivers
#
# CONFIG_LEDS_APU is not set
# CONFIG_LEDS_OSRAM_AMS_AS3668 is not set
# CONFIG_LEDS_AW200XX is not set
# CONFIG_LEDS_LM3530 is not set
@@ -4034,6 +4144,7 @@ CONFIG_LEDS_CLASS_MULTICOLOR=m
# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_BD2606MVV is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_INTEL_SS4200 is not set
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
# CONFIG_LEDS_LM355x is not set
@@ -4043,6 +4154,7 @@ CONFIG_LEDS_CLASS_MULTICOLOR=m
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
# CONFIG_LEDS_BLINKM is not set
# CONFIG_LEDS_MLXCPLD is not set
# CONFIG_LEDS_MLXREG is not set
# CONFIG_LEDS_USER is not set
# CONFIG_LEDS_NIC78BX is not set
@@ -4345,10 +4457,13 @@ CONFIG_X86_PLATFORM_DEVICES=y
# CONFIG_INTEL_VSEC is not set
# CONFIG_LENOVO_WMI_HOTKEY_UTILITIES is not set
# CONFIG_LENOVO_WMI_CAMERA is not set
# CONFIG_THINKPAD_LMI is not set
# CONFIG_YOGABOOK is not set
# CONFIG_LENOVO_WMI_GAMEZONE is not set
# CONFIG_LENOVO_WMI_TUNING is not set
# CONFIG_ACPI_QUICKSTART is not set
# CONFIG_MSI_WMI is not set
# CONFIG_MSI_WMI_PLATFORM is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_TOSHIBA_HAPS is not set
# CONFIG_TOSHIBA_WMI is not set
@@ -4787,8 +4902,23 @@ CONFIG_NETWORK_FILESYSTEMS=y
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_CEPH_FS is not set
# CONFIG_CIFS is not set
# CONFIG_SMB_SERVER is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_SWN_UPCALL=y
CONFIG_CIFS_FSCACHE=y
# CONFIG_CIFS_COMPRESSION is not set
CONFIG_SMB_SERVER=m
CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
CONFIG_SMB_SERVER_KERBEROS5=y
CONFIG_SMBFS=m
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
CONFIG_9P_FS=m
@@ -4846,6 +4976,7 @@ CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_MAC_ROMANIAN is not set
# CONFIG_NLS_MAC_TURKISH is not set
CONFIG_NLS_UTF8=m
CONFIG_NLS_UCS2_UTILS=m
# CONFIG_DLM is not set
CONFIG_UNICODE=y
CONFIG_IO_WQ=y

93
.github/workflows/build-kernel.yml vendored Normal file
View File

@@ -0,0 +1,93 @@
name: Build Kernel
run-name: Build Kernel
on:
workflow_dispatch:
inputs:
format:
description: 'Package format'
default: 'all'
type: choice
options: [deb, arch, all]
patches_ref:
description: 'Patches branch/tag/SHA (empty = default)'
default: ''
type: string
workflow_call:
inputs:
patches_ref:
type: string
default: ''
jobs:
build:
runs-on: self-hosted
timeout-minutes: 120
permissions:
contents: write
env:
CCACHE_DIR: /home/opc/ccache
steps:
- name: Checkout image builder
uses: actions/checkout@v6
with:
repository: ps5-linux/ps5-linux-image
path: image
ref: main
- name: Build kernel
run: |
FORMAT="${{ inputs.format || github.event.client_payload.format || 'all' }}"
PATCHES_REF="${{ inputs.patches_ref || '' }}"
bash image/build_image.sh --kernel-only \
--distro "$FORMAT" \
--patches-ref "$PATCHES_REF"
- name: Read kernel and patches version
id: version
run: |
psha=$(git -C image/work/ps5-linux-patches rev-parse --short HEAD)
kver=$(cat image/linux-bin/VERSION)
ts=$(date -u +%Y%m%d-%H%M%S)
echo "kver=$kver" >> "$GITHUB_OUTPUT"
echo "psha=$psha" >> "$GITHUB_OUTPUT"
echo "ts=$ts" >> "$GITHUB_OUTPUT"
- name: Upload build artifacts
uses: actions/upload-artifact@v6
with:
name: kernel-${{ steps.version.outputs.kver }}-${{ steps.version.outputs.psha }}
path: |
image/linux-bin/*.deb
image/linux-bin/*.pkg.tar.zst
retention-days: 7
- name: Compute checksums
id: sha
run: |
{
echo 'sums<<SHAEOF'
sha256sum image/linux-bin/*.deb image/linux-bin/*.pkg.tar.zst | sed 's|image/linux-bin/||'
echo 'SHAEOF'
} >> "$GITHUB_OUTPUT"
- name: Create or update release
if: github.event_name != 'pull_request' && github.event_name != 'pull_request_target'
uses: softprops/action-gh-release@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag_name: kernel-${{ steps.version.outputs.kver }}-${{ steps.version.outputs.psha }}
name: Kernel ${{ steps.version.outputs.kver }} (${{ steps.version.outputs.psha }})
body: |
PS5 Linux kernel packages for **${{ steps.version.outputs.kver }}**.
Patches: [`${{ steps.version.outputs.psha }}`](https://github.com/ps5-linux/ps5-linux-patches/commit/${{ steps.version.outputs.psha }})
```
${{ steps.sha.outputs.sums }}
```
files: |
image/linux-bin/*.deb
image/linux-bin/*.pkg.tar.zst
make_latest: true

19
.github/workflows/trigger-build.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
name: deploy
on:
workflow_dispatch:
push:
branches: [main]
pull_request_target:
types: [labeled]
branches: [main]
jobs:
kernel:
if: github.event.label.name == 'run-ci' || github.event_name != 'pull_request_target'
permissions:
contents: write
uses: ./.github/workflows/build-kernel.yml
with:
patches_ref: ${{ github.event.pull_request.head.sha || github.sha }}
secrets: inherit

View File

@@ -1,22 +1,30 @@
# ps5-linux-patches
## Compile
## Compilation
```bash
git clone https://github.com/ps5-linux/ps5-linux-patches
git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
cd linux
git checkout tags/v7.0.2
git apply ~/ps5-linux-patches/linux.patch
cp ~/ps5-linux-patches/.config .config
make -j16
git checkout "tags/v$(grep -m1 "^# Linux/" ../ps5-linux-patches/.config | awk '{print $3}')"
git apply ../ps5-linux-patches/linux.patch
cp ../ps5-linux-patches/.config .config
make -j$(nproc)
```
## Installation
In the same `linux` folder after compilation, do:
```bash
sudo make modules_install
sudo make install
```
## TODO
- amdgpu smu driver to show correct gpu frequency and temperature
- ethernet driver for (mediatek?) 0x104d:0x9104
- xhci driver adjustment for 0x104d:0x9108 to enable bluetooth
- wlan driver marvell 1b4b:2b56 (https://github.com/nxp-imx/mwifiex)
- hdmi converter improvments: hdr, rgb range, 120hz
## Bugs

File diff suppressed because it is too large Load Diff