Sementara pembaruan driver grafis/tampilan kernel Direct Rendering Manager (DRM) untuk Linux 6.8 secara menarik mencakup driver Intel “Xe” DRM dan PowerVR Imagination baru, properti manajemen warna AMD dalam bentuk eksperimental, dukungan grafis Raspberry Pi 5, dan banyak lagi, Linus Torvalds tidak senang dengan beberapa kode driver Intel Xe yang baru.
Linus Torvalds telah dikenal selama bertahun-tahun untuk sesekali mengungkapkan rasa frustrasinya tentang kualitas kode driver grafis. Dia mengungkapkan rasa frustrasinya atas kualitas kode driver DRM selama bertahun-tahun dan terkadang harus menolak kode DRM. Dengan Linux 6.8 dia mengungkapkan rasa frustrasinya pada milis kernel Linux atas pengujian yang “sangat kurang” dalam hal bit kode drive Intel Xe yang baru.
Torvalds menulis beberapa menit yang lalu di milis kernel:
Pengujian Anda sangat kurang.
Ini bahkan tidak membangun. Alasannya tampaknya karena commit b49e894c3fd8 (“drm/i915: Ganti pelacak intel runtime_pm khusus dengan pustaka ref_tracker”) mengubah jenis `intel_wakeref_t` dari `depot_stack_handle_t` menjadi `unsigned long`, dan sebagai hasilnya, lakukan ini:
– drm_dbg(&i915->drm, “async_put_wakeref %un”,
+ drm_dbg(&i915->drm, “async_put_wakeref %lun”,
power_domains->async_put_wakeref);
sementara itu, driver Xe memiliki ini:
driver/gpu/drm/xe/compat-i915-headers/intel_wakeref.h:
typedef bool intel_wakeref_t;
yang belum pernah valid, tetapi sekarang buildnya gagal
driver/gpu/drm/i915/display/intel_display_power.c: Dalam fungsi ‘print_async_put_domains_state’:
driver/gpu/drm/i915/display/intel_display_power.c:408:29: error: format ‘%lu’ mengharapkan argumen bertipe ‘long unsigned int’, tetapi argumen 5 bertipe ‘int’ [-Werror=format=]
karena file header drm memiliki hal yang menjijikkan di mana file *header* menyertakan file *C*:
Dalam file yang disertakan dari ./include/drm/drm_mm.h:51,
dari driver/gpu/drm/xe/xe_bo_types.h:11,
dari driver/gpu/drm/xe/xe_bo.h:11,
dari
./drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object.h:11,
dari ./drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h:15,
dari driver/gpu/drm/i915/display/intel_display_power.c:8:
tidak menyenangkan.
Saya membuatnya dengan memperbaiki file header compat Xe yang rusak, tapi ini jelas *TIDAK* bagaimana seharusnya semuanya bekerja. Bagaimana hal ini bisa terjadi pada saya tanpa pengujian build apa pun?
Dan mengapa %^!@$% file header menyertakan file C? Itu salah terlepas dari bug ini.
LinusPesan ini agak jinak dibandingkan dengan beberapa korespondensi Torvalds sebelumnya beberapa tahun yang lalu, namun menimbulkan pertanyaan yang valid tentang bagaimana masalah driver Xe ini tidak tertangkap. Komentarnya dapat ditemukan di LKML sambil menunggu apakah ada pengembang yang mengambil tindakan dan merespons.
Bagaimanapun, Linus telah melanjutkan dan menggabungkan kode baru untuk Linux 6.8. Mudah-mudahan ini hanya masalah yang terjadi sekali saja pada driver Intel Xe dan bukan bagian dari masalah kualitas kode yang lebih besar.
Itulah berita seputar Linus Torvalds Di Linux 6.8 DRM: “Pengujian Sangat Kurang”, semoga bermanfaat. Disadur dari Phoronix.com.