[Uludag-commits] r15300 - trunk/staj-projeleri/zorg/zorg
uludag-commits at pardus.org.tr
uludag-commits at pardus.org.tr
5 Eyl 2007 Çar 10:59:44 EEST
Author: fatih
Date: Wed Sep 5 10:59:44 2007
New Revision: 15300
Modified:
trunk/staj-projeleri/zorg/zorg/probe.py
Log:
Log parsing code for NVIDIA proprietary drivers
Modified: trunk/staj-projeleri/zorg/zorg/probe.py
=================================================================
--- trunk/staj-projeleri/zorg/zorg/probe.py (original)
+++ trunk/staj-projeleri/zorg/zorg/probe.py Wed Sep 5 10:59:44 2007
@@ -275,7 +275,65 @@
device.tvStandards = line.strip().rsplit(": ", 1)[1].split()
def queryNvidiaOutputs(device):
- pass
+ lines = xserverProbe(device)
+ if not lines:
+ return
+
+ device.tvStandards = [
+ "PAL-B", "PAL-D", "PAL-G", "PAL-H",
+ "PAL-I", "PAL-K1", "PAL-M", "PAL-N",
+ "PAL-NC", "NTSC-J", "NTSC-M", "HD480i",
+ "HD480p", "HD720p", "HD1080i", "HD1080p",
+ "HD576i", "HD576p"
+ ]
+
+ # This is for nvidia-old drivers
+ modeFormat = re.compile('.+ "(.+)": .+ MHz, .+ kHz, .+ Hz.*')
+ oldFormat = False
+
+ parsingModesFor = ""
+
+ for line in lines:
+ if "Supported display device(s): " in line:
+ outs = line.rsplit(":", 1)[-1].split(",")
+ for out in outs:
+ out = out.strip()
+ device.outputs[out] = []
+
+ elif "--- Modes in ModePool for " in line:
+ for key in device.outputs.keys():
+ if key in line:
+ parsingModesFor = key
+ break
+
+ elif "Validated modes for display device " in line:
+ oldFormat = True
+ for key in device.outputs.keys():
+ if key in line:
+ parsingModesFor = key
+ break
+
+ elif parsingModesFor:
+ if not oldFormat:
+ if "--- End of ModePool for " in line:
+ parsingModesFor = ""
+ continue
+
+ mode = line.split(":")[2].split("@", 1)[0].replace(" ", "")
+
+ if not mode in device.outputs[parsingModesFor]:
+ device.outputs[parsingModesFor].append(mode)
+
+ else:
+ matched = modeFormat.match(line)
+ if matched:
+ mode = matched.groups()[0]
+
+ if not mode in device.outputs[parsingModesFor]:
+ device.outputs[parsingModesFor].append(mode)
+
+ else:
+ parsingModesFor = ""
def queryFglrxOutputs(device):
pass
Uludag-commits mesaj listesiyle ilgili
daha fazla bilgi