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,25 @@ [[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. +If you run GENERIC, you can just build the [.filename]#graphics/drm-kmod# port after each freebsd-update run. +Tou can add it to your [.filename]#/etc/make.conf# file to include this if you want to use it with all kernels you build. + +[example] +==== +[.filename]#/etc/make.conf# + +[.programlisting] +.... +PORTS_MODULES=graphics/drm-kmod +.... +This will rebuild everything, but can select one or the other depending on which GPU / graphics card you have. +==== [[x-config-video-cards-ports]] Intel KMS driver, Radeon KMS driver, AMD KMS driver:: @@ -245,6 +263,27 @@ + 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]#/etc/make.conf# + +[.programlisting] +.... +PORTS_MODULES=graphics/nvidia-driver +.... +This will rebuild everything, but can select one or the other depending on which GPU / graphics card you have. +==== + [[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`.