
{"id":12325,"date":"2025-07-25T03:44:21","date_gmt":"2025-07-25T03:44:21","guid":{"rendered":"https:\/\/developer.rdkcentral.com\/documentation\/?page_id=12325"},"modified":"2025-11-07T12:33:35","modified_gmt":"2025-11-07T12:33:35","slug":"rdk7-vendor-porting-guide","status":"publish","type":"page","link":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/rdk7-vendor-porting-guide\/","title":{"rendered":"RDK7 Vendor Porting Guide"},"content":{"rendered":"<p><strong><span>Before You Begin<\/span><\/strong><\/p>\n<p><strong><u><span>RDK License<\/span><\/u><\/strong><\/p>\n<p>Vendors are advised to get into an agreement with RDK Management LLC to obtain the free license to use the complete RDK Code base in their platform. More details about license are available at<span>&nbsp;<\/span><a class=\"external-link\" href=\"https:\/\/rdkcentral.com\/licenses\/\" rel=\"nofollow\">https:\/\/rdkcentral.com\/licenses\/<\/a><span>&nbsp;<\/span>. Please email<span>&nbsp;<\/span><a class=\"external-link\" href=\"mailto:info@rdkcentral.com\" rel=\"nofollow\">info@rdkcentral.com<\/a><span>&nbsp;<\/span>if you have additional questions about licenses or membership.<\/p>\n\n<p>This document helps vendors understand how to create a&nbsp;successful port of RDK on their platform with the help of the HAL API Specification for different RDK Components, as well as how the port can be successfully certified. Depending on the device profile (IP STB or IP TV), vendors may choose the relevant components and perform the port by implementing the HAL layer.<\/p>\n\n\n\n<p>Details of how to port third-party software stacks or applications to a SoC platform are out of the scope of this porting guide.<\/p>\n\n\n<hr>\n\n\n<h2 class=\"wp-block-heading\">Version details<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>RDK Version<\/th><th>Vendor Porting Kit Version<\/th><th>Applicability<\/th><\/tr><\/thead><tbody><tr><td><a href=\"https:\/\/wiki.rdkcentral.com\/display\/RDK\/RDK7+Release+Notes\">RDK7 Release Notes<\/a><\/td><td><a href=\"https:\/\/rdkcentral.github.io\/rdk-hpk-documentation\/\">1.4.5<\/a><\/td><td>IP STB, IP TV profiles<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<hr>\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<p>The vendor is expected to have certain prerequisites before proceeding to the porting process, which include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>RDK device profile:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Decide on the profile by referring to the available RDK profiles (IP STB or IP TV) and have a platform with the expected capabilities for the chosen profile. Depending on the device profile selected, the components that are required to be ported are available in the HAL table below.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>RDK HAL API Source code access:<\/strong>\n<ul class=\"wp-block-list\">\n<li>The RDK source code is distributed across multiple source code repositories which are available in <a href=\"https:\/\/github.com\/rdkcentral\">RDK Central GitHub<\/a>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Platform-specific Kernel:<\/strong>\n<ul class=\"wp-block-list\">\n<li>It is highly recommended to use ACK for the target platform as RDK7 is recommended to run on top of ACK 5.15 64-bit version.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n<hr>\n\n\n<h2 class=\"wp-block-heading\">Porting<\/h2>\n\n\n\n<p>The <a href=\"https:\/\/rdkcentral.github.io\/rdk-hpk-documentation\/1.4.4.0\/\">Hardware Porting Kit<\/a> (HPK) provides both Hardware Abstraction Layer (API) Header files, and software tests to ensure compatibility with the RDK Middleware Stack. HPK enables vendors to implement the required interfaces that will enable them to bring RDK on top of their platform. Once the HAL layer for each component is implemented, vendors can use the respective test component to certify their port.<\/p>\n\n\n\n<p>The elaborated documentation on HAL APIs, the test suites and how to build and execute them are all available at the <a href=\"https:\/\/rdkcentral.github.io\/rdk-hpk-documentation\/1.4.4.0\/\">HPK Documentation portal<\/a>.<\/p>\n\n\n\n<p>For an exhaustive list of component versions, as well as test suite versions for each of the HAL components, please refer to the table below:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>#<\/th><th>Component Name<\/th><th colspan=\"3\">HAL Interface Version<\/th><th colspan=\"3\">HAL Testing Suite Version<\/th><\/tr><tr><th><\/th><th><\/th><th>Current<\/th><th>Change Info<\/th><th>Previous<\/th><th>Current<\/th><th>Change Info<\/th><th>Previous<\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-deepsleep_manager\">Deep Sleep Manager<\/a><\/td><td>No change<\/td><td><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-deepsleep_manager\/milestone\/1\">1.0.4<\/a><\/td><td>No change<\/td><td><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-test-deepsleep_manager\/tree\/1.3.0\">1.3.0<\/a><\/td><\/tr><tr><td>2<\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-power_manager\">Power Manager<\/a><\/td><td>No change<\/td><td><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-power_manager\/milestone\/1\">1.0.3<\/a><\/td><td>No change<\/td><td><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-test-power_manager\/tree\/1.4.0\">1.4.0<\/a><\/td><\/tr><tr><td>3<\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-device_settings\/\">Device Settings<\/a><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-device_settings\/tree\/4.1.2\">4.1.2<\/a><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-device_settings\/compare\/4.1.1...4.1.2\">4.1.1&#8230;4.1.2<\/a><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-device_settings\/tree\/4.1.1\">4.1.1<\/a><\/td><td>No change<\/td><td><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-test-device_settings\/tree\/3.5.0\">3.5.0<\/a><\/td><\/tr><tr><td>4<\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-hdmi_cec\">HDMI CEC<\/a><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-hdmi_cec\/tree\/1.3.10\">1.3.10<\/a><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-hdmi_cec\/compare\/1.3.9...1.3.10\">1.3.9&#8230;1.3.10<\/a><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-hdmi_cec\/tree\/1.3.9\">1.3.9<\/a><\/td><td>No change<\/td><td><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-test-hdmi_cec\/tree\/1.4.0\">1.4.0<\/a><\/td><\/tr><tr><td>5<\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-rmf_audio_capture\">RMF Audio Capture<\/a><\/td><td>No change<\/td><td><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-rmf_audio_capture\/milestone\/1\">1.0.5<\/a><\/td><td>No change<\/td><td><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-test-rmf_audio_capture\/tree\/1.4.0\">1.4.0<\/a><\/td><\/tr><tr><td>6<\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdkv-halif-tvsettings\">RDK-V TVSettings<\/a><\/td><td>No change<\/td><td><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdkv-halif-tvsettings\/tree\/2.1.0\">2.1.0<\/a><\/td><td>No change<\/td><td><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdkv-halif-test-tvsettings\/tree\/2.1.3\">2.1.3<\/a><\/td><\/tr><tr><td>7<\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdkv-halif-wifi\">RDK-V WiFi<\/a><\/td><td>No change<\/td><td><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdkv-halif-wifi\/blob\/2.0.0\">2.0.0<\/a><\/td><td>No change<\/td><td><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdkv-halif-test-wifi\/blob\/1.0.0\">1.0.0<\/a><\/td><\/tr><tr><td>8<\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-libdrm\">LibDRM<\/a><\/td><td>No change<\/td><td><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-libdrm\/blob\/1.0.0\">1.0.0<\/a><\/td><td>NYA<\/td><td><\/td><td><\/td><\/tr><tr><td>9<\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-avsync\">AvSync<\/a><\/td><td>No change<\/td><td><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-avsync\/blob\/1.0.0\">1.0.0<\/a><\/td><td>NYA<\/td><td><\/td><td><\/td><\/tr><tr><td>10<\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-v4l2\">V4L2<\/a><\/td><td>No change<\/td><td><\/td><td><a href=\"https:\/\/github.com\/rdkcentral\/rdk-halif-v4l2\/blob\/1.0.0\">1.0.0<\/a><\/td><td>NYA<\/td><td><\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<hr>\n\n\n<h2 class=\"wp-block-heading\">Certification<\/h2>\n\n\n\n<p>While the test suite associated with the vendor porting kit helps to certify the port is working as expected, RDK certification program facilitates users to get their product certified as an RDK compliance device.<\/p>\n\n\n\n<p>RDKM provides the <a href=\"https:\/\/wiki.rdkcentral.com\/spaces\/TDK\/pages\/131729119\/RDK+Certification+Suites\">RDK Certification Suites<\/a> to verify the compliance of the RDK Video Accelerator device. The certification program includes testing that validates the RDK&nbsp;stack on the user platform with a defined test suite called as RDK Certification Test Suite.&nbsp;It is mandatory to go through this program in order to brand the user\u2019s platform as an RDK-compliant product.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Before You Begin RDK License Vendors are advised to get into an agreement with RDK [&hellip;]<\/p>\n","protected":false},"author":1008,"featured_media":0,"parent":12436,"menu_order":10,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"class_list":["post-12325","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>RDK7 Vendor Porting Guide - RDK Documentation Portal | Documentation<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/rdk7-vendor-porting-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RDK7 Vendor Porting Guide - RDK Documentation Portal | Documentation\" \/>\n<meta property=\"og:description\" content=\"Before You Begin RDK License Vendors are advised to get into an agreement with RDK [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/rdk7-vendor-porting-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"RDK Documentation Portal | Documentation\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-07T12:33:35+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/rdk7-vendor-porting-guide\/\",\"url\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/rdk7-vendor-porting-guide\/\",\"name\":\"RDK7 Vendor Porting Guide - RDK Documentation Portal | Documentation\",\"isPartOf\":{\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/#website\"},\"datePublished\":\"2025-07-25T03:44:21+00:00\",\"dateModified\":\"2025-11-07T12:33:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/rdk7-vendor-porting-guide\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/rdk7-vendor-porting-guide\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/rdk7-vendor-porting-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documentation\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"RDK Entertainment\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"RDK7\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"RDK7 Vendor Porting Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/#website\",\"url\":\"https:\/\/developer.rdkcentral.com\/documentation\/\",\"name\":\"RDK Documentation Portal | Documentation\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/developer.rdkcentral.com\/documentation\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"RDK7 Vendor Porting Guide - RDK Documentation Portal | Documentation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/rdk7-vendor-porting-guide\/","og_locale":"en_US","og_type":"article","og_title":"RDK7 Vendor Porting Guide - RDK Documentation Portal | Documentation","og_description":"Before You Begin RDK License Vendors are advised to get into an agreement with RDK [&hellip;]","og_url":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/rdk7-vendor-porting-guide\/","og_site_name":"RDK Documentation Portal | Documentation","article_modified_time":"2025-11-07T12:33:35+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/rdk7-vendor-porting-guide\/","url":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/rdk7-vendor-porting-guide\/","name":"RDK7 Vendor Porting Guide - RDK Documentation Portal | Documentation","isPartOf":{"@id":"https:\/\/developer.rdkcentral.com\/documentation\/#website"},"datePublished":"2025-07-25T03:44:21+00:00","dateModified":"2025-11-07T12:33:35+00:00","breadcrumb":{"@id":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/rdk7-vendor-porting-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/rdk7-vendor-porting-guide\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/rdk7-vendor-porting-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/developer.rdkcentral.com\/documentation\/"},{"@type":"ListItem","position":2,"name":"Documentation","item":"https:\/\/developer.rdkcentral.com\/documentation\/"},{"@type":"ListItem","position":3,"name":"RDK Entertainment","item":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/"},{"@type":"ListItem","position":4,"name":"RDK7","item":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/rdk7\/"},{"@type":"ListItem","position":5,"name":"RDK7 Vendor Porting Guide"}]},{"@type":"WebSite","@id":"https:\/\/developer.rdkcentral.com\/documentation\/#website","url":"https:\/\/developer.rdkcentral.com\/documentation\/","name":"RDK Documentation Portal | Documentation","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/developer.rdkcentral.com\/documentation\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/12325","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/users\/1008"}],"replies":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/comments?post=12325"}],"version-history":[{"count":8,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/12325\/revisions"}],"predecessor-version":[{"id":12577,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/12325\/revisions\/12577"}],"up":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/12436"}],"wp:attachment":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/media?parent=12325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}