Difference between revisions of "AVWizard"

From LinuxMCE
Jump to: navigation, search
(AVWizard steps)
 
(13 intermediate revisions by 10 users not shown)
Line 1: Line 1:
The AVWizard has two points of view:
+
[[Category: AV_Wizard]]
*[[AVWizard user's point of view]]. This covers the aspects of the AVWizard that the end user will be interested in.
+
{| align="right"
*[[AVWizard developer's point of view]]. This covers how to customise the AVWizard for your needs, like writing a separate backend.
+
  | __TOC__
 +
  |}
 +
[[Category:AV Wizard]]
  
 +
This page covers the aspects of the AVWizard that the end user will be interested in.  If you want to customise the AVWizard for your needs, like writing a separate backend, see [[AVWizard for developers]].
  
 
==Background==
 
==Background==
Consumer A/V gear, like DVDs, cable boxes and TVs, handle video differently than PCs and PC monitors.  PCs and PC monitors exchange information about the resolution and capabilities of the monitors using [http://en.wikipedia.org/wiki/Extended_display_identification_data EDID]. With 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 video signal is then 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 usually expects EDID information from the TV. But since most consumer TV's do not report EDID information (or report it improperly), the PC often incorrectly detects the active connector, or outputs the wrong resolution.  
+
LinuxMCE is intended to act like a normal consumer A/V device, even though it is PC based. As a result, the process for configuring displays is substantially different from configuring X11 on a normal Linux machine, and the A/V Wizard has been designed to make this process as easy as possible. Please see the [[EDID]] page for more details on the reasons behind the way it has been designed.
 
+
In the past, most Linux users using a TV as a monitor have determined the correct settings for their TV using a [http://www.bohne-lang.de/spec/linux/modeline/ modeline tool].
+
They then manually edit the [http://en.wikipedia.org/wiki/Modeline modeline] of the [http://en.wikipedia.org/wiki/XFree86 Xfree86] module in Linux. While this only has to be done once for each TV, it takes some effort and tweaking of Linux configuration files. Requiring a user to edit the Xfree86 modeline by hand is likely too complex for many users, so instead, we decided to use a simpler manual configuration method for all video output devices, no matter whether a TV or a PC monitor.
+
  
 
==Starting A/V Wizard==
 
==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, the user must manually specify the connector type and the resolution in the A/V wizard (unless you are using the default 640 x 480 VGA). 
 
 
===Initially===
 
===Initially===
 
This wizard is started automatically the very first time the system boots; it does not automatically start after that.
 
This wizard is started automatically the very first time the system boots; it does not automatically start after that.
Line 29: Line 27:
  
 
==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 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.
+
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.  Some users may find that pushing 'QWERTY' keys may have the same effect.
 
    
 
    
 
     <pre> Keys for choosing a connector:
 
     <pre> Keys for choosing a connector:
Line 37: Line 35:
 
3: Component
 
3: Component
 
4: Composite
 
4: Composite
5: S-Video</pre>
+
5: S-Video
 +
Q: DVI-2
 +
W: VGA-2
 +
L: LVDS</pre>
  
 
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 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 often as needed.
 
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 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 often as needed.
Line 51: Line 52:
  
 
(''Note: Due to a bug in the 0704 release, the numeric keys 0-9 on the Windows XP I/R remote may not be able to set your output connector & resolution. Use the 0-9 keys on the keyboard instead, or use another remote.'')
 
(''Note: Due to a bug in the 0704 release, the numeric keys 0-9 on the Windows XP I/R remote may not be able to set your output connector & resolution. Use the 0-9 keys on the keyboard instead, or use another remote.'')
 +
 +
=== Controlling AVWizard via a USB Game Pad ===
 +
 +
It is possible to use a USB game pad to navigate the AV Wizard and to set video modes. Read [[Control TV Orbiter Using Game Pad#Usage in AV Wizard]] for more information.
 +
 +
== Once AV Wizard is started. ==
  
 
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.
 
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.
  
 +
If you have more than one video card, or a video card and an onboard video chipset LMCE might not be using the correct one, and so you will still get a black screen. To use a card rather than your onboard chipset, go into your BIOS and disable the onboard chipset - note some BIOSs cannot disable, they can only set your card as the primary or initial video chipset, if so then do that.
 +
 +
If you were able to disable the onboard chipset in your BIOS, then you should be ready to run the AV Wizard - the Linux kernel will not even see the onboard chipset, so will select the card for output.
 +
 +
If you could only set the card as primary (and not disable the onboard chipset) the you will probably notice that you now see the Kubuntu splash screen and progress bar during start up that you didn't see before. However, once you reach the AV Wizard, the screen goes black again - here it is defaulting to your onboard chipset.
  
A/V Wizard makes the process a bit more complicated for PC users who may actually be using a PC monitor (instead of a TV) for video output. They are used to having EDID automatically detect and configure 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.
+
To correct this, reboot and hit Escape during the GRUB boot menu (just after the BIOS self test), and choose the recovery option. Once you get a command line, you can execute the lspci command - this will list all your PCI interfaced devices, including the onboard and card video chipsets. Make a note of the PCI BusID of the card, eg 2:0:0
  
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.
+
Now use a text editor and edit /etc/X11/xorg.conf. In the Device section you will see the PCI BusID specified - this is probably set to your onboard chipset's ID. Change this to the ID you noted above, save the file and reboot.
  
 
==AVWizard steps==
 
==AVWizard steps==
Line 76: Line 88:
  
  
After that an [[OrbiterGen]] will be launched, to create an [[Orbiter]] (remote control) for that tool.
+
After that an [[Orbiter Generator]] will be launched, to create an [[Orbiter]] (remote control) for that tool.
  
 
==Running A/V Wizard from the Commandline==
 
==Running A/V Wizard from the Commandline==
Line 82: Line 94:
 
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 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 <pre>sudo -s /usr/pluto/bin/AVWizard_Run.sh</pre> to get my AVWizard to restart.
 
Note: I had to use <pre>sudo -s /usr/pluto/bin/AVWizard_Run.sh</pre> to get my AVWizard to restart.
[[Category: Tutorials]]
 
 
==For developers==
 
 
AVWizard is written in C++ using the libraries:
 
*SDL (SDL_image, SDL_rotozoom, etc.)
 
*libXML2
 
*network code
 
 
AVWizard executes these two steps:
 
*[[Generating screens of the AVWizard]] (in the /tmp folder as XML files)
 
*load modules one by one, depending of the needs of the ([[Main AVWizard]]).
 
 
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 child processes as are used.
 

Latest revision as of 16:15, 19 October 2012

This page covers the aspects of the AVWizard that the end user will be interested in. If you want to customise the AVWizard for your needs, like writing a separate backend, see AVWizard for developers.

Background

LinuxMCE is intended to act like a normal consumer A/V device, even though it is PC based. As a result, the process for configuring displays is substantially different from configuring X11 on a normal Linux machine, and the A/V Wizard has been designed to make this process as easy as possible. Please see the EDID page for more details on the reasons behind the way it has been designed.

Starting A/V Wizard

Initially

This wizard is started automatically the very first time the system boots; it does not automatically 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

Alternatively, the AV Wizard can be started during bootup. Either hold down the Shift key on the keyboard, or press the "A/V Menu" button on the remote to make the A/V wizard start. During bootup you should hear a series of escalating beeps to tell you when LinuxMCE is monitoring the Shift (and "A/V Menu") keys.

When you hear the descending beeps it means that you're 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 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. If you then have video after hearing the beeps, 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. Some users may find that pushing 'QWERTY' keys may have the same effect.

 Keys for choosing a connector:

1: DVI
2: VGA
3: Component
4: Composite
5: S-Video
Q: DVI-2
W: VGA-2
L: LVDS

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 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 often as needed.

Keys for choosing a resolution:

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

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

Controlling AVWizard via a USB Game Pad

It is possible to use a USB game pad to navigate the AV Wizard and to set video modes. Read Control TV Orbiter Using Game Pad#Usage in AV Wizard for more information.

Once AV Wizard is started.

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.

If you have more than one video card, or a video card and an onboard video chipset LMCE might not be using the correct one, and so you will still get a black screen. To use a card rather than your onboard chipset, go into your BIOS and disable the onboard chipset - note some BIOSs cannot disable, they can only set your card as the primary or initial video chipset, if so then do that.

If you were able to disable the onboard chipset in your BIOS, then you should be ready to run the AV Wizard - the Linux kernel will not even see the onboard chipset, so will select the card for output.

If you could only set the card as primary (and not disable the onboard chipset) the you will probably notice that you now see the Kubuntu splash screen and progress bar during start up that you didn't see before. However, once you reach the AV Wizard, the screen goes black again - here it is defaulting to your onboard chipset.

To correct this, reboot and hit Escape during the GRUB boot menu (just after the BIOS self test), and choose the recovery option. Once you get a command line, you can execute the lspci command - this will list all your PCI interfaced devices, including the onboard and card video chipsets. Make a note of the PCI BusID of the card, eg 2:0:0

Now use a text editor and edit /etc/X11/xorg.conf. In the Device section you will see the PCI BusID specified - this is probably set to your onboard chipset's ID. Change this to the ID you noted above, save the file and reboot.

AVWizard steps

See AVWizard Step by Step for detailed screen-by-screen instructions.

AVWizard is an easy 10 step configuration wizard:

  • 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


After that an Orbiter Generator will be launched, to create an Orbiter (remote control) for that tool.

Running A/V Wizard from the 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.