Author: firewing
Update of /cvs/nonfree/rpms/xorg-x11-drv-fglrx/F-10
In directory se02.es.rpmfusion.net:/tmp/cvs-serv2187/F-10
Modified Files:
fglrx-config-display xorg-x11-drv-fglrx.spec
Log Message:
* Sat Apr 4 2009 Stewart Adam <s.adam at diffingo.com> - 9.3-2
- Only disable ldconfig when driver is already enabled, always configure
xorg.conf even if driver is already enabled
Index: fglrx-config-display
===================================================================
RCS file: /cvs/nonfree/rpms/xorg-x11-drv-fglrx/F-10/fglrx-config-display,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- fglrx-config-display 30 Dec 2008 22:41:04 -0000 1.3
+++ fglrx-config-display 4 Apr 2009 23:52:18 -0000 1.4
@@ -18,7 +18,8 @@
# Copyright 2006, 2007 Van Assche Alphonse
# Copyright 2006, 2007 Stewart Adam
-import string
+# internal revision: 2.0
+
import os
import sys
@@ -31,139 +32,142 @@
from livnaConfigDisplay.ConfigFile import ConfigFile
class fglrxConfigDisplay(GlxConfig):
- def __init__(self):
- GlxConfig.__init__(self)
- self.vendor = 'fglrx'
- self.majorVendor = Utils.getMajorVendor()
- if self.vendor != Utils.getVendor():
- print _('The initscript and installed driver vendors do not match!')
- sys.exit(1)
- self.ldconf = LD_CONF_FILE % (self.vendor)
- try:
- self.doAllBackups()
- except livnaConfigDisplayError, (bkupErrMsg):
- print bkupErrMsg
- sys.exit(1)
- self.xconfig, self.xconfigpath = self.loadXconfig()
- self.config = ConfigFile(STATUS_FILE)
- self.TOP_MOD_DIR = self.getModTopDir()
-
- # finally, run arg checks.
- self.run()
-
- def enable(self, isAutoConfigure=True):
- # Backup the file before make any change.
- currentDriver = self.getDriver()
- # Already enabled?
- if os.path.exists(self.ldconf):
- print _('Driver already enabled.')
- return
-
- # Annoying bit because newer fglrx drivers require a Screen section
- if len(self.xconfig.layout) == 0: # no layouts
- layout = xf86config.XF86ConfLayout()
- self.xconfig.layout.insert(layout)
- layout.identifier = "Default Layout"
- else:
- layout = self.xconfig.layout[0]
- if len(layout.adjacencies) == 0: # no layout adjacencies
- layout.adjacencies.insert(xf86config.XF86ConfAdjacency())
- layout.adjacencies[0].screen = "Screen0"
- if len(self.xconfig.screen) == 0: # no screens
- screen = xf86config.XF86ConfScreen()
- self.xconfig.screen.insert(screen)
- else:
- screen = self.xconfig.screen[0]
- screen.device = "Videocard0"
- screen.defaultdepth = 24
- screen.identifier = "Screen0"
- self.xconfig.device[0].identifier = 'Videocard0'
-
- # fglrx modules
- self.addModulePath("/extensions/fglrx", self.TOP_MOD_DIR)
- # 'remembering' magic's in here.
- self.config.setOldDriver(currentDriver)
- #currentDriver = self.config.getOldDriver()
- self.toggleDriver(currentDriver, self.majorVendor)
- self.addOption(self.majorVendor,"OpenGLOverlay" ,"off")
- self.addOption(self.majorVendor,"VideoOverlay" ,"on")
- if self.xconfig.modules:
- for module in ["glx", "dri", "extmod"]:
- if self.onlyHasModule(module):
- self.removeModule(module)
- break
- else:
- self.addModule(module)
- if os.uname()[4] == "x86_64" :
- x86_64Content = "/usr/lib/fglrx\n/usr/lib64/fglrx\n"
- Utils.writeFile(self.ldconf, x86_64Content)
+ """Autoconfiguration class for fglrx"""
+ def __init__(self):
+ """Initializes the internal variables & objects"""
+ GlxConfig.__init__(self)
+ self.vendor = 'fglrx'
+ self.majorVendor = Utils.getMajorVendor()
+ if self.vendor != Utils.getVendor():
+ print _('The initscript and installed driver vendors do not match!')
+ sys.exit(1)
+ self.ldconf = LD_CONF_FILE % (self.vendor)
+ try:
+ self.doAllBackups()
+ except livnaConfigDisplayError, (bkupErrMsg):
+ print bkupErrMsg
+ sys.exit(1)
+ self.xconfig, self.xconfigpath = self.loadXconfig()
+ self.config = ConfigFile(STATUS_FILE)
+ self.TOP_MOD_DIR = self.getModTopDir()
+
+ def enable(self):
+ """Enable the driver"""
+ # Backup the file before make any change.
+ currentDriver = self.getDriver()
+
+ # Annoying bit because newer fglrx drivers require a Screen section
+ if len(self.xconfig.layout) == 0: # no layouts
+ layout = xf86config.XF86ConfLayout()
+ self.xconfig.layout.insert(layout)
+ layout.identifier = "Default Layout"
+ else:
+ layout = self.xconfig.layout[0]
+ if len(layout.adjacencies) == 0: # no layout adjacencies
+ layout.adjacencies.insert(xf86config.XF86ConfAdjacency())
+ layout.adjacencies[0].screen = "Screen0"
+ if len(self.xconfig.screen) == 0: # no screens
+ screen = xf86config.XF86ConfScreen()
+ self.xconfig.screen.insert(screen)
+ else:
+ screen = self.xconfig.screen[0]
+ screen.device = "Videocard0"
+ screen.defaultdepth = 24
+ screen.identifier = "Screen0"
+ self.xconfig.device[0].identifier = 'Videocard0'
+
+ # fglrx modules
+ self.addModulePath("/extensions/fglrx", self.TOP_MOD_DIR)
+ # 'remembering' magic's in here. Do not allow setting old driver to
fglrx.
+ if currentDriver != self.majorVendor:
+ self.config.setOldDriver(currentDriver)
+ self.toggleDriver(currentDriver, self.majorVendor)
+ self.addOption(self.majorVendor,"OpenGLOverlay" ,"off")
+ self.addOption(self.majorVendor,"VideoOverlay" ,"on")
+ if self.xconfig.modules:
+ for module in ["glx", "dri", "extmod"]:
+ if self.onlyHasModule(module):
+ self.removeModule(module)
+ break
else:
- Utils.writeFile(self.ldconf,"/usr/lib/fglrx\n")
- print _('Running ldconfig, this could take some time...')
- Utils.runLdconfig()
- Utils.writeXorgConf(self.xconfig, self.xconfigpath)
- self.restoreconf()
-
- def disable(self, isAutoConfigure=True):
- self.removeModulePath("/extensions/fglrx", self.TOP_MOD_DIR)
- # Check if it's already disabled
- if not os.path.exists(self.ldconf):
- print _('Driver already disabled.')
- return
- # We have to save the status file so it can be restored later
- self.storeconf()
- # Backup the file before make any change.
- prevDriver = self.config.getOldDriver()
- if prevDriver == self.vendor:
- print _('Will not allow reverting from driver \'%s\' to
\'%s\'.') % (self.vendor, self.vendor)
- print _('Using the \'radeon\' driver instead.')
- prevDriver = "radeon"
- self.config.setOldDriver("radeon")
- self.removeOption(self.majorVendor,"OpenGLOverlay")
- self.removeOption(self.majorVendor,"VideoOverlay")
- self.toggleDriver(self.majorVendor, prevDriver)
- # Let's give control back to the naitive DRI
- Utils.removeFile(self.ldconf)
- print _('Running ldconfig, this could take some time...')
- Utils.runLdconfig()
- Utils.writeXorgConf(self.xconfig, self.xconfigpath)
- # And return to the Fedora default.
- self.enableAiglx()
-
- def printUsage(self):
- print _("Usage: %s-config-display enable | disable ") % self.vendor
-
- def run(self):
- # Check number of arguments
- # arg = action
- if len(sys.argv) == 2:
- arg = sys.argv[1]
+ self.addModule(module)
+ # if not already enabled
+ if not os.path.exists(self.ldconf):
+ if os.uname()[4] == "x86_64" :
+ x86_64Content = "/usr/lib/fglrx\n/usr/lib64/fglrx\n"
+ Utils.writeFile(self.ldconf, x86_64Content)
+ else:
+ Utils.writeFile(self.ldconf,"/usr/lib/fglrx\n")
+ print _('Running ldconfig, this could take some time...')
+ Utils.runLdconfig()
+ Utils.writeXorgConf(self.xconfig, self.xconfigpath)
+ self.restoreconf()
+
+ def disable(self):
+ """Disables the driver"""
+ self.removeModulePath("/extensions/fglrx", self.TOP_MOD_DIR)
+ # Check if it's already disabled
+ if not os.path.exists(self.ldconf):
+ print _('Driver already disabled.')
+ return
+ # We have to save the status file so it can be restored later
+ self.storeconf()
+ # Backup the file before make any change.
+ prevDriver = self.config.getOldDriver()
+ if prevDriver == self.vendor:
+ print _('Will not allow reverting from driver \'%s\' to
\'%s\'.') % (self.vendor, self.vendor)
+ print _('Using the \'radeon\' driver instead.')
+ prevDriver = "radeon"
+ self.config.setOldDriver("radeon")
+ self.removeOption(self.majorVendor,"OpenGLOverlay")
+ self.removeOption(self.majorVendor,"VideoOverlay")
+ self.toggleDriver(self.majorVendor, prevDriver)
+ # Let's give control back to the naitive DRI
+ Utils.removeFile(self.ldconf)
+ print _('Running ldconfig, this could take some time...')
+ Utils.runLdconfig()
+ Utils.writeXorgConf(self.xconfig, self.xconfigpath)
+ # And return to the Fedora default.
+ self.enableAiglx()
+
+ def printUsage(self):
+ """Displays usage information"""
+ print _("Usage: %s-config-display enable | disable ") % self.vendor
+
+ def run(self):
+ """Runs the appropriate autoconfiguation function"""
+ # Check number of arguments
+ # arg = action
+ if len(sys.argv) > 2:
+ print _('Wrong number of arguments')
+ self.printUsage()
+ sys.exit(1)
+ # Check value of argument
+ arg = sys.argv[1]
+ if not arg.lower() in ['enable', 'disable']:
+ print _('Invalid command: %s') % arg.lower()
+ self.printUsage()
+ sys.exit(1)
+ try:
+ if arg == "enable":
+ if self.getActive():
+ self.enable()
else:
- print _('Wrong number of arguments')
- self.printUsage()
- sys.exit(1)
- # Check value of argument
- if arg.lower() != "enable" and arg.lower() != "disable":
- print _('Invalid command: %s') % arg.lower()
- self.printUsage()
- sys.exit(1)
- try:
- if arg == "enable":
- if self.getActive():
- self.enable()
- else:
- print _('livna-config-display\'s `active\' state is False
- Exiting')
- elif arg == "disable":
- if self.getActive():
- self.disable()
- except:
- raise # Uncomment me to show the real error
- print MSG_CONF_APPLY_ERROR
- try:
- self.doAllRestores()
- except livnaConfigDisplayError, (bkupErrMsg):
- #raise # Uncomment me to show the real error
- print MSG_CONF_RESTORE_ERROR + '\n' + MSG_TRACEBACK %
(str(errMsg)) + '\n\n' + str(bkupErrMsg)
- sys.exit(1)
+ print _('livna-config-display\'s `active\' state is False -
Exiting')
+ elif arg == "disable":
+ if self.getActive():
+ self.disable()
+ except error, errMsg:
+ #raise # Uncomment me to show the real error
+ print MSG_CONF_APPLY_ERROR
+ try:
+ self.doAllRestores()
+ except livnaConfigDisplayError, (bkupErrMsg):
+ #raise # Uncomment me to show the real error
+ print MSG_CONF_RESTORE_ERROR + '\n' + MSG_TRACEBACK % (str(errMsg)) +
'\n\n' + str(bkupErrMsg)
+ sys.exit(1)
+
+if __name__ == '__main__':
+ app = fglrxConfigDisplay()
+ app.run()
-app = fglrxConfigDisplay()
Index: xorg-x11-drv-fglrx.spec
===================================================================
RCS file: /cvs/nonfree/rpms/xorg-x11-drv-fglrx/F-10/xorg-x11-drv-fglrx.spec,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- xorg-x11-drv-fglrx.spec 28 Mar 2009 02:44:19 -0000 1.19
+++ xorg-x11-drv-fglrx.spec 4 Apr 2009 23:52:18 -0000 1.20
@@ -8,7 +8,7 @@
Name: xorg-x11-drv-fglrx
Version: 9.3
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: AMD's proprietary driver for ATI graphic cards
Group: User Interface/X Hardware Support
License: Redistributable, no modification permitted
@@ -312,6 +312,10 @@
%{_includedir}/X11/extensions/*.h
%changelog
+* Sat Apr 4 2009 Stewart Adam <s.adam at diffingo.com> - 9.3-2
+- Only disable ldconfig when driver is already enabled, always configure
+ xorg.conf even if driver is already enabled
+
* Fri Mar 27 2009 Stewart Adam <s.adam at diffingo.com> - 9.3-1
- Update to Catalsyt 9.3