Difference between revisions of "AVWizard"

From LinuxMCE
Jump to: navigation, search
m (How A/V Wizard Starts)
(What to do if A/V Wizard does not start)
Line 32: Line 32:
  
 
==What to do if A/V Wizard does not start==
 
==What to do if A/V Wizard does not start==
Press the number 1 through 5 on the keyboard or the remote control to switch to the connector that is active. Wait about 15 seconds, and you will hear that same sequence of beeps telling you that A/V Wizard has now restarted, using the connector you specified. If you don't hear the beeps after 15 seconds, press the number for your connector again.
+
Press the number 1 through 5 on the keyboard (or the remote control) to switch to the active connector. Wait 15 seconds, and you will hear that same sequence of beeps telling you that A/V Wizard has now restarted. If you don't hear the beeps after 15 seconds, press the number for your connector again.
 +
 
 
     <pre> Keys for choosing a connector:
 
     <pre> Keys for choosing a connector:
  
Line 41: Line 42:
 
5: S-Video</pre>
 
5: S-Video</pre>
  
If you do hear the beeps, but you still don't see a picture, it's possible that the display you're using cannot handle 640x480.  If so, then press the number 6-9, and 0, as shown below, to select the resolution.  Again, 15 seconds later, you should hear the beeps when the A/V Wizard is running. If you need to choose a connector other than the default VGA, press the 1-5 key (as above) and wait until you hear the beeps again, before choosing another connector or resolution.
+
If you hear the beeps but still don't see a picture, it's possible that the display you're using cannot handle 640x480.  Press the number 6-9, or 0, as shown below, to select your resolution.  Again, 15 seconds later, you should hear the beeps when the A/V Wizard is restarted. If you again then need to choose a connector (other than the default VGA), press the 1-5 key (as above) and wait until you hear the beeps again. Repeat as needed.
 +
 
 
<pre>
 
<pre>
 
Keys for choosing a resolution:
 
Keys for choosing a resolution:
Line 51: Line 53:
 
0: 1080p</pre>
 
0: 1080p</pre>
  
Once you have a picture you can proceed to complete the A/V Wizard. You can then resize your user interface to fit your screen, choose your audio outputs, and so on. Follow these instructions:
+
Once you have a picture you can proceed to complete the A/V Wizard. You can then resize your user interface to fit your screen, choose your audio outputs, and so on. Follow the [[AVWizard Step by Step]] instructions.
*[[AVWizard Step by Step]]
+
  
A/V Wizard makes the process a bit more complicated for normal PC users who may actually be using a PC monitor. Because EDID is turned off in LinuxMCE, these users will also have to manually set the correct connector and resolution.
+
A/V Wizard makes the process a bit more complicated for normal PC users who may actually be using a PC monitor. They are used to having EDID automatically detect and confgure their monitor's output connector and resolution. Because EDID is turned off in LinuxMCE, however, these users will also have to manually set the output connector and resolution settings, as above.
  
 
That is the trade-off. We decided that to use a consumer TV with a home theater PC (and still have HD video) it would be simpler to use manual output type/resolution configuration for all video output, no matter whether a TV or a PC monitor is used. The alternative of requiring a user to edit the Xfree86 modeline by hand is likely too complex for many users.
 
That is the trade-off. We decided that to use a consumer TV with a home theater PC (and still have HD video) it would be simpler to use manual output type/resolution configuration for all video output, no matter whether a TV or a PC monitor is used. The alternative of requiring a user to edit the Xfree86 modeline by hand is likely too complex for many users.

Revision as of 18:06, 4 May 2008

Note: Due to a bug in the 0704 release, the numeric keys 0-9 on the Windows XP I/R remote may not set your output connector & resolution. If they do not, use the 0-9 keys on the keyboard or use another remote.


The AVWizard has two points of view:


Background

Consumer a/v gear, like DVD's, cable boxes and TV's, handle video differently than PC's and PC monitors. PC's and PC monitors exchange information about the resolution and capabilities of the monitors using EDID. Using EDID, the PC figures out automatically what type of monitor and what type of video connector (VGA, DVI) is used. However, consumer a/v gear generally does not work like this. Instead the output resolution is generally set by a switch. The same video signal is output to all connectors at the same time.

This often leads to frustration when using a home theater PC. When you connect the PC to a TV, the PC still expects EDID information from the TV. Since most consumer TV's do not report EDID correctly, the PC often does not correctly detect the active connector, or outputs the wrong resolution.

For most Linux users using a TV as a monitor, the solution has been to determine the correct settings for the TV using a modeline tool, and then manually editing the modeline of the Xfree86 module in Linux. This only has to be done once for each TV.

