DViCO FusionHDTV DVB-T Dual Digital Installation
Cleanup: This page should be cleared off in preparation for deletion. Tuner specific information should be migrated to the LinuxTV Wiki, and any additional information moved to more generic pages. Discuss the issue on the talk page
Ubuntu 10.04 Installation
The DViCO Dual Digital 2 works out of the box in Ubuntu 10.04, except you'll need to "enable proprietary drivers" for the DVB firmware.
Ubuntu 6.10 Installation
Note: Ubuntu 9.10 version at: DViCO_FusionHDTV_DVB-T_Dual_Digital_4_Installation
This documentation is my working notes for installing the DViCO FusionHDTV DVB-T Dual Digital onto an Ubuntu 6.10 (Edgy Eft) Distribution. Having had experience and frustrations with the Mythdora and Knoppmyth distros I had to start from scratch on Ubuntu and in my mind has been the easiest way.
Before you Start
Its a good idea sure your graphics card is installed and you can run glxgears: http://ubuntuguide.org/wiki/Ubuntu_Edgy#How_to_install_Beta_Graphics_Driver_.28NVIDIA.29
Card Source
Living on the Gold Coast in Queensland Australia, I picked up the card from http://www.gamedude.com.au. An alternate source is http://www.umart.com.au.
Hardware
Sound
When installing your card, ensure that you plug the dvico audio-out port into the CD-in port (or AUX, if you have one), on your sound card or directly into your motherboard if it has onboard sound. This is an on-card port in both cases - not one of the ones at the rear that you can access from outside your computer. A suitable cable is supplied with the Dual Digital.
2nd USB Tuner and Remote
The "DViCO FusionHDTV DVB-T Dual Tuner" card has two tuners. One is PCI, the other is USB. You will either need to connect an external USB cable to your card, or use the supplied internal USB cable which connects to your motherboard. This will enable the second tuner and is needed for the remote to function.
Kernel / Packages
After installing Ubuntu Edgy do a full update. Edgy will prompt you to install updates as soon as its loaded. I ended up with the kernel 2.6.17-11-generic after a reboot. As soon as you have rebooted open a terminal and type dmesg to see that the PCI portion at least has been detected.
#dmesg
*snip* CORE cx88[0]: subsystem: 18ac:db50, board: DViCO FusionHDTV DVB-T Dual Digital [card=44,autodetected] TV tuner 4 at 0x1fe, Radio tuner -1 at 0x1fe ACPI: PCI Interrupt Link [APC1] enabled at IRQ 16 ACPI: PCI Interrupt 0000:05:08.2[A] -> Link [APC1] -> GSI 16 (level, low) -> IRQ 66 cx88[0]/2: found at 0000:05:08.2, rev: 5, irq: 66, latency: 32, mmio: 0xfa000000 cx88[0]/2: cx2388x based dvb card DVB: registering new adapter (cx88[0]). DVB: registering frontend 0 (Zarlink MT352 DVB-T)... *snip*
You should also see the directory /dev/dvb/adapter0
Firmware
The card requires firmware to operate. To get the firmware to the following:
cd /lib/firmware/2.6.17-11-generic/ wget http://www.linuxtv.org/downloads/firmware/dvb-usb-bluebird-01.fw
USB Problem
I have had a problem with the usb which may be fixed in the next release of Ubuntu. Let me step you through it if you get this problem.
1. unplug and replug your usb
#dmesg
usb 5-3: USB disconnect, address 2 usb 5-3: new high speed USB device using ehci_hcd and address 3 usb 5-3: config 1 has an invalid descriptor of length 1, skipping remainder of the config usb 5-3: config 1 has 0 interfaces, different from the descriptor's value: 1 usb 5-3: configuration #1 chosen from 1 choice
Looking at the error I noticed ehci_hcd so for the hell of it - I removed it!
#rmmod ehci_hcd #dmesg
ehci_hcd 0000:00:10.4: remove, state 1 usb usb5: USB disconnect, address 1 usb 5-3: USB disconnect, address 3 ehci_hcd 0000:00:10.4: USB bus 5 deregistered ACPI: PCI interrupt for device 0000:00:10.4 disabled usb 2-1: new full speed USB device using uhci_hcd and address 2 usb 2-1: config 1 has an invalid descriptor of length 1, skipping remainder of the config usb 2-1: configuration #1 chosen from 1 choice dvb-usb: found a 'DViCO FusionHDTV DVB-T Dual USB' in cold state, will try to load a firmware dvb-usb: downloading firmware from file 'dvb-usb-bluebird-01.fw' usbcore: registered new driver dvb_usb_cxusb usb 2-1: USB disconnect, address 2 dvb-usb: generic DVB-USB module successfully deinitialized and disconnected. usb 2-1: new full speed USB device using uhci_hcd and address 3 usb 2-1: configuration #1 chosen from 1 choice dvb-usb: found a 'DViCO FusionHDTV DVB-T Dual USB' in warm state. dvb-usb: This USB2.0 device cannot be run on a USB1.1 port. (it lacks a hardware PID filter) dvb-usb: DViCO FusionHDTV DVB-T Dual USB error while loading driver (-19) dvb_usb_cxusb: probe of 2-1:1.0 failed with error -22[/code]
In this dmesg you can see that it found our firmware that we downloaded and changed our USB from a cold state to a warm state. However it told us that it needs the usb2.0 drivers to work properly. So we will reload the module that we removed before.
#modprobe ehci_hcd #dmesg
ACPI: PCI Interrupt 0000:00:10.4[C] -> GSI 21 (level, low) -> IRQ 177 ehci_hcd 0000:00:10.4: EHCI Host Controller ehci_hcd 0000:00:10.4: new USB bus registered, assigned bus number 5 ehci_hcd 0000:00:10.4: irq 177, io mem 0xbb000000 ehci_hcd 0000:00:10.4: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004 usb usb5: configuration #1 chosen from 1 choice hub 5-0:1.0: USB hub found hub 5-0:1.0: 8 ports detected usb 2-1: USB disconnect, address 3 usb 5-3: new high speed USB device using ehci_hcd and address 2 usb 5-3: configuration #1 chosen from 1 choice dvb-usb: found a 'DViCO FusionHDTV DVB-T Dual USB' in warm state. dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. DVB: registering new adapter (DViCO FusionHDTV DVB-T Dual USB). DVB: registering frontend 1 (Zarlink MT352 DVB-T)... input: IR-receiver inside an USB DVB receiver as /class/input/input3 dvb-usb: schedule remote query interval to 150 msecs. dvb-usb: DViCO FusionHDTV DVB-T Dual USB successfully initialized and connected.
So there you have it, USB second tuner fully loaded and the remote is now working too. You should now have:
/dev/dvb/adapter0 - The PCI tuner /dev/dvb/adapter1 - The USB Tuner
To do this automatically on startup add this to your rc.local file
gedit /etc/rc.local
Also notice in the last dmesg that the IR receiver was registered on /class/input/input3. To test the remote do:
#cat /dev/input/event3
Now when you press a button on the remote you should see gibberish appear. This proves the remote is working.
Installing MythTV
- Go to: System > Administration > Synaptic, then select repositories, tick universe & multiverse then close. Click on reload, to reload the sources. Do all updates.
- Open synaptic again (typing synaptic at the terminal or Administration>Synaptic), search for "mysql-server" (should be mysql-server 5), right click on it and "mark to install", click apply and yes to all dependencies. Wait for it to finish.
- Stay in Synaptic and search "mythtv", then mark for installation, mythtvplugins, mythtv, mythtv-themes. Yes to all.
- After installation mythtv asks for a mysql password, just hit enter for both pop-ups. If you screw this up (like i did) go back to synaptic and search again for myuthtv and press Ctrl-A to select all, Right Click and Mark for complete removal. Then reinstall them.
Set up Myth TV
This is my quick and dirty setup. Leave the defaults for everything else (ie Next.. Next.. etc Finish).
- Run mythtv-setup
- Go into General > On the third page:
TV Format=PAL Chanel Frequency Table=Australia XML Time Offset=Auto
- Go into Capture Card > New Capture Card
Card Type=DVB DVT Capture Card (3.x) Card#=0 (If your usb is working you will also have card 1)
- Go into Video Sources > New Video Source
Video Source Name=vs1 XMLTV Listings Grabber=No Grabber (we will use our own later!) Channel Frequency Table=Default
- Go Into Input connections > DVB:0
Video Source=vs1 Press Scan For Channels
You should see all your channels being found. Wait for it to finish and we will proceed to the next step. If you want to come back here and your myth backend is running you can always stop and start the backend by using these commands:
/etc/init.d/mythbackend stop /etc/init.d/mythbackend start
Getting Your Australian Channel Listings
My personal preference is to head over to http://www.oztivo.net/twiki/bin/view/Guidedata/WebHome and Sign Up. After that is done click on the TV Guide web interface and choose your channel listings that you wish to download. For me that was: 7TWO, ABC-Qld, ABC2, GO, Nine-Qld, One-Qld, SBS-Qld, SBSTWO-Qld, Seven-Qld, Ten-Qld
Now we need to make a script to download our listings each day and put it in our database:
cd /etc/cron.daily gedit tvlistings_tvg
Paste the following into tvlistings_tvg and replace username:password with your tvguide username and password.
#!/bin/bash # Get the guide for the channels we receive wget --header="accept-encoding: gzip" --output-document=/home/mythtv/tvlistings_tvg.xml.gz http://Username:Password@minnie.tuhs.org/tivo-bin/xmlguide.pl # unzip the downloaded file gunzip -f /home/mythtv/tvlistings_tvg.xml.gz # run mythfilldatabase to load it into the guide mythfilldatabase --file 1 7 /home/mythtv/tvlistings_tvg.xml
Save and close and make the script runable, and check to see that it works:
chmod 755 tvlistings_tvg ./tvlistings_tvg
For additional reading about this check out TvGuides HOWTO for MythTV
MythWeb Setup
After you ran tvlisting_tvg the mythfilldatabase section should of complained that it couldn't find certain channels. This is because we haven't mapped the XMLID of the tvlisting channels to the scanned channels. The easiest way to do this is through mythweb.
To get mythweb going you will need to do a few things firstly change the permissions on the directories:
chown -R www-data:www-data /usr/share/mythtv/mythweb/data chmod 775 /usr/share/mythtv/mythweb/data chmod +t /usr/share/mythtv/mythweb/data chmod 777 /var/lib/mythtv
Next you will have to change the password in the mythweb-htaccess.conf file. So open up both files.
cd /etc/mythtv/ gedit mysql.txt mythweb-htaccess.conf
Cut and paste the password from mysql.txt into mythweb-htaccess.conf Line 53.
setenv db_server "localhost" setenv db_name "mythconverg" setenv db_login "mythtv" setenv db_password "ilqcjfws" <---------- used to be "mythtv"
Then open up a browser and go to http://localhost/mythweb/ to check your work.
Map the XMLTVID
You can map this in mythtv-setup but it is far easier to do it in mythweb.
- Open Myththweb > Settings (icon with the key and spanner) > MythTV channel info
- I mapped the following XMLTVID's:
Ten-Qld = 1 ABC-Qld = 2 SBS-Qld = 3 Seven-Qld = 7 Nine-Qld = 9 ABC2 = 22
You can change the visibility of the other scanned channels too if you want. In a terminal see if your daily cron job works now:
/etc/cron.daily/tvlistings_tvg
If that worked then you can go back to mythweb and check out your program listings :)
Remote Control (Lircd)
This I found to be the most painful as I was using the wrong driver for a long time. But after i switched it became a breeze. Now on my system i have 2 /dev/input/events that work when you press a button. When i do a cat /dev/input/event3 and press the 0 key on the remote this happens:
cat /dev/input/event3 0000 [Control-C to quit]
So it seems that this should be the one to use.... Unfortunately Not! Something else is parsing the input from your remote and is producing that. What you really want is something that produces binary gibberish when you press a button:
cat /dev/input/event4 ����E� �����E� [Control-C to quit]
If your screen is mangled from catting out that then you can type "reset" to reset your terminal. So now that we have determined what device we should use it is time to see if we can record our key presses. We will be using the driver dev/input and not the driver dvico like i did for way to many days. Another thing that may stop the following from working is if lircd is running. You can stop it by "/etc/init.d/lirc stop".
irrecord --driver=dev/input --device=/dev/input/event4 bob.txt
*snip* Press RETURN to continue. Hold down an arbitrary button. ................................................................................ Found gap length: 251753 Now enter the names for the buttons.
You must get dots when holding down a key and nothing else. If you don't get dots or other symbols are showing up then you either have a driver problem or are using the wrong input. Otherwise bob.txt will hold all your keys. Also I found that it wants to set the toggle bit to 1 in bob.txt. This is wrong as you will most likely get multiple keypresses sent. Set toggle_bit=0.
Sometimes irrecord sets an incorrect toggle_bit_mask as well. Mine was set to 0x80000000 and I suffered from duplicate events on every keypress. Changing it to toggle_bit_mask 0x16000000 fixed this problem for me.
If you have come this far then your remote is working like a charm. Time to map the keys and make lircd run automatically. This is done with 3 files:
gedit /etc/lirc/hardware.conf
Make sure you modify your DRIVER and DEVICE to be the same as you used for irrecord. I also changed START_LIRCMD=false for some reason.
# /etc/lirc/hardware.conf # # Arguments which will be used when launching lircd LIRCD_ARGS="" #Don't start lircmd even if there seems to be a good config file START_LIRCMD=false #Try to load appropriate kernel modules LOAD_MODULES=true # Run "lircd --driver=help" for a list of supported drivers. DRIVER="dev/input" # If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be # automatically used instead DEVICE="/dev/input/event4" MODULES=""<br> # Default configuration files for your hardware if any LIRCD_CONF="/etc/lircd/lircd.conf" LIRCMD_CONF=""
gedit /etc/lirc/lircd.conf
# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.8.0(userspace) on Mon Mar 5 16:00:35 2007
#
# contributed by: Soth
#
# brand: DViCO FusionHDTV DVB-T Dual Digital
# model no. of remote control: Fusion MCE
# devices being controlled by this remote:
#
begin remote
name DViCO_Dual_Digital
bits 16
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 16
pre_data 0x1
gap 251756
toggle_bit 0
begin codes
#starting at the top
dtv 0x0179
mp3 0x0187
dvd 0x0185
cpf 0x016C
#outer circle clockwise from top
tvpower 0x0164
guide 0x016D
info 0x0166
alttab 0x000F
skip 0x00A3
start 0x001C
replay 0x00A5
dvdmenu 0x008B
back 0x009E
setup 0x008D
#inner circle
up 0x0067
down 0x006C
left 0x0069
right 0x006A
ok 0x0160
#volume and channel
voldn 0x0072
volup 0x0073
chup 0x0192
chdn 0x0193
#keypad
camera 0x00D4
live 0x0182
folder 0x0086
1 0x0002
2 0x0003
3 0x0004
4 0x0005
5 0x0006
6 0x0007
7 0x0008
8 0x0009
9 0x000A
aspect 0x0173
0 0x000B
zoom 0x0174
#play buttons
rew 0x00A8
playpause 0x00A4
ff 0x00D0
mute 0x0071
stop 0x0080
rec 0x00A7
power 0x0074
end codes
end remote
Ok since we have set up these two files lets check our work.
/etc/init.d/lirc restart ps aux | grep lircd
root 12671 0.0 0.0 2740 572 ? Ss 16:27 0:00 /usr/sbin/lircd --driver=dev/input --device=/dev/input/event4 root 12675 0.0 0.0 2796 748 pts/1 R+ 16:27 0:00 grep lircd
lircd is running with the correct driver and device. Ok let run irw and press some keys (Up, Ok and Start) on our remote
irw
0000000000010067 00 up DViCO_Dual_Digital 0000000000010160 00 ok DViCO_Dual_Digital 000000000001001c 00 start DViCO_Dual_Digital
Great Now we have to map these keys so that mythtv can use them. which brings us to our final file lircrc. You should save this file in your user directory as it is for personal mappings of the remote.
# lircrc.example.DVICO-nativelirc
# 2004-07-04, Chris Pascoe
# mailto:linuxdvb@itee.uq.edu.au
# Save this file in ~/.mythtv/lircrc
#
# Note the "repeat =" strings in the volume and channel.
# This means that if you hold down the key, every nth instance will be
# passed. This depends on your system, so you may want to increase or
# decrease this and see what happens. repeat = 1 is probably too
# fast.
### Top 4 buttons ###
# DTV - Change focus for PiP (to change channel in the other window)
begin
prog = mythtv
button = dtv
config = B
end
begin
prog = mythtv
button = mp3
config = Ctrl+M
end
begin
prog = mythtv
button = dvd
config = Ctrl+D
end
begin
prog = mythtv
button = cpf
config =
end
### Outer Circle (clockwise from the top) ###
begin
prog = mythtv
button = tvpower
config = Esc
end
begin
prog = mythtv
button = guide
config = S
end
begin
prog = mythtv
button = info
config = I
end
#swap the pip windows
begin
prog = mythtv
button = alttab
config = N
end
#commercial skip forwards
begin
prog = mythtv
button = skip
config = Z
end
begin
prog = mythtv
button = start
config = Return
end
#commercial skip backwards
begin
prog = mythtv
button = replay
config = Q
end
begin
prog = mythtv
button = dvdmenu
# config = undefined
end
begin
prog = mythtv
button = back
config = Esc
end
begin
prog = mythtv
button = setup
# config = undefined
end
### Inner Circle ###
begin
prog = mythtv
button = up
config = Up
end
begin
prog = mythtv
button = down
config = Down
end
begin
prog = mythtv
button = left
config = Left
end
begin
prog = mythtv
button = right
config = Right
end
begin
prog = mythtv
button = ok
config = Return
end
### Volume and Channel ###
begin
prog = mythtv
button = voldn
repeat = 1
config = F10
end
begin
prog = mythtv
button = volup
repeat = 1
config = F11
end
begin
prog = mythtv
button = chup
config = Up
end
begin
prog = mythtv
button = chdn
config = Down
end
### Keypad ###
begin
prog = mythtv
button = camera
config = P
end
begin
prog = mythtv
button = live
# config = undefined
end
begin
prog = mythtv
button = folder
config = C
end
begin
prog = mythtv
button = 1
config = 1
config = return
end
begin
prog = mythtv
button = 2
config = 2
config = return
end
begin
prog = mythtv
button = 3
config = 3
config = return
end
begin
prog = mythtv
button = 4
config = 4
config = return
end
begin
prog = mythtv
button = 5
config = 5
config = return
end
begin
prog = mythtv
button = 6
config = 6
config = return
end
begin
prog = mythtv
button = 7
config = 7
config = return
end
begin
prog = mythtv
button = 8
config = 8
config = return
end
begin
prog = mythtv
button = 9
config = 9
config = return
end
begin
prog = mythtv
button = aspect
config = W
end
begin
prog = mythtv
button = 0
config = 0
config = return
end
# Toggle PiP on/off
begin
prog = mythtv
button = zoom
config = V
end
### Play buttons ###
begin
prog = mythtv
button = rew
config = Left
# config = seek -180
end
begin
prog = mythtv
button = playpause
config = ctrl+p
end
begin
prog = mythtv
button = ff
config = Right
# config = seek +180
end
begin
prog = mythtv
button = mute
config = |
end
begin
prog = mythtv
button = stop
config = P
end
begin
prog = mythtv
button = rec
config = R
end
begin
prog = mythtv
button = power
config = Esc
end
# Xine
begin
prog = xine
button = playpause
repeat = 3
config = Play
end
begin
prog = xine
button = stop
repeat = 3
config = Pause
end
begin
prog = xine
button = back
config = Quit
end
begin
prog = xine
button = tv_onoff
config = Quit
end
begin
prog = xine
button = right
repeat = 3
config = SeekRelative+10
end
begin
prog = xine
button = left
repeat = 3
config = SeekRelative-10
end
begin
prog = xine
button = ff
repeat = 3
config = SeekRelative+30
end
begin
prog = xine
button = rew
repeat = 3
config = SeekRelative-30
end
begin
prog = xine
button = skip
repeat = 3
config = SeekRelative+300
end
begin
prog = xine
button = replay
repeat = 3
config = SeekRelative-300
end
begin
prog = xine
button = up
repeat = 1
config = EventUp
end
begin
prog = xine
button = down
repeat = 1
config = EventDown
end
begin
prog = xine
button = ok
repeat = 0
config = EventSelect
end
begin
prog = xine
button = guide
repeat = 0
config = Menu
end
begin
prog = xine
button = setup
repeat = 0
config = Menu
end
begin
prog = xine
button = volup
repeat = 1
config = Volume+
end
begin
prog = xine
button = voldn
repeat = 1
config = Volume-
end
Remote Not Working after reboot
Now you may run into this as I did. I rebooted my computer without my USB mouse plugged in and my remotes device /dev/input/event3 had changed to /dev/input/event2. So we now need a way to make sure that the IR is always the same device. A very simple solution is to look at its name in dmesg:
dmesg | grep IR
input: IR-receiver inside an USB DVB receiver as /class/input/input4
Its name is IR-receiver inside an USB DVB receiver so we take that name and edit the udev rules to create a symlink each time it is plugged in. Add the following to the bottom of the file:
gedit /etc/udev/rules.d/60-symlinks.rules
KERNEL=="event*",SYSFS{name}=="IR-receiver inside an USB DVB receiver",SYMLINK="input/irremote"
No reboot is nesessary just unplug and replug the USB. You should now have /dev/input/irremote. So now change your hardware.conf to this new device and restart lirc:
gedit /etc/lirc/hardware.conf
# If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be # automatically used instead DEVICE="/dev/input/irremote" MODULES=""
/etc/init.d/lirc restart
Make your power button start MythTV
Taken from the FedoraMyth Tips and Tricks Section. To start and stop your mythfrontend using your remote first you must enable irexec to run in the background. This is simply done using the command:
irexec -d
We will add this to our /etc/rc.local file to have this start on boot:
Now we need to create a mythpowerbutton.sh script in your /usr/local/bin to start and kill the mythfrontend process:
/usr/local/bin/mythpowerbutton.sh
#!/bin/bash
PROG=mythfrontend
STATUS=`ps -e | grep $PROG | grep -v grep | wc -l | awk '{print $1}'`
if [ `echo $DISPLAY | grep -c ":0"` -ge 1 ]
then
if [ $STATUS -eq 0 ]
then
( $PROG & )
else
killall $PROG
fi
fi
exit 0
And dont forget to make it executable:
chmod 777 /usr/local/bin/mythpowerbutton.sh
Next edit your ~/.lircrc file to bind your power button. Add the following lines:
# Power Button begin prog = irexec button = power config = /usr/local/bin/mythpowerbutton.sh end
Now restart lircd to reread your file and restart the irexec daemon (beacuse lircd will shut it down):
sudo /etc/init.d/lircd restart irexec -d
Now Press your power button (wait a few moments for it to load) and MythTV frontend should spring into view. Press it again and it sould kill the process. Perfect wife/girlfriend proof restart procedure.
VLC DVD and Media Player
I Like VLC as it has never failed to play something i have in Linux or Windows. I did try xine but it failed to play a Divx 5 film that i had. So I went for gold old VLC. It was surprisingly easy to configure too:
- Synaptic > Search for VLC > Download and Install.
- To Set up your remote paste the following into your local .lircrc file (NOT .mythtv/lircrc):
gedit ~/.lircrc
# lircrc for VLC
#
# Card: Dvico FusionHDTV DVB-T Dual Digital
# Included Remote: Chunky Fusion MCE Remote
#
# copy to ~/.lircrc
# Available Keys from: src/libvlc.h or vlc --help --advanced
#
#
### Top 4 Keys ###
begin
prog = vlc
button = dtv
end
begin
prog = vlc
button = mp3
end
begin
prog = vlc
button = dvd
end
begin
prog = vlc
button = cpf
end
### Outer Circle (clockwise from the top) ###
begin
prog = vlc
button = tvpower
config = key-quit
end
begin
prog = vlc
button = guide
end
begin
prog = vlc
button = info
config = key-position
end
begin
prog = vlc
button = alttab
end
begin
prog = vlc
button = skip
config = key-chapter-next
end
begin
prog = vlc
button = start
end
begin
prog = vlc
button = replay
config = key-chapter-prev
end
begin
prog = vlc
button = dvdmenu
config = key-disc-menu
end
begin
prog = vlc
button = back
config = key-quit
end
begin
prog = vlc
button = setup
end
### Inner Circle ###
begin
prog = vlc
button = up
config = key-nav-up
end
begin
prog = vlc
button = down
config = key-nav-down
end
begin
prog = vlc
button = left
config = key-nav-left
end
begin
prog = vlc
button = right
config = key-nav-right
end
begin
prog = vlc
button = ok
config = key-nav-activate
end
### Volume and Channel ###
begin
prog = vlc
button = voldn
repeat = 1
config = key-vol-down
end
begin
prog = vlc
button = volup
repeat = 1
config = key-vol-up
end
begin
prog = vlc
button = chup
config = key-title-next
end
begin
prog = vlc
button = chdn
config = key-title-prev
end
### Keypad ###
begin
prog = vlc
button = camera
config = key-snapshot
end
begin
prog = vlc
button = live
end
begin
prog = vlc
button = folder
end
begin
prog = vlc
button = 1
config = 1
end
begin
prog = vlc
button = 2
config = 2
end
begin
prog = vlc
button = 3
config = 3
end
begin
prog = vlc
button = 4
config = 4
end
begin
prog = vlc
button = 5
config = 5
end
begin
prog = vlc
button = 6
config = 6
end
begin
prog = vlc
button = 7
config = 7
end
begin
prog = vlc
button = 8
config = 8
end
begin
prog = vlc
button = 9
config = 9
end
begin
prog = vlc
button = aspect
end
begin
prog = vlc
button = 0
config = 0
end
begin
prog = vlc
button = zoom
end
### Play buttons ###
begin
prog = vlc
button = rew
config = key-jump-10sec
end
begin
prog = vlc
button = playpause
config = key-play-pause
end
begin
prog = vlc
button = ff
config = key-jump+10sec
end
begin
prog = vlc
button = mute
config = key-vol-mute
end
begin
prog = vlc
button = stop
config = key-stop
end
begin
prog = vlc
button = rec
end
begin
prog = vlc
button = power
config = key-quit
end
- Finally run mythfrontend > Utilities/Setup > Setup > Media Settings > Video Settings > Player Settings
- Set VLC to run fullscreen with remote: vlc --control=lirc -f %s
If you want to know what keys you can use for this config file check out: VLC - Lirc Keys. If you just want to use vlc for the show you cant use in xine or mplayer then there is an option to use a separate player for each video.
TV Out Setup
NVIDIA
My TV Out setup was pretty simple I changed my /etc/X11/xorg.conf file so that my screen would be extended to the right.
Important Point: Remember after changing your xconf file that you reboot with your TV ON and PLUGGED IN to your computer!
When your computer boots typically you will see the boot splash on both screens. When the login page appears you may see a NVIDIA logo on the tv and then it will go black. When you log in the TV will light back up.
There are some good tutorials on this so check out: Separate x-screens on Monitor and TV HOWTO TV-Out
The interesting parts of my /etc/X11/xorg.conf:
#My 2 NVIDIA Device's (Same card with two outputs VGA and TV Out)
Section "Device"
BusID "PCI:5:0:0"
Identifier "Device0"
Driver "nvidia"
Screen 0
EndSection
Section "Device"
BusID "PCI:5:0:0"
Identifier "Device1"
Driver "nvidia"
Screen 1
EndSection
#My 2 Monitors (My BenQ and TV)
Section "Monitor"
Identifier "BenQ FP731"
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Television" #TV
HorizSync 30-50
VertRefresh 60
EndSection
#MY Two Screens (Monitor and TV) Resolution and Colour Settings
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "BenQ FP731"
DefaultDepth 24
Option "AddARGBGLXVisuals" "True"
SubSection "Display"
Depth 24
Modes "1280x1024_75" "1024x768_75" "800x600_75"
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Television"
DefaultDepth 24
Option "TVOutFormat" "SVIDEO"
Option "TVStandard" "PAL-B"
Option "ConnectedMonitor" "TV"
SubSection "Display"
Depth 24
Modes "800x600"
EndSubSection
EndSection
#Setting up so that it makes my destop larger to the right!
#So I can use the browser on the monitor and watch TV.
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0"
Screen 1 "Screen1" rightof "Screen0"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "stylus" "SendCoreEvents"
InputDevice "cursor" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
EndSection
ATI Radeon
Warning: Overall I do not recommend this option at all. It is time consuming and very frustrating to get this to work and even then I was still getting segfaults and unexpected mythbackend crashes. Myth should be as reliable as possible so I recommend that you get yourself a nice cheap NVidia card (The extra $20 will save you days of work). In the end I gave up and will be going back to a Nvidia card. You have been warned!
Note: AMD has released 900+ Pages Of ATI GPU Specs (12th September 2007) - so decent linux support for ATI is finally coming
I recently switched out my card from my expensive NVidia to an cheap ($50) Ati X300 with TV out. It turned out to be a major pain in the ass. All over the place I was getting slow framerates with mythfrontend messages saying my system cannot cope with the current 800x600 output?!. Anyway after about 10hours of mucking around with the thing I finally got a Semi working config. Dual screens and running 1280x1024 on my LCD and 800x600 on my TV. A few things I learned along the way:
- I tried the free "radeon" driver. My monitor worked - TV was displaying color but I couldn't get it synced properly
- the proprietary "fglrx" driver works but has these problems:
- X is a little unstable. When restarting the X Server (Ctrl-Alt-Backspace) sometimes it won't restart properly.. requiring a reboot >:(
- The Xv video overlay (Which Myth Uses) Stretches the TV Vertically so you only see half. Ati need to fix this in their driver.
- The OpenGL Overlay consumes too much resources and the TV gets framey
- I had to use the textured video to get it working... although I was seeing blue people!
- Make sure you restart x properly. A Logout doesn't work. Use Ctrl-Alt-Backspace or /etc/init.d/gdm restart
A good guide for installing ATI drivers can be found here: Ubuntu_Edgy_Installation_Guide
Installation
- Go to ATI's website and download their driver. chmod 755 and run it as sudo.
- Set up your /etc/X11/xorg.conf
aticonfig --initial=dual-head
- Restart your x-server
sudo /etc/init.d/gdm restart
That should have your tv out working at least. Reboot if necessary and have your svideo plugged into your tv and make sure your tv is on so that it can autodetect. You should see the bootsplash on both your monitor and tv. (Funnily enough the TV seems to be updated faster than my monitor!). The following is tweaks made to your xorg.conf file to get myth running smoothly on your tv out:
Here are the interesting parts of my xorg.conf with the extras I added in bold:
Section "Monitor"
Identifier "aticonfig-Monitor[0]"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Monitor"
Identifier "aticonfig-Monitor[1]"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Device"
Identifier "aticonfig-Device[0]"
Driver "fglrx"
Option "UseFBDev" "false"
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
Option "TVFormat" "PAL-B"
# Option "TVOverscan" "on"
Option "ForceMonitors" "crt1,tv"
Option "DesktopSetup" "mirror"
Option "OverlayOnCRTC2" "1"
Option "TexturedVideo" "on"
Option "EnableMonitor" "crt1,tv"
BusID "PCI:5:0:0"
EndSection
Section "Device"
Identifier "aticonfig-Device[1]"
Driver "fglrx"
BusID "PCI:5:0:0"
Screen 1
EndSection
Section "Screen"
Identifier "aticonfig-Screen[0]"
Device "aticonfig-Device[0]"
Monitor "aticonfig-Monitor[0]"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "aticonfig-Screen[1]"
Device "aticonfig-Device[1]"
Monitor "aticonfig-Monitor[1]"
DefaultDepth 24
SubSection "Display"
Modes "800x600"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "aticonfig-Screen[0]" 0 0
Screen "aticonfig-Screen[1]" RightOf "aticonfig-Screen[0]"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "stylus" "SendCoreEvents"
InputDevice "cursor" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
EndSection
Section "Extensions"
Option "Composite" "0"
EndSection
Section "DRI"
Mode 0666
EndSection
Blue People Fix
I sourced this from the following thread: Overlay on TV-Out stretched
When you use the texturedvideo overlay you will probably see blue people. To get around this problem there is a flag in the myth source to use ATI's drivers: USE_ATI_PROPRIETARY_DRIVER_XVIDEO_HACK. Luckily some nice folks have already compiled it for us. You can get it here:LibMyth0.20.
- Download it to your desktop and run it.
- Stop the backend server, run myth setup then quit, restart the back end server and then try it out:
/etc/init.d/mythbackend stop mythtv-setup /etc/init.d/mythbackend start mythtv
If all goes well you should see no more smurfs
DVD Ripping
This is very useful when you don't want your kids scratching up their (or your) DVD's. You need to run mtd (Myth Transcoding Demon) before mythfrontend for this to work. However if you have protected DVD's this wont work just yet. For example throw in one of your dvd's and type mtd. You will probably see the warning that libdvdread : can't do encrypted files. To get around this run this script as root:
/usr/share/doc/libdvdread3/install-css.sh
Run mtd again and everything should be OK. Now to have mtd start up in the background each boot add "mtd -d" to rc.local.
gedit /etc/rc.local
Connecting to Your MythBox Remotely
If your like me and you dont have a monitor attached to your mythbox you can easily connect to your Desktop using VNC. On your desktop go to:
- System > Preferences > Remote Desktop
- Make sure all of these are checked
- [checked] Allow Others to View your desktop
- [checked] Allow Others to Control your desktop
- [checked] Reqire the user to enter this password [******]
Thats it for the MythBox. Now you can connect from your remote computer (Windows / Linux / Java) using this free small footprint tool: Tight VNC
Recommended Reading
This Wiki
DVICO-Ultraview_Install_in_Australia
External