[LINUX] Anyone tried XBMC for Linux on the new Mac Mini with NVIDIA 9400 graphics?
#61
xmltok Wrote:I haven't tried

Any chance you could try it and see what happens? Big Grin Thanks!
Reply
#62
Did you get a chance to try Suspend/Resume with your set up?
Reply
#63
xmltok Wrote:I used irrecord and set up the lircd.conf manually. You will probably have to do the same. Here is my lircd.conf to start with. I found that some buttons appeared to be the same button to lirc, although logitech claimed they were unique. LARGE_UP is one of those.

Code:
begin remote

  name  plex
  bits           16
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  pre_data_bits   16
  pre_data       0x87EE
  gap          104041
  min_repeat      208
  toggle_bit_mask 0x80E

      begin codes
          UP                       0x960B
          DOWN                     0x960D
          LEFT                     0x9608
          RIGHT                    0x9607
          OK                       0x9604
          MENU                     0x9602
          PAUSE                    0x9803
          STOP                     0x9705
          VOLUME_UP                0x980A
          VOLUME_DOWN              0x980C
          F13                      0x9D09
          SKIP                     0xA00D
          REPLAY                   0xA00B
          LARGE_UP                 0x9D06 # F14
          LARGE_DOWN               0x9F0D
          BACK                     0x990D
          EXIT                     0x9B0A
          INFO                     0x990B
          GUIDE                    0x9D05
          1                        0x970A
          2                        0x970C
          3                        0x9709
          4                        0x9706
          5                        0x9809
          6                        0x9806
          7                        0x9908
          8                        0x9907
          9                        0x9A08
          0                        0x9A07
          ENTER                    0x9902
      end codes

end remote

Is there any chance you could post your /etc/lirc/hardware.conf as well? I have been totally unsuccessful getting this working so far Sad

Thanks
Reply
#64
Currently using 2.0GHz Mac Mini (9400M GPU) with 4Gb RAM. Installed on this is (boot camp) Ubuntu 9.10 - full version. Running XBMC with auto refresh rate changes on my Pioneer 506 series plasma (768 line res.). 1080p 24Hz / 1080i 50Hz / 1080i 60Hz switching works beautifully. Also using Harmony One remote to control the system (Plex setting on the Logitech settings). I used the remote codes from Plex and ported them into LIRC and XBMC. System also runs XBMC automatically as a standalone program on startup.

Really pleased as the files are high bit rate HD. Not altered or compressed, simply ripped (AnyDVD HD and Clown BD) then muxed in TsMuxer to .ts or .m2ts files. They play back very smoothly with minimal frame drop (often <20 per film). Occasional a barely noticeable stutter seen (apparently due to the VDPAU drivers in other posts). Trying different TsMuxer settings to see if this will improve (ie. fps).

As a complete noob to this it took me the last couple of months (occasional evenings). When I get the chance, I'll post how I've done this if people are interested. Can't beat XBMC! Really is a great bit of software!
Reply
#65
silvertim Wrote:When I get the chance, I'll post how I've done this if people are interested. Can't beat XBMC! Really is a great bit of software!

Yes, that would certainly pull me in to doing it. Certainly since you got the remore figured out.

looking forward to the guide Smile
Reply
#66
I’ve written this as a newbie with very little/no Linux knowledge. I’ve aimed it at a fellow newbie so I apologise if it seems too simple or if errors have crept in.

I’ve tried the ‘custom install’ script on the forums but found I could not exit xbmc or alter my monitor/remote settings after installation.

Comments/suggestions are always welcome.

Requirements:

Mac Mini with nvidia 9400M GPU
2Gb RAM min
Copy of Ubuntu 9.10 on CD/DVD
Optical lead for digital sound (DD/DTS)
DVI to HDMI adaptor for video


Step 1 – Install Ubuntu 9.10 (32 bit version):

I followed this excellent guide to install Linux after creating a FAT32 boot camp partition on my mac.

http://blog.costan.us/2009/03/ubuntu-810...-mini.html

Notes: Shutdown does work on the mac once ubuntu is completely installed (even directly from xbmc). Restart/hibernate does not work for me.
I use Snow Leopard on my mac (rather than Leopard as in the guide) without any problems.
It can sometimes take a few restarts of the mac before rEFIt sees the installation disk.
I set the username as xbmc with an equally easy password. Allow the OS to log in automatically on startup (should prompt you for this in the setup).

Step 2 – Install Ubuntu updates

Once Linux has started up for the first time to the GUI, it will want to install updates to the OS. Allow it to do this then it should prompt you to install the hardware drivers for wireless and nvidia graphics driver (185). Do one at a time and then shutdown the computer from the menu at the top right of the screen.

Note:
Should notice the change in screen size (overscanning now). If you have overscan (as I did), you can follow the rest of the guide at the web address to correct this – but it seemed laborious and is unnecessary if you are only running xbmc. I didn’t correct the overscan, but remember where the menus are off screen for later.


Step 3 – Update graphics driver.


Open firefox and google ‘nvidia drivers download – advanced search’
Download the latest 32 bit linux drivers and save to your home folder (will be called after your login name).

