Jump to content

Set emby Theater as shell


danswan
Go to solution Solved by mellomade,

Recommended Posts

danswan

Great work on the new Emby client, it's good enough for us to ditch windows 7 and we've made the move. Obviously there's a few features still missing but I'm sure they will come in time.

 

My question is this - my HTPC isn't used for anything except emby, so I want to boot straight into the client, however when I set it as the windows shell for my users it doesn't load properly, it boots into the client but I just get a blank screen. I know my registry setting is right as when I start explorer Emby theatre is there, just not loaded correctly. I'm wondering if emby requires some part of explorer.exe to load correctly, as when explorer is running it loads fine??

 

Anyone else tried to set ET as the windows shell?

Link to comment
Share on other sites

danswan

I've seen other threads about black screens, not sure if this is related or not. Appreciate this is just a small thing but it does detract from the overall HTPC experience watching it boot to explorer and then waiting for emby to load. Any ideas?

Link to comment
Share on other sites

danswan

Update on this- it's a local issue on one machine only. Ive tested on another pc and it boots to ET fine without explorer loading. The 'working' machine is an intel i5 with nividia gfx, the one which doesn't work is an amd fm2 a8 APU system.

 

I'm not sure what to look for here, any thoughts?

Link to comment
Share on other sites

danswan

Yes, no problem. It's just a simple change in the registry. 

 

Add a key in HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\Winlogon as below:

569ce1dc6f259_2016011812_58_25RegistryEd

 

When windows boots to this user account, it will use (or attempt to use in my case) ET as the shell program and explorer won't load. You can get explorer back by opening task manager via Ctrl+Shift+Escape and starting explorer.exe as a new task.

 

My problem is that ET just stops at a black screen on this one machine. I'm eager to know why, but have hit a brick wall after updating all drivers etc, so any suggestions gratefully received. 

  • Like 5
Link to comment
Share on other sites

  • 2 weeks later...
danswan

Still not able to get this to work on my HTPC. Any clever people able to suggest why this could be?

Link to comment
Share on other sites

Jdiesel

What isn't working with it? When I was running ET as a shell I would frequently get ET showing only a black screen. Try running eventghost as a shell with a profile to start ET. This worked well for me.

 

My thought is that a window, of any kind, must be drawn on the screen first to enable DWM before Emby will load properly.

Edited by Jdiesel
Link to comment
Share on other sites

What isn't working with it? When I was running ET as a shell I would frequently get ET showing only a black screen. Try running eventghost as a shell with a profile to start ET. This worked well for me.

 

My thought is that a window, of any kind, must be drawn on the screen first to enable DWM before Emby will load properly.

 

or maybe your network hadn't loaded yet

Link to comment
Share on other sites

Jdiesel

or maybe your network hadn't loaded yet

I made a script that waited 15 seconds then launched ET, still no luck.

 

For whatever reason bringing up the task manager and re-launching ET worked everytime. I may revisit this now that changes have been made to DWM detection.

Link to comment
Share on other sites

danswan

What isn't working with it? When I was running ET as a shell I would frequently get ET showing only a black screen. Try running eventghost as a shell with a profile to start ET. This worked well for me.

 

My thought is that a window, of any kind, must be drawn on the screen first to enable DWM before Emby will load properly.

 

Same as you describe Jdiesel, it launches to a black screen, opening task manager and killing and then reloading it makes it work every time. What's strange about this is it works fine on one PC but not on the other, so I know there's something I can do to get it to work. The one that's working is Windows 7, Intel 2500k with Nvidia graphics. My HTPC is running Windows 10, with an AMD FM2 APU, and this one won't load Emby as a Shell. Both machines are wired directly into the same network. 

 

 

or maybe your network hadn't loaded yet

 

Windows 10 does load remarkably fast, so I guess this is a possibility, although from Jdiesel's comments above I'm not sure. I'll have a mess around slowing things down tonight and see how I get on. 

Link to comment
Share on other sites

Jdiesel

I've tried will both Win7 and Win10 on the same PC, both had black screens. Eventghost works great though.

Link to comment
Share on other sites

danswan

I've never really used eventghost, I had a look at it a while back though. Is it just a case of setting eventghost as shell, and configuring it to launch emby when it starts?

Link to comment
Share on other sites

  • Solution
mellomade

The most straight-forward way I have found to run any program as a shell is to use the 'Custom User Interface' function in the Group Policy Editor.  Just go to:

 

1.  Start - Run and type 'gpedit.msc' and enter. 

2.  Select the folder 'System' from User Configuration - Administrative Templates. 

3.  In the settings list you will find 'Custom User Interface' - double click this. 

4.  Select 'Enabled' and in the interface file path name enter the entire path as referenced above to Emby Theater. 

5.  Restart.

 

