# Plex Home Theater for Arch Linux

**URL:** <https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830>\
**Category:** Apps & Creations\
**Created:** [November 25, 2013, 10:59am UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830 "2013-11-25T10:59:44Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![alucryd](https://avatars.discourse-cdn.com/v4/letter/a/8c91f0/32.png) [@alucryd](https://forums.plex.tv/u/alucryd)\
**Post date:** [November 25, 2013, 10:59am UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/1 "2013-11-25T10:59:44Z")

</div>

There you go, PKGBUILDs for PHT are now in good shape and unofficial builds are rolling out!

&nbsp;

**Packages**

&nbsp;

plex-home-theater is available in the official [community] repository. ~~There is also a git package in the AUR, nightly builds for this one are available in the unofficial repository below.~~

- [community]: [plex-home-theater](https://www.archlinux.org/packages/community/x86_64/plex-home-theater/)

- ~~AUR: [plex-home-theater-git](https://aur.archlinux.org/packages/plex-home-theater-git/)~~

~~**Unofficial repository**~~

&nbsp;

~~Add the following lines above official repos in '/etc/pacman.conf'.~~

```
[alucryd]
SigLevel = Optional
Server = http://pkgbuild.com/~alucryd/$repo/$arch
```

Edit: Nuked the git package, github is only updated all at once when there's a release, making it useless.

---

<div class="post-metadata">

**Author:** ![RandomTask83](https://avatars.discourse-cdn.com/v4/letter/r/8c91f0/32.png) [@RandomTask83](https://forums.plex.tv/u/RandomTask83)\
**Post date:** [November 25, 2013, 11:37am UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/2 "2013-11-25T11:37:44Z")

</div>

You are just a hero, congrats and keep doing this good work!

---

<div class="post-metadata">

**Author:** ![ziggimon](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/ziggimon/32/305_2.png) [@ziggimon](https://forums.plex.tv/u/ziggimon)\
**Post date:** [November 25, 2013, 1:26pm UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/3 "2013-11-25T13:26:10Z")

</div>

FYI: I linked to this post from this thread in the official Plex Home theater forum: [https://forums.plexapp.com/index.php/topic/87253-linux-builds/?p=505687](https://forums.plexapp.com/index.php/topic/87253-linux-builds/?p=505687)  
  
  
- Mark

---

<div class="post-metadata">

**Author:** ![mkrusen](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/mkrusen/32/7742_2.png) [@mkrusen](https://forums.plex.tv/u/mkrusen)\
**Post date:** [November 25, 2013, 6:36pm UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/4 "2013-11-25T18:36:48Z")

</div>

Arch Linux is the best! Thanks for this!

---

<div class="post-metadata">

**Author:** ![mkrusen](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/mkrusen/32/7742_2.png) [@mkrusen](https://forums.plex.tv/u/mkrusen)\
**Post date:** [November 25, 2013, 9:19pm UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/5 "2013-11-25T21:19:35Z")

</div>

I was able to get my HTPC running plexhometheater standalone after installing just a base arch install + video drivers + xorg server + plex-home-theater-git.

Edit /etc/X11/xinit/xinitrc to comment out default commands and add my own:

```
vi /etc/X11/xinit/xinitrc
```

```
#twm &
#xclock -geometry 50x50-1+1 &
#xterm -geometry 80x50+494+51 &
#xterm -geometry 80x20+494-0 &
#exec xterm -geometry 80x66+0+0 -name login
export XBMC_HOME=/usr/share/plexhometheater
exec plexhometheater --standalone
```

Then create a new systemd service to startx at boot:&nbsp;

```
vi /usr/lib/systemd/system/plexhometheater.service
```

```
[Unit]
Description=Start X and plexhometheater --standalone

[Install]  
WantedBy=multi-user.target

[Service]  
Type=oneshot  
ExecStart=/usr/bin/startx
```

```
systemctl enable plexhometheater.service
```

May not be the best way to go about this, but it is working.

&nbsp;

---

<div class="post-metadata">

**Author:** ![alucryd](https://avatars.discourse-cdn.com/v4/letter/a/8c91f0/32.png) [@alucryd](https://forums.plex.tv/u/alucryd)\
**Post date:** [November 26, 2013, 9:24am UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/6 "2013-11-26T09:24:52Z")

</div>

I'm doing that with slightly different .xinitrc and service files on my desktop, so that plex runs on tty2 on the TV screen, and I still can use my desktop for everything else :)

---

<div class="post-metadata">

**Author:** ![RandomTask83](https://avatars.discourse-cdn.com/v4/letter/r/8c91f0/32.png) [@RandomTask83](https://forums.plex.tv/u/RandomTask83)\
**Post date:** [November 26, 2013, 11:03am UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/7 "2013-11-26T11:03:11Z")

</div>

> I'm doing that with slightly different .xinitrc and service files on my desktop, so that plex runs on tty2 on the TV screen, and I still can use my desktop for everything else :)

  
Please share if you don't mind

---

<div class="post-metadata">

**Author:** ![alucryd](https://avatars.discourse-cdn.com/v4/letter/a/8c91f0/32.png) [@alucryd](https://forums.plex.tv/u/alucryd)\
**Post date:** [November 26, 2013, 11:18am UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/8 "2013-11-26T11:18:30Z")

</div>

Here is the service file, you need to have a functional "systemctl --user" for this to work (see arch systemd wiki for this, you need to modify systemd-user.pam iirc). The service file then needs to be placed in "~/.config/systemd/user/plex@service", you can start plex by issuing "systemctl --user start plex@tty2" for example. Keep in mind that it is not meant for autostarting plex, rather it is a more convenient way of switching to tty2, logging as my user and launching startx or xinit on it.

```
[Unit]
Description=Launch Plex Home Theater on %I

[Service]  
ExecStart=/usr/bin/xinit plex  
TTYPath=/dev/%I  
TTYReset=yes  
TTYVHangup=yes  
TTYVTDisallocate=yes
```

As for .xinitrc, here is the plex part:

```
#!/bin/sh

if [-d /etc/X11/xinit/xinitrc.d]; then  
for f in /etc/X11/xinit/xinitrc.d/\*; do  
[-x “$f”] && . “$f”  
done  
unset f  
fi

if [[$1 == plex]]; then  
/usr/bin/xrandr --output DVI-I-1 --off --output HDMI-0 --auto  
export XBMC\_HOME=/usr/share/plexhometheater  
exec /usr/bin/plexhometheater  
fi
```

---

<div class="post-metadata">

**Author:** ![puithove](https://avatars.discourse-cdn.com/v4/letter/p/bc79bd/32.png) [@puithove](https://forums.plex.tv/u/puithove)\
**Post date:** [December 2, 2013, 1:35pm UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/9 "2013-12-02T13:35:20Z")

</div>

Would love to see PHT in the official Arch repos.

---

<div class="post-metadata">

**Author:** ![DrifterDave](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/drifterdave/32/9018_2.png) [@DrifterDave](https://forums.plex.tv/u/DrifterDave)\
**Post date:** [December 31, 2013, 10:48pm UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/10 "2013-12-31T22:48:18Z")

</div>

I got a differant .service file working. Also allows for running plex as plex instead of root.

```
[Unit]
Description=Start X and plexhometheater --standalone

[Install]  
WantedBy=multi-user.target

[Service]  
User=plex  
Group=plex  
Type=simple  
Environment=“XBMC\_HOME=/usr/share/plexhometheater”  
Restart=on-abort  
ExecStart=/usr/bin/xinit /usr/bin/plexhometheater --standalone – :0 -nolisten tcp
```

This of course requires the plex user to be added and given the correct groups:

```
groupadd plex
useradd -d /usr/share/plexhometheater -g plex -s /bin/nologin plex
usermod -a -G plex,audio,video,power,network,optical,storage,disk,uucp,lock plex
```

If you have already have pht set up, you will also need to move the .plexht folder from the home directory into the plex user home directory "/usr/share/plexhometheater"

---

<div class="post-metadata">

**Author:** ![DrifterDave](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/drifterdave/32/9018_2.png) [@DrifterDave](https://forums.plex.tv/u/DrifterDave)\
**Post date:** [January 1, 2014, 1:13am UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/11 "2014-01-01T01:13:21Z")

</div>

> I got a differant .service file working. Also allows for running plex as plex instead of root.
> 
> ```
> [Unit]
> Description=Start X and plexhometheater --standalone
> 
> [Install]  
> WantedBy=multi-user.target
> 
> [Service]  
> User=plex  
> Group=plex  
> Type=simple  
> Environment=“XBMC\_HOME=/usr/share/plexhometheater”  
> Restart=on-abort  
> ExecStart=/usr/bin/xinit /usr/bin/plexhometheater --standalone – :0 -nolisten tcp
> ```
> 
> This of course requires the plex user to be added and given the correct groups:
> 
> ```
> groupadd plex
> useradd -d /usr/share/plexhometheater -g plex -s /bin/nologin plex
> usermod -a -G plex,audio,video,power,network,optical,storage,disk,uucp,lock plex
> ```
> 
> If you have already have pht set up, you will also need to move the .plexht folder from the home directory into the plex user home directory "/usr/share/plexhometheater"

Although... This doesnt allow for shuting the box off with the "Shut Down" option in the interface (or suspending for that matter). I am not sure how to acheive that.... Anyone with more experience with systemd have any ideas?

---

<div class="post-metadata">

**Author:** ![zAo](https://avatars.discourse-cdn.com/v4/letter/z/ce7236/32.png) [@zAo](https://forums.plex.tv/u/zAo)\
**Post date:** [January 8, 2014, 3:31pm UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/12 "2014-01-08T15:31:01Z")

</div>

Thanks alucryd!

---

<div class="post-metadata">

**Author:** ![alucryd](https://avatars.discourse-cdn.com/v4/letter/a/8c91f0/32.png) [@alucryd](https://forums.plex.tv/u/alucryd)\
**Post date:** [January 8, 2014, 4:59pm UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/13 "2014-01-08T16:59:52Z")

</div>

> Although... This doesnt allow for shuting the box off with the "Shut Down" option in the interface (or suspending for that matter). I am not sure how to acheive that.... Anyone with more experience with systemd have any ideas?

I don't believe pht uses systemd to handle this. I'll have a look at this later if it's within my abilities.

> Thanks alucryd!

My pleasure!

---

<div class="post-metadata">

**Author:** ![brando56894](https://avatars.discourse-cdn.com/v4/letter/b/b9e5f3/32.png) [@brando56894](https://forums.plex.tv/u/brando56894)\
**Post date:** [January 17, 2014, 5:02am UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/14 "2014-01-17T05:02:58Z")

</div>

Any chance that we could get an ARM build of this? I'd love to run it on my Odroid-u2 running Arch Linux ARM.

---

<div class="post-metadata">

**Author:** ![alucryd](https://avatars.discourse-cdn.com/v4/letter/a/8c91f0/32.png) [@alucryd](https://forums.plex.tv/u/alucryd)\
**Post date:** [January 17, 2014, 10:09am UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/15 "2014-01-17T10:09:10Z")

</div>

> Any chance that we could get an ARM build of this? I'd love to run it on my Odroid-u2 running Arch Linux ARM.

Nope, you'll have to build it yourself. I have no ARM build machine.

---

<div class="post-metadata">

**Author:** ![brando56894](https://avatars.discourse-cdn.com/v4/letter/b/b9e5f3/32.png) [@brando56894](https://forums.plex.tv/u/brando56894)\
**Post date:** [January 17, 2014, 4:12pm UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/16 "2014-01-17T16:12:35Z")

</div>

Ah ok, I'll have to wait until my motherboard comes in because I'll be damned if I'm compiling this on my Chromebook or my Odroid lol

---

<div class="post-metadata">

**Author:** ![Realfolkblues](https://avatars.discourse-cdn.com/v4/letter/r/aeb1de/32.png) [@Realfolkblues](https://forums.plex.tv/u/Realfolkblues)\
**Post date:** [March 7, 2014, 7:47am UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/17 "2014-03-07T07:47:40Z")

</div>

> Although... This doesnt allow for shuting the box off with the "Shut Down" option in the interface (or suspending for that matter). I am not sure how to acheive that.... Anyone with more experience with systemd have any ideas?

useradd -m -g users -G power, -s /bin/bash plex

---

<div class="post-metadata">

**Author:** ![zAo](https://avatars.discourse-cdn.com/v4/letter/z/ce7236/32.png) [@zAo](https://forums.plex.tv/u/zAo)\
**Post date:** [March 22, 2014, 11:12pm UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/18 "2014-03-22T23:12:46Z")

</div>

On both the stable and the git version I got this a lot (intel i915) and it takes forever to load. Do more people have this?

```
00:09:29 T:140429429245696 WARNING: FillBuffer: Reconnect, (re)try 1
00:11:06 T:140429420852992  NOTICE: Thread CFileCache start, auto delete: false
00:11:06 T:140429446031104 WARNING: Read - waited for data but got none
```

---

<div class="post-metadata">

**Author:** ![alucryd](https://avatars.discourse-cdn.com/v4/letter/a/8c91f0/32.png) [@alucryd](https://forums.plex.tv/u/alucryd)\
**Post date:** [March 23, 2014, 3:36pm UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/19 "2014-03-23T15:36:15Z")

</div>

> On both the stable and the git version I got this a lot (intel i915) and it takes forever to load. Do more people have this?
> 
> ```
> 00:09:29 T:140429429245696 WARNING: FillBuffer: Reconnect, (re)try 1
> 00:11:06 T:140429420852992  NOTICE: Thread CFileCache start, auto delete: false
> 00:11:06 T:140429446031104 WARNING: Read - waited for data but got none
> ```

Can't reproduce here on my desktop and laptop, nvidia and intel, but the error message doesn't seem graphics related. Don't know what's hitting you unfortunately.

In fact 1.0.12 is smoother than any earlier revision for me, so I pushed it in [community]. Ended up putting everything in /opt, even though I don't like it, we had another package like this added recently and it doesn't seem to be frowned upon that much.

---

<div class="post-metadata">

**Author:** ![zAo](https://avatars.discourse-cdn.com/v4/letter/z/ce7236/32.png) [@zAo](https://forums.plex.tv/u/zAo)\
**Post date:** [March 23, 2014, 3:49pm UTC](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830/20 "2014-03-23T15:49:54Z")

</div>

Hmm. Strange. All other clients can play from my PMS, except this one. It will try to buffer, but failes after ~20 seconds and quits to the menu.

Complete log:

```
16:45:18 T:139768568461056  NOTICE: Creating Demuxer
16:45:18 T:139768517895936  NOTICE: Thread CFileCache start, auto delete: false
16:45:36 T:139770156005120 WARNING: Read - waited for data but got none
16:45:48 T:139768568461056 WARNING: Previous line repeats 2 times.
16:45:48 T:139768568461056   ERROR: Open - Error, could not open file plexserver://332b469067bdc23b27845ff495f321a8407da74e/library/parts/1242/file.m4v
16:45:48 T:139768568461056   ERROR: OpenDemuxStream - Error creating demuxer
16:45:48 T:139768568461056  NOTICE: CDVDPlayer::OnExit()
16:45:48 T:139768568461056  NOTICE: CDVDPlayer::OnExit() deleting input stream
16:46:05 T:139768576853760  NOTICE: Thread Jobworker start, auto delete: true
16:46:09 T:139770331019008 WARNING: Read - waited for data but got none
16:46:15 T:139770339411712 WARNING: FillBuffer: curl [192.168.178.20:32400/library/arts?X-Plex-Token=SECRETSTUFF] failed with code 28
16:46:15 T:139770339411712 WARNING: FillBuffer: Reconnect, (re)try 1
16:46:16 T:139770172790528 WARNING: FillBuffer: curl [192.168.178.20:32400/library/sections/2/recentlyAdded?unwatched=1&X-Plex-Token=SECRETSTUFF] failed with code 28
16:46:16 T:139770172790528 WARNING: FillBuffer: Reconnect, (re)try 1
16:46:16 T:139770164397824 WARNING: FillBuffer: curl [192.168.178.20:32400/library/sections/2/onDeck?X-Plex-Token=SECRETSTUFF] failed with code 28
16:46:16 T:139770164397824 WARNING: FillBuffer: Reconnect, (re)try 1
16:46:16 T:139768797046528 WARNING: FillBuffer: curl [192.168.178.20:32400/library/sections/2/arts?X-Plex-Token=SECRETSTUFF] failed with code 28
16:46:16 T:139768797046528 WARNING: FillBuffer: Reconnect, (re)try 1
16:46:16 T:139768938604288 WARNING: FillBuffer: curl [192.168.178.20:32400/library/sections/1/recentlyAdded?unwatched=1&X-Plex-Token=SECRETSTUFF] failed with code 28
16:46:16 T:139768938604288 WARNING: FillBuffer: Reconnect, (re)try 1
16:46:16 T:139770164397824 WARNING: CPlexDirectory::ReadMediaContainer root name MediaContainer
16:46:16 T:139770147612416 WARNING: Previous line repeats 1 times.
16:46:16 T:139770147612416 WARNING: FillBuffer: curl [192.168.178.20:32400/library/arts?X-Plex-Token=SECRETSTUFF] failed with code 28
16:46:16 T:139770147612416 WARNING: FillBuffer: Reconnect, (re)try 1
16:46:16 T:139768788653824 WARNING: FillBuffer: curl [192.168.178.20:32400/photo/:/transcode?height=320&url=http%3a%2f%2f127.0.0.1%3a32400%2f%3a%2fplugins%2fcom.plexapp.plugins.bringthepopcorn%2fresources%2ficon-default.png%3ft%3d1387342576&width=320&X-Plex-Token=SECRETSTUFF] failed with code 28
16:46:16 T:139768788653824 WARNING: FillBuffer: Reconnect, (re)try 1
```

Any ideas? Thanks&nbsp;alucryd

[Next page](https://forums.plex.tv/t/plex-home-theater-for-arch-linux/47830.md?page=2)