To run the drivers, follow the instructions on the nvidia site – need to do this outside of gnome.

In terminal:

sudo /etc/init.d/gdm stop

sudo sh ./NVIDIA-Linux-x86-195.30-pkg1.run (or whatever the file is called)

Let the programme create a new Xorg.conf file.

Once finished type:

sudo /etc/init.d/gdm start


Step 4 – Determine if your monitor and Linux are communicating properly


Open up the nvidia X server settings in preferences and see if the TV will change refresh rates from here. Mine did not, sticking at 50Hz no matter what I selected. It meant that the screen was not sending appropriate EDID signals to the computer. If your screen is similar, I used this guide to alter my Xorg.conf file found in the etc/X11 folder.

http://ubuntuforums.org/showthread.php?t=1003099&page=2

Note: to alter this file you need to be as ‘root’. Open terminal and type:

sudo nautilus

Enter your password at the prompt and it should open a new window. Navigating through this and opening files through this is done as ‘root’.



The relevant parts of the guide that I used are (with edits):


Open terminal and enter:

sudo /etc/init.d/gdm stop

This will stop gnome and shutdown the GUI. Login if prompted.

Next type

X -verbose 6 > ~/xlog.txt 2>&1

This will launch X and you will see a gray screen. All output of X will be in the file xlog.txt located in your home directory. You will need information out of this file to continue, so get out of the gray screen and start gdm back up.

ctl+atl+BACKSPACE - will kill the gray screen (but I found this did not work on Mac Mini so had to do a ‘hard shutdown’ then restart the computer – next line is therefore not necessary)

sudo /etc/init.d/gdm start – will start gnome again

Once you are back inside gnome open gedit and browse to your home directory to open xlog.txt

Within this file we will need the Horizontal Sync and Vertical refresh rates of your TV. Find the section of the file that looks similar to:

(II) NVIDIA(0): Frequency information for DFP-0: <-- this may say your TV model
(II) NVIDIA(0): HorizSync : 15.000-46.000 kHz

(II) NVIDIA(0): VertRefresh : 23.000-61.000 Hz

(II) NVIDIA(0): (HorizSync from EDID)

(II) NVIDIA(0): (VertRefresh from EDID)


Write down the HorizSync and VertRefresh values.

Now we need to find some good working resolutions to create some modelines.

Locate the section that is similar to below. Take note that this section states it is validating modes.

(II) NVIDIA(0): --- Building ModePool for DFP-0 ---

(II) NVIDIA(0): Validating Mode "1920x1080":

(II) NVIDIA(0): 1920 x 1080 @ 50 Hz

(II) NVIDIA(0): For use as DFP backend.

(II) NVIDIA(0): Mode Source: EDID

(II) NVIDIA(0): Pixel Clock : 74.25 MHz

(II) NVIDIA(0): HRes, HSyncStart : 1920, 2448

(II) NVIDIA(0): HSyncEnd, HTotal : 2492, 2640

(II) NVIDIA(0): VRes, VSyncStart : 1080, 1084

(II) NVIDIA(0): VSyncEnd, VTotal : 1094, 1124

(II) NVIDIA(0): H/V Polarity : +/+

(II) NVIDIA(0): Extra : Interlace

(II) NVIDIA(0): Mode is valid.


I took the 3 I wanted to use, ie. For 24Hz 1080p, 50Hz 1080i and 60Hz 1080i, and named the modelines 1080p24; 1080i50; 1080i60 (see below).

Now to make the modelines just read down the mode from top to bottom starting at Pixel Clock. In the parenthesis you can really put what you want. That will be the identifier used in your Screens sections, but for now just follow below.

ModeLine "1920x1080i@50" 74.25 1920 2448 2492 2640 1080 1084 1094 1124 +hsync +vsync interlace

Notice the H/V polarity usage for hsync and vsync and the interlace command.

Now we have all the info we need to start messing with our xorg.conf file, but first make a backup of your current file.

Navigate to the Xorg.conf file using sudo nautilus and backup the file. Then open it (in gedit).

Below is my xorg.conf file. I’ve put in bold the added options that you need to be put into the file.

Code:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 1.0  (buildmeister@builder63)  Tue Oct 20 21:00:15 PDT 2009


Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Pioneer"
    ModelName      "PDP506"
    HorizSync       [b]15.0 - 46.0[/b]
    VertRefresh     [b]23.0 - 61.0[/b]
[b]    ModeLine       "1920x1080i@50" 74.25 1920 2448 2492 2640 1080 1084 1094 1124 +hsync +vsync interlace
    ModeLine       "1920x1080i@60" 74.25 1920 2008 2052 2200 1080 1084 1094 1124 +hsync +vsync interlace
    ModeLine       "1920x1080p@24" 74.16 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync[/b]
    Option         "DPMS"
[b]    Option         "ExactModeTimingsDVI" "TRUE"
    Option         "DynamicTwinView" "FALSE"[/b]
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
[b]    Option         "NoLogo" "FALSE"
    Option         "UseEDID" "FALSE"[/b]
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
[b]    Option         "HWCursor" "FALSE"
    SubSection     "Display"
        Depth       24
        Modes      "1920x1080i@50" "1920x1080i@60" "1920x1080p@24"
    EndSubSection[/b]
