Что означает -1 для modeset? Какие есть еще варианты для modeset?
У меня есть приблизительное представление о настройке KMS:
Kernel mode-setting (KMS) shifts responsibility for selecting and setting up the
graphics mode from X.org to the kernel. When X.org is started, it then detects
and uses the mode without any further mode changes. This promises to make
booting faster, more graphical, and less flickery.
и я понимаю, что nomodeset
выключает это (я не выбрал это), по-видимому, перенося ответственность обратно на модуль видеокарты?
Когда я делаю cat /sys/module/i915/parameters/modeset
я получил -1
, Что именно это значит?
исследуются
modinfo i915 | grep modeset
parm: modeset:Use kernel modesetting [KMS] (0=DRM_I915_KMS from
.config, 1=on, -1=force vga console preference [default]) (int)
Похоже, это означает "форсировать настройки консоли VGA", что бы это ни значило...
1 ответ
Документация по большинству параметров модуля доступна из modinfo
(строки для удобства чтения):
$ modinfo i915 | grep modeset
parm: modeset:Use kernel modesetting [KMS] (0=DRM_I915_KMS from
.config, 1=on, -1=force vga console preference [default]) (int)
Читая исходный код Linux, кажется, что -1
настройка ("принудительная настройка VGA консоли") зависит от nomodeset
вариант. То есть, если nomodeset
опция присутствует, действует как i915.modeset=0
, В противном случае, если nomodeset
опущен, он рассматривается как i915.modeset=1
установлено.
Путь к коду:
drivers / gpu / drm / i915 / i915_drv.c (отключает режим, если включен режим текстовой консоли):
if (vgacon_text_force() && i915_modeset == -1) driver.driver_features &= ~DRIVER_MODESET;
видео / консоли / vgacon.c:
static int vgacon_text_mode_force; bool vgacon_text_force(void) { return vgacon_text_mode_force ? true : false; }
(тот же файл):
static int __init text_mode(char *str) { vgacon_text_mode_force = 1; return 1; }
(тот же файл, установленный через ядро cmdline):
/* force text mode - used by kernel modesetting */ __setup("nomodeset", text_mode);