From 35c6f3cf47d054f07b58d82b6a9e145ffc5424e3 Mon Sep 17 00:00:00 2001 From: Johannes M Dieterich Date: Tue, 29 Aug 2017 16:32:19 +0000 Subject: [PATCH] New port: graphics/drm-next-kmod. This port includes the current state of the FreeBSDDesktop drm-next efforts to port Linux DRM/KMS components to FreeBSD via the linuxkpi. This version of the port incorporates Linux 4.9 code and works for amdgpu (HD7000/Tahiti and newer) and i915 (HD3000/Sandy Bridge and newer) on recent FreeBSD HEAD. A lot of people helped to make this happen by testing and reporting bugs. However, very special acknowledgements are in order for kip, markj, hselasky, kwm, Johannes Lundberg, and Pete Wright. Reviewed by: kwm, swills (mentor), hselasky, mat, bapt, rezny, dumbbell, jbeich, markj Approved by: kwm, swills (mentor), hselasky (earlier version), mat (earlier version) Obtained from: https://github.com/FreeBSDDesktop/freebsd-base-graphics Differential Revision: https://reviews.freebsd.org/D10021 --- graphics/Makefile | 1 + graphics/drm-next-kmod/Makefile | 37 ++++++++++++++++++++++++++++++ graphics/drm-next-kmod/distinfo | 3 +++ graphics/drm-next-kmod/pkg-descr | 4 ++++ graphics/drm-next-kmod/pkg-message | 10 ++++++++ graphics/drm-next-kmod/pkg-plist | 7 ++++++ 6 files changed, 62 insertions(+) create mode 100644 graphics/drm-next-kmod/Makefile create mode 100644 graphics/drm-next-kmod/distinfo create mode 100644 graphics/drm-next-kmod/pkg-descr create mode 100644 graphics/drm-next-kmod/pkg-message create mode 100644 graphics/drm-next-kmod/pkg-plist diff --git a/graphics/Makefile b/graphics/Makefile index 6b4c9467d417..2fce8a30ebc5 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -150,6 +150,7 @@ SUBDIR += djvulibre SUBDIR += dmtx-utils SUBDIR += driconf + SUBDIR += drm-next-kmod SUBDIR += dspdfviewer SUBDIR += duhdraw SUBDIR += dynamechs diff --git a/graphics/drm-next-kmod/Makefile b/graphics/drm-next-kmod/Makefile new file mode 100644 index 000000000000..26413d55e296 --- /dev/null +++ b/graphics/drm-next-kmod/Makefile @@ -0,0 +1,37 @@ +# Created by: Johannes Dieterich +# $FreeBSD$ + +PORTNAME= drm-next-kmod +PORTVERSION= g20170825 +CATEGORIES= graphics + +MAINTAINER= jmd@FreeBSD.org +COMMENT= DRM modules for the linuxkpi-based KMS components + +LICENSE= BSD2CLAUSE MIT GPLv2 +LICENSE_COMB= multi + +ONLY_FOR_ARCHS= amd64 +ONLY_FOR_ARCHS_REASON= the new KMS components are only supported on amd64 + +RUN_DEPENDS= gpu-firmware-kmod>=g20170403:graphics/gpu-firmware-kmod + +OPTIONS_DEFINE= DEBUG + +USES= kmod uidfix + +USE_GITHUB= yes +GH_ACCOUNT= FreeBSDDesktop +GH_PROJECT= kms-drm +GH_TAGNAME= 4ee5acb + +.include + +.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1200039 +IGNORE= not supported on 11.x or older, no kernel support +.endif +.if ${OPSYS} != FreeBSD +IGNORE= not supported on anything but FreeBSD (missing linuxkpi functionality) +.endif + +.include diff --git a/graphics/drm-next-kmod/distinfo b/graphics/drm-next-kmod/distinfo new file mode 100644 index 000000000000..f11206177de0 --- /dev/null +++ b/graphics/drm-next-kmod/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1503685089 +SHA256 (FreeBSDDesktop-kms-drm-g20170825-4ee5acb_GH0.tar.gz) = b43ec8530ec5f440dc406c6b65a1ade2a4aceb694111b15a6a935457686dce31 +SIZE (FreeBSDDesktop-kms-drm-g20170825-4ee5acb_GH0.tar.gz) = 6678678 diff --git a/graphics/drm-next-kmod/pkg-descr b/graphics/drm-next-kmod/pkg-descr new file mode 100644 index 000000000000..6b2839963378 --- /dev/null +++ b/graphics/drm-next-kmod/pkg-descr @@ -0,0 +1,4 @@ +amdgpu, i915, and radeon DRM modules for the linuxkpi-based KMS components. +Currently corresponding to linux 4.9 DRM. + +WWW: https://github.com/FreeBSDDesktop/kms-drm diff --git a/graphics/drm-next-kmod/pkg-message b/graphics/drm-next-kmod/pkg-message new file mode 100644 index 000000000000..5553f495df39 --- /dev/null +++ b/graphics/drm-next-kmod/pkg-message @@ -0,0 +1,10 @@ +The drm-next-kmod port requires explicit loading of its drm.ko kernel +module prior to loading either amdgpu (for AMD GPUs starting with +the HD7000 series / Tahiti) or i915kms (for Intel APUs starting with +HD3000 / Sandy Bridge) through kld_list in /etc/rc.conf. + +For example: kld_list="/boot/modules/drm.ko /boot/modules/amdgpu.ko" +or kld_list="/boot/modules/drm.ko /boot/modules/i915kms.ko" + +Older generations are supported by the kms modules (radeonkms / +i915kms) in base. diff --git a/graphics/drm-next-kmod/pkg-plist b/graphics/drm-next-kmod/pkg-plist new file mode 100644 index 000000000000..8930f98d203a --- /dev/null +++ b/graphics/drm-next-kmod/pkg-plist @@ -0,0 +1,7 @@ +/%%KMODDIR%%/amdgpu.ko +/%%KMODDIR%%/amdkfd.ko +/%%KMODDIR%%/debugfs.ko +/%%KMODDIR%%/drm.ko +/%%KMODDIR%%/i915kms.ko +/%%KMODDIR%%/linuxkpi_gplv2.ko +/%%KMODDIR%%/radeonkms.ko