EndSection

[b]Section "Extensions"
    Option         "Composite" "Disable"
EndSection[/b]



Save your new xorg.conf file.
Restart the computer.

Note:
You can no longer alter the refresh rate in nvidia settings, only in standard display settings in the ubuntu preferences menu. This is fine as xbmc seems to read the settings from the ubuntu preferences display settings.
Reply
#67
Step 5 – Install lirc

Do this through the synaptic application in system/administration.

Search for lirc, and install it and the needed components. You don’t need to install the modules file if using the Plex setting on the Harmony remote (or for the Apple remote).

Open etc/lirc directory as root (sudo nautilus).
Replace the contents of hardware.conf file with this:

Code:
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="Apple Mac mini USB IR Receiver"
REMOTE_MODULES=""
REMOTE_DRIVER="macmini"
REMOTE_DEVICE="/dev/usb/hiddev0"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="apple/lircd.conf.harmony"
REMOTE_LIRCD_ARGS=""

#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""

#Enable lircd
START_LIRCD=true

#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="false"

# Default configuration files for your hardware if any
LIRCMD_CONF=""

#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""

Then, replace the contents of lircd.conf file with this:


Code:
begin remote

  name Harmony
  bits           32
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  gap          403981
  toggle_bit_mask 0x0
  
      begin codes
          LargeUp                  0x87EE9F0B
          LargeDown                0x87EE9F0D
          Aspect                   0x87EE9D0A
          Queue                    0x87EE9D0C
          Power                    0x87EE9D03
          Sleep                    0x87EE9A02
          Stop                     0x87EE9705
          FastRew                  0x87EEA00B
          FastFwd                  0x87EEA00D
          Play                     0x87EE9703
          Record                   0x87EE9B0C
          Prev                     0x87EE9A0B
          Next                     0x87EE9A0D
          Pause                    0x87EE9803
          Guide                    0x87EE9D05
          Info                     0x87EE990B
          Exit                     0x87EE9B0A
          Menu                     0x87EE9602
          Volume+                  0x87EE980A
          Volume-                  0x87EE980C
          Mute                     0x87EE9805
          Channel+                 0x87EE9E0A
          Channel-                 0x87EE9E0C
          Back                     0x87EE990D
          Up                       0x87EE960B
          Down                     0x87EE960D
          Left                     0x87EE9608
          Right                    0x87EE9607
          Ok                       0x87EE9604
          1                        0x87EE970A
          2                        0x87EE970C
          3                        0x87EE9709
          4                        0x87EE9706
          5                        0x87EE9809
          6                        0x87EE9806
          7                        0x87EE9908
          8                        0x87EE9907
          9                        0x87EE9A08
          0                        0x87EE9A07
          Clear                    0x87EE9A04
          Enter                    0x87EE9902
          Red                      0x87EE9F08
          Green                    0x87EE9F07
          Yellow                   0x87EE9F04
          Blue                     0x87EE9F02
          F1                       0x87EE9B09
          F2                       0x87EE9B06
          F3                       0x87EE9B05
          F4                       0x87EE9B03
          F5                       0x87EEA008
          F6                       0x87EEA007
          F7                       0x87EEA004
          F8                       0x87EEA002
          F9                       0x87EE9E09
          F10                      0x87EE9E06
          F11                      0x87EE9E05
          F12                      0x87EE9E03
          F13                      0x87EE9D09
          F14                      0x87EE9D06
      end codes

end remote
Navigate to usr/share/lirc/remotes/apple and copy the lircd.conf file into this folder, renaming it lircd.conf.harmony

Restart lirc with:

sudo /etc/init.d/lirc restart

lirc should shutdown OK and restart OK.

Then check the remote works by typing into terminal:

irw

You should see the commands come up with the name ‘harmony’ attached to them.

Step 6 – install XBMC as per instructions on site. Once installed, install the xbmc-standalone application from synaptic.

Run it once (using a keyboard), it will copy its system files into your home folder.

Step 7 – Getting xbmc to recognise the remote.

Navigate to your home folder (called ‘xbmc’ in my case).
Press ‘ctrl’ and ‘h’ keys together to reveal the hidden folders.
Open .xbmc/userdata

Create a file using gedit called Lircmap.conf. Within it place this:


