Compiling a custom kernel for 15khz/interlaced support
= 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
<source lang="bash"> 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 </source>
2. Download the Interlaced Patch
<source 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 </source>
3. Apply the Patch
<source lang="bash"> patch -p1 < 03_linux_15khz_dcn1_dcn2_dcn3_dcn4_interlaced_mode_fix.patch </source>
4. Configure the Kernel
<source lang="bash"> cp /boot/config-$(uname -r) .config make olddefconfig </source>
(Optional) Add a custom version string:
<source lang="bash"> scripts/config --set-str LOCALVERSION "-interlace" </source>
5. Build
<source lang="bash"> make -j$(nproc) </source>
Or create Debian packages:
<source lang="bash"> make -j$(nproc) bindeb-pkg </source>
6. Install
<source lang="bash"> sudo make modules_install sudo make install </source>
Or with packages:
<source lang="bash"> sudo dpkg -i ../linux-image-*.deb ../linux-headers-*.deb </source>
Update bootloader:
<source lang="bash"> sudo update-initramfs -u sudo update-grub </source>
Reboot and select the new kernel.
Notes
- This patch enables
interlace_allowedon AMDGPU DCN connectors and removes the temporary interlacing block. - No 15 kHz / low-dotclock modes are added.
- After reboot, test interlaced modes with
xrandror your preferred tool.