Difference between revisions of "OpenSuSE 11.3"
m (remove links) |
m (remove links) |
||
Line 320: | Line 320: | ||
If there is no /dev/dvb* device - the driver does not support your hardware | If there is no /dev/dvb* device - the driver does not support your hardware | ||
− | |||
− | |||
− | |||
− | |||
=== Analogue Video capture card (IVTV)=== | === Analogue Video capture card (IVTV)=== | ||
Line 534: | Line 530: | ||
{{SUSE_head|DEVICE SPECIFIC}} | {{SUSE_head|DEVICE SPECIFIC}} | ||
{{Wikipage|ATI_Remote_Wonder#openSUSE_10.2|ATI Remote Wonder}} | {{Wikipage|ATI_Remote_Wonder#openSUSE_10.2|ATI Remote Wonder}} | ||
− | |||
{{Wikipage|Imon|iMON}} | {{Wikipage|Imon|iMON}} | ||
{{Wikipage|Logitech_Harmony_880_remote|Logitech Harmony 880}} | {{Wikipage|Logitech_Harmony_880_remote|Logitech Harmony 880}} |
Revision as of 17:13, 12 September 2010
Other openSUSE version |
Contents
- 1 Introduction
- 2 Initial system setup and considerations
- 3 Install mythTV software on openSUSE
- 4 Configure mythTV server components (mythbackend)
- 5 Tips and tricks
- 6 See Also
Introduction
- Benefits of using openSUSE 11 for mythTV
- Best hardware support available
- Super fast software installation (package management) based on libzypp
- openSUSE 1-click install technology, packages or package bundles can be installed with 1 click (No need to compile)
- mythTV packages are available as a bundle with 1-click install on pacman
- restricted formats (proprietary, patented formats) like MP3, Codecs, encrypted DVD support etc. are available with 1-click install on opensuse-community
- proprietary video drivers for both AMD/ATI and NVIDIA are available with 1-click install
- additional packages for the advanced user are also available with one 1-click install from software.opensuse.org (e.g. lcd support)
- New and super fast installation, completing in roughly just 35 minutes (including mythTV software)
- Good openSUSE, mythTV documentation and a friendly community ;-)
read more
- Hardware considerations
Installing mythTV all starts with good hardware. The first requirement is a machine capable of running openSUSE x86 or x86-64 and that can be connected to the Internet. You will also need a decent audio card and a video card, a hard drive with as much storage space as you desire, as well as a TV tuner capable of performing hardware-level video encoding. Many people run mythTV without any problems on older hardware; however, if you are planning on doing anything with high definition video or complex transcoding jobs, you will need to have sufficient memory and processing power. Check this wiki and the mailinglist before you purchase any new hardware.
You might also find it useful to look at http://www.silentpcreview.com/ if you build a machine for your living room, in order to get advice on low power-consumption, low noise setups.
- Join the community and get some help
- Subscribe to the mythTV users mailing list
mythTV user mailing list www.mythtv.org/mailman/listinfo/mythtv-users
mythTV user mailing list archive www.gossamer-threads.com/lists/mythtv/users/
- Chat with other mythTV users
IRC irc.freenode.net #mythtv-users
Initial system setup and considerations
- Partitions and File Systems
OpenSuSE ships with a number of different file systems. Each file system has its own advantages and disadvantages that can make it more suited to a scenario. Professional high-performance setups may require a different choice of file system than a home user's setup.
- FILE SYSTEM RECOMMENDATIONS
Use Ext4 as your default file system. Consider using XFS for your video data. XFS is very good at manipulating and deleting large files and performs well on high-end hardware.
- OTHER RECOMMENDATIONS
Make sure you understand what hardware you have - especially if you have issues an need to Google.
lspci -v
and lsusb
and hwinfo
- ADDITIONAL INFORMATION
Install mythTV software on openSUSE
STEP (1 of 2) - Multimedia
Read restricted formats. If you are OK with installing the restricted formats, place the installation DVD into the reader, and run the following as root.
Everybody
# Make sure you are up-to-date zypper update zypper update
# Add the restricted formats. zypper addrepo -f http://www.opensuse-guide.org/repo/11.3 libdvdcss zypper install ffmpeg flash-player libdvdcss libxine1-codecs w32codec-all lame
# Install Framework zypper in dvb libid3tag mysql php5 xine-ui fame libcdaudio libfame MPlayer phpPgAdmin pvm transcode apache2 yast2-http-server apache2-mod_php5
Those Outside North America
zypper install -l perl-xmltv xmltv xmltv-grabbers
STEP (2 of 2) - mythtv
Packman does not yet have Mythtv, so we'll do it manually:
As a normal user:
- Download from ftp://ftp.osuosl.org/pub/mythtv/mythtv-0.23.tar.bz2
bunzip2 mythtv-0.23.tar.bz2 tar xvf mythtv-0.23.tar
As root, in directory where tar file is:
zypper install make gcc-c++ libqt4-devel libmp3lame-devel alsa-devel # Something in here was required (likely libQtWebKit-devel). zypper install ibus-qt-devel libQtTapioca-devel libQtTelepathy-devel libQtWebKit-devel ./configure --prefix=/usr/local make make install mv database/mc.sql /usr/local/share/mythtv
Configure mythTV server components (mythbackend)
The server components within mythTV are referred to as the mythbackend.
Because the configuration of the mythTV application itself is not openSUSE specific, you find mainly links to the information.
http://www.mythtv.org/modules.php?name=MythInstall mythtv.org Documentation
Create Mythbackend Daemon
Create /etc/init.d/mythbackend as root as follows:
#! /bin/sh ### BEGIN INIT INFO # Provides: mythbackend # Required-Start: $syslog $remote_fs mysql # Should-Start: $time # Required-Stop: $syslog $remote_fs mysql # Should-Stop: $time # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: MythTV backend daemon # Description: Start the MythTV backend daemon ### END INIT INFO MYTHBACKEND_BIN=/usr/local/bin/mythbackend test -x $MYTHBACKEND_BIN || { echo "$MYTHBACKEND_BIN not installed"; if [ "$1" = "stop" ]; then exit 0; else exit 5; fi; } # Check for existence of needed config file and read it MYTHBACKEND_CONF=/etc/sysconfig/mythbackend test -r $MYTHBACKEND_CONF || { echo "$MYTHBACKEND_CONF not existing"; if [ "$1" = "stop" ]; then exit 0; else exit 6; fi; } . $MYTHBACKEND_CONF : ${MYTHBACKEND_USERID:=mythbackend} : ${MYTHBACKEND_GROUPID:=video} : ${MYTHBACKEND_HOME:=$(eval echo -n ~${MYTHBACKEND_USERID})} . /etc/rc.status # Reset status of this service rc_reset case "$1" in start) echo -n "Starting MythTV backend" touch /var/log/mythtv/mythbackend.log chown ${MYTHBACKEND_USERID}.${MYTHBACKEND_GROUPID} /var/log/mythtv/mythbackend.log HOME=${MYTHBACKEND_HOME} /sbin/startproc \ -u ${MYTHBACKEND_USERID} -g ${MYTHBACKEND_GROUPID} \ -p /var/run/mythbackend.pid $MYTHBACKEND_BIN --daemon \ --logfile /var/log/mythtv/mythbackend.log $MYTHBACKEND_OPTIONS rc_status -v ;; stop) echo -n "Shutting MythTV backend" /sbin/killproc -TERM $MYTHBACKEND_BIN rc_status -v ;; try-restart|condrestart) if test "$1" = "condrestart"; then echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}" fi $0 status if test $? = 0; then $0 restart else rc_reset # Not running is not a failure. fi rc_status ;; restart) $0 stop $0 start rc_status ;; force-reload) echo -n "Reload service MythTV backend" /sbin/killproc -HUP $MYTHBACKEND_BIN #touch /var/run/mythbackend.pid rc_status -v ## Otherwise: #$0 try-restart #rc_status ;; reload) # If it supports signaling: echo -n "Reload service MythTV backend" /sbin/killproc -HUP $MYTHBACKEND_BIN #touch /var/run/mythbackend.pid rc_status -v ## Otherwise if it does not support reload: #rc_failed 3 #rc_status -v ;; status) echo -n "Checking for service MythTV backend" /sbin/checkproc $MYTHBACKEND_BIN rc_status -v ;; probe) test $MYTHBACKEND_CONF -nt /var/run/mythbackend.pid && echo reload ;; *) echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" exit 1 ;; esac rc_exit
Start required services
Make sure all required system services are running on startup: As root start 'yast2 runlevel' and enabel the following services and click OK after popup dialog
- ntp
- mysql
Notice there is a mythbackend option, would suggest that you do not enable "mythbackend" just yet, until you have tried running in a terminal window as below. If all steps below work then enable this to run.
Tip: You can manually add things to
/etc/init.d/boot.local
. After initializing and processing the boot procedure the boot.local script us executed, which can execute the local commands.
Create the database (mysql)
mythTV uses MySQL to store it's settings, listings, recording schedules, and other information. So we have to make sure openSUSE starts MySQL when it boots, and we have to initialize the database with some basic information that mythTV can work with. The database is probably the most important component of mythTV because without it, absolutely none of mythTV can function.
- TROUBLESHOOT/CONFIGURATION TIPS
1.) The MySQL deamon (mysql) is not started automatically by default after a reboot. As root start 'yast2 runlevel', select mysql and make sure it's started at boot time.
2.) Create the database If the database is not started, start mysql (as root) by typing
/etc/init.d/mysql start
Watch for errors. Set up a root password by typing
mysqladmin -u root password <yourpasswordhere>
Once MySQL is setup, install the mythTV Database. This is done by running:
mysql -u root -p < /usr/local/share/mythtv/mc.sql
(and key-in the previously entered password) You should see no output - this is a good thing!
By default, the database is named mythconverg and contains a set of tables that interact with one-another.
Tip: make the database multi user, so you can access it from more than 1 machine; this will assign a user named "mythtv" with a password of "mythtv " to the "mythconverg" database:
mysql -u root -p mythconverg
You will then be connected directly to the database. Enter the following commands at the mysql> prompt.
mysql> grant all on mythconverg.* to mythtv@"%" identified by "mythtv"; mysql> flush privileges; mysql> quit;
XvMC
XvMC is great, it is a MPEG-2 video accelerator. Prior to 11.3, I would follow the instructions given on this page, and the improvement would be significant, as demonstrated by System Monitor (Press Alt-F1, then type "System Monitor").
In 11.3, XvMC comes installed and enabled, as demonstrated by:
#> cat /var/log/Xorg.0.log | grep Motion [ 23.046] (II) Loading extension XVideo-MotionCompensation
An attempt to use /etc/X11/xorg.conf.d/50-device.conf to load in the 3 Device options and the Extensions option did not pass the test to see if they were used. | Creating a /etc/X11/xorg.conf instead did succeed in setting the values, as demonstrated with:
#> grep -i XvMC /var/log/Xorg.0.log [ 24.566] (**) NVIDIA(0): Option "XvMCUsesTextures" "false"
There was no noticeable difference though. Until someone states otherwise, I think it safe to assume that XvMC is fine with OpenSuSE 11.3 right from the install. But if you find problems, you might want to review the links in this section.
MythTV backend setup application (mythtv-setup)
The server components within mythTV are referred to as the mythbackend.
Because the configuration of the mythTV application itself is not openSUSE specific, you find mainly links to the information.
http://www.mythtv.org/modules.php?name=MythInstall mythtv.org Documentation
- NOTE
As root start 'yast2 runlevel', select mythbackend and make sure it's started at boot time.
Digital Video capture card (DVB)
- TROUBLESHOOT/CONFIGURATION TIPS
If you are lucky, your DVB device is automatically detected and drivers are automatically loaded. More information about Linux support for DVB cards can be found on: http://www.linuxtv.org/
In general:
1.) Check if your card is auto detected by Linux - You can see this in YaST / TV settings
2.) Google and find out if you need/can define your card manual in YaST / TV settings
3.) load the kernel module(s) for your hardware (if auto detected it's automatically done) YaST will write the modprobe settings to /etc/modprobe.d/tv. Alternative you load the kernel modules (drivers) with the modprobe <drivername>.
4.) See if everything get started
dmesg | grep dvb
Check if devices are created
ls /dev/dvb*
If there is no /dev/dvb* device - the driver does not support your hardware
Analogue Video capture card (IVTV)
A TV capture card, also called a TV tuner card, is a device that receives TV signals and convertsthem into a digital format. With a minimum of one TV tuner card installed, you can watch and record TV by using your mythTV system. If you install a second TV tuner, you can record or watch TV from more than one channel at the same time.
- Configuration Tips
- Check the IVTV console output with dmesg
dmesg | egrep -i '(ivtv|tveeprom|tuner)'
Your output should look something like this example from the Hauppauge PVR500:
ivtv: ==================== START INIT IVTV ==================== ivtv: version 0.x.x (tagged release) loading ivtv: Linux version: x.x.xx.x-default SMP mod_unload gcc-4.1 ivtv: In case of problems please include the debug info between ivtv: the START INIT IVTV and END INIT IVTV lines, along with ivtv: any module options, when mailing the ivtv-users mailinglist. ivtv0: Autodetected Hauppauge WinTV PVR-150 card (cx23416 based) ivtv0: loaded v4l-cx2341x-enc.fw firmware (262144 bytes) ivtv0: This is the first unit of a PVR500 tuner 1-0043: chip found @ 0x86 (ivtv i2c driver #0) tuner 1-0060: chip found @ 0xc0 (ivtv i2c driver #0) tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #0) cx25840 1-0044: cx25843-23 found @ 0x88 (ivtv i2c driver #0) wm8775 1-001b: chip found @ 0x36 (ivtv i2c driver #0) ivtv0: Encoder revision: 0x02060039 etc..
- The lspci command can give you more information about your card and tuner
lspci | grep -i itv
Your output should look something like this example from the Hauppauge PVR500: 03:08.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01) 03:09.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
- Check if the firmware is installed in the correct location
ls /lib/firmware -l
- license-end-user.txt
- license-oemihvisv.txt
- v4l-cx2341x-dec.fw
- v4l-cx2341x-enc.fw
- v4l-cx2341x-init.mpg
- v4l-cx25840.fw
- v4l-pvrusb2-24xxx-01.fw
- v4l-pvrusb2-29xxx-01.fw
- Check what version of ivtv is installed
To check what version is installed, issue the command:
rpm -qa | grep ivtv
Your output should look something like:
ivtv-kmp-default-0.10.3 ivtv-0.10.3
- The IVTV configuration is maintained by YaST and it is not recommended to edit the file directly. To see the configuration of the device
cat /etc/modprobe.d/tv
Your output should look something like this example from the Hauppauge PVR500:
alias char-major-81 videodev options i2c-algo-bit bit_test=1 # YaST configured TV card # Uog3.chCB1CyIbw9:WinTV PVR 150 alias char-major-81-0 ivtv # YaST configured TV card # ZvjX.sZc4ePByvkF:WinTV PVR 150 alias char-major-81-1 ivtv alias char-major-81-2 off alias char-major-81-3 off
- Reload the ivtv module manually
rmmod ivtv modprobe ivtv
- Check if the video devices are available to the system
ls /dev/vi* -l
Your output should look something like this example from the (dual tuner) Hauppauge PVR500:
lrwxrwxrwx 1 root root 6 Dec 29 06:27 /dev/video -> video0 crw-rw----+ 1 root video 81, 0 Dec 29 06:27 /dev/video0 crw-rw----+ 1 root video 81, 1 Dec 29 06:27 /dev/video1 crw-rw----+ 1 root video 81, 24 Dec 29 06:27 /dev/video24 crw-rw----+ 1 root video 81, 25 Dec 29 06:27 /dev/video25 crw-rw----+ 1 root video 81, 32 Dec 29 06:27 /dev/video32 crw-rw----+ 1 root video 81, 33 Dec 29 06:27 /dev/video33
The above is for a PVR-500. Here is what each device corresponds to in this case:
Tuner unit #1: - For your info
/dev/video0 – The encoding capture device (Read-only) /dev/video24 – The raw audio capture device (Read-only) /dev/video32 – The raw video capture device (Read-only) /dev/radio – The radio tuner device /dev/vbi0 – The "vertical blank interval" (Teletext) capture device
Tuner unit #2: - For your info
/dev/video1 – The encoding capture device (Read-only) /dev/video25 – The raw audio capture device (Read-only) /dev/video33 – The raw video capture device (Read-only) /dev/vbi1 – The "vertical blank interval" (Teletext) capture device
- Check (and update) the hardware specific section on this page and the dedicated mythTV wiki pages
If you are lost; here are some screenshots of mythtv-setup for a PVR-500 in the Netherlands.
Remote Control (LIRC)
There is a very good chance that this information is out-of-date. I highly recommend a wireless keyboard instead of a remote control:
- They are more dynamic/useful (not as specialized).
- They are are cheaper (big bonus).
- You won't loose them as easily (big bonus). Some may say their size is a draw-back, but they are thin and fit
under chairs very easily!
- REMOTE CONTROL CONFIGURATION FILES
- /etc/sysconfig/lirc = Hardware config file
You must install the lirc kernel modules package that corresponds to your installed kernel.
sudo zypper in lirc-kmp-default
Tip: You can check the kernel version from the command line with 'uname -r'. The word 'desktop' in the below example means a default kernel (in most cases the only other possibility is 'bigsmp').
# uname -r 2.6.34-12-desktop
You must edit this file so that lirc knows which device to use. For example, if you have a PVR-150 make the following changes:
LIRCD_DRIVER="default" LIRCD_DEVICE="/dev/lirc" LIRC_MODULE=lirc_i2c
See PVR150 Remote for more information.
Tip: If your lirc kernel module is working and detects the card properly you will see the device /dev/lirc appear when lirc is started. If that device does not appear check /var/log/messages and dmesg for clues. Also, it has been reported that a full cold boot is sometimes required to bring the PVR150's IR back to life even going so far as to remove the card from the motherboard for a few moments. Be sure to try this before taking any other drastic steps (such as compiling lirc from source).
- /etc/lircd.conf = LIRC remote control configuration file that maps scancodes to logic functions (like value to play, poweroff, pause etc.)
- lircrc = Application specific mapping of the remote functions (play, poweroff etc) to the app specific functions for mythTV, mplayer and or Xine
- Every application that you want to control with your remote (and has support for remote control) needs it's own lircrc configuration file.
- The lircrc maps the keynames defined in lircd.conf (example: poweroff) to an application specific function (example: exit application). Make sure that the key names in lircrc should correspond with the same button names in lircd.conf.
- APPS AND THEIR lircrc CONFIGURATION
- mythTV = /home/user/.mythtv/lircrc
- xine = /home/user/.xine/lircrc (TODO: check if this is correct)
- mplayer = /home/user/lircrc
Tip: Instead of creating an individual lircrc file for each application, you can create one master file and put symbolic links to this in the appropriate places. The command for creating a lircrc file in your /home/userid/.mythtv directory, symbolically linked to lircrc in your home directory, follows:
ln -s ~/.mythtv/lircrc ~/lircrc
- NOTE
The LIRC deamon (lircd) is not started automatically by default after a reboot.
- As root start 'yast2 runlevel', select lircd and make sure it's started at boot time.
The lirc deamon does not start without a configuration file. Please make sure your create the configuration file before you start lircd.
- CONFIGURATION TIPS
- Visit the http://lirc.sourceforge.net/remotes website and download a setup file for your remote.
- Copy/rename the file to /etc/lirc.conf.
- Start /etc/init.d/lirc deamon and try irw, irxevent, mode2
- TODO: howto get a sample ~/.mythtv/lircrc - google for a lircrc for your remote - try the mythtv remote control wiki pages
- there can be only one, make sure you have 1 lircrc file for mythtv. Create links to it.
- the ~/.mythtv directory is user specific and created in the users home directory when he starts mythfrontend for the first time and ask for an ip address of the backend. If you don't have a ~/.mythtv directory, start mythfrontend first. The directory is hidden, try ls -al.
example: /etc/lircd.conf
Play 0x00007be9
The lircrc is application specific, here your define that the 'Play' key is the same as function 'P'
(P is by default Play in mythfrontend)
example: ~/.mythtv/lircrc
begin prog = mythtv button = Play config = P end
- ADDITIONAL INFORMATION
- DEVICE SPECIFIC
Graphic Drivers
SuSE 11.3 has introduced significant changes to the way graphics cards and screen resolutions are handled. You almost certainly will hit problems installing proprietary graphics drivers, which are easy to over come, once you understand what has changed.
Linux and XWindow has moved to a more automated way of detecting displays and monitors. This new method is called Kernel Mode Settings(KMS), The Kernel is now responsible for detecting screen resolutions on boot up, X configurations that were in /etc/X11/xorg.conf are now no longer needed (but can be used). If you get a blank screen, or wrong resolutions then this is what you are seeing.
11.3 has the open source Nouveu driver as standard for Nvidia based systems. See SDB Hardware to see if there may be a better driver for your graphic card. If you have trouble, view Configuring Graphic Cards.
Web frontend (mythweb)
MythWeb provides a frontend for scheduling and managing recordings on your mythTV system from a web browser located on another machine. In OpenSuSE, start YaST and goto the HTTP server menu (commandline: yast2 http-server)follow the menu's by next,next,next,next and click the HTTP Server Expert Configuration, here you see a tab with 'Server Modules'
The Rewrite module is disabled by default - Enable this option
The Env module is disabled by default - Enable this option
- Securing mythweb
If you plan to open your mythweb to the internet, you should seriously consider securing it. That and more information can be found here. Follow the section specifically for openSUSE here
- Security Example for mythweb
To secure your Mythweb you can configure the access to it. For example you can set up 'limit access'. It will ask you for an username and password if you try to access the mythweb page. It's very simple:
First make a file where you store the username and password for a user.
htpasswd2 -c /etc/apache2/htpasswd <username>
Type in a password (2x)
Then just add the lines below in your http.conf or default-server.conf
<Directory "/srv/www/htdocs/mythweb"> AuthType Basic AuthName "Mythweb Login" AuthUserFile /etc/apache2/htpasswd Require user <username> </Directory>
Restart apache
rcapache2 restart
If you now access the Mythweb (http://ip number/mythweb/) it will ask you for an username and password.
Tip: You can access your MythWeb remotely if you know your IP address. However, if you are a DHCP client, your IP will probably change. To resolve the issue of having an IP address that is constantly changing, you can sign up for an account with a dynamic DNS site (such as http://www.yi.org) and create a unique unchanging hostname that can be forwarded to your IP address - even if it changes.
Tips and tricks
Using Firefox as integrated Mythbrowser
In Opensuse 11 just changing the configuration setting in Mythbrowser to /usr/lib/firefox does not work any more. To make it work create a firefox.sh file in the Mythtv home directory i.e. /home/mythtv/firefox.sh
The script should contain something like:
#!/bin/sh shift #shift down the arguments that were passed so we can access the url shift /usr/bin/firefox $9 --fullscreen #what was argument 11 (the url) becomes 9 echo $* #show all the passed arguments
Make the file executable
chmod +x /home/mythtv/firefox.sh
To finalize change the default browser Utilites/Setup->Setup->Info Center Settings->Web Settings->browser box. to /home/mythtv/firefox.sh
See Also
- wiki.opensuse.org
- Opensuse 11.0 - 11.2, which this document is based on.