Code:
<lircmap>
    <remote device="Harmony">
        <pause>Pause</pause>
        <stop>Stop</stop>
        <forward>FastFwd</forward>
        <reverse>FastRew</reverse>
        <left>Left</left>
        <right>Right</right>
        <up>Up</up>
        <down>Down</down>
        <select>Ok</select>
        <channelplus>Channel+</channelplus>
        <channelminus>Channel-</channelminus>
        <back>Back</back>
        <menu>Menu</menu>
        <play>Play</play>
        <info>Info</info>
        <skip>Next</skip>
        <replay>Previous</replay>
        <guide>Guide</guide>
        <exit>Exit</exit>
        <record>Record</record>
        <volumeplus>Volume+</volumeplus>
        <volumeminus>Volume-</volumeminus>
        <mute>Mute</mute>
        <power>Power</power>
        <largeup>LargeUp</largeup>
        <largedown>LargeDown</largedown>
        <sleep>Sleep</sleep>
        <aspect>Aspect</aspect>
            <queue>Queue</queue>
            <one>1</one>
        <two>2</two>
        <three>3</three>
        <four>4</four>
        <five>5</five>
        <six>6</six>
        <seven>7</seven>
        <eight>8</eight>
        <nine>9</nine>
        <zero>0</zero>
        <red>Red</red>
        <green>Green</green>
        <yellow>Yellow</yellow>
        <blue>Blue</blue>
            <enter>Enter</enter>
            <clear>Clear</clear>
            <F1>F1</F1>
        <F2>F2</F2>
        <F3>F3</F3>
        <F4>F4</F4>
        <F5>F5</F5>
        <F6>F6</F6>
        <F7>F7</F7>
        <F8>F8</F8>
        <F9>F9</F9>
        <F10>F10</F10>
        <F11>F11</F11>
        <F12>F12</F12>
        <F13>F13</F13>
            <F14>F14</F14>
        </remote>
</lircmap>




Run xbmc to check it all works.

Note:
The default setting on this remote seems to send three (or so) signals every time. Reduce this in the Logitech remote settings software to work better.

Step 8 – Running xbmc as standalone.

Logout of system (menu top right of screen).
At login screen, click onto user ‘xbmc’.
Before entering the password, go to the menu at the bottom of the screen, just right of centre and change the setting from gnome to xbmc.
Complete the login and you should now go direct to xbmc on startup (uses less resources).

I find the Ubuntu splash screen does hang around on startup for 5-10 secs and would be grateful if anyone knows how to remove this.

FINISHED!

I found the whole process took about 4 hours (give or take). Its worth backing up all the files created as you go along to a usb drive in case you need to reinstall the whole lot at a later date (I’ve had to do this once when a powercut corrupted some files).

I hope I’ve covered it all!
Reply
#68
Create a new file called keyboard.xml with gedit.

In it place this, and save it to the keymap folder in .xbmc/userdata:

Note that this is split over 2 posts...so join them together in the file.

