[Uludag-commits] r21742 - trunk/comar/zorg/zorg

uludag-commits at pardus.org.tr uludag-commits at pardus.org.tr
9 Mar 2009 Pzt 01:02:38 EET


Author: fatih
Date: Mon Mar  9 01:02:38 2009
New Revision: 21742

Modified:
   trunk/comar/zorg/zorg/config.py
   trunk/comar/zorg/zorg/probe.py
Log:
change defaults, let server decide depths, etc

Modified: trunk/comar/zorg/zorg/config.py
=================================================================
--- trunk/comar/zorg/zorg/config.py	(original)
+++ trunk/comar/zorg/zorg/config.py	Mon Mar  9 01:02:38 2009
@@ -24,7 +24,7 @@
         secDevice,
     ]
 
-    if not card.initial:
+    if card.needsScreenSection():
         parser.sections.extend([secScr, secLay])
 
     extmod = XorgSection("extmod")
@@ -51,14 +51,10 @@
     secDevice.set("Identifier", "VideoCard")
     if card.driver:
         secDevice.set("Driver", card.driver)
-        secDevice.options.update(card.driver_options)
 
-    # vendorName, boardName = idsQuery(card.vendor_id, card.product_id)
-    # secDevice.set("VendorName", vendorName)
-    # secDevice.set("BoardName", boardName)
-    # secDevice.set("BusId", info["bus-id"])
+    secDevice.options.update(card.driver_options)
 
-    flags = card.probe_result["flags"].split(",")
+    flags = card.flags()
 
     for output in card.active_outputs:
         identifier = "Monitor[%s]" % output
@@ -73,7 +69,7 @@
             monSec.set("HorizSync",   unquoted(card.monitors[output].hsync))
             monSec.set("VertRefresh", unquoted(card.monitors[output].vref ))
 
-        if "randr12" in flags:
+        if "norandr" not in flags:
             secDevice.options["Monitor-%s" % output] = identifier
             monSec.options["Enable"] = "true"
 
@@ -90,31 +86,17 @@
 
                     monSec.options[pos] = "Monitor[%s]" % out2
 
-    if not card.initial:
+    if card.needsScreenSection():
         secScr.set("Identifier", "Screen")
         secScr.set("Device", "VideoCard")
-        secScr.set("Monitor", "Monitor[%s]" % card.active_outputs[0])
+        if card.active_outputs:
+            secScr.set("Monitor", "Monitor[%s]" % card.active_outputs[0])
         secScr.set("DefaultDepth", atoi(card.depth))
 
         subsec = XorgSection("Display")
         subsec.set("Depth", atoi(card.depth))
 
-        #if "randr12" in flags and card.desktop_setup not in ("single", "clone"):
-        #    out1, out2 = card.active_outputs[:2]
-        #    if card.modes.has_key(out1) and card.modes.has_key(out2):
-        #        w1, h1 = map(atoi, card.modes[out1].split("x"))
-        #        w2, h2 = map(atoi, card.modes[out2].split("x"))
-        #
-        #        if card.desktop_setup == "horizontal":
-        #            w = w1 + w2
-        #            h = max(h1, h2)
-        #        else:
-        #            w = max(w1, w2)
-        #            h = h1 + h2
-        #
-        #        subsec.set("Virtual", w, h)
-
-        if "no-modes-line" not in flags or "randr12" not in flags:
+        if card.needsModesLine():
             output = card.active_outputs[0]
             if card.modes.has_key(output):
                 subsec.set("Modes", card.modes[output], "800x600", "640x480")

Modified: trunk/comar/zorg/zorg/probe.py
=================================================================
--- trunk/comar/zorg/zorg/probe.py	(original)
+++ trunk/comar/zorg/zorg/probe.py	Mon Mar  9 01:02:38 2009
@@ -55,15 +55,15 @@
         self.saved_vendor_id  = None
         self.saved_product_id = None
 
-        self.driver = "vesa"
-        self.package = "xorg-video"
+        self.driver = None
+        self.package = None
 
         self.initial = False
         self.probe_result = {"flags" : "", "depths" : "16,24"}
 
-        self.active_outputs = ["default"]
-        self.modes = {"default" : "800x600"}
-        self.depth = "16"
+        self.active_outputs = []
+        self.modes = {}
+        self.depth = None
         self.desktop_setup = "single"
 
         self.driver_options = {}
@@ -79,8 +79,8 @@
     def getDict(self):
         info = {
             "bus-id" : "PCI:%d:%d:%d" % self.bus,
-            "driver" : self.driver,
-            "depth" : self.depth,
+            "driver" : self.driver or "",
+            "depth" : self.depth or "",
             "desktop-setup" : self.desktop_setup,
             "active-outputs" : ",".join(self.active_outputs),
         }
@@ -138,7 +138,7 @@
                     print "Driver reported by X server is %s." % self.driver
 
     def query(self, withDriver=None):
-        self.package = "xorg-video"
+        self.package = None
 
         if withDriver:
             if package_sep in withDriver:
@@ -158,7 +158,8 @@
 
         self.enableDriver()
 
-        self.probe_result = call(self.package, "Xorg.Driver", "probe", self.getDict())
+        if self.package:
+            self.probe_result = call(self.package, "Xorg.Driver", "probe", self.getDict())
 
         if self.probe_result is None:
             self.probe_result = {
@@ -175,9 +176,7 @@
             queryMonitor(self)
 
         depthlist = self.probe_result.get("depths", "16,24").split(",")
-        self.depth = depthlist[0]
-
-        #flags = self.probe_result["flags"].split(",")
+        # self.depth = depthlist[0]
 
     def enableDriver(self):
         oldpackage = enabledPackage()
@@ -188,6 +187,8 @@
             call(self.package, "Xorg.Driver", "enable")
 
     def requestDriverOptions(self):
+        if not self.package or self.package == "xorg-video":
+            return
         self.driver_options = call(self.package, "Xorg.Driver", "getOptions", self.getDict())
 
     def isChanged(self):
@@ -195,6 +196,19 @@
             return (self.vendor_id, self.product_id) != (self.saved_vendor_id, self.saved_product_id)
         return False
 
+    def flags(self):
+        return self.probe_result["flags"].split(",")
+
+    def needsScreenSection(self):
+        flags = self.flags()
+
+        return "norandr" in flags or self.depth is not None
+
+    def needsModesLine(self):
+        flags = self.flags()
+
+        return "norandr" in flags or "no-modes-line" in flags
+
 class Monitor:
     def __init__(self):
         self.vendor = ""
@@ -253,7 +267,7 @@
     try:
         return file("/var/lib/zorg/enabled_package").read()
     except IOError:
-        return "xorg-video"
+        return None
 
 def queryPCI(vendor, device):
     f = file("/usr/share/misc/pci.ids")


Uludag-commits mesaj listesiyle ilgili daha fazla bilgi