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

Created page with "= 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.githubuserc..."
 
No edit summary
Line 5: Line 5:
== 1. Download Kernel Source ==
== 1. Download Kernel Source ==


<source lang="bash">
<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
</source>
</syntaxhighlight>


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


<source lang="bash">
<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
</source>
</syntaxhighlight>


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


<source lang="bash">
<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
</source>
</syntaxhighlight>


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


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


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


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


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


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


Or create Debian packages:
Or create Debian packages:


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


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


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


Or with packages:
Or with packages:


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


Update bootloader:
Update bootloader:


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


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

Revision as of 03:16, 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

<syntaxhighlight 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 </syntaxhighlight>

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 </syntaxhighlight>

3. Apply the Patch

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

4. Configure the Kernel

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

(Optional) Add a custom version string:

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

5. Build

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

Or create Debian packages:

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

6. Install

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

Or with packages:

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

Update bootloader:

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

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.