Code:
<keymap>
  <global>
    <Harmony>
      <play>Play</play>
      <pause>Pause</pause>
      <stop>Stop</stop>
      <forward>FastForward</forward>
      <rewind>Rewind</rewind>
      <left>Left</left>
      <right>Right</right>
      <up>Up</up>
      <down>Down</down>
      <ok>Select</ok>
      <prev>ParentDir</prev>
      <menu>ContextMenu</menu>
      <exit>PreviousMenu</exit>
      <info>Info</info>
      <skip>SkipNext</skip>
      <replay>SkipPrevious</replay>
      <guide>FullScreen</guide>
      <record>Screenshot</record>
      <volumeplus>VolumeUp</volumeplus>
      <volumeminus>VolumeDown</volumeminus>
      <channelplus>PageUp</channelplus>
      <channelminus>PageDown</channelminus>
      <mute>Mute</mute>
      <power>XBMC.ShutDown()</power>
      <sleep>XBMC.SleepSystem()</sleep>
      <aspect>AspectRatio</aspect>
      <queue>Queue</queue>
      <largeup>PageUp</largeup>
      <largedown>PageDown</largedown>
      <F1>XBMC.ActivateWindow(Music)</F1>
      <F2>XBMC.ActivateWindow(videolibrary,tvshowtitles,return)</F2>
      <F3>XBMC.ActivateWindow(videolibrary,movietitles,return)</F3>
      <F4>XBMC.ActivateWindow(Weather)</F4>
      <red>XBMC.ActivateWindow(Music)</red>
      <green>XBMC.ActivateWindow(videolibrary,tvshowtitles,return)</green>
      <yellow>xbmc.ActivateWindow(videolibrary,movietitles,return)</yellow>
      <blue>XBMC.ActivateWindow(Weather)</blue>
      <one>JumpSMS1</one>
      <two>JumpSMS2</two>
      <three>JumpSMS3</three>
      <four>JumpSMS4</four>
      <five>JumpSMS5</five>
      <six>JumpSMS6</six>
      <seven>JumpSMS7</seven>
      <eight>JumpSMS8</eight>
      <nine>JumpSMS9</nine>
    </Harmony>
  </global>
  <Home>
    <Harmony>
      <menu>XBMC.ActivateWindow(PlayerControls)</menu>
      <info>XBMC.ActivateWindow(Settings)</info>
      <exit>XBMC.ActivateWindow(ShutdownMenu)</exit>
      <enter>XBMC.ActivateWindow(SystemInfo)</enter>
      <one>ToggleFullScreen</one>
    </Harmony>
  </Home>
  <MyFiles>
    <Harmony>
      <one>Highlight</one>
      <four>Copy</four>
      <seven>Move</seven>
      <clear>Delete</clear>
    </Harmony>
  </MyFiles>
  <MyMusicPlaylist>
    <Harmony>
      <prev>Playlist</prev> <!-- Close playlist -->
      <clear>Delete</clear>
      <channelplus>MoveItemUp</channelplus>
      <channelminus>MoveItemDown</channelminus>
    <two>JumpSMS2</two>
    <three>JumpSMS3</three>
    <four>JumpSMS4</four>
    <five>JumpSMS5</five>
    <six>JumpSMS6</six>
    <seven>JumpSMS7</seven>
    <eight>JumpSMS8</eight>
    <nine>JumpSMS9</nine>
  </Harmony>
  </MyMusicPlaylist>
  <MyMusicPlaylistEditor>
    <Harmony>
      <zero>Queue</zero>
    </Harmony>
  </MyMusicPlaylistEditor>
   <MyMusicFiles>
     <Harmony>
    </Harmony>
  </MyMusicFiles>
  <MyMusicLibrary>
     <Harmony>
      <red>XBMC.PlayerControl(partymode(music))</red>
      <F10>XBMC.PlayerControl(partymode(music))</F10>
    </Harmony>
  </MyMusicLibrary>
  <FullscreenVideo>
    <Harmony>
      <left>StepBack</left>
      <right>StepForward</right>
      <up>BigStepForward</up>
      <down>BigStepBack</down>
      <prev>SmallStepBack</prev>
      <menu>OSD</menu>
      <info>Info</info>
      <F6>ShowSubtitles</F6>
      <F7>NextSubtitle</F7>
      <zero>Number0</zero>
      <one>Number1</one>
      <two>Number2</two>
      <three>Number3</three>
      <four>Number4</four>
      <five>Number5</five>
      <six>Number6</six>
      <seven>Number7</seven>
      <eight>Number8</eight>
      <nine>Number9</nine>
   </Harmony>
  </FullscreenVideo>
  <FullscreenInfo>
    <Harmony>
      <info>Close</info>
   </Harmony>
  </FullscreenInfo>
  <PlayerControls>
    <Harmony>
      <menu>Close</menu>
    </Harmony>
  </PlayerControls>
  <Visualisation>
    <Harmony>
      <left>PreviousPreset</left>
      <right>NextPreset</right>
      <up>IncreaseRating</up>
      <down>DecreaseRating</down>
      <prev>LockPreset</prev>
      <menu>XBMC.ActivateWindow(MusicOSD)</menu>
      <info>Info</info>
      <exit>Fullscreen</exit>
      <F8>XBMC.ActivateWindow(VisualisationPresetList)</F8>
      <F9>XBMC.ActivateWindow(VisualisationSettings)</F9>
    </Harmony>
  </Visualisation>
  <MusicOSD>
    <Harmony>
      <menu>Close</menu>
      <exit>Close</exit>
      <info>CodecInfo</info>
    </Harmony>
  </MusicOSD>
  <VisualisationSettings>
    <Harmony>
      <menu>Close</menu>
      <exit>Close</exit>
    </Harmony>
  </VisualisationSettings>
  <VisualisationPresetList>
    <Harmony>
      <menu>Close</menu>
      <exit>Close</exit>
    </Harmony>
  </VisualisationPresetList>
Reply
#69
This is the second part of the keyboard.xml file...