Starting A/V Wizard

LinuxMCE is intended to act like a normal consumer a/v device, even though it is PC based. Therefore it does not use EDID to communicate to the TV or monitor. Instead, it uses whichever connector and whatever resolution you specify. This is done in the A/V setup wizard.

Initially

This wizard is started automatically the first time the system boots, and does not routinely start after that.

Starting A/V Wizard from the LinuxMCE menu

The A/V wizard can be restarted at any time from the LinuxMCE menu by choosing Advanced--> Advanced--> A/V Wizard.

Restarting the AVWizard during bootup

During bootup, either hold down the shift key on the keyboard, or press the "a/v menu" button on the remote to make A/V wizard start. During bootup you will hear a series of escalating beeps to tell you when LinuxMCE is monitoring the Shift & A/V Menu keys.

When you hear the descending beeps that means it's too late; the bootup has already gone past the AV Wizard check and LinuxMCE has already started.

How A/V Wizard Starts

When A/V Wizard starts it always outputs 640x480 on the VGA connector. If you are not using a VGA connector, you will likely see a blank, black screen when the A/V Wizard starts (even if you previously saw the Kubuntu boot splash). You will know that the A/V Wizard is running, however, because you will hear a series of beeps. When you hear those beeps, if you then have video, proceed to complete the A/V Wizard. If not, see the next section.

What to do if A/V Wizard does not start

Press the number 1 through 5 on the keyboard (or the remote control) to switch to the active connector. Wait 15 seconds, and you will hear that same sequence of beeps telling you that A/V Wizard has now restarted. If you don't hear the beeps after 15 seconds, press the number for your connector again.

 Keys for choosing a connector:

1: DVI
2: VGA
3: Component
4: Composite
5: S-Video

If you hear the beeps but still don't see a picture, it's possible that the display you're using cannot handle 640x480. Press the number 6-9, or 0, as shown below, to select your resolution. Again, 15 seconds later, you should hear the beeps when the A/V Wizard is restarted. If you again then need to choose a connector (other than the default VGA), press the 1-5 key (as above) and wait until you hear the beeps again. Repeat as needed.

Keys for choosing a resolution:

6: 640x480
7: 1024x768
8: 720p
9: 1080i
0: 1080p

Once you have a picture you can proceed to complete the A/V Wizard. You can then resize your user interface to fit your screen, choose your audio outputs, and so on. Follow the AVWizard Step by Step instructions.

A/V Wizard makes the process a bit more complicated for normal PC users who may actually be using a PC monitor. They are used to having EDID automatically detect and confgure their monitor's output connector and resolution. Because EDID is turned off in LinuxMCE, however, these users will also have to manually set the output connector and resolution settings, as above.

That is the trade-off. We decided that to use a consumer TV with a home theater PC (and still have HD video) it would be simpler to use manual output type/resolution configuration for all video output, no matter whether a TV or a PC monitor is used. The alternative of requiring a user to edit the Xfree86 modeline by hand is likely too complex for many users.

AVWizard steps

For a detailed look at the individual screens and the different methods of connecting your display see AVWizard Step by Step

AVWizard is a 10 steps easy wizard which covers everything of basic configuration of your system.

After that will launch an OrbiterGen which will create an Orbiter corresponding to that tool.

The pages are:

  • AV Welcome screen
  • AV Resolution and Refresh screen
  • AV Video Resolution counter
  • AV UI Switcher
  • AV Video Output
  • AV Audio Connector
  • AV Audio Volume
  • AV Dolby Test
  • AV DTS Test
  • AV Final Selections

Running A/V Wizard from Commandline

If you are having difficulty running the AVWizard normally (by selecting the option in the Orbiter) it can be run manually by typing in the command line.
/usr/pluto/bin/AVWizard_Run.sh

Note that you should kill X and any process trying to reload it before running the wizard. You should only do this if your attempt to run it normally fails for whatever reason.

Note: I had to use
sudo -s /usr/pluto/bin/AVWizard_Run.sh
to get my AVWizard to restart.

For developers

AVWizard is written in C++ using the libraries:

  • SDL (SDL_image, SDL_rotozoom, etc.)
  • libXML2
  • network code

AVWizard executes these two steps:

Those two steps may be split in the future into two separate applications, making it more customisable. "Redundant code" may also then be reduced, such as defining object, save/load operations, and restore objects . The XML files keep only the display representations of the data. The factory creates the coresponding objects in a WizardWidget class which contains a tree of WizardWidgets that has as many children as are used.