| Both sides previous revision Previous revision Next revision | Previous revision |
| graphics [2023/08/25 06:55] – Consistency with the updated summary line of bug 273311. GrahamPerrin | graphics [2023/10/20 01:20] (current) – fix up the markup for a link that confused moinmoin. MarkLinimon |
|---|
| ==== AMD graphics ==== | ==== AMD graphics ==== |
| |
| Two modules exist for AMD hardware: | Refer to the [[https://docs.freebsd.org/en/books/handbook/x11/#x-configuration-amd|handbook]] to get information about how to configure an AMD Graphics card. |
| | |
| * amdgpu | |
| * radeonkms | |
| | |
| – choose **one**, based on the generation of the hardware. | |
| | |
| In most cases: | |
| | |
| * Manual configuration of X.Org is not required. | |
| | |
| We have an [[Graphics/AMD-GPU-Matrix|AMD graphics support matrix]]. The X.Org project provides a [[https://www.x.org/wiki/RadeonFeature/#index5h2|Decoder ring for engineering vs marketing names]]. | |
| | |
| If UEFI boot results in a conflict between a driver and the EFI frame buffer, you can add this line to ''%%/boot/loader.conf%%'' to disable the buffer: | |
| | |
| ''%%hw.syscons.disable=1%%'' | |
| | |
| With the buffer disabled, console output will not appear until the driver loads. https://github.com/FreeBSDDesktop/DEPRECATED-freebsd-base-graphics/issues/170 explains. | |
| | |
| === AMD GPU === | |
| | |
| The amdgpu module is for post-HD7000 or Tahiti GPUs. | |
| | |
| * Install the graphics/drm-kmod package # ''%%pkg install drm-kmod%%'' | |
| | |
| * The post-installation message presents essential information. With %%FreeBSD%% 13⋯, this command will safely configure your ''%%/etc/rc.conf%%'': # ''%%sysrc -f /etc/rc.conf kld_list+=amdgpu%%'' | |
| | |
| * Ensure that your UID is a member of the ''%%video%%'' group. | |
| | |
| * Restart your system. You should see ''%%amdgpu%%'' listed, and a flash of the console when the display driver is switched. | |
| | |
| * Start X.Org via your usual method (i.e. startx, GDM, etc.) | |
| | |
| === Radeon KMS (kernel mode setting) === | |
| | |
| The radeonkms module is for older GPUs (pre-HD7000 or pre-Tahiti). | |
| | |
| * Install the graphics/drm-kmod package # ''%%pkg install drm-kmod%%'' | |
| | |
| * The post-installation message presents essential information. With %%FreeBSD%% 13⋯, this command will safely configure your ''%%/etc/rc.conf%%'': # ''%%sysrc -f /etc/rc.conf kld_list+=radeonkms%%'' | |
| | |
| * Ensure that your UID is a member of the ''%%video%%'' group. | |
| | |
| * Restart your system. You should see ''%%radeonkms%%'' listed, and a flash of the console when the display driver is switched. | |
| | |
| * Start X.Org via your usual method (i.e. startx, GDM, etc.) | |
| |
| ==== Intel Integrated Graphics (aka HD Graphics) ==== | ==== Intel Integrated Graphics (aka HD Graphics) ==== |
| |
| Intel HD Graphics refers to the class of graphics chips that are integrated on the same die as an Intel CPU. Wikipedia offers [[https://en.wikipedia.org/wiki/Intel_Graphics_Technology|a good overview of the variations and names used for generations of Intel HD Graphics]]. Intel HD Graphics chips are found in many modern laptop and desktop systems that ship with an Intel CPU. Commonly-found configurations include Kabylake Intel i915 HD Graphics. | Refer to the [[https://docs.freebsd.org/en/books/handbook/x11/#x-configuration-intel|handbook]] to get information about how to configure an Intel Graphics card. |
| |
| To enable the integrated graphics chip on Intel CPUs, install drm-kmod. The resulting module should work well on all compatible systems. | ===== NVIDIA Proprietary Graphics Driver ===== |
| |
| [[Graphics/Intel-GPU-Matrix|This page]] includes a table of states for various Intel chipsets. | Refer to the [[https://docs.freebsd.org/en/books/handbook/x11/#x-configuration-nvidia|handbook]] to get information about how to configure an NVIDIA Graphics card with the proprietary driver. |
| |
| If you notice high CPU usage, or excessive tearing with HD video: [[https://www.freshports.org/multimedia/libva-intel-driver/|multimedia/libva-intel-driver]] may help – installation should be in addition to ''%%drm-kmod%%'', ''%%mesa-libs%%'' and ''%%mesa-dri%%''. | ==== NVIDIA Open Source Graphics Driver ==== |
| |
| Example configuration: | nvidia-drm.ko complements the x11/nvidia-driver port. |
| |
| * Install the graphics/drm-kmod package # ''%%pkg install drm-kmod%%'' | [[https://www.nvidia.com/Download/driverResults.aspx/210651/en-us/|FreeBSD Display Driver – x64, 535.104.05, FreeBSD x64, NVIDIA]] includes: |
| |
| * The post-installation message presents essential information. With %%FreeBSD%% 13⋯, this command will safely configure your ''%%/etc/rc.conf%%'': # ''%%sysrc -f /etc/rc.conf kld_list+=i915kms%%'' | * a list of products that are supported by version 535.104.05 |
| | |
| * Ensure that your UID is a member of the ''%%video%%'' group. | |
| * Restart your system. You should see ''%%i915kms%%'' listed, and a flash of the console when the display driver is switched. | |
| * Start X.Org via your usual method (i.e. startx, GDM, etc.) | |
| | |
| In most cases: | |
| | |
| * Manual configuration of X.Org is not required | |
| * [[https://www.freshports.org/x11-drivers/xf86-video-intel/|x11-drivers/xf86-video-intel]] is optional | |
| | |
| – X.Org should autodetect the driver, and utilize the [[https://www.x.org/wiki/ModeSetting/|modesetting]] X.Org driver and [[https://www.freedesktop.org/wiki/Software/Glamor/|glamor]] driver. | |
| | |
| ==== NVIDIA ==== | |
| | |
| [[https://www.nvidia.com/Download/driverResults.aspx/210319/en-us/|FreeBSD Display Driver – x64 – 535.98 – FreeBSD x64 – NVIDIA]] includes: | |
| | |
| * a list of products that are supported by version 535.98 | |
| * a download of source code, not to be confused with the ports (below) that benefit from the code. | * a download of source code, not to be confused with the ports (below) that benefit from the code. |
| |
| |
| Configure your ''%%/etc/rc.conf%%'': | Configure your ''%%/etc/rc.conf%%'': |
| # ''%%sysrc -f /etc/rc.conf kld_list+=nvidia-drm ; sysrc kld_list-="nvidia nvidia-modeset"%%'' | # ''%%sysrc -f /etc/rc.conf kld_list+=nvidia-drm%%'' |
| |
| Ensure that your UID is a member of the ''%%video%%'' group. | Ensure that your UID is a member of the ''%%video%%'' group. |
| === nvidia-drm-515-kmod === | === nvidia-drm-515-kmod === |
| |
| For this alternative to nvidia-drm-510-kmod: | Install [[https://www.freshports.org/graphics/nvidia-drm-515-kmod/|graphics/nvidia-drm-515-kmod]], then follow the configuration and other hints above. |
| | |
| - if graphics/nvidia-drm-kmod is installed, uninstall | |
| - install [[https://www.freshports.org/graphics/nvidia-drm-515-kmod/|graphics/nvidia-drm-515-kmod]], then follow the configuration and other hints above. | |
| | |
| ===== NVIDIA graphics ===== | |
| | |
| If configuration of X.Org is not automated, then aim for [[https://www.freshports.org/x11/nvidia-xconfig/|x11/nvidia-xconfig]] – the port of NVIDIA's own tool to manipulate X configuration files for the NVIDIA driver. [[https://man.freebsd.org/cgi/man.cgi?query=nvidia-xconfig&sektion=1&manpath=freebsd-ports|nvidia-xconfig(1)]] | |
| | |
| ==== nvidia-drm ==== | |
| | |
| See the //DRM// section above. | |
| | |
| ==== nvidia-driver, non-DRM ==== | |
| | |
| Five drivers are ported and packaged: | |
| | |
| * ''%%304.137%%'' https://www.nvidia.com/Download/driverResults.aspx/123712/en-us/ package via [[https://www.freshports.org/x11/nvidia-driver-304/|x11/nvidia-driver-304]], does not support [[https://www.freshports.org/x11-servers/xorg-server/|x11-servers/xorg-server]] 1.20 or greater | |
| * ''%%340.108%%'' https://www.nvidia.com/Download/driverResults.aspx/156167/en-us/ package via [[https://www.freshports.org/x11/nvidia-driver-340/|x11/nvidia-driver-340]] | |
| * ''%%390.154%%'' https://www.nvidia.com/Download/driverResults.aspx/191122/en-us/ package via [[https://www.freshports.org/x11/nvidia-driver-390/|x11/nvidia-driver-390]] | |
| * ''%%470.161.03%%'' https://www.nvidia.com/Download/driverResults.aspx/194639/en-us/ package via [[https://www.freshports.org/x11/nvidia-driver-470/|x11/nvidia-driver-470]] | |
| * ''%%535.54.03%%'' https://www.nvidia.com/Download/driverResults.aspx/205466/en-us/ package via [[https://www.freshports.org/x11/nvidia-driver/|x11/nvidia-driver]]. | |
| | |
| The number of available ports, and the related links, will vary. | |
| | |
| NVIDIA-provided pages: | |
| | |
| * list supported products (users can learn which driver to choose) | |
| * offer downloads for source code (not package-oriented). | |
| | |
| Most users will prefer a package. | |
| | |
| For versions prior to 358.09: | |
| | |
| # ''%%sysrc -f /etc/rc.conf kld_list+=nvidia ; sysrc kld_list-="nvidia-modeset nvidia-drm"%%'' | |
| | |
| For superior versions: | |
| | |
| # ''%%sysrc -f /etc/rc.conf kld_list+=nvidia-modeset ; sysrc kld_list-="nvidia nvidia-drm"%%'' | |
| |
| ==== General ==== | ==== General ==== |
| |
| * [[https://badland.io/prime-configuration.md|Configuring PRIME in 2023 (on FreeBSD)]] (Austin Shafer, 2023-04-13 – a few months before the graphics/nvidia-drm-kmod family was added to the %%FreeBSD%% ports tree) | * [[https://badland.io/prime-configuration.md|Configuring PRIME in 2023 (on FreeBSD)]] (Austin Shafer, 2023-04-13 – a few months before the graphics/nvidia-drm-kmod family was added to the %%FreeBSD%% ports tree) |
| * [[MarkLinimon/WorkAreaGraphics/NVidia]] (outdated) | |
| * [[NvidiaFeatureRequests]] (stale) | |
| * [[https://docs.freebsd.org/en/books/faq/#x-3d-acceleration|How can I get 3D hardware acceleration for OpenGL®?]] (outdated) amongst answers to FAQ | |
| * [[https://docs.freebsd.org/en/books/handbook/book/#x-config-video-cards|Video Cards]] (outdated) in the %%FreeBSD%% Handbook | |
| * %%FreeBSD%% bugs: | |
| * [[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260199|260199 – FAQ references to NVIDIA resources]] | |
| * [[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264389|264389 – Handbook has misleading information concerning wayland on NVIDIA]] | |
| * [[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273261|273261 – graphics/nvidia-drm-510-kmod, graphics/nvidia-drm-515-kmod: Makefile: CONFLICTS_INSTALL]] | |
| * [[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273311|273311 – graphics/nvidia-drm-kmod (meta port): improve the COMMENT line of the Makefile, and the package description]] | |
| * [[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273312|273312 – x11/nvidia-driver series: update the five package descriptions: distinguish from the graphics/nvidia-drm-kmod family]] | |
| |
| ===== Virtual machines ===== | ===== Virtual machines ===== |