set video mode on bootup, set /etc/videomode for bootup script
authorFelix Domke <tmbinc@elitedvb.net>
Wed, 30 Jan 2008 23:56:51 +0000 (23:56 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Wed, 30 Jan 2008 23:56:51 +0000 (23:56 +0000)
lib/python/Plugins/SystemPlugins/Videomode/VideoHardware.py

index 701daaf..0969873 100644 (file)
@@ -57,7 +57,6 @@ class VideoHardware:
                self.last_modes_preferred =  [ ]
                self.on_hotplug = CList()
 
                self.last_modes_preferred =  [ ]
                self.on_hotplug = CList()
 
-
                self.readAvailableModes()
 
                self.createConfig()
                self.readAvailableModes()
 
                self.createConfig()
@@ -127,6 +126,11 @@ class VideoHardware:
                        except IOError:
                                print "setting videomode failed."
 
                        except IOError:
                                print "setting videomode failed."
 
+               try:
+                       open("/etc/videomode", "w").write(mode_50) # use 50Hz mode (if available) for booting
+               except IOError:
+                       print "writing initial videomode to /etc/videomode failed."
+
        def isPortAvailable(self, port):
                # fixme
                return True
        def isPortAvailable(self, port):
                # fixme
                return True
@@ -169,5 +173,21 @@ class VideoHardware:
                        for (mode, rates) in modes:
                                config.av.videorate[mode] = ConfigSelection(choices = rates)
 
                        for (mode, rates) in modes:
                                config.av.videorate[mode] = ConfigSelection(choices = rates)
 
+       def setConfiguredMode(self):
+               port = config.av.videoport.value
+               if port not in config.av.videomode:
+                       print "current port not available, not setting videomode"
+                       return
+
+               mode = config.av.videomode[port].value
+
+               if mode not in config.av.videorate:
+                       print "current mode not available, not setting videomode"
+                       return
+
+               rate = config.av.videorate[mode].value
+               self.setMode(port, mode, rate)
+
 config.av.edid_override = ConfigYesNo(default = False)
 video_hw = VideoHardware()
 config.av.edid_override = ConfigYesNo(default = False)
 video_hw = VideoHardware()
+video_hw.setConfiguredMode()