source:
pkg/viola/main/kde-guidance/trunk/debian/patches/kubuntu_20_displayconfig_dynamic_driver_list.patch
@
3444
| Revision 3444, 4.7 KB checked in by alanbach-guest, 5 years ago (diff) |
|---|
-
displayconfig/displayconfigabstraction.py
diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/displayconfig/displayconfigabstraction.py kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfigabstraction.py
old new 9 9 import xorgconfig 10 10 import ScanPCI 11 11 import csv 12 import re 12 13 from execwithcapture import * 13 14 14 15 """Classes for dealing with X.org configuration in a sane way. … … 2520 2521 self.vendordb = {} 2521 2522 self.driverdb = {} 2522 2523 2523 self.drivers = ["ati", "glint", "vga", "fbdev"] 2524 #FIXME 2525 #if arch() .startswith("sparc"): 2526 # self.drivers.extend(["sunbw2", "suncg14", "suncg3", "suncg6", "sunffb", "sunleo", "suntcx"]) 2527 #else: 2528 self.drivers.extend(["apm", "ark", "chips", "cirrus", "cyrix", "glide", 2529 "i128", "i740", "i810", "intel", "imstt", "mga", 2530 "neomagic", "newport", "nsc", "nv", "rendition", 2531 "r128", "radeon", "vesa", "s3", "s3virge", 2532 "savage", "siliconmotion", "sis", "tdfx", "tga", 2533 "trident", "tseng", "vmware"]) 2524 self.drivers = self._getAvailableDrivers() 2534 2525 2535 2526 self.proprietary_drivers = [] 2536 2527 … … 2547 2538 def getAllGfxCardModelNames(self): 2548 2539 return self.db.keys() 2549 2540 2541 def _getDriverDirs(self): 2542 "Returns a list of directories where X driver files may be located" 2543 2544 # Fallback dir: 2545 defaultDirs = ["/usr/lib/xorg/modules/drivers/"] 2546 2547 # Get display number: 2548 display_number = 0 2549 if "DISPLAY" in os.environ: 2550 display_name = os.environ["DISPLAY"] 2551 displayRE = re.compile("^.*:(\d+)\.\d+$") 2552 m = displayRE.match(display_name) 2553 if m: 2554 display_number = int(m.group(1)) 2555 else: 2556 print "failed to parse display number from '%s' - falling back to default (%d)" % (display_name, display_number) 2557 else: 2558 print "$DISPLAY not set - falling back to default number (%d)" % display_number 2559 2560 # Get the list of module paths from the Xorg log file: 2561 XLogfile = "/var/log/Xorg.%d.log" % display_number 2562 cmd = "awk -F \" ModulePath set to \" '/^\(..\) ModulePath set to (.*)/ {print $2}' %s" % XLogfile 2563 2564 baseList = os.popen(cmd).readline().strip().strip('"') 2565 if baseList == "": 2566 print "warning: failed to get module paths from '%s' - falling back to default" % XLogfile 2567 return defaultDirs 2568 2569 pathList = [] 2570 for basePath in baseList.split(","): 2571 pathList.append("%s/drivers/" % basePath) 2572 2573 return pathList 2574 2575 def _getAvailableDrivers(self): 2576 """ 2577 Returns the list of available X graphics drivers. 2578 Algorithm taken from Xorg source (see GenerateDriverlist() in xf86Config.C). 2579 """ 2580 2581 # These are drivers that cannot actually be used in xorg.conf, hence they are hidden: 2582 hiddenDrivers = ( 2583 "atimisc", # seems to be just the internal implementation for ati driver 2584 "dummy", # dummy driver without any output 2585 "v4l", # not an actual video device driver, but just the v4l module 2586 "ztv" # seems to be the TV output module for AMD Geode 2587 ) 2588 2589 drivers = [] 2590 driverDirectories = self._getDriverDirs() 2591 2592 driverNameRE = re.compile("^(.+)_drv.(s)?o$") 2593 for ddir in driverDirectories: 2594 try: 2595 driverFiles = os.listdir(ddir) 2596 except OSError: 2597 print "error reading directory '%s'" % ddir 2598 continue 2599 for f in driverFiles: 2600 m = driverNameRE.match(f) 2601 if m: 2602 driverName = m.group(1) 2603 if driverName in drivers: 2604 print "ignoring duplicate driver '%s/%s'" % (ddir, f) 2605 else: 2606 if driverName in hiddenDrivers: 2607 #print "ignoring hidden driver '%s'" % driverName 2608 pass 2609 else: 2610 drivers.append(driverName) 2611 else: 2612 #print "ignoring driver file with invalid name '%s'" % f 2613 pass 2614 #print "found %d drivers" % len(drivers) 2615 return drivers 2616 2550 2617 def _checkProprietaryDrivers(self): 2551 2618 # Check for the NVidia driver. 2552 2619 # FIXME x86_64 => 'lib64'
Note: See TracBrowser
for help on using the repository browser.