Code:
<SlideShow>
    <Harmony>
      <zero>ZoomNormal</zero>
      <one>ZoomLevel1</one>
      <two>ZoomLevel2</two>
      <three>ZoomLevel3</three>
      <four>ZoomLevel4</four>
      <five>ZoomLevel5</five>
      <six>ZoomLevel6</six>
      <seven>ZoomLevel7</seven>
      <eight>ZoomLevel8</eight>
      <nine>ZoomLevel9</nine>
      <skip>NextPicture</skip>
      <replay>PreviousPicture</replay>
      <info>Info</info>
      <ok>Rotate</ok>
      <prev>PreviousMenu</prev>
    </Harmony>
  </SlideShow>
  <ScreenCalibration>
    <Harmony>
      <ok>NextCalibration</ok>
      <enter>NextCalibration</enter>
      <zero>ResetCalibration</zero>
      <guide>NextResolution</guide>
    </Harmony>
  </ScreenCalibration>
  <GUICalibration>
    <Harmony>
      <ok>NextCalibration</ok>
      <enter>NextCalibration</enter>
      <zero>ResetCalibration</zero>
    </Harmony>
  </GUICalibration>
  <SelectDialog>
    <Harmony>
      <prev>Close</prev>
      <exit>Close</exit>      
    </Harmony>
  </SelectDialog>
  <VideoOSD>
    <Harmony>
      <prev>PreviousMenu</prev>
      <menu>Close</menu>
      <exit>Close</exit>
    </Harmony>
  </VideoOSD>
  <VideoMenu>
    <Harmony>
      <menu>OSD</menu>
      <prev>PreviousMenu</prev>
      <info>Info</info>
    </Harmony>
  </VideoMenu>
  <OSDVideoSettings>
    <Harmony>
      <prev>Close</prev>
      <menu>Close</menu>
    </Harmony>
  </OSDVideoSettings>
  <OSDAudioSettings>
    <Harmony>
      <prev>Close</prev>
      <menu>Close</menu>
      <exit>Close</exit>      
    </Harmony>
  </OSDAudioSettings>
  <VideoBookmarks>
    <Harmony>
      <prev>Close</prev>
      <menu>Close</menu>
      <exit>Close</exit>      
      <clear>Delete</clear>
    </Harmony>
  </VideoBookmarks>
  <MyVideoLibrary>
    <Harmony>
      <clear>Delete</clear>
      <enter>ToggleWatched</enter>
    </Harmony>
  </MyVideoLibrary>
  <MyVideoFiles>
    <Harmony>
    <clear>Delete</clear>
    </Harmony>
  </MyVideoFiles>
  <MyVideoPlaylist>
    <Harmony>
      <prev>Playlist</prev> <!-- Close playlist -->
      <clear>Delete</clear>
      <channelplus>MoveItemUp</channelplus>
      <channelminus>MoveItemDown</channelminus>
    </Harmony>
  </MyVideoPlaylist>
  <VirtualKeyboard>
    <Harmony>
      <prev>BackSpace</prev>
      <clear>Shift</clear>
      <enter>Symbols</enter>
      <zero>Number0</zero>
      <one>Number1</one>
      <two>Number2</two>
      <three>Number3</three>
      <four>Number4</four>
      <five>Number5</five>
      <six>Number6</six>
      <seven>Number7</seven>
      <eight>Number8</eight>
      <nine>Number9</nine>
      <rewind>CursorLeft</rewind>
      <forward>CursorRight</forward>
    </Harmony>
  </VirtualKeyboard>
  <MyPictures>
  </MyPictures>
  <ContextMenu>
    <Harmony>
      <prev>Close</prev>
    </Harmony>
  </ContextMenu>
  <FileStackingDialog>
    <Harmony>
      <prev>Close</prev>
    </Harmony>
  </FileStackingDialog>
  <Scripts>
    <Harmony>
      <info>XBMC.ActivateWindow(ScriptsDebugInfo)</info>
    </Harmony>
  </Scripts>
  <ScriptsDebugInfo>
    <Harmony>
      <info>Info</info> <!-- clears debug python info -->
    </Harmony>
  </ScriptsDebugInfo>
  <NumericInput>
    <Harmony>
      <zero>Number0</zero>
      <one>Number1</one>
      <two>Number2</two>
      <three>Number3</three>
      <four>Number4</four>
      <five>Number5</five>
      <six>Number6</six>
      <seven>Number7</seven>
      <eight>Number8</eight>
      <nine>Number9</nine>
      <prev>BackSpace</prev>
    </Harmony>
  </NumericInput>
  <Weather>
    <Harmony>
      <prev>PreviousMenu</prev>
    </Harmony>
  </Weather>
  <Settings>
    <Harmony>
      <prev>PreviousMenu</prev>
    </Harmony>
  </Settings>
  <MyPicturesSettings>
    <Harmony>
      <prev>PreviousMenu</prev>
    </Harmony>
  </MyPicturesSettings>
  <MyProgramsSettings>
    <Harmony>
      <prev>PreviousMenu</prev>
    </Harmony>
  </MyProgramsSettings>
  <MyWeatherSettings>
    <Harmony>
      <prev>PreviousMenu</prev>
    </Harmony>
  </MyWeatherSettings>
  <MyMusicSettings>
    <Harmony>
      <prev>PreviousMenu</prev>
    </Harmony>
  </MyMusicSettings>
  <SystemSettings>
    <Harmony>
      <prev>PreviousMenu</prev>
    </Harmony>
  </SystemSettings>
  <MyVideosSettings>
    <Harmony>
      <prev>PreviousMenu</prev>
    </Harmony>
  </MyVideosSettings>
  <NetworkSettings>
    <Harmony>
      <prev>PreviousMenu</prev>
    </Harmony>
  </NetworkSettings>
  <AppearanceSettings>
    <Harmony>
      <prev>PreviousMenu</prev>
    </Harmony>
  </AppearanceSettings>
  <Profiles>
    <Harmony>
      <prev>PreviousMenu</prev>
    </Harmony>
  </Profiles>
  <systeminfo>
    <Harmony>
      <prev>PreviousMenu</prev>
    </Harmony>
  </systeminfo>
  <shutdownmenu>
    <Harmony>
      <prev>PreviousMenu</prev>
    </Harmony>
  </shutdownmenu>
  <submenu>
    <Harmony>
      <prev>PreviousMenu</prev>
    </Harmony>
  </submenu>
  <MusicInformation>
    <Harmony>
      <prev>Close</prev>
    </Harmony>
  </MusicInformation>
  <MovieInformation>
    <Harmony>
      <prev>Close</prev>
    </Harmony>
  </MovieInformation>
  <LockSettings>
    <Harmony>
      <menu>Close</menu>
      <prev>PreviousMenu</prev>
    </Harmony>
  </LockSettings>
  <ProfileSettings>
    <Harmony>
      <menu>Close</menu>
      <prev>PreviousMenu</prev>
    </Harmony>
  </ProfileSettings>
  <PictureInfo>
    <Harmony>
      <skip>NextPicture</skip>
      <replay>PreviousPicture</replay>
      <info>Close</info>
      <prev>Close</prev>
    </Harmony>
  </PictureInfo>
