Изменён алгоритм вычисление разрешения для фреймбуффера

* если используется KMS видео драйвер, то разрешение то, что и в Xorg
* в противном случае подбирается наиболее подходящее разрешение среди
  доступных для vesa (список получается при помощи hwinfo --framebuffer)
* если ни одно разрешение не подходит, а так же в случае сбоя hwinfo,
  выставляется 1024x768
master-3.5 3.5.8.7
parent fb50c709e9
commit 75cd00ab4b

@ -23,6 +23,7 @@ import glob
from calculate.lib.datavars import Variable, VariableError, ReadonlyVariable from calculate.lib.datavars import Variable, VariableError, ReadonlyVariable
from calculate.lib.utils.portage import isPkgInstalled from calculate.lib.utils.portage import isPkgInstalled
from calculate.lib.utils.files import readFile from calculate.lib.utils.files import readFile
from calculate.lib.utils.tools import get_best_nearest_resolution
import calculate.lib.utils.device as device import calculate.lib.utils.device as device
from calculate.lib.utils.common import (getVideoFromXorgLog, from calculate.lib.utils.common import (getVideoFromXorgLog,
getVideoFromXorgConf, getVideoFromXorgConf,
@ -339,8 +340,21 @@ class VariableOsInstallFbResolution(ResolutionVariable):
self.help = _("set the framebuffer resolution") self.help = _("set the framebuffer resolution")
self.label = _("Framebuffer resolution") self.label = _("Framebuffer resolution")
def using_kms(self):
drv = self.Get('install.os_install_x11_video_drv')
kms = self.Get('install.os_x11_kms_video_drv')
return drv in kms
def get(self): def get(self):
return self.Get('os_install_x11_resolution') or self.fallback_resolution x11res = self.Get('os_install_x11_resolution')
if self.using_kms():
return x11res
hwinfo = device.Hwinfo()
try:
return get_best_nearest_resolution(
x11res, hwinfo) or self.fallback_resolution
except device.HwinfoError:
return self.fallback_resolution
class VariableClGrubImageHash(ReadonlyVariable): class VariableClGrubImageHash(ReadonlyVariable):
""" """

Loading…
Cancel
Save