Изменён алгоритм получения текущего разрешения для X

3.5.8.10
parent 75cd00ab4b
commit 64d13663f1

@ -133,16 +133,27 @@ class VariableOsInstallX11Resolution(ResolutionVariable):
X.org resolution X.org resolution
""" """
fallback_resolution = "1024x768" fallback_resolution = "1024x768"
FBIOGET_VSCREENINFO = 0x4600
def framebuffer_resolution(self):
try:
fbdev = os.open('/dev/fb0', os.O_RDONLY)
data = fcntl.ioctl(fbdev, self.FBIOGET_VSCREENINFO, " " * 8)
res = struct.unpack("II", data)
return "%sx%s" % (res[0], res[1])
except (IOError, OSError):
pass
return ""
def get(self): def get(self):
# get resolution from xorg.log # get resolution from xorg.log
for vn in ('install.os_install_x11_resolution_preferred', res = self.Get('install.os_install_x11_resolution_preferred')
'install.os_install_fb_resolution'): if res:
res = self.Get(vn) return res
if res: res = self.framebuffer_resolution()
return res if res:
else: return res
return self.fallback_resolution return self.fallback_resolution
class VariableOsInstallX11VideoAvailable(VideoVariable): class VariableOsInstallX11VideoAvailable(VideoVariable):
""" """

Loading…
Cancel
Save