Seri Samsung Galaxy Book menambahkan driver platform Linux.
Status saat ini:
Tujuannya adalah untuk mereplikasi di Linux apa yang telah dilakukan Samsung di Windows dengan apa yang menurut saya dilakukan oleh komponen-komponen berikut:
SCAI
ACPI mereka untuk mengontrol banyak pengaturan ini.SamsungSystemSupportEngine.exe
yang tampaknya menangani cukup banyak hal di sisi ruang pengguna/aplikasi, termasuk: Ini adalah driver platform kernel baru dan (saat ini) benar-benar out-of-tree yang dimaksudkan untuk meniru apa yang tampaknya dilakukan oleh driver perangkat sistem Windows Samsung System Event Controller (yaitu, berkomunikasi dengan perangkat SCAI
ACPI untuk mengontrol fitur tambahan ini ). Setelah lebih banyak fitur ditambahkan dan telah diuji maka niat saya adalah mencoba dan mengirimkan driver untuk ditambahkan ke kernel.
Fitur-fitur berikut sedang diterapkan:
fan_speed_rpm
sysfs ditambah perangkat hwmon baruFitur berikut mungkin dapat diterapkan tetapi memerlukan proses debug dan pengembangan tambahan:
SAM0427
Perangkat yang didukung oleh driver platform ini harus berupa perangkat apa pun yang sudo dmidecode --type 3
laporan Manufacturer: SAMSUNG ELECTRONICS CO., LTD.
dan Type: Notebook
, PLUS perangkat ACPI SCAI
hadir dengan ID Perangkat ACPI yang cocok dengan daftar yang diberikan dalam driver ( SAM0427
, SAM0428
, SAM0429
dan SAM0430
pada saat penulisan ini). Ini mencakup sebagian besar notebook seri "Samsung Galaxy Book" yang tersedia saat ini, namun dapat mencakup notebook lain juga.
Tujuannya adalah agar setiap fitur dalam driver platform mencoba menguji apakah fitur tersebut didukung atau tidak sebelum fitur tersebut diaktifkan. Beberapa perangkat memiliki perangkat keras yang sedikit berbeda dan/atau berperilaku sedikit berbeda; jika Anda memiliki perangkat yang drivernya menonaktifkan fitur tertentu yang Anda yakini harus didukung, silakan buat masalah!
Saya juga melihat bahwa Windows menggunakan driver yang sama untuk SAM0426
(digunakan oleh perangkat seperti Notebook 9 Pro 15" dan/atau serupa), jadi kecurigaan saya adalah sebagian besar driver ini mungkin juga berfungsi untuk perangkat ini. Jika Anda punya satu perangkat ini, dan ingin menguji driver ini dengannya, silakan buat masalah untuk meminta bantuan dan membagikan temuan Anda.
Driver platform mendukung parameter modul berikut:
kbd_backlight
: Mengaktifkan kontrol Lampu Latar Keyboard (default aktif) (bool)battery_threshold
: Mengaktifkan kontrol ambang batas pengisian baterai (default aktif) (bool)performance_mode
: Mengaktifkan kontrol Mode Kinerja (default aktif) (bool)allow_recording
: Mengaktifkan kontrol untuk mengizinkan atau memblokir akses ke kamera dan mikrofon (default aktif) (bool)fan_speed
: Mengaktifkan kecepatan kipas (default aktif) (bool)i8042_filter
: Mengaktifkan pengambilan peristiwa hotkey keyboard (default aktif) (bool) Secara umum, maksud dari parameter ini adalah untuk mengaktifkan atau menonaktifkan berbagai fitur yang disediakan oleh driver, terutama jika fitur tertentu tampaknya menyebabkan masalah pada perangkat Anda. Ketersediaan berbagai atribut platform "pengaturan" ( usb_charge
, start_on_lid_open
, dll) akan selalu diaktifkan jika tampaknya didukung, dan tidak dapat dinonaktifkan saat ini.
Catatan: Silakan ajukan masalah jika Anda merasa perlu menonaktifkan fitur tertentu untuk menghindari masalah yang ditimbulkannya pada perangkat Anda!
Kompilasi modul di luar pohon tetapi terhadap modul kernel yang sedang dimuat:
make -C /lib/modules/ ` uname -r ` /build M= $PWD
Instal modul ini ke dalam modul kernel yang sedang dimuat:
sudo make -C /lib/modules/ ` uname -r ` /build M= $PWD modules_install
sudo depmod
Catatan: jika Anda ingin mengaktifkan pesan debug maka Anda dapat menambahkan
samsung_galaxybook.dyndbg=+p
atau serupa dengan parameter boot Anda.
Muat modul (termasuk mengaktifkan pesan debug):
sudo modprobe samsung-galaxybook dyndbg=+p
Bongkar modul:
sudo rmmod samsung-galaxybook
Copot pemasangan modul:
sudo rm /lib/modules/ ` uname -r ` /updates/samsung-galaxybook.ko *
Modul ini dapat diinstal dengan dkms dan menyediakan instalasi otomatis untuk setiap kernel baru.
Tambahkan modul ke pohon dkms:
sudo dkms add /path/to/module/directory/samsung-galaxybook-extras
Membangun modul:
sudo dkms build samsung-galaxybook/extras
Instal modul:
sudo dkms install samsung-galaxybook/extras
Copot pemasangan modul:
sudo dkms uninstall samsung-galaxybook/extras
Jika Anda ingin menandatangani driver untuk menghindari pesan samsung_galaxybook: module verification failed: signature and/or required key missing - tainting kernel
, maka Anda perlu menandatangani modul dengan mengikuti proses apa pun yang umum untuk distribusi Anda. Untuk distribusi berbasis Debian (termasuk Ubuntu), Anda dapat menginstal paket linux-source
untuk kernel Anda saat ini dan menggunakan kunci dan skrip yang disertakan untuk menandatangani modul sebagai berikut:
sudo rmmod samsung-galaxybook
/usr/src/ ` uname -r ` /debian/scripts/sign-module sha512 /usr/src/ ` uname -r ` /debian/certs/signing_key.pem /usr/src/ ` uname -r ` /debian/certs/signing_key.x509 samsung-galaxybook.ko
sudo cp samsung-galaxybook.ko /lib/modules/ ` uname -r ` /updates/samsung-galaxybook.ko
sudo modprobe samsung-galaxybook dyndbg=+p
Pesan yang lebih rinci tersedia jika Anda mengaktifkan pencetakan pesan debug. Hal ini dapat dilakukan dengan menggunakan debug dinamis asalkan CONFIG_DYNAMIC_DEBUG
kernel Anda saat ini diaktifkan. Informasi selengkapnya tentang cara menggunakan fitur ini tersedia di dokumentasi Kernel: Debug dinamis
Berikut beberapa contohnya:
# enable printing all messages from the module when loading it
sudo modprobe samsung-galaxybook dyndbg=+p
# enable printing all messages from the module after it has been loaded
echo " module samsung_galaxybook +p " | sudo tee /sys/kernel/debug/dynamic_debug/control
Anda juga dapat menambahkan parameter samsung_galaxyboo.dyndbg
dengan nilai apa pun yang diinginkan (misalnya +p
) ke parameter baris perintah boot atau ke file konfigurasi modprobe.d
jika Anda ingin mengaktifkannya secara otomatis.
Parameter modul dapat digunakan untuk mengaktifkan atau menonaktifkan sebagian besar fitur. Misalnya, yang berikut ini akan memuat ulang modul hanya dengan flag pengaturan inti ( usb_charge
, start_on_lid_open
, dll) dan kelas LED kbd_backlight, dan semua fitur lainnya akan dinonaktifkan:
sudo rmmod samsung-galaxybook
sudo modprobe samsung-galaxybook dyndbg=+p kbd_backlight=on battery_threshold=off performance_mode=off allow_recording=off fan_speed=off i8042_filter=off
Perhatikan bahwa ini juga dapat ditambahkan ke parameter boot (misalnya samsung_galaxybook.fan_speed=off
).
Salah satu pengamatan umum yang saya lakukan adalah sebenarnya terdapat cukup banyak bug pada firmware Samsung untuk perangkat tersebut, misalnya:
Akan sangat bagus jika kami bisa mendapatkan bantuan dari Samsung mengenai hal ini!
Samsung telah memutuskan untuk menggunakan perangkat keyboard utama untuk juga mengirimkan sebagian besar acara hotkey. Jika pengemudi ingin menangkap dan bertindak berdasarkan hotkey ini, maka kita harus melakukan sesuatu seperti menggunakan filter i8402 untuk "menangkap" peristiwa penting.
Saya juga menemukan bahwa beberapa peristiwa hotkey memiliki konflik sehingga ini merupakan wilayah yang rumit.
Tombol pintas lampu latar keyboard akan menelusuri semua tingkat kecerahan lampu latar yang tersedia secara round-robin, dimulai lagi dari 0 ketika maksimum tercapai (yaitu 0, 1, 2, 3, 0, 1, ...).
Tindakan tersebut akan dipicu pada keyup hotkey karena kejadian yang dilaporkan oleh keydown tampaknya merupakan kejadian yang sama untuk kemajuan pengisian daya baterai (dan karenanya keadaan menjadi sedikit gila saat Anda mulai mengisi daya!).
Tombol pintas juga harus memicu peristiwa perubahan perangkat keras untuk LED, yang di GNOME (dan kemungkinan lainnya) secara otomatis menampilkan popup OSD yang bagus dengan tingkat cahaya latar yang benar ditampilkan.
Tombol pintas perekaman blok akan mengaktifkan fitur allow_recording
, yang memblokir akses ke kamera dan mikrofon internal.
Tombol pintas mode kinerja juga akan menelusuri semua profil platform yang tersedia secara round-robin (daya rendah, senyap, seimbang, kinerja, daya rendah, senyap, ...).
Saat ini tidak ada popup OSD namun acara dapat diambil dari perangkat input "Tombol ekstra Samsung Galaxy Book" jika diinginkan.
Ada perangkat input baru yang dibuat "Tombol ekstra Samsung Galaxy Book" yang akan mengirimkan peristiwa input untuk beberapa notifikasi dari perangkat ACPI:
SAM0428
)SAM0428
) Kelas LED baru bernama samsung-galaxybook::kbd_backlight
dibuat yang dapat dikontrol melalui sysfs
di /sys/class/leds/samsung-galaxybook::kbd_backlight/brightness
(nilai 0 hingga 3) atau dengan banyak utilitas standar seperti brightnessctl
, light
, dll.
Tampaknya juga diambil secara otomatis di GNOME 45.x di panel, di mana Anda dapat mengklik panah di samping Keyboard
dan menyesuaikan penggesernya.
Perhatikan bahwa pengaturan "matikan lampu latar keyboard secara otomatis setelah X detik" di Windows sebenarnya dikontrol oleh layanan aplikasi Samsung dan bukan oleh driver perangkat itu sendiri; ada fitur serupa di GNOME (dan sekali lagi, kemungkinan lainnya) yang beralih ke tingkat minimum setelah periode menganggur tertentu (misalnya dari 3 ke 1 ketika Anda menganggur, dan kemudian kembali ke 3 ketika Anda melanjutkan), namun terlepas dari ini fitur mungkin harus dikontrol di ruang pengguna dan bukan oleh driver kernel.
Perhatikan juga bahwa sebagian besar perangkat ini memiliki sensor cahaya sekitar yang juga memengaruhi lampu latar keyboard. Perilaku ini tidak mungkin dikendalikan di Windows dan saya belum menemukan apa pun di ACPI yang sepertinya dapat menonaktifkan fitur ini. Artinya, terkadang Anda mungkin mengira lampu latar keyboard mati secara acak atau berhenti berfungsi, namun kenyataannya mati karena sensor cahaya sekitar ini. Salah satu cara untuk menguji kapan hal ini terjadi (untuk memastikan bahwa sebenarnya sensor cahaya sekitarlah yang menyebabkan lampu latar keyboard mati) adalah dengan menutupi sensor tersebut (dengan jari Anda, misalnya), dan lihat apakah lampu kembali menyala.
Driver platform ini akan menambahkan pengaturan ambang batas akhir kontrol pengisian daya baterai, tetapi tidak memiliki akses untuk mengatur ambang batas awal. Fitur ini biasanya disebut "penghemat baterai" oleh berbagai aplikasi Samsung di Windows, namun di Linux kami akan menerapkan atribut standar yang ditambahkan ke perangkat baterai yang dikenali oleh UPower.
Jika pengguna ingin mempertahankan interoperabilitas dengan Windows, maka mereka harus menetapkan nilai ke 80 untuk mewakili "on", atau 0 untuk mewakili "off", karena ini adalah nilai yang dikenali oleh berbagai aplikasi dan layanan Samsung berbasis Windows sebagai " hidup" atau "mati". Jika tidak, perangkat akan menerima nilai apa pun antara 0 (mati) dan 99 sebagai persentase yang Anda inginkan agar baterai berhenti mengisi daya. Jika Anda mencoba menetapkan nilai 100, pengemudi juga akan menerima masukan ini, namun cukup menetapkan nilai atribut ke 0 (yaitu 100% diartikan sebagai "matikan penghemat baterai").
Ada atribut perangkat baru yang dibuat di /sys/class/power_supply/BAT1/charge_control_end_threshold
yang dapat dibaca atau ditulis.
# read current value (percentage the battery will stop charging)
cat /sys/class/power_supply/BAT1/charge_control_end_threshold
# turn on and set to 80%
echo 80 | sudo tee /sys/class/power_supply/BAT1/charge_control_end_threshold
# turn off charge control threshold so that charging will not be stopped before 100%
echo 0 | sudo tee /sys/class/power_supply/BAT1/charge_control_end_threshold
Catatan: Saya perhatikan bahwa jika Anda saat ini terhubung sementara baterai sudah berada pada
charge_control_end_threshold
yang diinginkan, lalu matikan fitur ini (yaitu Anda ingin mengisi penuh hingga 100% sehingga Anda menyetel nilainya ke 0), pengisian daya sepertinya tidak untuk memulai secara otomatis. Dalam kasus ini, mungkin perlu melepas dan menyambungkan kembali kabel pengisi daya. Driver Windows tampaknya melakukan beberapa fokus dengan perangkat baterai ACPI yang belum saya selesaikan; Saya berasumsi ini adalah cara mereka membuatnya bekerja lebih lancar di Windows?
Ada juga peristiwa masukan yang dikirim ke keyboard standar dan perangkat ACPI yang dihasilkan ketika kontrol pengisian daya diaktifkan dan pengisian daya mencapai charge_control_end_threshold
yang diinginkan; acara tersebut telah dipetakan ke acara BATTERY
sehingga notifikasi dapat ditampilkan (lihat di bawah pada bagian pemetaan ulang keyboard untuk informasi tambahan mengenai hal ini).
Untuk mengaktifkan atau menonaktifkan pengaturan "Start on lid open" (laptop akan menyala secara otomatis saat membuka tutupnya), ada atribut perangkat baru yang dibuat di /sys/devices/platform/samsung-galaxybook/start_on_lid_open
yang dapat dibaca dari atau ditulis ke. Nilai 0 berarti “off” sedangkan nilai 1 berarti “on”.
# read current value (0 for disabled, 1 for enabled)
cat /sys/devices/platform/samsung-galaxybook/start_on_lid_open
# turn on (supports values such as: 1, on, true, yes, etc)
echo true | sudo tee /sys/devices/platform/samsung-galaxybook/start_on_lid_open
# turn off (supports values such as: 0, off, false, no, etc)
echo 0 | sudo tee /sys/devices/platform/samsung-galaxybook/start_on_lid_open
Untuk menghidupkan atau mematikan mode "USB Charge" (memungkinkan port USB menyediakan daya bahkan ketika laptop dimatikan), ada atribut perangkat baru yang dibuat di /sys/devices/platform/samsung-galaxybook/usb_charge
yang dapat dibaca dari atau ditulis ke. Nilai 0 berarti “off” sedangkan nilai 1 berarti “on”.
# read current value (0 for disabled, 1 for enabled)
cat /sys/devices/platform/samsung-galaxybook/usb_charge
# turn on (supports values such as: 1, on, true, yes, etc)
echo true | sudo tee /sys/devices/platform/samsung-galaxybook/usb_charge
# turn off (supports values such as: 0, off, false, no, etc)
echo 0 | sudo tee /sys/devices/platform/samsung-galaxybook/usb_charge
Pengamatan saya sendiri tentang cara kerja fitur ini (yang sebenarnya tidak ada hubungannya dengan driver ini):
Untuk mengaktifkan atau menonaktifkan pengaturan "Izinkan perekaman" (mengizinkan atau memblokir penggunaan kamera dan mikrofon internal), ada atribut perangkat baru yang dibuat di /sys/devices/platform/samsung-galaxybook/allow_recording
yang dapat dibaca dari atau ditulis ke. Nilai 0 berarti “off” sedangkan nilai 1 berarti “on”.
Panduan pengguna Samsung menyebut pengaturan ini "Mode Perekaman Pemblokiran", tetapi karena nilai yang diperlukan adalah 1 untuk "tidak diblokir" dan 0 untuk "diblokir" (yaitu nilai 1 vs 0 terasa "mundur" dibandingkan dengan namanya), maka terasa seperti istilah yang keliru untuk menyebutnya demikian bagi pengemudi ini. Tampaknya lebih masuk akal bahwa 1 berarti "diizinkan" dan 0 berarti "tidak diizinkan"; dengan cara ini, diharapkan lebih jelas bagi pengguna driver ini apa yang sebenarnya terjadi ketika nilai ini diubah.
# read current value (0 for disabled, 1 for enabled)
cat /sys/devices/platform/samsung-galaxybook/allow_recording
# turn on (supports values such as: 1, on, true, yes, etc)
echo true | sudo tee /sys/devices/platform/samsung-galaxybook/allow_recording
# turn off (supports values such as: 0, off, false, no, etc)
echo 0 | sudo tee /sys/devices/platform/samsung-galaxybook/allow_recording
Perangkat yang berbeda memiliki jumlah penggemar yang berbeda, dan metode yang berbeda agar dapat berhasil membaca statusnya. Samsung tampaknya telah menerapkan metode perangkat kipas standar ACPI _FST
untuk sebagian besar implementasi, tetapi tidak menerapkan metode opsional lainnya dalam spesifikasi ACPI yang akan menyebabkan kernel secara otomatis menambahkan atribut fan_speed_rpm
. Selain itu, tampaknya ada beberapa bug pada firmware yang sering memunculkan pengecualian saat Anda mencoba menjalankan metode ACPI ini. Perilaku ini juga terlihat di Windows (pengecualian ACPI muncul saat mencoba memeriksa kecepatan kipas), dan saya belum dapat melihat kecepatan kipas menggunakan berbagai aplikasi pemantauan perangkat keras saat menggunakan Windows dengan perangkat ini.
Driver platform ini mencoba menyelesaikan semua kipas PNP yang tersedia di ACPI dan menambahkan dukungan untuk membaca kecepatannya menggunakan logika keputusan berikut:
_FST
ada dan tampaknya berfungsi (mengembalikan nilai kecepatan lebih besar dari 0)? Jika ya, tambahkan atribut fan_speed_rpm
ke dalamnya dan sebagai saluran masukan kipas ke perangkat hwmon.FANS
(tingkat kecepatan kipas) ada pada pengontrol tertanam, dan tabel FANT
(tabel tingkat kecepatan kipas) ada pada kipas? Jika demikian, tambahkan fan_speed_rpm
ke perangkat kipas ini, ditambah sebagai saluran masukan kipas ke perangkat hwmon, dan buat daftar kecepatan kipas khusus berdasarkan logika di bawah ini (berasal dari membaca DSDT dan mencoba menafsirkan maksud dari bagaimana _FST
asli sepertinya ingin berfungsi). Kecepatan kipas dapat dipantau menggunakan sensor hwmon atau dengan membaca atribut fan_speed_rpm
sysfs.
# read current fan speed rpm from sysfs attribute
cat /sys/bus/acpi/devices/PNP0C0B : 00/fan_speed_rpm
# read current fan speed rpm from hwmon device
sensors
Untuk perangkat dimana metode _FST
tidak bekerja dengan benar, logika di bawah ini digunakan untuk mendapatkan kemungkinan kecepatan untuk setiap level yang tersedia yang dilaporkan oleh bidang FANS
.
FANT
("tabel kipas"?) yang sepertinya merupakan semacam daftar kemungkinan kecepatan RPM yang dapat dioperasikan oleh kipas untuk setiap "level" yang berbeda (0 hingga 5).FANS
("kecepatan kipas"?) yang tampaknya memberikan "level" saat ini di mana kipas beroperasi. Saya berasumsi bahwa nilai dari FANT
adalah bilangan bulat yang mewakili nilai RPM sebenarnya (tampaknya masuk akal), namun tidak dapat seratus persen yakin bahwa asumsi ini benar. Menarik untuk mendapatkan konfirmasi dari Samsung atau jika seseorang memiliki cara untuk mengukur kecepatan kipas sebenarnya.
Kipas bisa mati sepenuhnya (0) atau salah satu level yang ditunjukkan oleh kecepatan di FANT
. Driver ini membaca nilai-nilai dari FANT
alih-alih mengkodekan level secara keras dengan asumsi bahwa nilai tersebut bisa saja berbeda dan jumlah level yang berbeda untuk perangkat yang berbeda. Sebagai referensi, nilai yang saya lihat pada Galaxy Book2 Pro saya adalah:
Selain itu, dalam metode _FST
Samsung tampaknya menambahkan 0x0a
(10) ke setiap nilai sebelum mencoba melaporkannya, dan level 3 dan 4 harus memiliki nilai yang sama, sedangkan level 5 harus menjadi nilai ke-4 dari FANT
. Namun, pengamatan di kehidupan nyata menunjukkan bahwa level 3 dan 4 sebenarnya berbeda, dan level 5 tampaknya jauh lebih keras daripada level 4. Oleh karena itu, pengemudi ini hanya akan "menebak" bahwa level 3 dan 4 sebenarnya seperti apa adanya. tercantum di FANT
, dan level terakhir mungkin 1000 RPM lebih cepat dari level 4 (kecuali ada yang bisa menemukan sesuatu yang lebih baik dari ini!).
Ada pengujian SSDT yang tersedia di file gb_test_fans_ssdt.dsl yang mencakup sekumpulan perangkat kipas PNP ACPI "palsu" yang dapat digunakan untuk menguji cara kerja driver dengan skenario berbeda. Ini dapat dibuat dan dimuat secara dinamis tetapi Anda juga perlu menghapus dan memuat ulang modul driver platform untuk menguji bagaimana modul tersebut akan ditangani oleh modul tersebut.
# create fake device table
sudo modprobe acpi_configfs
sudo mkdir /sys/kernel/config/acpi/table/gb_test_fans_ssdt
# build and load the aml
iasl gb_test_fans_ssdt.dsl
cat gb_test_fans_ssdt.aml | sudo tee /sys/kernel/config/acpi/table/gb_test_fans_ssdt/aml
# remove and reload the module (via insmod or modprobe)
sudo rmmod samsung-galaxybook
sudo insmod samsung-galaxybook.ko dyndbg=+p
Catatan: Anda harus memulai ulang untuk menghapus perangkat palsu ini.
Untuk mengubah "mode kinerja", driver mengimplementasikan antarmuka platform_profile
. Pemetaan "Mode Performa" Samsung ke profil platform masing-masing dilakukan secara dinamis berdasarkan pemetaan dalam kode driver yang membaca mode apa yang dilaporkan didukung oleh ACPI. Preferensi diberikan untuk mencoba dan memetakan profil low-power
, balanced
, dan performance
, karena ini tampaknya merupakan profil paling umum yang digunakan (dan terkadang bahkan diperlukan) oleh berbagai alat ruang pengguna.
Hasil pemetaan akan dicetak di log Kernel saat modul dimuat. Profil yang didukung kemudian dapat diambil dari /sys/firmware/acpi/platform_profile_choices
, sedangkan /sys/firmware/acpi/platform_profile
dapat digunakan untuk membaca atau menulis profil yang diinginkan.
Contoh:
# Get supported platform profiles
cat /sys/firmware/acpi/platform_profile_choices
# set platform profile to low-power
echo low-power | sudo tee /sys/firmware/acpi/platform_profile
# get current platform profile
cat /sys/firmware/acpi/platform_profile
Catatan: Untuk mencocokkan logika pada driver Windows, serta menghindari masalah pada fitur lainnya, driver saat ini akan selalu menyetel mode kinerja ke "Dioptimalkan" setiap kali inisialisasi (misalnya saat startup).
Seharusnya dimungkinkan untuk mengatur mode kinerja startup yang Anda inginkan atau untuk menyimpan dan memulihkan mode saat reboot, Anda dapat menggunakan skrip startup atau menginstal TLP, power-profiles-daemon, atau sejenisnya.
Ini agak sulit untuk diuji, namun saya mencoba melihat apakah mode-mode yang berbeda ini benar-benar membuat perubahan terukur dengan mengatur setiap mode berbeda dan kemudian menjalankan stress test cepat menggunakan yang berikut ini:
sudo stress-ng --cpu 0 --cpu-load 100 --metrics-brief --perf -t 20
Perhatikan bahwa tampaknya perlu waktu setidaknya beberapa detik sebelum pengaturan benar-benar diterapkan.
Pada akhirnya yang saya temukan adalah saya pasti bisa membedakan hasil ketika menggunakan mode "silent" (0), karena jumlah operasi yang diselesaikan dalam stress test secara signifikan lebih rendah ketika menggunakan mode "silent" (hampir setengah).
Secara subyektif, saya merasa seperti saya mengalami bahwa volume kipas sedikit lebih rendah dalam mode "senyap" dibandingkan dengan dua mode lainnya, namun saya tidak terlalu melihat adanya perbedaan besar dalam jumlah operasi yang diselesaikan dari stress test. Dioptimalkan dan Kinerja Tinggi tampak hampir sama bagi saya. Saya juga memperhatikan bahwa mungkin ada beberapa pembatasan yang terjadi ketika inti mencapai suhu mendekati 100C, jadi mungkin itu adalah bagian dari masalah mengapa saya tidak dapat membedakannya (tidak yakin apa yang aman untuk disesuaikan). Ini juga bisa jadi merupakan mekanisme pengujian yang cacat!
File 61-keyboard-samsung-galaxybook.hwdb yang disediakan adalah salinan bagian yang relevan untuk perangkat ini dari 60-keyboard.hwdb terbaru yang dapat digunakan dengan versi systemd yang lebih lama. Lihat systemd/issues/34646 dan systemd/pull/34648 untuk informasi tambahan.
Catatan: Tombol "Mode kinerja" (Fn+F11) muncul sebagai notifikasi ACPI dan ditangani oleh driver platform
samsung-galaxybook
.
Anda dapat menginstal file pemetaan ini sebagai berikut:
sudo cp 61-keyboard-samsung-galaxybook.hwdb /etc/udev/hwdb.d/
sudo systemd-hwdb update
sudo udevadm trigger