|
|
| (6 intermediate revisions by 2 users not shown) |
| Line 1: |
Line 1: |
| {{XBMC wiki toc/v}}
| |
| :''See also: '''[[:Category:Compiling]]''''' | | :''See also: '''[[:Category:Compiling]]''''' |
| [[category:XBMC]]
| |
|
| |
|
| == <big>'''Installation and configuration of XBMC on Ubuntu based OS with AMD HD Graphic (tested with Zotac AD02 and AD10)'''</big> ==
| | [[Category:Kodi]] |
| | | [[Category:Index]] |
| === '''The Goal:''' ===
| |
| Installing and configuring all the necessary to get a fully functional, stable and great XBMC media center on AMD Plateform using prorietary ATI driver and Hardware acceleration.
| |
| | |
| === Software: ===
| |
| | |
| This configuration guide has been tested under Ubuntu based OS running 11.10 TLS and 12.04 TLS (desktop versions of Xubuntu and Lubuntu)
| |
| | |
| === Hardware: ===
| |
| | |
| This configuration guide has been tested on Zotac AMD Based HTPC: ZOTAC AD02 and ZOTAC AD10
| |
| | |
| <br>These two HTPCs are quite the same; One major difference is the included and optional USB IR receiver for Zotac AD10, associated with its nice MCE remote control.
| |
| | |
| <br>Also, only the Zotac AD02 has an SPDIF output to serve Digital sound, digital sound for Zotac AD10 will be achieved using HDMI ouput
| |
| | |
| <br>Both of them are embedded with an AMD E350 CPU with ATI Radeon HD able to deal with 1080p video and 5.1 Digital audio :-)
| |
| | |
| <br>'''Zotac AD02 Model :'''
| |
| AMD E-350 APU Platform (dual-core) (1.6 GHz)
| |
| AMD Radeon™ HD 6310
| |
| | |
| [[File:zotac-ad02.jpg]] | |
| | |
| '''Zotac AD10 Model :'''
| |
| AMD E-350 APU Platform (dual-core) (1.6 GHz)
| |
| AMD Radeon™ HD 6310
| |
| | |
| [[File:zotac-ad10.jpg]] | |
| | |
| === Step 1: Install your system ===
| |
| | |
| <br>First choose your Ubuntu version to install.
| |
| This guide will only be fully applicable with an Ubuntu based version.
| |
| | |
| <br>I will not cover the OS installation itself as there is a lot of tutorials on this subject and installation is enought easy right now.
| |
| | |
| <br>I do not recommend using Ubuntu classic version as it provides by default a very resource consuming interface (Unity) and has a lot of problems and bugs running ATI proprietary driver!
| |
| | |
| <br>As far as I know and as far as I tested, the only Ubuntu bases distributions with absolutely no issue with the ATI proprietary driver are:
| |
| | |
| <br>* Xubuntu : Ubuntu based version with XFCE desktop
| |
| <br>* Lubuntu : Ubuntu based version with LFCE desktop
| |
| | |
| <br>I would recommend Lubuntu in the case of a XBMC dedicated system (but that’s all my personal choice and therefore i prefer to use Xubuntu) as it has a really low resource consuming desktop interface.
| |
| | |
| <br>'''NB:'''
| |
| | |
| You may also want to choose a minimal Ubuntu installation and then only run an Xserver that will directly start XBMC interface.
| |
| This guide will still be approximately applicable in this case.
| |
| | |
| <br>'''I did not choose this option for different reasons:'''
| |
| | |
| * No desktop interface to deal with system, files and so on (even if often prefer the command line, 2 possibilities are always betters than one!)
| |
| * No Web browser
| |
| * No graphical tool to manage Networks connections, etc…
| |
| * No access to AMD ATI graphical configuration manager, so no way to simply change resolution, brightness, contrast and so on
| |
| | |
| '''Installation recommendations:'''
| |
| | |
| '''3 partitions :'''
| |
| | |
| * A first partition for the root system ( / )
| |
| * A second partition for home (/home)
| |
| * A small Swap partition (1 or 2 GB will largely be enough, a such system is not expected to really swap in normal conditions)
| |
| | |
| '''Other:'''
| |
| | |
| * Install Third party softwares (mp3 and so on)
| |
| * In the installation Software, use “xbmc” as a the login
| |
| * Activate autologin for the user "xbmc"
| |
| | |
| === Step 2: Ensure your system is up to date and upgrade if required ===
| |
| | |
| <pre>
| |
| sudo apt-get update
| |
| sudo apt-get upgrade -y
| |
| sudo dist-upgrade –y
| |
| sudo reboot
| |
| </pre>
| |
| | |
| === Step 3: Install some requirements ===
| |
| | |
| <pre>
| |
| sudo apt-get install ssh python-software-properties udisks upower xorg alsa-utils mesa-utils git-core
| |
| librtmp0 lirc libmad0 lm-sensors lib32gcc1 libc6-i386 dkms
| |
| </pre>
| |
| | |
| <br>NB : For lirc, when wizard asks you to choose your hardware in our case we will configure it later so you can choose none...
| |
| If you already know how to configure lirc and your hardware you may want to choose the right one.
| |
| | |
| === Step 4: Install ATI proprietary driver (required for XVBA Hardware acceleration) ===
| |
| | |
| * Get the driver from AMD Site (same file for both 32/64 Bits):
| |
| | |
| http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx
| |
| | |
| * Build Packages:
| |
| | |
| <pre>
| |
| sudo sh ./amd-driver-installer-*-x86.x86_64.run --buildpkg
| |
| </pre>
| |
| | |
| NB: I you are missing some requirements to build packages, a graphical apt-get install will automaticaly appear
| |
| and install requirements, just valid and proceed and package building will continue
| |
| | |
| Packages will be built in current directory and exit.
| |
| | |
| * Install packages:
| |
| | |
| <pre>
| |
| sudo dpkg -i fgl*.deb
| |
| </pre>
| |
| | |
| * Create xorg configuration files
| |
| | |
| <pre>
| |
| sudo aticonfig -initial -f
| |
| sudo aticonfig -sync-vsync=on
| |
| </pre>
| |
| | |
| Optionnal and not destructive: Disable underscan (black borders)
| |
| | |
| <pre>
| |
| sudo aticonfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0
| |
| </pre>
| |
| | |
| * Reboot
| |
| | |
| <pre>
| |
| sudo reboot
| |
| </pre>
| |
| | |
| === Step 5: Proceed with XBMC installation using pre-compiled packages built for ATI ===
| |
| | |
| This procedure will add a ppa containing pre-compiled XBMC stable Eden version with XVBA support and install XBMC:
| |
| | |
| * Add the ppa:
| |
| | |
| <pre>
| |
| sudo add-apt-repository ppa:wsnipex/xbmc-xvba-eden
| |
| </pre>
| |
| | |
| Press enter to valid adding this ppa
| |
| | |
| * Update and install:
| |
| | |
| <pre>
| |
| sudo apt-get update
| |
| sudo apt-get install xbmc xbmc-bin
| |
| </pre>
| |
| | |
| === Step 6: XBMC nice level ===
| |
| | |
| * Allow xbmc user to change its nice level:
| |
| | |
| edit /etc/security/limits.conf
| |
| add the following line at the end of the file
| |
| | |
| <pre>
| |
| xbmc - nice -1
| |
| </pre>
| |
| | |
| === Step 7: First start of XBMC and base configuration ===
| |
| | |
| '''Open XBMC and proceed with first settings:'''
| |
| | |
| * Open XBMC
| |
| | |
| * In Appearance / skin, I recommend “NEON” (again my personal choice!)
| |
| | |
| * In Appearance, adapt your language if required
| |
| | |
| [[File:Screen1.png]]
| |
| | |
| * In System->Settings->System->Video Settings:
| |
| | |
| Vertical Sync: Always on
| |
| | |
| [[File:Screen2.png]]
| |
| | |
| * In System ->Video->Playback:
| |
| <br>XVBA: On
| |
| <br>Adjust Refreshrate to match video: On
| |
| <br>Sync Playback to Display: On
| |
| <br>Sync Method: Video Clock (Drop/Dupe)
| |
| | |
| [[File:Screen3.png]]
| |
| | |
| * Exit XBMC
| |
| | |
| === Step 8: Optimizing XBMC CPU use ===
| |
| | |
| Enable Dirty Region Rendering (drastically reduces CPU load on XBMC idle) and DDS Fanart
| |
| NOTE: do not do this as root or with sudo. this file must belong to your normal xbmc user
| |
| | |
| create: ~/.xbmc/userdata/advancedsettings.xml
| |
| | |
| <advancedsettings>
| |
| <loglevel hide="false">0</loglevel>
| |
| <gui>
| |
| <algorithmdirtyregions>1</algorithmdirtyregions>
| |
| <visualizedirtyregions>false</visualizedirtyregions>
| |
| <nofliptimeout>0</nofliptimeout>
| |
| </gui>
| |
| <cputempcommand>sensors|sed -ne "s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p"</cputempcommand>
| |
| <gputempcommand>/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d "-" | cut -f 1 -d "." | sed -e "s, ,," | sed 's/$/ C/'</gputempcommand>
| |
| </advancedsettings>
| |
| | |
| === Step 9: Configuring Digital Audio ===
| |
| | |
| <br>You will certainly want to get Digital sound with your own Home Cinema, to get this working you have two possibilities depending on your hardware :
| |
| <br>
| |
| * Digital sound through SPDIF
| |
| * Digital sound through HDMI
| |
| | |
| <br>I will provide these two examples, you have to adapt this depending on your Hardware !
| |
| | |
| * Digital Audio with SPDIF on Zotac AD02
| |
| | |
| <br>As xbmc user, create a new file in your home: ~/.asoundrc
| |
| | |
| <pre>
| |
| pcm.dmixer {
| |
| type dmix
| |
| ipc_key 1024
| |
| slave {
| |
| pcm "hw:1,1"
| |
| period_time 0
| |
| period_size 1024
| |
| buffer_size 8192
| |
| #periods 128
| |
| #rate 44100
| |
| rate 48000
| |
| }
| |
| bindings {
| |
| 0 0
| |
| 1 1
| |
| }
| |
| }
| |
| </pre>
| |
| | |
| <br>Restart XBMC, in Settings>System>Audio Output:
| |
| | |
| * Audio Output: Optical/Coax
| |
| * Speaker Configuration: 5.1
| |
| * Audio Output Device: Custom
| |
| * Custom Audio Device: plug:dmixer
| |
| * Passthrought Output Device: Custom
| |
| * Custom Passthrought Device: plug:dmixer
| |
| | |
| [[File:Screen4.png]]
| |
| | |
| * Digital Audio with HDMI on Zotac AD10
| |
| | |
| <br>As xbmc user, create a new file in your home: ~/.asoundrc
| |
| | |
| <pre>
| |
| pcm.dmixer {
| |
| type dmix
| |
| ipc_key 1024
| |
| ipc_key_add_uid false
| |
| ipc_perm 0660
| |
| slave {
| |
| pcm "hw:0,3" #HDMI, defaults to 48000 kHz
| |
| channels 2
| |
| period_size 1024
| |
| buffer_size 4096
| |
| }
| |
| }
| |
|
| |
| pcm.!default {
| |
| type plug
| |
| slave.pcm "dmixer"
| |
| }
| |
| </pre>
| |
| | |
| <br>Restart XBMC, in Settings>System>Audio Output:
| |
| | |
| * Audio Output: HDMI
| |
| * Speaker Configuration: 5.1
| |
| * Audio Output Device: Custom
| |
| * Custom Audio Device: plug:dmixer
| |
| * Passthrought Output Device: hdmi (alsa)
| |
| | |
| === Step 10: Configuring power management to allow shutdown and others power management functions from XBMC ===
| |
| | |
| <br>Without configuring it, you won't be able to shutdown or suspend your system directly from XBMC
| |
| Source:
| |
| <br>
| |
| http://wiki.xbmc.org/index.php?title=HOW-TO:Suspend_and_wake_in_Ubuntu
| |
| | |
| * Install requirements:
| |
| | |
| <pre>
| |
| sudo apt-get install policykit-1 upower acpi-support
| |
| </pre>
| |
| | |
| <br>
| |
| '''Create a new file "/var/lib/polkit-1/localauthority/50-local.d/custom-actions.pkla":'''
| |
| | |
| '''For Ubuntu 11.10:'''
| |
| | |
| <pre>
| |
| [Actions for xbmc user]
| |
| Identity=unix-user:xbmc
| |
| Action=org.freedesktop.upower.*;org.freedesktop.consolekit.system.*;org.freedesktop.udisks.*
| |
| ResultAny=yes
| |
| ResultInactive=no
| |
| ResultActive=yes
| |
| </pre>
| |
| | |
| '''For Ubuntu 12.04:'''
| |
| | |
| <pre>
| |
| [Actions for xbmc user]
| |
| Identity=unix-user:xbmc
| |
| Action=org.freedesktop.upower.*;org.freedesktop.consolekit.system.*;org.freedesktop.udisks.*
| |
| ResultAny=yes
| |
| ResultInactive=yes
| |
| ResultActive=yes
| |
| </pre>
| |
| | |
| * Restart XBMC and try power management functions such as shutdown
| |
| | |
| <br>You may have to do more configuration if you need wake up from USB connected devices, in my case with the Zotac AD10 and using remote control, i did not had to and powering up was working from remote control even with the optional IR USB receiver.
| |
| | |
| === Step 11: Configuring Remote Control ===
| |
| | |
| <br>In the cas of the Zotac AD10, an MCE remote control is provided, associated with an embeded IR receiver and also an optional USB IR receiver.
| |
| | |
| <br>Using the optional IR receiver, the remote control was working good without doing anything :)
| |
| | |
| <br>However, some buttons weren't working as i wanted, and more boring the most usefull button was not working... (Home button, the green with windows logo)
| |
| | |
| <br>Thanks to him, i found this:
| |
| <br>
| |
| http://ben.periton.co.uk/2012/06/configuring-the-zotac-zbox-remote-control/
| |
| | |
| * First remove lirc (we will install a specific version):
| |
| | |
| <pre>
| |
| sudo apt-get remove lirc
| |
| </pre>
| |
| | |
| * Install requirements:
| |
| | |
| <pre>
| |
| sudo apt-get install automake dialog libtool
| |
| </pre>
| |
| | |
| * Download the version from FernetMenta:
| |
| | |
| <pre>
| |
| wget https://github.com/FernetMenta/lirc/tarball/master -O lirc.tar.gz
| |
| </pre>
| |
| | |
| * Extract, configure and install:
| |
| | |
| <br>When you will run setup.sh, choose select driver "zotac" under usb, then save & configure
| |
| | |
| <pre>
| |
| tar -xvf lirc.tar.gz
| |
| cd <Directory>
| |
| ./autogen.sh
| |
| ./setup.sh
| |
| make
| |
| sudo make install
| |
| </pre>
| |
| | |
| * Create links /usr/sbin:
| |
| | |
| <pre>
| |
| cd /usr/sbin
| |
| sudo ln -s ../local/sbin/lircd lircd
| |
| sudo ln -s ../local/sbin/lircmd lircmd
| |
| </pre>
| |
| | |
| * Stop X11 from registering device as keyboard
| |
| | |
| <br>Edit "/usr/share/X11/xorg.conf.d/10-evdev.conf" and place the following code at the begining of the file:
| |
| | |
| <pre>
| |
| Section "InputClass"
| |
| Identifier "PHILIPS MCE USB IR Receiver- Spinel plus"
| |
| MatchProduct "PHILIPS MCE USB IR Receiver- Spinel plus"
| |
| MatchIsKeyboard "true"
| |
| Option "Ignore" "true"
| |
| EndSection
| |
| </pre>
| |
| | |
| * Add a alias in udev to /dev/remote by creating a new file at /etc/udev/rules.d/10-local.rules with the following:
| |
| | |
| <pre>
| |
| SUBSYSTEM=="usb" , ATTRS{idVendor}=="0471", ATTRS{idProduct}=="20cc", SYMLINK+="remote", ACTION=="add", RUN+="/sbin/initctl --quiet emit --no-wait ir-ready"
| |
| </pre>
| |
| | |
| * Replace the current version of /etc/lirc/hardware.conf with:
| |
| | |
| <pre>
| |
| # hardware.conf for Zotac
| |
| #
| |
| REMOTE="Zotac MCE Remote"
| |
| REMOTE_MODULES=""
| |
| REMOTE_DRIVER="zotac"
| |
| REMOTE_DEVICE="/dev/remote"
| |
| REMOTE_SOCKET=""
| |
| REMOTE_LIRCD_CONF="zotac/lircd.conf.zotac"
| |
| REMOTE_LIRCD_ARGS=""
| |
| TRANSMITTER="None"
| |
| TRANSMITTER_MODULES=""
| |
| TRANSMITTER_DRIVER=""
| |
| TRANSMITTER_DEVICE=""
| |
| TRANSMITTER_SOCKET=""
| |
| TRANSMITTER_LIRCD_CONF=""
| |
| TRANSMITTER_LIRCD_ARGS=""
| |
| START_LIRCD="true"
| |
| LOAD_MODULES="true"
| |
| LIRCMD_CONF=""
| |
| FORCE_NONINTERACTIVE_RECONFIGURATION="false"
| |
| START_LIRCMD=""
| |
| </pre>
| |
| | |
| * Replace the current version of /etc/lirc/lircd.conf with:
| |
| | |
| <pre>
| |
| min_repeat 9
| |
| # suppress_repeat 9
| |
| # uncomment to suppress unwanted repeats
| |
| # toggle_bit_mask 0x7004F
| |
| | |
| begin codes
| |
| KEY_SLEEP 0x00010082
| |
| KEY_WAKEUP 0x00010083
| |
| KEY_RECORD 0x000C00B2
| |
| KEY_PAUSE 0x000C00B1
| |
| KEY_STOP 0x000C00B7
| |
| KEY_REWIND 0x000C00B4
| |
| KEY_PLAY 0x000C00B0
| |
| KEY_FORWARD 0x000C00B3
| |
| KEY_LEFTSHIFT 0x000C00B6
| |
| KEY_RIGHTSHIFT 0x000C00B5
| |
| KEY_BACK 0x000C0224
| |
| KEY_INFO 0x000C0209
| |
| KEY_MENU 0xFFBC000D
| |
| KEY_UP 0x00070052
| |
| KEY_LEFT 0x00070050
| |
| KEY_RIGHT 0x0007004F
| |
| KEY_DOWN 0x00070051
| |
| KEY_OK 0x00070028
| |
| KEY_VOLUMEUP 0x000C00E9
| |
| KEY_VOLUMEDOWN 0x000C00EA
| |
| KEY_MUTE 0x000C00E2
| |
| KEY_CHANNELUP 0x000C009C
| |
| KEY_CHANNELDOWN 0x000C009D
| |
| KEY_1 0x0007001E
| |
| KEY_2 0x0007001F
| |
| KEY_3 0x00070020
| |
| KEY_4 0x00070021
| |
| KEY_5 0x00070022
| |
| KEY_6 0x00070023
| |
| KEY_7 0x00070024
| |
| KEY_8 0x00070025
| |
| KEY_9 0x00070026
| |
| KEY_0 0x00070027
| |
| KEY_NUMERIC_STAR 0x10070025
| |
| KEY_NUMERIC_POUND 0x10070020
| |
| KEY_CLEAR 0x00070029
| |
| KEY_TEXT 0xFFBC005A
| |
| KEY_TITLE 0x000C008D
| |
| KEY_ENTER 0x00070028
| |
| KEY_RED 0xFFBC005B
| |
| KEY_GREEN 0xFFBC005C
| |
| KEY_YELLOW 0xFFBC005D
| |
| KEY_BLUE 0xFFBC005E
| |
| end codes
| |
| end remote
| |
| </pre>
| |
| | |
| * As xbmc user, replace if already exists or create: ~/.xbmc/userdata/Lircmap.xml
| |
| | |
| <pre>
| |
| <lircmap>
| |
| <remote device="zotac.conf">
| |
| <power>KEY_SLEEP</power>
| |
| <wake>KEY_WAKEUP</wake>
| |
| <record>KEY_RECORD</record>
| |
| <pause>KEY_PAUSE</pause>
| |
| <stop>KEY_STOP</stop>
| |
| <reverse>KEY_REWIND</reverse>
| |
| <play>KEY_PLAY</play>
| |
| <forward>KEY_FORWARD</forward>
| |
| <skipminus>KEY_LEFTSHIFT</skipminus>
| |
| <skipplus>KEY_RIGHTSHIFT</skipplus>
| |
| <back>KEY_BACK</back>
| |
| <info>KEY_INFO</info>
| |
| <display>KEY_MENU</display>
| |
| <up>KEY_UP</up>
| |
| <left>KEY_LEFT</left>
| |
| <right>KEY_RIGHT</right>
| |
| <down>KEY_DOWN</down>
| |
| <select>KEY_OK</select>
| |
| <volumeplus>KEY_VOLUMEUP</volumeplus>
| |
| <volumeminus>KEY_VOLUMEDOWN</volumeminus>
| |
| <mute>KEY_MUTE</mute>
| |
| <up>KEY_CHANNELUP</up>
| |
| <down>KEY_CHANNELDOWN</down>
| |
| <zero>KEY_0</zero>
| |
| <one>KEY_1</one>
| |
| <two>KEY_2</two>
| |
| <three>KEY_3</three>
| |
| <four>KEY_4</four>
| |
| <five>KEY_5</five>
| |
| <six>KEY_6</six>
| |
| <seven>KEY_7</seven>
| |
| <eight>KEY_8</eight>
| |
| <nine>KEY_9</nine>
| |
| <red>KEY_RED</red>
| |
| <green>KEY_GREEN</green>
| |
| <yellow>KEY_YELLOW</yellow>
| |
| <blue>KEY_BLUE</blue>
| |
| <star>KEY_NUMERIC_STAR</star>
| |
| <hash>KEY_NUMERIC_POUND</hash>
| |
| <subtitle>KEY_TEXT</subtitle>
| |
| <title>KEY_TITLE</title>
| |
| <clear>KEY_CLEAR</clear>
| |
| </remote>
| |
| </lircmap>
| |
| </pre>
| |
| | |
| '''In my cas, i was not fully satisfied with this configuration, the Home button was not doing what i was expecting (going back to XBMC Home, and i wanted a button to be able to change language by the remote control'''
| |
| | |
| <br>Under conntruction i have get back my config file ^^
| |
| | |
| <br>You may try this configuration:
| |
| | |
| <pre>
| |
| <pre>
| |
| <lircmap>
| |
| <remote device="zotac.conf">
| |
| <power>KEY_SLEEP</power>
| |
| <wake>KEY_WAKEUP</wake>
| |
| <record>KEY_RECORD</record>
| |
| <pause>KEY_PAUSE</pause>
| |
| <stop>KEY_STOP</stop>
| |
| <reverse>KEY_REWIND</reverse>
| |
| <play>KEY_PLAY</play>
| |
| <forward>KEY_FORWARD</forward>
| |
| <skipminus>KEY_LEFTSHIFT</skipminus>
| |
| <skipplus>KEY_RIGHTSHIFT</skipplus>
| |
| <back>KEY_BACK</back>
| |
| <info>KEY_INFO</info>
| |
| <display>KEY_MENU</display>
| |
| <up>KEY_UP</up>
| |
| <left>KEY_LEFT</left>
| |
| <right>KEY_RIGHT</right>
| |
| <down>KEY_DOWN</down>
| |
| <select>KEY_OK</select>
| |
| <volumeplus>KEY_VOLUMEUP</volumeplus>
| |
| <volumeminus>KEY_VOLUMEDOWN</volumeminus>
| |
| <mute>KEY_MUTE</mute>
| |
| <up>KEY_CHANNELUP</up>
| |
| <down>KEY_CHANNELDOWN</down>
| |
| <zero>KEY_0</zero>
| |
| <one>KEY_1</one>
| |
| <two>KEY_2</two>
| |
| <three>KEY_3</three>
| |
| <four>KEY_4</four>
| |
| <five>KEY_5</five>
| |
| <six>KEY_6</six>
| |
| <seven>KEY_7</seven>
| |
| <eight>KEY_8</eight>
| |
| <nine>KEY_9</nine>
| |
| <red>KEY_RED</red>
| |
| <green>KEY_GREEN</green>
| |
| <yellow>KEY_YELLOW</yellow>
| |
| <blue>KEY_BLUE</blue>
| |
| <star>KEY_NUMERIC_STAR</star>
| |
| <hash>KEY_NUMERIC_POUND</hash>
| |
| <subtitle>KEY_TEXT</subtitle>
| |
| <title>KEY_TITLE</title>
| |
| <clear>KEY_CLEAR</clear>
| |
| </remote>
| |
| </lircmap>
| |
| </pre>
| |