# 4. Customizing images with AMD Features AMD supports various features and software components that can be enabled by setting the corresponding configuration variable to a valid value in the `local.conf`. Following is a list of components that can be enabled if you want them to be installed/available on your image, or can be configured: * **VULKAN - Vulkan driver and Loader Layer.** > It is required to run Vulkan based applications. Vulkan is a new > generation graphics and compute API that provides high-efficiency, > cross-platform access to modern GPUs. * **MPV \* - Video player based on MPlayer/mplayer2** > MPV is a movie player based on MPlayer and mplayer2. It supports a > wide variety of video file formats, audio and video codecs, and > subtitle types. * **COMMERCIAL MULTIMEDIA \* - License restricted multimedia components** > Certain multimedia formats require license restricted codecs and > software components which are not included in build by default. * **MULTI DISPLAY - Multiple display support** > You can connect multiple displays with AMD machines. The display > configuration/arrangement can be configured using this. * **ON-TARGET DEVELOPMENT - SDK for on-target development** > gcc, make, autotools, autoconf, build-essential etc. * **ON-TARGET DEBUGGING - tools for on-target debugging** > gdb, gdbserver, strace, mtrace * **ON-TARGET PROFILING - tools for on-target profiling** > lttng, babeltrace, systemtap, powertop, valgrind * **RT KERNEL - Realtime Kernel support** > Linux kernel with PREEMPT_RT patch --- #### Disclaimer \* Using **MPV** & **COMMERCIAL MULTIMEDIA** requires use of license-restricted algorithms or software. \* AMD does not distribute or endorse sources for license-restricted algorithms or software, and disclaims any liability for their use. --- ##### Note Please set the required configuration variables as shown below in the `local.conf` **before building an image or generating an SDK** (that can be used to develop apps for these components (if applicable)). Otherwise they will not be configured, and will not be available on the target. --- #### Supported Features | Feature | Configuration variable | Configuration values | Default value | Supported BSPs | |:----------------------|:------------------------------|:---------------------------------------|:--------------|:--------------------| | VULKAN | INCLUDE_VULKAN | yes, no | no | r1000, v1000 | | MPV | INCLUDE_MPV | yes, no | no | r1000, v1000 | | COMMERCIAL MULTIMEDIA | INCLUDE_COMMERCIAL_MULTIMEDIA | yes, no | no | r1000, v1000 | | MULTI DISPLAY | MULTI_DISPLAY_MODE | auto, mirrored, extended-v, extended-h | auto | r1000, v1000 | | ON-TARGET DEVELOPMENT | EXTRA_IMAGE_FEATURES_append | tools-sdk | | r1000, v1000, e3000 | | ON-TARGET DEBUGGING | EXTRA_IMAGE_FEATURES_append | tools-debug | | r1000, v1000, e3000 | | ON-TARGET PROFILING | EXTRA_IMAGE_FEATURES_append | tools-profile | | r1000, v1000, e3000 | | RT KERNEL | RT_KERNEL_AMD | yes, no | no | e3000 | #### Example configuration in local.conf ```sh INCLUDE_VULKAN = "yes" INCLUDE_MPV = "yes" INCLUDE_COMMERCIAL_MULTIMEDIA = "yes" MULTI_DISPLAY_MODE = "auto" EXTRA_IMAGE_FEATURES_append = " tools-sdk" EXTRA_IMAGE_FEATURES_append = " tools-debug" EXTRA_IMAGE_FEATURES_append = " tools-profile" # Please run 'bitbake -c clean virtual/kernel' before configuring RT_KERNEL_AMD RT_KERNEL_AMD = "yes" ``` --- #### What's next Continue to "Section 2 - Setting up and starting a build" ([BUILD.md](BUILD.md#23-start-the-build)) and restart the image build as `bitbake `, and deploy the new image to see the changes take effect.