I’ve just recently switched to Fedora, and a kernel patch required to make my system operate correctly is not in the kernel, and apparently due to political issues, is unlikely to be. I’m looking for advice on what options I have from here.
An issue I previously encountered on Debian was with my Ultrawide screen 2560x1080@60Hz was that I had to manually set the resolution using lots of hacky commands with xrandr to get it to work at a reduced refresh rate.
After switching to fedora, I had another look at trying to solve this, as xrandr isn’t available on wayland, and the recommended way to get the correct resolution, is to get your kernel to actually display the correct resolution.
I found this really useful blog post:
Which showed how you are able to overclock the clock frequency of your hdmi cable in order to get the required resolution to be used. In the nvidia noveau drivers, this capability already is provided via the
noveau.hdmimhz boot option.
As far as I can tell, this is perfectly safe, and many people including me for a few days, have used it without any issue, and in most cases only very minimal overclocking is required.
The following links show the blog post’s author trying to get their patch merged into the kernel:
They believe the reason that they are unable to get it merged, is because the maintainers of the
radeon driver for linux, are in AMD’s payrole, so they want you to buy the newer cards (which use the amdgpu driver) instead.
Their patch was slightly outdated for the 6.2.0 kernel that fedora ships with so I took it upon myself and successfully ported it to the 6.2.0 kernel, adding a displayport → hdmi adaptor support, and consequently fixing my display and allowing me to run wayland / GDM displaying in the correct resolution.
From here, I’m not sure where to go. It seems that getting the patch actually merged into the kernel is going to be very difficult so I’ve come up with some other options.
I’m not really sure how to approach this - Unless the way shown through 172421 – radeon: allow to set the TMDS frequency by a special kernel parameter is not the correct starting point, then I think this is unfortunately a dead end
Is it possible to just build the radeon driver, then apply it to kernels? I would have thought so since drivers can be installed via rpm fusion, but I don’t really know how this works.
If I am able to build just the radeon module, then I don’t need rebuild the entire kernel all the time. I think this could be done with a “copr” repo under my name, so I am solely responsible for it. This would definitely be the best option if its not possible to get it merged into the linux kernel.
Fork fedora’s kernel and keep updating the driver in it
While this is an option, it is a struggle to justify rebuilding the entire kernel every 6 months when fedora updates
Try to get the patch merged into fedora only ##
Given: Fedora Linux Kernel Overview :: Fedora Docs
I think that it doesn’t really qualify for “has an upstream developer actively trying to get their code merged into linus’s tree”, however it could be argued that since radeon drivers are so old and only used for very old cards, the maintenance burden would be very low.
Is there any other good options I’ve missed? Please could someone provide me guidance on how I would go about converting a patch to the linux kernel i’ve developed, into a (rpm) package that others can install.