Difference between revisions of "Running MythTV Dual Headed"
(Edit performed by mwstuffer.pl) |
(Categorized) |
||
Line 1: | Line 1: | ||
− | |||
− | |||
This little 'HowTo' lets you run two instances of Myth on the same machine. | This little 'HowTo' lets you run two instances of Myth on the same machine. | ||
Line 131: | Line 129: | ||
-- [[Matt Welland]] | -- [[Matt Welland]] | ||
+ | |||
+ | [[Category:HOWTO]] |
Revision as of 03:01, 2 December 2005
This little 'HowTo' lets you run two instances of Myth on the same machine.
There are many ways of using 2 screens - this just addresses one way - feel free to add more...
Contents
Why
I use this because I have a TV and a projector connected to my Myth box. It could work for people who want to play games on an accelerated VGA display and watch TV on a PVR350.
How
Linux is a multi-user OS - so you simply create a second myth user and use it to run mythfrontend.
I end up with 1 instance of mythfrontend running through my PVR350 to my TV (accessed through Virtual Terminal 7) and another running through my NVidia card to my projector (on VT-8).
So first create a new user (I used mythbig)
Logging In
Here's the /etc/init.d/ script I use
#! /bin/sh # # Originally based on: # Version: @(#)skeleton 1.8 03-Mar-1998 miquels@cistron.nl # # Modified for projector David Greaves 12/Jul/04 set -e PATH=/sbin:/bin:/usr/sbin:/usr/bin PIDFILE=/var/run/gdm.pid case "$1" in start) chvt 8 nohup su - mythbig /home/mythbig/runx >>/var/log/projector.log 2>&1 & ;; stop) ;; reload) ;; restart|force-reload) ;; **) echo "Usage: /etc/init.d/projector {start|stop}" exit 1 ;; esac exit 0
(chvt is a fantastic command - possibly worth putting in your .lirc file)
Starting X
You'll notice it calls a script : runx
it's only a 2 line script:
export QT_XFT=1 xinit -- :1 -layout Projector
But notice it uses
:1 to create a new X display (as in the DISPLAY variable - the normal one is hostname:0.0 - this one will be hostname:1.0) and
-layout
- this corresponds to a LayoutSection in your XF86Config-4 confg (see later)
Now we need an .xinitrc
file. This is like a .profile
for X and it contains commands that are run when X starts:
xsetroot -solid black xhost + nvidia-settings -l --assign="[[Sync To V Blank]]=1" mythfrontend -v & ratpoison
When the last command finishes, X stops. I don't have this set to continually restart but you could easily do so.
Configuring X
OK, the infamous XF86Config-4...
This is a bit more complex but not a lot. You need to realise that this file contains lots of little sections. Not all of them are used all the time. Normally X looks for the first 'ServerLayout' and then looks to see what other sections are referred to. It keeps doing this down through Screens, Monitors, Devices, InputDevices etc etc. So here the first ServerLayout is used by default, the second (which refers to a different screen which in turn refers to the MonitorSection called Projector and the Nvidia Device) is what we specify by name back in runx
:
Section "[[Server Layout]]" Identifier "TV" Screen 0 "TV" [[Input Device]] "Keyboard0" "[[Core Keyboard]]" [[Input Device]] "PS/2 Mouse" "[[Core Pointer]]" Option "Xinerama" "off" [[End Section]] Section "[[Server Layout]]" Identifier "Projector" Screen 0 "[[Proj Screen]]" Option "Xinerama" "off" Option "[[Allow Mouse Open Fail]]" [[Input Device]] "PS/2 Mouse" "[[Core Pointer]]" [[Input Device]] "Keyboard0" "[[Core Keyboard]]" [[End Section]]
Configuring Myth
Myth uses a .myth
directory in the users home directory. In there is a file called mysql.txt
which tells mythfrontend where to get all it's settings from. Now Myth stores this information on a per-hostname basis - so we need to tell a white lie. Here's what mine looks like:
[[D B Host Name]]=localhost [[D B User Name]]=mythtv DBPassword=mythtv DBName=mythconverg # Set the following if you want to use something other than the # machine's real hostname for identifying settings in the database. # This is useful if your hostname changes often, as otherwise # you'll need to reconfigure mythtv (or futz with the DB) every time. # TWO HOSTS MUST NOT USE THE SAME VALUE # [[Local Host Name]]=bao-projector
The 'LocalHostName' value is the one you care about, and as the comment says, it must be unique.
All Done
Now you can easily switch (ctrl-alt-F<x>) between TV and VGA screens.
On word of caution: you may have problems sharing the sound/dsp device if you switch whilst it's in use)
Hope this helps
Lazy Man Commercial Solution
I run mythfrontend on a Groovix linux system. The main console is used by the family for day to day stuff (email etc.) The secondary console is used for mythtv. I'd say it works quite well and was a lot less work than setting it up myself.
-- Matt Welland