Change detect video driver logic.

develop
Mike Hiretsky 13 years ago
parent e9ef4b8757
commit 8a16d003a5

@ -472,23 +472,15 @@ class fillVars(varsShare):
if resDriver and resDriver.group(1) in list_avialable_drivers:
return resDriver.group(1)
videoVal = self.getValueFromCmdLine("calculate",4)
videoVal = self.getValueFromCmdLine("calculate","video")
videoVal = {'i915':'intel'}.get(videoVal,videoVal)
if videoVal in list_avialable_drivers:
return videoVal
defaultDriver = {
'vesa':'vesa',
'nvidia':'nvidia' if "nvidia" in list_avialable_drivers else "nv",
'ati':'fglrx' if "fglrx" in list_avialable_drivers else "radeon",
'intel':'intel',
'via':'via',
'vmware':'vmware'}
hr_video = self.Get('hr_video')
if hr_video in defaultDriver and \
defaultDriver[hr_video] in list_avialable_drivers:
return defaultDriver[hr_video]
else:
return "vesa"
workedModules = map(lambda x:x[0],
filter(lambda x:x[1].isdigit() and int(x[1])>0,
map(lambda x:x.split()[:3:2],
open('/proc/modules','r'))))
return self.getVideoByDefault(list_avialable_drivers)
def get_os_x11_height(self):
"""Get screen height in pixeles"""

@ -564,3 +564,29 @@ class varsShare:
return progname
else:
return False
def getVideoByDefault(self,drivers_list):
"""Get video by default, or wrong specified"""
workedModules = map(lambda x:x[0],
filter(lambda x:x[1].isdigit() and int(x[1])>0,
map(lambda x:x.split()[:3:2],
open('/proc/modules','r'))))
if "nvidia" in drivers_list:
defaultNvidia = "nvidia"
elif "nouveau" in workedModules:
defaultNvidia = "nouveau"
else:
defaultNvidia = "nv"
defaultDriver = {
'vesa':'vesa',
'nvidia':defaultNvidia,
'ati':'fglrx' if "fglrx" in drivers_list else "radeon",
'intel':'intel',
'via':'via',
'vmware':'vmware'}
hr_video = self.Get('hr_video')
if hr_video in defaultDriver and \
defaultDriver[hr_video] in drivers_list:
return defaultDriver[hr_video]
else:
return "vesa"

Loading…
Cancel
Save