|
|
|
@ -206,12 +206,20 @@ class VariableOsInstallX11VideoDrv(VideoVariable):
|
|
|
|
|
self.help = _("set the video driver")
|
|
|
|
|
self.label = _("Video driver")
|
|
|
|
|
|
|
|
|
|
def nox_video_drivers(self):
|
|
|
|
|
values = self.Get('os_x11_kms_video_drv')
|
|
|
|
|
for drv, drvinfo in self.pkgDrvMap.items():
|
|
|
|
|
_, pkgdrv = drvinfo
|
|
|
|
|
if isPkgInstalled(pkgdrv, prefix=self.Get('cl_chroot_path')):
|
|
|
|
|
values.append(drv)
|
|
|
|
|
return [self.default_video] + list(sorted(values))
|
|
|
|
|
|
|
|
|
|
def choice(self):
|
|
|
|
|
"""Get available (already installed or installable drivers"""
|
|
|
|
|
if self.Get('os_install_x11_server_set') == 'on':
|
|
|
|
|
values = self.Get('os_install_x11_video_available')
|
|
|
|
|
else:
|
|
|
|
|
values = self.Get('os_x11_kms_video_drv') + [self.default_video]
|
|
|
|
|
values = self.nox_video_drivers()
|
|
|
|
|
return map(lambda x: (x, self.driver_names.get(x, x)),
|
|
|
|
|
(x for x in self.driver_names.keys() if x in values))
|
|
|
|
|
|
|
|
|
@ -270,8 +278,7 @@ class VariableOsInstallX11VideoDrv(VideoVariable):
|
|
|
|
|
error += "\n" + ("emerge %s" % self.pkgDrvMap[value][1])
|
|
|
|
|
raise VariableError(error)
|
|
|
|
|
else:
|
|
|
|
|
availDrivers = self.Get('os_x11_kms_video_drv') + [
|
|
|
|
|
self.default_video]
|
|
|
|
|
availDrivers = self.nox_video_drivers()
|
|
|
|
|
if not value in availDrivers:
|
|
|
|
|
raise VariableError("Only %s drivers are available" %
|
|
|
|
|
",".join(availDrivers))
|
|
|
|
|