diff --git a/documentation/content/en/books/handbook/x11/_index.adoc b/documentation/content/en/books/handbook/x11/_index.adoc --- a/documentation/content/en/books/handbook/x11/_index.adoc +++ b/documentation/content/en/books/handbook/x11/_index.adoc @@ -205,7 +205,27 @@ [[x-config-video-cards]] === Video Cards -Because of changes made in recent versions of FreeBSD, it is now possible to use graphics drivers provided by the Ports framework or as packages. As such, users can use one of the following drivers available from package:graphics/drm-kmod[]. +The Ports framework provides the drm graphics drivers necessary for X11 operation on recent hardware. +Users can use one of the following drivers available from package:graphics/drm-kmod[]. +These drivers use interfaces in the kernel that are normally private. +As such, it is strongly recommended that the drivers be built via the ports system, or PORTS_MODULES `makeoptions` in the kernel config file. +With `PORTS_MODULES`, the corresponding port (containing kernel modules) is re-built against the kernel sources, every time you build the kernel. +This ensures the kernel module stays in-sync with the kernel itself. +Alternatively, if you run GENERIC, you can just build the [.filename]#graphics/drm-kmod# port. + +[example] +==== +[.filename]#/usr/src/sys/ARCH/conf/CUSTOM# + +[.programlisting] +.... +include GENERIC +ident CUSTOM +makeoptions PORTS_MODULES="graphics/drm-kmod" +.... +There are more specific ports than `drm-kmod`; however `drm-kmod` is a metaport that brings in the proper port for the FreeBSD version being used. +==== + [[x-config-video-cards-ports]] Intel KMS driver, Radeon KMS driver, AMD KMS driver:: @@ -245,6 +265,28 @@ + For reference, see https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units[]. +Since video drivers use private kernel interfaces, it is strongly recommended that the driver be kept up to date using PORTS_MODULES mechanism. +Alternatively, if you run GENERIC, you can just build the [.filename]#x11/nvidia-driver# port or [.filename]#x11/nvidia-driver-xxx#. +Modern cards you the former. +Legacy cards use the -xxx ports. +For those, fill in the `-xxx` using the http://download.nvidia.com/XFree86/FreeBSD-x86_64/465.19.01/README/[ Supported NvIDIA GPU Products ] page. +This page lists the drivers supported by different versions of the driver, including the 304, 340 and 390 versions of the driver. +Legacy drivers run on both i386 and amd64. +The current driver only supports amd64. +Read this README for information about http://download.nvidia.com/XFree86/FreeBSD-x86_64/465.19.01/README/[installation and configuration of NVIDIA driver]. + +[example] +==== +[.filename]#/usr/src/sys/ARCH/conf/CUSTOM# + +[.programlisting] +.... +include GENERIC +ident CUSTOM +makeoptions PORTS_MODULES="graphics/nvidia-driver" +.... +==== + [[x-config-video-cards-hybrid]] Hybrid Combination Graphics:: Some notebook computers add additional graphics processing units to those built into the chipset or processor. _Optimus_ combines Intel(R) and NVIDIA hardware. _Switchable Graphics_ or _Hybrid Graphics_ are a combination of an Intel(R) or AMD(R) processor and an AMD(R) Radeon `GPU`.