diff --git a/media_driver/agnostic/gen12/codec/hal/codechal_vdenc_avc_g12.cpp b/media_driver/agnostic/gen12/codec/hal/codechal_vdenc_avc_g12.cpp
index b48cab0..e3c3360 100644
--- a/media_driver/agnostic/gen12/codec/hal/codechal_vdenc_avc_g12.cpp
+++ b/media_driver/agnostic/gen12/codec/hal/codechal_vdenc_avc_g12.cpp
@@ -1190,17 +1190,20 @@
 
 MOS_STATUS CodechalVdencAvcStateG12::InitKernelStateMe()
 {
+#if defined(ENABLE_KERNELS) && !defined(_FULL_OPEN_SOURCE)
     m_hmeKernel = MOS_New(CodechalKernelHmeG12, this);
     CODECHAL_ENCODE_CHK_NULL_RETURN(m_hmeKernel);
     CODECHAL_ENCODE_CHK_STATUS_RETURN(m_hmeKernel->Initialize(
         GetCommonKernelHeaderAndSizeG12,
         m_kernelBase,
         m_kuidCommon));
+#endif
     return MOS_STATUS_SUCCESS;
 }
 
 MOS_STATUS CodechalVdencAvcStateG12::ExecuteMeKernel()
 {
+    #if defined(ENABLE_KERNELS) && !defined(_FULL_OPEN_SOURCE)
     if (m_hmeKernel && m_hmeKernel->Is4xMeEnabled())
     {
         CodechalKernelHme::CurbeParam curbeParam = {};
@@ -1272,6 +1275,7 @@
         CODECHAL_ENCODE_CHK_STATUS_RETURN(m_hmeKernel->Execute(curbeParam, surfaceParam, CodechalKernelHme::HmeLevel::hmeLevel4x));
         m_vdencStreamInEnabled = true;
     }
+    #endif
     return MOS_STATUS_SUCCESS;
 }
 
diff --git a/media_driver/agnostic/gen12/codec/hal/media_srcs.cmake b/media_driver/agnostic/gen12/codec/hal/media_srcs.cmake
index f7c653c..2692715 100644
--- a/media_driver/agnostic/gen12/codec/hal/media_srcs.cmake
+++ b/media_driver/agnostic/gen12/codec/hal/media_srcs.cmake
@@ -266,37 +266,46 @@
 # encode
 if(${Common_Encode_Supported} STREQUAL "yes")
     set(TMP_3_SOURCES_
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_hevc_mbenc_g12.cpp
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_hevc_brc_g12.cpp
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_csc_ds_g12.cpp
         ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_sfc_g12.cpp
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_csc_ds_mdf_g12.cpp
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_kernel_hme_g12.cpp
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_kernel_hme_mdf_g12.cpp
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_kernel_intra_dist_mdf_g12.cpp
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_wp_g12.cpp
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_wp_mdf_g12.cpp
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_sw_scoreboard_g12.cpp
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_sw_scoreboard_mdf_g12.cpp
         ${CMAKE_CURRENT_LIST_DIR}/codechal_debug_encode_par_g12.cpp
     )
-
     set(TMP_3_HEADERS_
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_hevc_mbenc_g12.h
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_hevc_brc_g12.h
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_csc_ds_g12.h
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_sfc_g12.h
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_csc_ds_mdf_g12.h
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_kernel_hme_g12.h
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_kernel_hme_mdf_g12.h
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_kernel_intra_dist_mdf_g12.h
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_wp_g12.h
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_wp_mdf_g12.h
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_sw_scoreboard_g12.h
-        ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_sw_scoreboard_mdf_g12.h
         ${CMAKE_CURRENT_LIST_DIR}/codechal_kernel_header_g12.h
         ${CMAKE_CURRENT_LIST_DIR}/codechal_debug_encode_par_g12.h
     )
+
+    if(ENABLE_NONFREE_KERNELS)
+        set(TMP_3_SOURCES_
+            ${TMP_3_SOURCES_}
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_hevc_mbenc_g12.cpp
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_hevc_brc_g12.cpp
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_csc_ds_g12.cpp
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_csc_ds_mdf_g12.cpp
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_kernel_hme_g12.cpp
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_kernel_hme_mdf_g12.cpp
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_kernel_intra_dist_mdf_g12.cpp
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_wp_g12.cpp
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_wp_mdf_g12.cpp
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_sw_scoreboard_g12.cpp
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_sw_scoreboard_mdf_g12.cpp
+        )
+
+        set(TMP_3_HEADERS_
+            ${TMP_3_HEADERS_}
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_hevc_mbenc_g12.h
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_hevc_brc_g12.h
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_csc_ds_g12.h
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_csc_ds_mdf_g12.h
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_kernel_hme_g12.h
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_kernel_hme_mdf_g12.h
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_kernel_intra_dist_mdf_g12.h
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_wp_g12.h
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_wp_mdf_g12.h
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_sw_scoreboard_g12.h
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_sw_scoreboard_mdf_g12.h
+            ${CMAKE_CURRENT_LIST_DIR}/codechal_encode_sfc_g12.h
+        )
+    endif()
 endif()
 
 if ("${AVC_Encode_VME_Supported}" STREQUAL "yes" OR "${AVC_Encode_VDEnc_Supported}" STREQUAL "yes")
diff --git a/media_driver/agnostic/gen12/codec/media_srcs.cmake b/media_driver/agnostic/gen12/codec/media_srcs.cmake
index b7b9f31..5bb57f9 100644
--- a/media_driver/agnostic/gen12/codec/media_srcs.cmake
+++ b/media_driver/agnostic/gen12/codec/media_srcs.cmake
@@ -19,6 +19,8 @@
 # OTHER DEALINGS IN THE SOFTWARE.
 
 media_include_subdirectory(hal)
-media_include_subdirectory(kernel)
-media_include_subdirectory(kernelisa)
+if(ENABLE_NONFREE_KERNELS)
+    media_include_subdirectory(kernel)
+    media_include_subdirectory(kernelisa)
+endif()
 media_include_subdirectory(shared)
diff --git a/media_driver/media_top_cmake.cmake b/media_driver/media_top_cmake.cmake
index 3491db1..8ac160f 100755
--- a/media_driver/media_top_cmake.cmake
+++ b/media_driver/media_top_cmake.cmake
@@ -130,7 +130,7 @@
 # post target attributes
 bs_set_post_target()
 
-if(MEDIA_RUN_TEST_SUITE AND ENABLE_KERNELS)
+if(MEDIA_RUN_TEST_SUITE AND ENABLE_KERNELS AND ENABLE_NONFREE_KERNELS)
     add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/linux/ult)
     include(${MEDIA_EXT}/media_driver_next/ult/ult_top_cmake.cmake OPTIONAL)
 endif(MEDIA_RUN_TEST_SUITE AND ENABLE_KERNELS)
