Compiling a custom kernel for 15khz/interlaced support: Difference between revisions

No edit summary
No edit summary
Line 5: Line 5:
== 1. Download Kernel Source ==
== 1. Download Kernel Source ==


<syntaxhighlight lang="bash">
  cd ~
cd ~
  wget https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.2.2.tar.xz
wget https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.2.2.tar.xz
  tar -xf linux-7.2.2.tar.xz
tar -xf linux-7.2.2.tar.xz
  cd linux-7.2.2
cd linux-7.2.2
</syntaxhighlight>


== 2. Download the Interlaced Patch ==
== 2. Download the Interlaced Patch ==


<syntaxhighlight lang="bash">
  wget https://raw.githubusercontent.com/D0023R/linux_kernel_15khz/master/linux-7.2/03_linux_15khz_dcn1_dcn2_dcn3_dcn4_interlaced_mode_fix.patch
wget https://raw.githubusercontent.com/D0023R/linux_kernel_15khz/master/linux-7.2/03_linux_15khz_dcn1_dcn2_dcn3_dcn4_interlaced_mode_fix.patch
</syntaxhighlight>


== 3. Apply the Patch ==
== 3. Apply the Patch ==


<syntaxhighlight lang="bash">
  patch -p1 < 03_linux_15khz_dcn1_dcn2_dcn3_dcn4_interlaced_mode_fix.patch
patch -p1 < 03_linux_15khz_dcn1_dcn2_dcn3_dcn4_interlaced_mode_fix.patch
</syntaxhighlight>


== 4. Configure the Kernel ==
== 4. Configure the Kernel ==


<syntaxhighlight lang="bash">
  cp /boot/config-$(uname -r) .config
cp /boot/config-$(uname -r) .config
  make olddefconfig
make olddefconfig
</syntaxhighlight>


(Optional) Add a custom version string:
(Optional) Add a custom version string:


<syntaxhighlight lang="bash">
  scripts/config --set-str LOCALVERSION "-interlace"
scripts/config --set-str LOCALVERSION "-interlace"
</syntaxhighlight>


== 5. Build ==
== 5. Build ==


<syntaxhighlight lang="bash">
  make -j$(nproc)
make -j$(nproc)
</syntaxhighlight>


Or create Debian packages:
Or create Debian packages:


<syntaxhighlight lang="bash">
  make -j$(nproc) bindeb-pkg
make -j$(nproc) bindeb-pkg
</syntaxhighlight>


== 6. Install ==
== 6. Install ==


<syntaxhighlight lang="bash">
  sudo make modules_install
sudo make modules_install
  sudo make install
sudo make install
</syntaxhighlight>


Or with packages:
Or with packages:


<syntaxhighlight lang="bash">
  sudo dpkg -i ../linux-image-*.deb ../linux-headers-*.deb
sudo dpkg -i ../linux-image-*.deb ../linux-headers-*.deb
</syntaxhighlight>


Update bootloader:
Update bootloader:


<syntaxhighlight lang="bash">
  sudo update-initramfs -u
sudo update-initramfs -u
  sudo update-grub
sudo update-grub
</syntaxhighlight>


Reboot and select the new kernel.
Reboot and select the new kernel.

Revision as of 03:17, 9 September 2026

= Building Linux 7.2.2 with AMDGPU Interlaced Support (RX 6600 XT / DCN)

This guide applies only the necessary patch for interlaced modes on modern AMDGPU (DCN2/DCN3/DCN4), such as the RX 6600 XT.

1. Download Kernel Source

 cd ~
 wget https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.2.2.tar.xz
 tar -xf linux-7.2.2.tar.xz
 cd linux-7.2.2

2. Download the Interlaced Patch

 wget https://raw.githubusercontent.com/D0023R/linux_kernel_15khz/master/linux-7.2/03_linux_15khz_dcn1_dcn2_dcn3_dcn4_interlaced_mode_fix.patch

3. Apply the Patch

 patch -p1 < 03_linux_15khz_dcn1_dcn2_dcn3_dcn4_interlaced_mode_fix.patch

4. Configure the Kernel

 cp /boot/config-$(uname -r) .config
 make olddefconfig

(Optional) Add a custom version string:

 scripts/config --set-str LOCALVERSION "-interlace"

5. Build

 make -j$(nproc)

Or create Debian packages:

 make -j$(nproc) bindeb-pkg

6. Install

 sudo make modules_install
 sudo make install

Or with packages:

 sudo dpkg -i ../linux-image-*.deb ../linux-headers-*.deb

Update bootloader:

 sudo update-initramfs -u
 sudo update-grub

Reboot and select the new kernel.

Notes

  • This patch enables interlace_allowed on AMDGPU DCN connectors and removes the temporary interlacing block.
  • No 15 kHz / low-dotclock modes are added.
  • After reboot, test interlaced modes with xrandr or your preferred tool.