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

* если используется 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.utils.portage import isPkgInstalled
from calculate.lib.utils.files import readFile
from calculate.lib.utils.tools import get_best_nearest_resolution
import calculate.lib.utils.device as device
from calculate.lib.utils.common import (getVideoFromXorgLog,
getVideoFromXorgConf,
@ -339,8 +340,21 @@ class VariableOsInstallFbResolution(ResolutionVariable):
self.help = _("set the 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):
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):
"""

Loading…
Cancel
Save