€•x¿Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ./translations/zh_CN/admin-guide/media/building”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/zh_TW/admin-guide/media/building”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/it_IT/admin-guide/media/building”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/ja_JP/admin-guide/media/building”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/ko_KR/admin-guide/media/building”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/pt_BR/admin-guide/media/building”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/sp_SP/admin-guide/media/building”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)�”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒH/var/lib/git/docbuild/linux/Documentation/admin-guide/media/building.rst”h´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ#Building support for a media device”h]”hŒ#Building support for a media device”…”�”}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhŒ paragraph”“”)�”}”(hŒ�The first step is to download the Kernel's source code, either via a distribution-specific source file or via the Kernel's main git tree\ [1]_.”h]”(hŒŽThe first step is to download the Kernel’s source code, either via a distribution-specific source file or via the Kernel’s main git tree ”…”�”}”(hhßh²hh³Nh´NubhŒfootnote_reference”“”)�”}”(hŒ[1]_”h]”hŒ1”…”�”}”(hhéh²hh³Nh´Nubah}”(h]”Œid1”ah ]”h"]”h$]”h&]”Œrefid”Œid2”Œdocname”Œadmin-guide/media/building”uh1hçhhߌresolved”KubhŒ.”…”�”}”(hhßh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhÊh²hubhÞ)�”}”(hŒ!Please notice, however, that, if:”h]”hŒ!Please notice, however, that, if:”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K hhÊh²hubhŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒ:you're a braveheart and want to experiment with new stuff;”h]”hÞ)�”}”(hjh]”hŒ`_:”h]”(hŒ:In this case, you may find some useful information at the ”…”�”}”(hj²h²hh³Nh´Nubj—)�”}”(hŒ0`LinuxTv wiki pages `_”h]”hŒLinuxTv wiki pages”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”ŒLinuxTv wiki pages”Œrefuri”Œhttps://linuxtv.org/wiki”uh1j–hj²ubhŒtarget”“”)�”}”(hŒ ”h]”h}”(h]”Œlinuxtv-wiki-pages”ah ]”h"]”Œlinuxtv wiki pages”ah$]”h&]”Œrefuri”jËuh1jÌŒ referenced”Khj²ubhŒ:”…”�”}”(hj²h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhÊh²hubj�)�”}”(hŒ[https://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers ”h]”hÞ)�”}”(hŒZhttps://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers”h]”j—)�”}”(hjìh]”hŒZhttps://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jìuh1j–hjêubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khjæubah}”(h]”h ]”h"]”h$]”h&]”uh1jŒh³hÇh´KhhÊh²hubhŒfootnote”“”)�”}”(hŒ€The upstream Linux Kernel development tree is located at https://git.kernel.org/pub/scm/li nux/kernel/git/torvalds/linux.git/ ”h]”(hŒlabel”“”)�”}”(hŒ1”h]”hŒ1”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubhÞ)�”}”(hŒ8The upstream Linux Kernel development tree is located at”h]”hŒ8The upstream Linux Kernel development tree is located at”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj ubhÞ)�”}”(hŒEhttps://git.kernel.org/pub/scm/li nux/kernel/git/torvalds/linux.git/”h]”(j—)�”}”(hŒ!https://git.kernel.org/pub/scm/li”h]”hŒ!https://git.kernel.org/pub/scm/li”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j2uh1j–hj,ubhŒ$ nux/kernel/git/torvalds/linux.git/”…”�”}”(hj,h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj ubeh}”(h]”hùah ]”h"]”Œ1”ah$]”h&]”hóahúhûuh1jh³hÇh´KhhÊh²hhüKubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒConfiguring the Linux Kernel”h]”hŒConfiguring the Linux Kernel”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjPh²hh³hÇh´KubhÞ)�”}”(hŒ7You can access a menu of Kernel building options with::”h]”hŒ6You can access a menu of Kernel building options with:”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K hjPh²hubhŒ literal_block”“”)�”}”(hŒ$ make menuconfig”h]”hŒ$ make menuconfig”…”�”}”hjqsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1joh³hÇh´K"hjPh²hubhÞ)�”}”(hŒGThen, select all desired options and exit it, saving the configuration.”h]”hŒGThen, select all desired options and exit it, saving the configuration.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K$hjPh²hubhÞ)�”}”(hŒOThe changed configuration will be at the ``.config`` file. It would look like::”h]”(hŒ)The changed configuration will be at the ”…”�”}”(hj�h²hh³Nh´Nubjs)�”}”(hŒ ``.config``”h]”hŒ.config”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj�ubhŒ file. It would look like:”…”�”}”(hj�h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K&hjPh²hubjp)�”}”(hŒu... # CONFIG_RC_CORE is not set # CONFIG_CEC_CORE is not set CONFIG_MEDIA_SUPPORT=m CONFIG_MEDIA_SUPPORT_FILTER=y ...”h]”hŒu... # CONFIG_RC_CORE is not set # CONFIG_CEC_CORE is not set CONFIG_MEDIA_SUPPORT=m CONFIG_MEDIA_SUPPORT_FILTER=y ...”…”�”}”hj­sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1joh³hÇh´K)hjPh²hubhÞ)�”}”(hŒGThe media subsystem is controlled by those menu configuration options::”h]”hŒFThe media subsystem is controlled by those menu configuration options:”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K0hjPh²hubjp)�”}”(hŒÆDevice Drivers ---> Remote Controller support ---> [ ] HDMI CEC RC integration [ ] Enable CEC error injection support [*] HDMI CEC drivers ---> <*> Multimedia support --->”h]”hŒÆDevice Drivers ---> Remote Controller support ---> [ ] HDMI CEC RC integration [ ] Enable CEC error injection support [*] HDMI CEC drivers ---> <*> Multimedia support --->”…”�”}”hjÉsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1joh³hÇh´K2hjPh²hubhÞ)�”}”(hŒ_The ``Remote Controller support`` option enables the core support for remote controllers\ [2]_.”h]”(hŒThe ”…”�”}”(hj×h²hh³Nh´Nubjs)�”}”(hŒ``Remote Controller support``”h]”hŒRemote Controller support”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj×ubhŒ9 option enables the core support for remote controllers ”…”�”}”(hj×h²hh³Nh´Nubhè)�”}”(hŒ[2]_”h]”hŒ2”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”Œid3”ah ]”h"]”h$]”h&]”høŒid5”húhûuh1hçhj×hüKubhŒ.”…”�”}”(hj×h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K9hjPh²hubhÞ)�”}”(hŒÉThe ``HDMI CEC RC integration`` option enables integration of HDMI CEC with Linux, allowing to receive data via HDMI CEC as if it were produced by a remote controller directly connected to the machine.”h]”(hŒThe ”…”�”}”(hj h²hh³Nh´Nubjs)�”}”(hŒ``HDMI CEC RC integration``”h]”hŒHDMI CEC RC integration”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj ubhŒª option enables integration of HDMI CEC with Linux, allowing to receive data via HDMI CEC as if it were produced by a remote controller directly connected to the machine.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K Compile Remote Controller keymap modules [*] LIRC user interface [*] Support for eBPF programs attached to lirc devices [*] Remote controller decoders ---> [*] Remote Controller devices --->”h]”hŒî--- Remote Controller support Compile Remote Controller keymap modules [*] LIRC user interface [*] Support for eBPF programs attached to lirc devices [*] Remote controller decoders ---> [*] Remote Controller devices --->”…”�”}”hjÝsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1joh³hÇh´K}hj¾h²hubhÞ)�”}”(hŒpThe ``Compile Remote Controller keymap modules`` option creates key maps for several popular remote controllers.”h]”(hŒThe ”…”�”}”(hjëh²hh³Nh´Nubjs)�”}”(hŒ,``Compile Remote Controller keymap modules``”h]”hŒ(Compile Remote Controller keymap modules”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjëubhŒ@ option creates key maps for several popular remote controllers.”…”�”}”(hjëh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K„hj¾h²hubhÞ)�”}”(hŒµThe ``LIRC user interface`` option adds enhanced functionality when using the ``lirc`` program, by enabling an API that allows userspace to receive raw data from remote controllers.”h]”(hŒThe ”…”�”}”(hj h²hh³Nh´Nubjs)�”}”(hŒ``LIRC user interface``”h]”hŒLIRC user interface”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj ubhŒ3 option adds enhanced functionality when using the ”…”�”}”(hj h²hh³Nh´Nubjs)�”}”(hŒ``lirc``”h]”hŒlirc”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj ubhŒ_ program, by enabling an API that allows userspace to receive raw data from remote controllers.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K‡hj¾h²hubhÞ)�”}”(hŒÝThe ``Support for eBPF programs attached to lirc devices`` option allows the usage of special programs (called eBPF) that would allow applications to add extra remote controller decoding functionality to the Linux Kernel.”h]”(hŒThe ”…”�”}”(hj=h²hh³Nh´Nubjs)�”}”(hŒ6``Support for eBPF programs attached to lirc devices``”h]”hŒ2Support for eBPF programs attached to lirc devices”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj=ubhŒ£ option allows the usage of special programs (called eBPF) that would allow applications to add extra remote controller decoding functionality to the Linux Kernel.”…”�”}”(hj=h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K‹hj¾h²hubhÞ)�”}”(hŒÛThe ``Remote controller decoders`` option allows selecting the protocols that will be recognized by the Linux Kernel. Except if you want to disable some specific decoder, it is suggested to keep all sub-options enabled.”h]”(hŒThe ”…”�”}”(hj]h²hh³Nh´Nubjs)�”}”(hŒ``Remote controller decoders``”h]”hŒRemote controller decoders”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj]ubhŒ¹ option allows selecting the protocols that will be recognized by the Linux Kernel. Except if you want to disable some specific decoder, it is suggested to keep all sub-options enabled.”…”�”}”(hj]h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K�hj¾h²hubhÞ)�”}”(hŒoThe ``Remote Controller devices`` allows you to select the drivers that would be needed to support your device.”h]”(hŒThe ”…”�”}”(hj}h²hh³Nh´Nubjs)�”}”(hŒ``Remote Controller devices``”h]”hŒRemote Controller devices”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj}ubhŒN allows you to select the drivers that would be needed to support your device.”…”�”}”(hj}h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K”hj¾h²hubhÞ)�”}”(hŒÓThe same configuration can also be set via the ``script/config`` script. So, for instance, in order to support the ITE remote controller driver (found on Intel NUCs and on some ASUS x86 desktops), you could do::”h]”(hŒ/The same configuration can also be set via the ”…”�”}”(hj�h²hh³Nh´Nubjs)�”}”(hŒ``script/config``”h]”hŒ script/config”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj�ubhŒ’ script. So, for instance, in order to support the ITE remote controller driver (found on Intel NUCs and on some ASUS x86 desktops), you could do:”…”�”}”(hj�h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K—hj¾h²hubjp)�”}”(hŒë$ scripts/config -e INPUT $ scripts/config -e ACPI $ scripts/config -e MODULES $ scripts/config -m RC_CORE $ scripts/config -e RC_DEVICES $ scripts/config -e RC_DECODERS $ scripts/config -m IR_RC5_DECODER $ scripts/config -m IR_ITE_CIR”h]”hŒë$ scripts/config -e INPUT $ scripts/config -e ACPI $ scripts/config -e MODULES $ scripts/config -m RC_CORE $ scripts/config -e RC_DEVICES $ scripts/config -e RC_DECODERS $ scripts/config -m IR_RC5_DECODER $ scripts/config -m IR_ITE_CIR”…”�”}”hj½sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1joh³hÇh´K›hj¾h²hubeh}”(h]”Œ"enabling-remote-controller-support”ah ]”h"]”Œ"enabling remote controller support”ah$]”h&]”uh1hÈhjPh²hh³hÇh´KxubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒEnabling HDMI CEC Support”h]”hŒEnabling HDMI CEC Support”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjÓh²hh³hÇh´K¥ubhÞ)�”}”(hŒÁThe HDMI CEC support is set automatically when a driver requires it. So, all you need to do is to enable support either for a graphics card that needs it or by one of the existing HDMI drivers.”h]”hŒÁThe HDMI CEC support is set automatically when a driver requires it. So, all you need to do is to enable support either for a graphics card that needs it or by one of the existing HDMI drivers.”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K§hjÓh²hubhÞ)�”}”(hŒPThe HDMI-specific drivers are available at the ``HDMI CEC drivers`` menu\ [4]_::”h]”(hŒ/The HDMI-specific drivers are available at the ”…”�”}”(hjòh²hh³Nh´Nubjs)�”}”(hŒ``HDMI CEC drivers``”h]”hŒHDMI CEC drivers”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjòubhŒ menu ”…”�”}”(hjòh²hh³Nh´Nubhè)�”}”(hŒ[4]_”h]”hŒ4”…”�”}”(hj h²hh³Nh´Nubah}”(h]”Œid7”ah ]”h"]”h$]”h&]”høŒid8”húhûuh1hçhjòhüKubhŒ:”…”�”}”(hjòh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K«hjÓh²hubjp)�”}”(hX¶--- HDMI CEC drivers < > ChromeOS EC CEC driver < > Amlogic Meson AO CEC driver < > Amlogic Meson G12A AO CEC driver < > Generic GPIO-based CEC driver < > Samsung S5P CEC driver < > STMicroelectronics STiH4xx HDMI CEC driver < > STMicroelectronics STM32 HDMI CEC driver < > Tegra HDMI CEC driver < > SECO Boards HDMI CEC driver [ ] SECO Boards IR RC5 support < > Pulse Eight HDMI CEC < > RainShadow Tech HDMI CEC”h]”hX¶--- HDMI CEC drivers < > ChromeOS EC CEC driver < > Amlogic Meson AO CEC driver < > Amlogic Meson G12A AO CEC driver < > Generic GPIO-based CEC driver < > Samsung S5P CEC driver < > STMicroelectronics STiH4xx HDMI CEC driver < > STMicroelectronics STM32 HDMI CEC driver < > Tegra HDMI CEC driver < > SECO Boards HDMI CEC driver [ ] SECO Boards IR RC5 support < > Pulse Eight HDMI CEC < > RainShadow Tech HDMI CEC”…”�”}”hj&sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1joh³hÇh´K®hjÓh²hubj )�”}”(hŒ�The above contents is just an example. The actual options for HDMI devices depends on the system's architecture and may vary on new Kernels. ”h]”(j)�”}”(hŒ4”h]”hŒ4”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj4ubhÞ)�”}”(hŒŒThe above contents is just an example. The actual options for HDMI devices depends on the system's architecture and may vary on new Kernels.”h]”hŒŽThe above contents is just an example. The actual options for HDMI devices depends on the system’s architecture and may vary on new Kernels.”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K¼hj4ubeh}”(h]”jah ]”h"]”Œ4”ah$]”h&]”jahúhûuh1jh³hÇh´K¼hjÓh²hhüKubeh}”(h]”Œenabling-hdmi-cec-support”ah ]”h"]”Œenabling hdmi cec support”ah$]”h&]”uh1hÈhjPh²hh³hÇh´K¥ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒEnabling Media Support”h]”hŒEnabling Media Support”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjch²hh³hÇh´KÁubhÞ)�”}”(hŒ|The Media menu has a lot more options than the remote controller menu. Once selected, you should see the following options::”h]”hŒ{The Media menu has a lot more options than the remote controller menu. Once selected, you should see the following options:”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KÃhjch²hubjp)�”}”(hX0--- Media support [ ] Filter media drivers [*] Autoselect ancillary drivers Media device types ---> Media core support ---> Video4Linux options ---> Media controller options ---> Digital TV options ---> HDMI CEC options ---> Media drivers ---> Media ancillary drivers --->”h]”hX0--- Media support [ ] Filter media drivers [*] Autoselect ancillary drivers Media device types ---> Media core support ---> Video4Linux options ---> Media controller options ---> Digital TV options ---> HDMI CEC options ---> Media drivers ---> Media ancillary drivers --->”…”�”}”hj‚sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1joh³hÇh´KÆhjch²hubhÞ)�”}”(hŒöExcept if you know exactly what you're doing, or if you want to build a driver for a SoC platform, it is strongly recommended to keep the ``Autoselect ancillary drivers`` option turned on, as it will auto-select the needed I²C ancillary drivers.”h]”(hŒŒExcept if you know exactly what you’re doing, or if you want to build a driver for a SoC platform, it is strongly recommended to keep the ”…”�”}”(hj�h²hh³Nh´Nubjs)�”}”(hŒ ``Autoselect ancillary drivers``”h]”hŒAutoselect ancillary drivers”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj�ubhŒL option turned on, as it will auto-select the needed I²C ancillary drivers.”…”�”}”(hj�h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KÒhjch²hubhÞ)�”}”(hŒJThere are now two ways to select media device drivers, as described below.”h]”hŒJThere are now two ways to select media device drivers, as described below.”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K×hjch²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ``Filter media drivers`` menu”h]”(js)�”}”(hŒ``Filter media drivers``”h]”hŒFilter media drivers”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjÁubhŒ menu”…”�”}”(hjÁh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj¾h²hh³hÇh´KÛubhÞ)�”}”(hŒ¡This menu is meant to easy setup for PC and Laptop hardware. It works by letting the user to specify what kind of media drivers are desired, with those options::”h]”hŒ This menu is meant to easy setup for PC and Laptop hardware. It works by letting the user to specify what kind of media drivers are desired, with those options:”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KÝhj¾h²hubjp)�”}”(hŒ¬[ ] Cameras and video grabbers [ ] Analog TV [ ] Digital TV [ ] AM/FM radio receivers/transmitters [ ] Software defined radio [ ] Platform-specific devices [ ] Test drivers”h]”hŒ¬[ ] Cameras and video grabbers [ ] Analog TV [ ] Digital TV [ ] AM/FM radio receivers/transmitters [ ] Software defined radio [ ] Platform-specific devices [ ] Test drivers”…”�”}”hjësbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1joh³hÇh´Káhj¾h²hubhÞ)�”}”(hŒ}So, if you want to add support to a camera or video grabber only, select just the first option. Multiple options are allowed.”h]”hŒ}So, if you want to add support to a camera or video grabber only, select just the first option. Multiple options are allowed.”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kéhj¾h²hubhÞ)�”}”(hŒ˜Once the options on this menu are selected, the building system will auto-select the needed core drivers in order to support the selected functionality.”h]”hŒ˜Once the options on this menu are selected, the building system will auto-select the needed core drivers in order to support the selected functionality.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kìhj¾h²hubjŽ)�”}”(hŒ¬Most TV cards are hybrid: they support both Analog TV and Digital TV. If you have an hybrid card, you may need to enable both ``Analog TV`` and ``Digital TV`` at the menu.”h]”(hÞ)�”}”(hŒEMost TV cards are hybrid: they support both Analog TV and Digital TV.”h]”hŒEMost TV cards are hybrid: they support both Analog TV and Digital TV.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KòhjubhÞ)�”}”(hŒeIf you have an hybrid card, you may need to enable both ``Analog TV`` and ``Digital TV`` at the menu.”h]”(hŒ8If you have an hybrid card, you may need to enable both ”…”�”}”(hj'h²hh³Nh´Nubjs)�”}”(hŒ ``Analog TV``”h]”hŒ Analog TV”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj'ubhŒ and ”…”�”}”(hj'h²hh³Nh´Nubjs)�”}”(hŒ``Digital TV``”h]”hŒ Digital TV”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj'ubhŒ at the menu.”…”�”}”(hj'h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Kôhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�hj¾h²hh³hÇh´NubhÞ)�”}”(hX0When using this option, the defaults for the media support core functionality are usually good enough to provide the basic functionality for the driver. Yet, you could manually enable some desired extra (optional) functionality using the settings under each of the following ``Media support`` sub-menus::”h]”(hXWhen using this option, the defaults for the media support core functionality are usually good enough to provide the basic functionality for the driver. Yet, you could manually enable some desired extra (optional) functionality using the settings under each of the following ”…”�”}”(hj_h²hh³Nh´Nubjs)�”}”(hŒ``Media support``”h]”hŒ Media support”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj_ubhŒ sub-menus:”…”�”}”(hj_h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K÷hj¾h²hubjp)�”}”(hŒ|Media core support ---> Video4Linux options ---> Media controller options ---> Digital TV options ---> HDMI CEC options --->”h]”hŒ|Media core support ---> Video4Linux options ---> Media controller options ---> Digital TV options ---> HDMI CEC options --->”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1joh³hÇh´Kýhj¾h²hubhÞ)�”}”(hŒ˜Once you select the desired filters, the drivers that matches the filtering criteria will be available at the ``Media support->Media drivers`` sub-menu.”h]”(hŒnOnce you select the desired filters, the drivers that matches the filtering criteria will be available at the ”…”�”}”(hj�h²hh³Nh´Nubjs)�”}”(hŒ ``Media support->Media drivers``”h]”hŒMedia support->Media drivers”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj�ubhŒ sub-menu.”…”�”}”(hj�h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Mhj¾h²hubeh}”(h]”Œfilter-media-drivers-menu”ah ]”h"]”Œfilter media drivers menu”ah$]”h&]”uh1hÈhjch²hh³hÇh´KÛubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ-``Media Core Support`` menu without filtering”h]”(js)�”}”(hŒ``Media Core Support``”h]”hŒMedia Core Support”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj¸ubhŒ menu without filtering”…”�”}”(hj¸h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjµh²hh³hÇh´MubhÞ)�”}”(hŒ¡If you disable the ``Filter media drivers`` menu, all drivers available for your system whose dependencies are met should be shown at the ``Media drivers`` menu.”h]”(hŒIf you disable the ”…”�”}”(hjÔh²hh³Nh´Nubjs)�”}”(hŒ``Filter media drivers``”h]”hŒFilter media drivers”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjÔubhŒ_ menu, all drivers available for your system whose dependencies are met should be shown at the ”…”�”}”(hjÔh²hh³Nh´Nubjs)�”}”(hŒ``Media drivers``”h]”hŒ Media drivers”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjÔubhŒ menu.”…”�”}”(hjÔh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´M hjµh²hubhÞ)�”}”(hŒÏPlease notice, however, that you should first ensure that the ``Media Core Support`` menu has all the core functionality your drivers would need, as otherwise the corresponding device drivers won't be shown.”h]”(hŒ>Please notice, however, that you should first ensure that the ”…”�”}”(hjh²hh³Nh´Nubjs)�”}”(hŒ``Media Core Support``”h]”hŒMedia Core Support”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjubhŒ} menu has all the core functionality your drivers would need, as otherwise the corresponding device drivers won’t be shown.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´M hjµh²hubeh}”(h]”Œ)media-core-support-menu-without-filtering”ah ]”h"]”Œ)media core support menu without filtering”ah$]”h&]”uh1hÈhjch²hh³hÇh´Mubeh}”(h]”Œenabling-media-support”ah ]”h"]”Œenabling media support”ah$]”h&]”uh1hÈhjPh²hh³hÇh´KÁubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒExample”h]”hŒExample”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj6h²hh³hÇh´MubhÞ)�”}”(hŒ»In order to enable modular support for one of the boards listed on :doc:`this table `, with modular media core modules, the ``.config`` file should contain those lines::”h]”(hŒCIn order to enable modular support for one of the boards listed on ”…”�”}”(hjGh²hh³Nh´Nubh)�”}”(hŒ$:doc:`this table `”h]”hŒinline”“”)�”}”(hjQh]”hŒ this table”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-doc”eh"]”h$]”h&]”uh1jShjOubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hûŒ refdomain”j`Œreftype”Œdoc”Œ refexplicit”ˆŒrefwarn”ˆŒ reftarget”Œcx231xx-cardlist”uh1hh³hÇh´MhjGubhŒ', with modular media core modules, the ”…”�”}”(hjGh²hh³Nh´Nubjs)�”}”(hŒ ``.config``”h]”hŒ.config”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjGubhŒ! file should contain those lines:”…”�”}”(hjGh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Mhj6h²hubjp)�”}”(hXCONFIG_MODULES=y CONFIG_USB=y CONFIG_I2C=y CONFIG_INPUT=y CONFIG_RC_CORE=m CONFIG_MEDIA_SUPPORT=m CONFIG_MEDIA_SUPPORT_FILTER=y CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y CONFIG_MEDIA_USB_SUPPORT=y CONFIG_VIDEO_CX231XX=y CONFIG_VIDEO_CX231XX_DVB=y”h]”hXCONFIG_MODULES=y CONFIG_USB=y CONFIG_I2C=y CONFIG_INPUT=y CONFIG_RC_CORE=m CONFIG_MEDIA_SUPPORT=m CONFIG_MEDIA_SUPPORT_FILTER=y CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y CONFIG_MEDIA_USB_SUPPORT=y CONFIG_VIDEO_CX231XX=y CONFIG_VIDEO_CX231XX_DVB=y”…”�”}”hj�sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1joh³hÇh´Mhj6h²hubeh}”(h]”Œexample”ah ]”h"]”Œexample”ah$]”h&]”uh1hÈhjPh²hh³hÇh´Mubeh}”(h]”Œconfiguring-the-linux-kernel”ah ]”h"]”Œconfiguring the linux kernel”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ$Building and installing a new Kernel”h]”hŒ$Building and installing a new Kernel”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj­h²hh³hÇh´M&ubhÞ)�”}”(hŒgOnce the ``.config`` file has everything needed, all it takes to build is to run the ``make`` command::”h]”(hŒ Once the ”…”�”}”(hj¾h²hh³Nh´Nubjs)�”}”(hŒ ``.config``”h]”hŒ.config”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj¾ubhŒA file has everything needed, all it takes to build is to run the ”…”�”}”(hj¾h²hh³Nh´Nubjs)�”}”(hŒ``make``”h]”hŒmake”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj¾ubhŒ command:”…”�”}”(hj¾h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´M(hj­h²hubjp)�”}”(hŒ$ make”h]”hŒ$ make”…”�”}”hjðsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1joh³hÇh´M+hj­h²hubhÞ)�”}”(hŒ1And then install the new Kernel and its modules::”h]”hŒ0And then install the new Kernel and its modules:”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´M-hj­h²hubjp)�”}”(hŒ/$ sudo make modules_install $ sudo make install”h]”hŒ/$ sudo make modules_install $ sudo make install”…”�”}”hj sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1joh³hÇh´M/hj­h²hubeh}”(h]”Œ$building-and-installing-a-new-kernel”ah ]”h"]”Œ$building and installing a new kernel”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´M&ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ,Building just the new media drivers and core”h]”hŒ,Building just the new media drivers and core”…”�”}”(hj% h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj" h²hh³hÇh´M3ubhÞ)�”}”(hŒÙRunning a new development Kernel from the development tree is usually risky, because it may have experimental changes that may have bugs. So, there are some ways to build just the new drivers, using alternative trees.”h]”hŒÙRunning a new development Kernel from the development tree is usually risky, because it may have experimental changes that may have bugs. So, there are some ways to build just the new drivers, using alternative trees.”…”�”}”(hj3 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´M5hj" h²hubhÞ)�”}”(hŒ°There is the `Linux Kernel backports project `_, with contains newer drivers meant to be compiled against stable Kernels.”h]”(hŒ There is the ”…”�”}”(hjA h²hh³Nh´Nubj—)�”}”(hŒY`Linux Kernel backports project `_”h]”hŒLinux Kernel backports project”…”�”}”(hjI h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”ŒLinux Kernel backports project”jÊŒ5https://backports.wiki.kernel.org/index.php/Main_Page”uh1j–hjA ubjÍ)�”}”(hŒ8 ”h]”h}”(h]”Œlinux-kernel-backports-project”ah ]”h"]”Œlinux kernel backports project”ah$]”h&]”Œrefuri”jY uh1jÌjÛKhjA ubhŒJ, with contains newer drivers meant to be compiled against stable Kernels.”…”�”}”(hjA h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´M9hj" h²hubhÞ)�”}”(hŒÍThe LinuxTV developers, with are responsible for maintaining the media subsystem also maintains a backport tree, with just the media drivers daily updated from the newest kernel. Such tree is available at:”h]”hŒÍThe LinuxTV developers, with are responsible for maintaining the media subsystem also maintains a backport tree, with just the media drivers daily updated from the newest kernel. Such tree is available at:”…”�”}”(hjq h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´M=hj" h²hubhÞ)�”}”(hŒ(https://git.linuxtv.org/media_build.git/”h]”j—)�”}”(hj� h]”hŒ(https://git.linuxtv.org/media_build.git/”…”�”}”(hjƒ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j� uh1j–hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´MAhj" h²hubhÞ)�”}”(hX%It should be noticed that, while it should be relatively safe to use the ``media_build`` tree for testing purposes, there are not warranties that it would work (or even build) on a random Kernel. This tree is maintained using a "best-efforts" principle, as time permits us to fix issues there.”h]”(hŒIIt should be noticed that, while it should be relatively safe to use the ”…”�”}”(hj— h²hh³Nh´Nubjs)�”}”(hŒ``media_build``”h]”hŒ media_build”…”�”}”(hjŸ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj— ubhŒÑ tree for testing purposes, there are not warranties that it would work (or even build) on a random Kernel. This tree is maintained using a “best-effortsâ€� principle, as time permits us to fix issues there.”…”�”}”(hj— h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´MChj" h²hubhÞ)�”}”(hŒíIf you notice anything wrong on it, feel free to submit patches at the Linux media subsystem's mailing list: media@vger.kernel.org. Please add ``[PATCH media-build]`` at the e-mail's subject if you submit a new patch for the media-build.”h]”(hŒoIf you notice anything wrong on it, feel free to submit patches at the Linux media subsystem’s mailing list: ”…”�”}”(hj· h²hh³Nh´Nubj—)�”}”(hŒmedia@vger.kernel.org”h]”hŒmedia@vger.kernel.org”…”�”}”(hj¿ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:media@vger.kernel.org”uh1j–hj· ubhŒ . Please add ”…”�”}”(hj· h²hh³Nh´Nubjs)�”}”(hŒ``[PATCH media-build]``”h]”hŒ[PATCH media-build]”…”�”}”(hjÓ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj· ubhŒI at the e-mail’s subject if you submit a new patch for the media-build.”…”�”}”(hj· h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´MHhj" h²hubhÞ)�”}”(hŒ!Before using it, you should run::”h]”hŒ Before using it, you should run:”…”�”}”(hjë h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´MMhj" h²hubjp)�”}”(hŒ $ ./build”h]”hŒ $ ./build”…”�”}”hjù sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1joh³hÇh´MOhj" h²hubjŽ)�”}”(hXS1) you may need to run it twice if the ``media-build`` tree gets updated; 2) you may need to do a ``make distclean`` if you had built it in the past for a different Kernel version than the one you're currently using; 3) by default, it will use the same config options for media as the ones defined on the Kernel you're running.”h]”hŒenumerated_list”“”)�”}”(hhh]”(j)�”}”(hŒFyou may need to run it twice if the ``media-build`` tree gets updated;”h]”hÞ)�”}”(hŒFyou may need to run it twice if the ``media-build`` tree gets updated;”h]”(hŒ$you may need to run it twice if the ”…”�”}”(hj h²hh³Nh´Nubjs)�”}”(hŒ``media-build``”h]”hŒ media-build”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj ubhŒ tree gets updated;”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´MShj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubj)�”}”(hŒ‹you may need to do a ``make distclean`` if you had built it in the past for a different Kernel version than the one you're currently using;”h]”hÞ)�”}”(hŒ‹you may need to do a ``make distclean`` if you had built it in the past for a different Kernel version than the one you're currently using;”h]”(hŒyou may need to do a ”…”�”}”(hj> h²hh³Nh´Nubjs)�”}”(hŒ``make distclean``”h]”hŒmake distclean”…”�”}”(hjF h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj> ubhŒf if you had built it in the past for a different Kernel version than the one you’re currently using;”…”�”}”(hj> h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´MUhj: ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubj)�”}”(hŒkby default, it will use the same config options for media as the ones defined on the Kernel you're running.”h]”hÞ)�”}”(hŒkby default, it will use the same config options for media as the ones defined on the Kernel you're running.”h]”hŒmby default, it will use the same config options for media as the ones defined on the Kernel you’re running.”…”�”}”(hjh h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´MXhjd ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubeh}”(h]”h ]”h"]”h$]”h&]”Œenumtype”Œarabic”Œprefix”hŒsuffix”Œ)”uh1j hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj" h²hh³Nh´NubhÞ)�”}”(hŒGIn order to select different drivers or different config options, use::”h]”hŒFIn order to select different drivers or different config options, use:”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´M[hj" h²hubjp)�”}”(hŒ$ make menuconfig”h]”hŒ$ make menuconfig”…”�”}”hj› sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1joh³hÇh´M^hj" h²hubhÞ)�”}”(hŒ1Then, you can build and install the new drivers::”h]”hŒ0Then, you can build and install the new drivers:”…”�”}”(hj© h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´M`hj" h²hubjp)�”}”(hŒ$ make && sudo make install”h]”hŒ$ make && sudo make install”…”�”}”hj· sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1joh³hÇh´Mbhj" h²hubhÞ)�”}”(hŒJThis will override the previous media drivers that your Kernel were using.”h]”hŒJThis will override the previous media drivers that your Kernel were using.”…”�”}”(hjÅ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Mdhj" h²hubeh}”(h]”Œ,building-just-the-new-media-drivers-and-core”ah ]”h"]”Œ,building just the new media drivers and core”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´M3ubeh}”(h]”Œ#building-support-for-a-media-device”ah ]”h"]”Œ#building support for a media device”ah$]”h&]”uh1hÈhhh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hÍNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”(Œ1”]”héaŒ2”]”jñaŒ3”]”jEaŒ4”]”j auŒrefids”}”Œnameids”}”(jà jÝ j×jÔjMhùjªj§jçjjNjTj»j¸jÐjÍj`j]jXjj3j0j²j¯j+j(j¢jŸj j jØ jÕ jc j` uŒ nametypes”}”(jà ‰j׈jMˆjª‰jçˆjNˆj»‰jЉj`‰jXˆj3‰j²‰j+‰j¢‰j ‰jØ ‰jc ˆuh}”(jÝ hÊhóhéjÔjÎhùj j§jPjûjñjOjEjjµjTjêj¸jQjÍj¾j]jÓjj jj4j0jcj¯j¾j(jµjŸj6j j­jÕ j" j` jZ uŒ footnote_refs”}”(jF ]”héajH ]”jñajJ ]”jEajL ]”j auŒ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”(j jµjêj4eŒ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”j Ks…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.