Apa yang dilakukan parameter boot kernel “set acpi_osi = Linux”?

48

Saya menghadapi masalah dengan kontrol kecerahan di laptop saya yang memiliki grafik Intel HD dan Ubuntu 10.10 64-bit. Jadi ketika saya mencari perbaikan, saya menemukan bahwa saran umum adalah mengedit baris file GRUB, GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"untuk GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux acpi_backlight=vendor"

Dokumentasi untuk parameter boot acpi_osimemberitahu:

acpi_osi=   [HW,ACPI] Modify list of supported OS interface strings
            acpi_osi="string1"      # add string1 -- only one string
            acpi_osi="!string2"     # remove built-in string2
            acpi_osi=               # disable all strings

- http://redsymbol.net/linux_boot_parameters/

Saya tidak menemukan alasan mengapa ini harus memperbaiki masalah laptop.

Jadi bisakah ada yang memberi tahu saya apa yang acpi_osi=Linuxdilakukan opsi boot kernel ?

AIB
sumber

Jawaban:

29

Saya pikir maksud Anda =Windows, bukan Linux. Argumen memberitahu kernel untuk berbohong kepada ACPI BIOS dan mengatakan bahwa itu adalah sesuatu yang lain dari Linux (itulah sebabnya menentukan Linux itu konyol).

Saya yakin maksudnya adalah apa yang ditulisnya. Ya, BIOS biasanya menonaktifkan fungsionalitas jika Windows tidak terdeteksi, tetapi menentukan Linux tidak konyol karena secara default kernel merespons false ketika ditanya apakah Linux sedang berjalan. acpi_osi=Linuxmemberitahu kernel untuk merespons true. (lihat drivers/acpi/osl.c) Tampaknya Anda perlu mengatakan yang sebenarnya pada BIOS.

Masalah driver atau implementasi ACPI yang salah. Anda harus mengeluarkan dsdtdan membongkarnya untuk meninjau kode dan mendapatkan pemahaman yang lebih baik tentang apa yang rusak atau dinonaktifkan di OSI Linux.

Referensi

fuzzy7k
sumber
2
ini sangat berguna untuk instalasi ubuntu 14.04 saya di dell vostro 3750 dengan nvidia GeForce GT 525M, dan grafis Intel HD.
Jason
14

Parameter menambahkan "Linux" ke daftar sistem operasi yang didukung bahwa kernel akan mendapatkan ketika meminta BIOS "Hei, apa yang Anda dukung". Dengan menambahkan string itu, nanti, hal-hal yang menggunakan ACPI akan berkata "hei, saya punya fitur yang membutuhkan ACPI, dan saya menjalankan Linux - platform apa yang didukung?" dan mereka akan mendapatkan kembali daftar yang akan menyertakan Linux.

Dengan mengatur ini ke Linux, pada dasarnya Anda menonaktifkan pemeriksaan untuk melihat apakah BIOS mengatakan bahwa fitur ACPI tertentu akan bekerja dengan sistem operasi tertentu. Dan itu sering membuat hal-hal berfungsi yang sebelumnya disembunyikan. Tapi itu juga bisa merusak barang-barang yang dulu berfungsi, dalam [mudah-mudahan] kasus langka. :)

dannysauer
sumber
2

Saya pikir maksud Anda =Windows, bukan Linux. Argumen memberitahu kernel untuk berbohong kepada ACPI BIOS dan mengatakan bahwa itu adalah sesuatu yang lain dari Linux (itulah sebabnya menentukan Linux itu konyol). BIOS tertentu diketahui memeriksa untuk melihat apakah sedang dijalankan di bawah Windows, atau versi Windows tertentu, dan menonaktifkan fungsi jika tidak. Parameter ini memungkinkan Anda mengatasi kebodohan itu.

psusi
sumber
Ia mengatakan = Linux saja. livinginjava.blogspot.com/2010/11/...
AIB
Berikut ini tautan lain, yang mengatakan perbaikan yang sama untuk masalah penggemar ... ubuntuforums.org/showthread.php?t=1398596 Saya merasa ini dianggap sebagai perbaikan untuk beberapa masalah seperti itu .. forums.linuxmint.com/viewtopic. php? f = 42 & t = 56323
AIB