summaryrefslogtreecommitdiff
diff options
authorPo-Hsu Lin <po-hsu.lin@canonical.com>2016-01-11 08:41:54 +0000
committerSylvain Pineau <>2016-01-11 08:41:54 +0000
commit37a7462c22cb2d8b70f4af799ac234702b1c7a7d (patch)
tree4dc35897e2a6d82c59f42c2a77f8081d3e77566e
parentefb9bcefc10fe02b347303ac3a632de60e1e3200 (diff)
parent706f5549f10c5ab1b855abbcb7fd61f34c8fcfdd (diff)
"automatic merge of lp:~cypressyew/checkbox/reformat-graphics-driver/ by tarmac [r=cypressyew,pwlars][bug=][author=cypressyew]"
-rwxr-xr-xbin/graphics_driver112
1 files changed, 56 insertions, 56 deletions
diff --git a/bin/graphics_driver b/bin/graphics_driver
index b1b1cb7..e1b6abd 100755
--- a/bin/graphics_driver
+++ b/bin/graphics_driver
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-#========================================================================
+# ========================================================================
#
# based on xlogparse
#
@@ -33,7 +33,7 @@
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
-#========================================================================
+# ========================================================================
import re
import sys
import os
@@ -73,6 +73,55 @@ class XorgLog(object):
module = None
for line in in_file.readlines():
+ # Errors and Warnings
+ m = re.search(r'\(WW\) (.*)$', line)
+ if m:
+ self.warnings.append(m.group(1))
+ continue
+
+ m = re.search(r'\(EE\) (.*)$', line)
+ if m:
+ self.errors.append(m.group(1))
+ continue
+
+ # General details
+ m = re.search(r'Current Operating System: (.*)$', line)
+ if m:
+ uname = m.group(1)
+ self.kernel_version = uname.split()[2]
+ continue
+
+ m = re.search(r'Kernel command line: (.*)$', line)
+ if m:
+ self.kernel_command_line = m.group(1)
+ continue
+
+ m = re.search(r'Build Date: (.*)$', line)
+ if m:
+ self.kernel_command_line = m.group(1)
+ continue
+
+ m = re.search(r'Log file: "(.*)", Time: (.*)$', line)
+ if m:
+ self.boot_logfile = m.group(1)
+ self.boot_time = m.group(2)
+
+ m = re.search(r'xorg-server ([^ ]+) .*$', line)
+ if m:
+ self.xserver_version = m.group(1)
+ continue
+
+ m = re.search(r'Using a default monitor configuration.', line)
+ if m and self.xorg_conf_path is None:
+ self.xorg_conf_path = 'default'
+ continue
+
+ m = re.search(r'Using config file: "(.*)"', line)
+ if m:
+ self.xorg_conf_path = m.group(1)
+ continue
+
+ # Driver related information
m = re.search(r'\(..\)', line)
if m:
if gathering_module and module is not None:
@@ -83,6 +132,7 @@ class XorgLog(object):
'\(II\) Loading.*modules\/drivers\/(.+)_drv\.so', line)
if m:
found_ddx = True
+ continue
m = re.search(r'\(II\) Module (\w+):', line)
if m:
module = {
@@ -131,43 +181,6 @@ class XorgLog(object):
module['abi_version'] = m.group(2)
continue
- # General details
- m = re.search(r'Current Operating System: (.*)$', line)
- if m:
- uname = m.group(1)
- self.kernel_version = uname.split()[2]
- continue
-
- m = re.search(r'Kernel command line: (.*)$', line)
- if m:
- self.kernel_command_line = m.group(1)
- continue
-
- m = re.search(r'Build Date: (.*)$', line)
- if m:
- self.kernel_command_line = m.group(1)
- continue
-
- m = re.search(r'Log file: "(.*)", Time: (.*)$', line)
- if m:
- self.boot_logfile = m.group(1)
- self.boot_time = m.group(2)
-
- m = re.search(r'xorg-server ([^ ]+) .*$', line)
- if m:
- self.xserver_version = m.group(1)
- continue
-
- m = re.search(r'Using a default monitor configuration.', line)
- if m and self.xorg_conf_path is None:
- self.xorg_conf_path = 'default'
- continue
-
- m = re.search(r'Using config file: "(.*)"', line)
- if m:
- self.xorg_conf_path = m.group(1)
- continue
-
# EDID and Modelines
# We use this part to determine which driver is in use
# For Intel / RADEON
@@ -209,7 +222,6 @@ class XorgLog(object):
display = {'Output': display_name}
continue
-
m = re.search(
r'Manufacturer: (.*) *Model: (.*) *Serial#: (.*)', line)
if m:
@@ -249,17 +261,6 @@ class XorgLog(object):
display[key] = m.group(4)
continue
- # Errors and Warnings
- m = re.search(r'\(WW\) (.*)$', line)
- if m:
- self.warnings.append(m.group(1))
- continue
-
- m = re.search(r'\(EE\) (.*)$', line)
- if m:
- self.errors.append(m.group(1))
- continue
-
if display_name not in self.displays.keys():
self.displays[display_name] = display
in_file.close()
@@ -300,7 +301,7 @@ def get_driver_info(xlog):
return 0
else:
print("ERROR: No video driver loaded! Possibly in failsafe mode!",
- file=sys.stderr)
+ file=sys.stderr)
return 1
@@ -344,12 +345,11 @@ def hybrid_graphics_check(xlog):
for module in xlog.modules:
if module['ddx'] and module['name'] not in drivers:
drivers.append(module['name'])
- print('Loaded DDX Drivers: %s' %
- ', '.join(drivers))
+ print('Loaded DDX Drivers: %s' % ', '.join(drivers))
has_hybrid_graphics = (len(cards) > 1 and is_laptop()
- and (cards_dict.get('8086') in formatted_cards
- or cards_dict.get('1002') in formatted_cards))
+ and (cards_dict.get('8086') in formatted_cards
+ or cards_dict.get('1002') in formatted_cards))
print('Hybrid Graphics: %s' % (has_hybrid_graphics
and 'yes' or 'no'))