freebsd / drm-kmod

drm driver for FreeBSD
148 stars 68 forks source link

Add linuxkpi_version.mk for cross-project version tracking #245

Closed amshafer closed 1 year ago

amshafer commented 1 year ago

One of this issues with running nvidia-drm against drm-kmod's master branch is that there are some mismatches in compatibility that require the LINUXKPI_VERSION macro to be defined. Here is an example of a build breaking due to nvidia-drm not having that defined:

https://cirrus-ci.com/task/4762004506804224

Currently I added -DLINUXKPI_VERSION=51600 to nvidia-drm to get builds against master working, but we need a better solution long term. nvidia-drm needs a way to get this directly from drm-kmod, since it may be different between master, 5.15-lts, 5.10-lts, etc.

I took a stab at a solution and came up with this: a new linuxkpi_version.mk makefile that nvidia-drm can include to get the proper version defined and added to its CFLAGS. I tested that both nvidia-drm and drm-kmod built with this, although I haven't pushed the nvidia-drm change using it yet. This patch will resolve the issue, but I'm open to alternatives if this doesn't look good.

amshafer commented 1 year ago

Updated, thanks! I'm guessing the CI failure comes from the 14-snap machine not having the latest commits from base? Not sure on that.

Also would it make sense to cherry pick this back to 5.15? I think that would help with me targeting the nvidia-drm port to something that more users (ones who don't run current) can use.

evadot commented 1 year ago

Updated, thanks! I'm guessing the CI failure comes from the 14-snap machine not having the latest commits from base? Not sure on that.

Yes CI is broken, it's a bit annoying but waiting 1 week each time I do something in base just to have a green tick is much more annoying :)

Also would it make sense to cherry pick this back to 5.15? I think that would help with me targeting the nvidia-drm port to something that more users (ones who don't run current) can use.

Sure, I'll backport this to 5.15, but drm-515-kmod is only available for CURRENT, 13.2 (and stable/13) misses some linuxkpi change that would break KBI so I haven't backport everything.

amshafer commented 1 year ago

Sounds good, could you backport to 5.10 then? I'd like for people on release to be able to try nvidia-drm if possible.

Note that for backporting you'll want to grab my original commit, since that has linuxkpi/Makefile updated in it. linuxkpi/Makefile was removed by your most recent changes so it's not in the commit you merged.

evadot commented 1 year ago

Sounds good, could you backport to 5.10 then? I'd like for people on release to be able to try nvidia-drm if possible.

Doing that right now.

Note that for backporting you'll want to grab my original commit, since that has linuxkpi/Makefile updated in it. linuxkpi/Makefile was removed by your most recent changes so it's not in the commit you merged.

Oops yeah, will be fixed in 5.10 and I'll update again 5.15.

amshafer commented 1 year ago

Thanks!

evadot commented 1 year ago

Thanks!

Done, and ports updated too.