EDIT - on a side note - I often have needed additional apps to run along side Theater - such as MCE Controller, etc.  In order to have everything start at autologin - I have used AutoHotKey to create a single exe that will run all the apps I need at start.  Then you can just point the above file path to the exe generated from AutoHotKey.

Edited by mellomade
  • Like 2
Link to comment
Share on other sites

danswan

Not at home to test - does this work differently though? i.e. is this not just another way to achieve the same thing as via a registry edit?

Link to comment
Share on other sites

mellomade

No - this is not the same - it is the method Microsoft intended for using PCs as kiosks.  I just try avoid registry hacks whenever possible - timing and OS dependencies can mess with the performance/reliability of hacks like this.

Link to comment
Share on other sites

danswan

Cracking! I've never heard of this method, and have been googling for weeks. Works a treat, thanks!

Link to comment
Share on other sites

danswan

Alas I spoke too soon. All was good until I noticed the latest update hadn't arrived, which I suspect wont happen without explorer running? Started explorer and ran ET manually, which brought the latest update 1.0.41. Then on reboot straight to ET as shell it is back to a black screen again. This has worked well for the last 2 days until this update, so I guess something must have changed?

Edited by danswan
Link to comment
Share on other sites

MK_Happy

I dont know if I am having a similar issue, i am not running ET in Shell but running in full screen, my HTPC is set to Never sleep and Never turn screen off as I run this off my TV when i finish i just turn everything off, I notice that when I boot everything up and it gets to my HTPC ET is no longer in full screen but a portion of the screen and then need to manually use a mouse to expand the screen. Not sure what changes here.

Link to comment
Share on other sites

mellomade

Alas I spoke too soon. All was good until I noticed the latest update hadn't arrived, which I suspect wont happen without explorer running? Started explorer and ran ET manually, which brought the latest update 1.0.41. Then on reboot straight to ET as shell it is back to a black screen again. This has worked well for the last 2 days until this update, so I guess something must have changed?

 

That is hard to say - with the way the team is hosting dependencies remotely rather than locally there might be issues with the timing of the network downloads relative to your startup.  These shell methods are designed to run a single self-contained exe - so if other dependencies are not loaded at boot then you'd have to do it manually (as I mentioned previously with AutoHotKey).  Otherwise waiting until there is a beta release that is self contained will likely provide better performance......I don't know.

Link to comment
Share on other sites

Vidman

I dont know if I am having a similar issue, i am not running ET in Shell but running in full screen, my HTPC is set to Never sleep and Never turn screen off as I run this off my TV when i finish i just turn everything off, I notice that when I boot everything up and it gets to my HTPC ET is no longer in full screen but a portion of the screen and then need to manually use a mouse to expand the screen. Not sure what changes here.

Generally with a windows PC you need to make sure it is the last device turned on and the first device turned off otherwise it will sense the loss of the default screen/audio devices and reset to it's own defaults, resulting in the issue you are seeing, try making sure you turn every thing off in the order I suggested and see if you problem persists Edited by Vidman
Link to comment
Share on other sites

danswan

That is hard to say - with the way the team is hosting dependencies remotely rather than locally there might be issues with the timing of the network downloads relative to your startup.  These shell methods are designed to run a single self-contained exe - so if other dependencies are not loaded at boot then you'd have to do it manually (as I mentioned previously with AutoHotKey).  Otherwise waiting until there is a beta release that is self contained will likely provide better performance......I don't know.

Thanks. It's actually inconsistent now, sometimes works and sometimes doesn't. I would imagine running in this way is desirable for a large proportion of ET users, so might be nice to get some dev feedback on this?

Link to comment
Share on other sites

danswan

Just a little update. On cold boot, it does seem to work, but on restart it doesn't so it seems that it is surely a timing issue on this machine. What's a good way of slowing down the loading of Emby Theater by a few seconds?

Link to comment
Share on other sites

Jdiesel

You can try delaying the startup using this script:

@echo off
 ping localhost -n 15 > nul
 start /b "" /d"C:\Users\*****\AppData\Roaming\Emby Theater" Emby.Theater.exe

Enter it into notepad, save it as a .bat file and set it as your shell rather then the ET executable. The delay is in seconds, in this case 15 seconds. You can also start multiple applications by adding additional lines.

Edited by Jdiesel
  • Like 1
Link to comment
Share on other sites

danswan

You can try delaying the startup using this script:

 

@echo off
 ping localhost -n 15 > nul
 start /b "" /d"C:\Users\*****\AppData\Roaming\Emby Theater" Emby.Theater.exe
Enter it into notepad, save it as a .bat file and set it as your shell rather then the ET executable. The delay is in seconds, in this case 15 seconds. You can also start multiple applications by adding additional lines.

I'll give that a go. Thanks Jdiesel.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...