</keymap>
Reply
#70
my hardware.conf
Code:
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="Apple Mac mini USB IR Receiver"
REMOTE_MODULES=""
REMOTE_DRIVER="macmini"
REMOTE_DEVICE=""
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="apple/lircd.conf.macmini"
REMOTE_LIRCD_ARGS=""

#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""

#Enable lircd
START_LIRCD="true"

#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"

# Default configuration files for your hardware if any
LIRCMD_CONF=""

#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""
Reply
#71
silvertim Wrote:Step 5 – Install lirc

Do this through the synaptic application in system/administration.

Search for lirc, and install it and the needed components. You don’t need to install the modules file if using the Plex setting on the Harmony remote (or for the Apple remote).

Open etc/lirc directory as root (sudo nautilus).
Replace the contents of hardware.conf file with this:

Code:
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="Apple Mac mini USB IR Receiver"
REMOTE_MODULES=""
REMOTE_DRIVER="macmini"
REMOTE_DEVICE="/dev/usb/hiddev0"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="apple/lircd.conf.harmony"
REMOTE_LIRCD_ARGS=""

#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""

#Enable lircd
START_LIRCD=true

#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="false"

# Default configuration files for your hardware if any
LIRCMD_CONF=""

#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""

Then, replace the contents of lircd.conf file with this:


Code:
begin remote

  name Harmony
  bits           32
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  gap          403981
  toggle_bit_mask 0x0
  
      begin codes
          LargeUp                  0x87EE9F0B
          LargeDown                0x87EE9F0D
          Aspect                   0x87EE9D0A
          Queue                    0x87EE9D0C
          Power                    0x87EE9D03
          Sleep                    0x87EE9A02
          Stop                     0x87EE9705
          FastRew                  0x87EEA00B
          FastFwd                  0x87EEA00D
          Play                     0x87EE9703
          Record                   0x87EE9B0C
          Prev                     0x87EE9A0B
          Next                     0x87EE9A0D
          Pause                    0x87EE9803
          Guide                    0x87EE9D05
          Info                     0x87EE990B
          Exit                     0x87EE9B0A
          Menu                     0x87EE9602
          Volume+                  0x87EE980A
          Volume-                  0x87EE980C
          Mute                     0x87EE9805
          Channel+                 0x87EE9E0A
          Channel-                 0x87EE9E0C
          Back                     0x87EE990D
          Up                       0x87EE960B
          Down                     0x87EE960D
          Left                     0x87EE9608
          Right                    0x87EE9607
          Ok                       0x87EE9604
          1                        0x87EE970A
          2                        0x87EE970C
          3                        0x87EE9709
          4                        0x87EE9706
          5                        0x87EE9809
          6                        0x87EE9806
          7                        0x87EE9908
          8                        0x87EE9907
          9                        0x87EE9A08
          0                        0x87EE9A07
          Clear                    0x87EE9A04
          Enter                    0x87EE9902
          Red                      0x87EE9F08
          Green                    0x87EE9F07
          Yellow                   0x87EE9F04
          Blue                     0x87EE9F02
          F1                       0x87EE9B09
          F2                       0x87EE9B06
          F3                       0x87EE9B05
          F4                       0x87EE9B03
          F5                       0x87EEA008
          F6                       0x87EEA007
          F7                       0x87EEA004
          F8                       0x87EEA002
          F9                       0x87EE9E09
          F10                      0x87EE9E06
          F11                      0x87EE9E05
          F12                      0x87EE9E03
          F13                      0x87EE9D09
          F14                      0x87EE9D06
      end codes

end remote
Navigate to usr/share/lirc/remotes/apple and copy the lircd.conf file into this folder, renaming it lircd.conf.harmony

Restart lirc with:

sudo /etc/init.d/lirc restart

lirc should shutdown OK and restart OK.

Then check the remote works by typing into terminal:

irw

You should see the commands come up with the name ‘harmony’ attached to them.

Awesome post, but I am a bit stuck! I am not using a full install of Ubuntu bat rather the XBMCLive install instead. After installing XBMCLive I followed your instructions I got as far as the end of step 5.

When I run irw I see the harmony commands displayed when I press the buttons on the remote.

One change - on my 2.53Ghz mini I had to change the following line to see the remote commands in irw:

Code:
REMOTE_DEVICE="/dev/usb/hiddev0"
became
Code:
REMOTE_DEVICE="/dev/usb/hiddev1"



silvertim Wrote:Step 6 – install XBMC as per instructions on site. Once installed, install the xbmc-standalone application from synaptic.

Run it once (using a keyboard), it will copy its system files into your home folder.

I am using the XBMCLive installation and I have no idea what the xbmc-standalone application is Undecided

silvertim Wrote:Step 7 – Getting xbmc to recognise the remote.

