home *** CD-ROM | disk | FTP | other *** search
Wrap
# Source Generated with Decompyle++ # File: in.pyc (Python 2.5) import logging from jockey.handlers import KernelModuleHandler from jockey.xorg_driver import XorgDriverHandler from jockey.oslib import OSLib import XKit from NvidiaDetector.nvidiadetector import NvidiaDetection def _(x): return x class NvidiaDriver(XorgDriverHandler): def __init__(self, backend): self._free = False XorgDriverHandler.__init__(self, backend, 'nvidia', None, 'nvidia', 'nv', { 'NoLogo': 'True' }, add_modules = [ 'glx'], disable_modules = [], remove_modules = [ 'dri', 'GLcore'], name = _('NVIDIA accelerated graphics driver'), description = _('3D-accelerated proprietary graphics driver for NVIDIA cards.'), rationale = _('This driver is required to fully utilise the 3D potential of NVIDIA graphics cards, as well as provide 2D acceleration of newer cards.\n\nIf you wish to enable desktop effects, this driver is required.\n\nIf this driver is not enabled, you will not be able to enable desktop effects and will not be able to run software that requires 3D acceleration, such as some games.')) self._recommended = None def id(self): '''Return an unique identifier of the handler.''' if self.package: i = 'xorg:' + self.module + '-' + self.package.split('-')[-1] else: i = 'xorg:' + self.module if self.driver_vendor: i += ':' + self.driver_vendor.replace(' ', '_') return i def name(self): name = XorgDriverHandler.name(self) if self.package: name += ' (' + _('version %s') % self.package.split('-')[-1] + ')' return name def available(self): if self.package: version = int(self.package.split('-')[-1]) if version < 173: logging.debug('NVIDIA legacy driver not currently supported') return False return XorgDriverHandler.available(self) def enable_config_hook(self): if len(self.xorg_conf.globaldict['Screen']) == 0: screen = self.xorg_conf.makeSection('Screen', identifier = 'Default Screen') self.xorg_conf.addOption('Screen', 'DefaultDepth', '24', position = 0, prefix = '') if self.package and self.package.endswith('-96'): self.xorg_conf.addOption('Screen', 'AddARGBGLXVisuals', 'True', optiontype = 'Option', position = 0) if self.package and self.package.endswith('-71'): for opt in ('AllowGLXWithComposite', 'UseEdidFreqs'): self.xorg_conf.addOption('Device', opt, 'True', optiontype = 'Option', position = 0) it = 0 for section in self.xorg_conf.globaldict['Files']: try: self.xorg_conf.removeOption('Files', 'RgbPath', position = it) except XKit.xorgparser.OptionException: pass it += 1 module_sections = self.xorg_conf.globaldict['Module'] have_modules = len(module_sections) > 0 if have_modules: for section in module_sections: self.xorg_conf.removeOption('Module', 'Disable', value = 'dri2', position = section) def disable(self): XorgDriverHandler.disable(self) if self.package: flavour = self.package.split('-')[-1] kernel_source = 'nvidia-%s-kernel-source' % flavour self.backend.remove_package(kernel_source) return False def recommended(self): if self._recommended == None: nd = NvidiaDetection() self._recommended = self.package == nd.selectDriver() return self._recommended def enabled(self): try: devices = self.xorg_conf.globaldict['Device'] try: driver = self.xorg_conf.getDriver('Device', 0) except (XKit.xorgparser.OptionException, XKit.xorgparser.SectionException): driver = None if len(devices) == 0 or driver != 'nvidia': return False except AttributeError: return False return KernelModuleHandler.enabled(self) def enables_composite(self): '''Return whether this driver supports the composite extension.''' if KernelModuleHandler.module_loaded('nvidia'): logging.debug('enables_composite(): already using nvidia driver from nondefault package') return False return True