Navigate to your home folder (called ‘xbmc’ in my case).
Press ‘ctrl’ and ‘h’ keys together to reveal the hidden folders.
Open .xbmc/userdata

Create a file using gedit called Lircmap.conf. Within it place this:


Code:
<lircmap>
    <remote device="Harmony">
        <pause>Pause</pause>
        <stop>Stop</stop>
        <forward>FastFwd</forward>
        <reverse>FastRew</reverse>
        <left>Left</left>
        <right>Right</right>
        <up>Up</up>
        <down>Down</down>
        <select>Ok</select>
        <channelplus>Channel+</channelplus>
        <channelminus>Channel-</channelminus>
        <back>Back</back>
        <menu>Menu</menu>
        <play>Play</play>
        <info>Info</info>
        <skip>Next</skip>
        <replay>Previous</replay>
        <guide>Guide</guide>
        <exit>Exit</exit>
        <record>Record</record>
        <volumeplus>Volume+</volumeplus>
        <volumeminus>Volume-</volumeminus>
        <mute>Mute</mute>
        <power>Power</power>
        <largeup>LargeUp</largeup>
        <largedown>LargeDown</largedown>
        <sleep>Sleep</sleep>
        <aspect>Aspect</aspect>
            <queue>Queue</queue>
            <one>1</one>
        <two>2</two>
        <three>3</three>
        <four>4</four>
        <five>5</five>
        <six>6</six>
        <seven>7</seven>
        <eight>8</eight>
        <nine>9</nine>
        <zero>0</zero>
        <red>Red</red>
        <green>Green</green>
        <yellow>Yellow</yellow>
        <blue>Blue</blue>
            <enter>Enter</enter>
            <clear>Clear</clear>
            <F1>F1</F1>
        <F2>F2</F2>
        <F3>F3</F3>
        <F4>F4</F4>
        <F5>F5</F5>
        <F6>F6</F6>
        <F7>F7</F7>
        <F8>F8</F8>
        <F9>F9</F9>
        <F10>F10</F10>
        <F11>F11</F11>
        <F12>F12</F12>
        <F13>F13</F13>
            <F14>F14</F14>
        </remote>
</lircmap>




Run xbmc to check it all works.

Note:
The default setting on this remote seems to send three (or so) signals every time. Reduce this in the Logitech remote settings software to work better.

I followed these steps but when I use the remote in XBMC nothing happens. Am I missing files that the synaptic install puts in?

Thanks again for a great summary though - for a total linux newbie like myself I found it very helpful Big Grin
Reply
#72
I had problems with getting xbmc to recognise the commands received and shown by "irw".

Make sure that the name of the remote shown by irw exactly matches that in the Lircmap.xml file.

Also make sure that Lircmap file is in the correct place. this is not in the usr/share/xbmc/userdata folder but "home"/.xbmc/userdata.

Otherwise I have no experience in xbmc live but can't believe that there would be much difference.

NB.
The xbmc-standalone programme is for full xbmc install in Ubuntu. It prevents the GUI of ubuntu from loading and goes straight into xbmc, meaning a quicker load and less resource used. I guess it is not necessary in xbmc live install.

Also tried to get wake from suspend using an ir remote. There is an explanation here:

http://wiki.xbmc.org/?title=Enable_Wake-On-Device

Problem is... once the USB ports are active to allow wake from suspend, the mini wakes immediately rather than from any mouse/keyboard movement. As for getting the remote (which according to lirc is a USB receiver on the mini) to do this... no success yet.
Would be great if anyone else has an answer.
Reply
#73
Hi - thanks for the reply and PM Wink

I tried for ages to get it working but to no avail. I definitely put the Lircmap in the right place but still nothing.

I was also unsuccessful in getting resume to work from the remote with the internal IR reciever. It appears the internal receiver is USB2.0 and enabling that had the mini waking up the instant it went to sleep (the same as you had)
I suspect to get this to work is going to be very tricky....

I opted for an external MCE receiver and remote which works out of the box with XBMC-Live. Only problem now is that ANY IR signal (from any remote!) will wake up the mini :-( Which is a bit of a pain Shocked
Reply
#74
Any news on getting the mini to wake up from standby with the apple remote or are there any news at the hold functionality of the Apple Remote?

It kind of sucks if you have to use the keyboard to update the library since the "hold menu button" doesn't bring up the context menu.

Also the mini doesn't wake up when using the Apple Remote. Though it wakes up when using the apple wireless keyboard or ANY other remote (which is kinda annoying).
Reply
#75
So is it even possible to get the long button presses working? I have a 2010 Mac mini with builtin IR receiver and the alu apple remote.

All the 7 single button presses work in irw (although play/pause does the same as OK button) and XBMC.

Are the buttons id's in keymap same in Linux and OSX?

Also resume from suspend won't work, but the ir receiver doesn't seem to show up in /proc/acpi/wakeup so i don't know if there's much to do about it.
Reply

Logout Mark Read Team Forum Stats Members Help
[LINUX] Anyone tried XBMC for Linux on the new Mac Mini with NVIDIA 9400 graphics?0