SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV Github Development

Notices

SageTV Github Development Discussion related to SageTV Open Source Development. Use this forum for development topics about the Open Source versions of SageTV, hosted on Github.

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 10-31-2017, 08:36 AM
bryanzim bryanzim is offline
Sage User
 
Join Date: Feb 2008
Location: VA
Posts: 32
VS2017 64Bit Build

So I had a little bit of time and wanted to take a stab again and producing a 64 bit version of SageTV. I have a completely compiling source tree except for third_party\SageTV-LPGL\Pushreader. A 64 bit version of this library is needed for successful build of the solution.

I was unable to compile with MinGW for lack of a config.h file in the third_party\ffmpeg folder.

Does anyone have any ideas about this and maybe it should be looked into to update ffmpeg also?

Will also need a 64 bit build of the jar files. I am using the 8.0.1620.1 JDK.

Last edited by bryanzim; 10-31-2017 at 08:40 AM.
Reply With Quote
  #2  
Old 10-31-2017, 03:21 PM
JustFred JustFred is offline
Sage Aficionado
 
Join Date: May 2015
Location: Sunnyvale, Ca
Posts: 394
".. And The Heavens Rejoice .."

Well, at the very least, I'm certainly happy to see this.

Q1: I'm assuming that once they're pulled into the repo, all the .sln and .vcxproj files will be updated for the 64-bit build. Can developers continue to use VS2015, or will VS2017 be required at that point?

Q2: Will it still be possible to build 32-bit binaries? Is this the end of the road for 32-bit and/or XP? Personally, I won't shed any tears for the loss of either of them, but others may feel differently.
__________________
System #1: Win7-64, Core2-Quad Q9400, 8 GB Mem, 4TB HD. Java-64 1.8.0_141. Sage-64 v9.2.1 ATSC: 2x HDHR-US (1st gen white) tuners. HD-200.
System #2: Win7-64, I7-920, 8 GB Mem, 2TB HD. Java 1.8.0_131. Sage v9.1.6.747. ClearQAM: 2x HDHR3-US tuners. HD-200.
System #3: Win7-64, I7-920, 12 GB Mem, 4TB HD. Java-64 1.8.0_141. Sage-64 v9.2.1 ATSC: 2x HVR2250; Spectrum Cable via HDPVR & USB-UIRT. 3x HD-200.
Reply With Quote
  #3  
Old 10-31-2017, 03:33 PM
tmiranda's Avatar
tmiranda tmiranda is offline
SageTVaholic
 
Join Date: Jul 2005
Location: Central Florida, USA
Posts: 5,790
Quote:
Originally Posted by bryanzim View Post
So I had a little bit of time and wanted to take a stab again and producing a 64 bit version of SageTV. I have a completely compiling source tree except for third_party\SageTV-LPGL\Pushreader. A 64 bit version of this library is needed for successful build of the solution.

I was unable to compile with MinGW for lack of a config.h file in the third_party\ffmpeg folder.

Does anyone have any ideas about this and maybe it should be looked into to update ffmpeg also?

Will also need a 64 bit build of the jar files. I am using the 8.0.1620.1 JDK.
My hero

I was working on it but there were sooooo many errors and warnings I never made it through them all.

You can use the jar from the linux build.
__________________

Sage Server: 8th gen Intel based system w/32GB RAM running Ubuntu Linux, HDHomeRun Prime with cable card for recording. Runs headless. Accessed via RD when necessary. Four HD-300 Extenders.
Reply With Quote
  #4  
Old 10-31-2017, 07:57 PM
jusjoken jusjoken is offline
Sage Icon
 
Join Date: Dec 2005
Location: Minneapolis MN
Posts: 2,154
Quote:
Originally Posted by bryanzim View Post
So I had a little bit of time and wanted to take a stab again and producing a 64 bit version of SageTV. I have a completely compiling source tree except for third_party\SageTV-LPGL\Pushreader. A 64 bit version of this library is needed for successful build of the solution.

I was unable to compile with MinGW for lack of a config.h file in the third_party\ffmpeg folder.

Does anyone have any ideas about this and maybe it should be looked into to update ffmpeg also?

Will also need a 64 bit build of the jar files. I am using the 8.0.1620.1 JDK.
Another developer very interested. I am assuming the installer would also need some work to support both.

Let me know when you are ready to share and i will help out with the installer side... sorry i cannot help with the questions.

k
Reply With Quote
  #5  
Old 11-01-2017, 06:07 AM
wayner wayner is offline
SageTVaholic
 
Join Date: Jan 2008
Location: Toronto, ON
Posts: 6,537
Quote:
Originally Posted by JustFred View Post
Q2: Will it still be possible to build 32-bit binaries? Is this the end of the road for 32-bit and/or XP? Personally, I won't shed any tears for the loss of either of them, but others may feel differently.
One reason I can think of for keeping 32 bit is firewire tuning as some people use that and the drivers only work with 32 bit systems in Windows. But that will likely fade over time as fewer cable boxes will support firewire.
__________________
New Server - Sage9 on unRAID 2xHD-PVR, HDHR for OTA
Old Server - Sage7 on Win7Pro-i660CPU with 4.6TB, HD-PVR, HDHR OTA, HVR-1850 OTA
Clients - 2xHD-300, 8xHD-200 Extenders, Client+2xPlaceshifter and a WHS which acts as a backup Sage server
Reply With Quote
  #6  
Old 11-01-2017, 09:10 AM
SHS's Avatar
SHS SHS is offline
Moderator
 
Join Date: Mar 2003
Location: Vinita, Oklahoma
Posts: 4,374
Quote:
Originally Posted by wayner View Post
One reason I can think of for keeping 32 bit is firewire tuning as some people use that and the drivers only work with 32 bit systems in Windows. But that will likely fade over time as fewer cable boxes will support firewire.
Have you try this ? wayner.
https://blogs.msdn.microsoft.com/usb...ewire-package/
Reply With Quote
  #7  
Old 11-01-2017, 09:19 AM
btrcp2000 btrcp2000 is offline
Sage Fanatic
 
Join Date: Aug 2007
Posts: 842
I have no skills to help with development, but would be willing to test. I'm trying to move to UNRAID for 64bit, but have had no success getting my r5000 tuners to work with a linux sage server.
__________________
[size=1]Current Server:V9 UNRAID Docker, SuperMicro x9dri-LNF4+, 32 GB ECC, 2x Xeon e5-2660v2, storage array 6TB, 2 Dish r5000HD tuners, 1 HDHomerun Quatro, 1 HDHomerun Extend
4 Nvidia Shield TVs with Miniclient
Reply With Quote
  #8  
Old 11-01-2017, 09:19 AM
Taddeusz Taddeusz is offline
SageTVaholic
 
Join Date: Nov 2004
Location: Yukon, OK
Posts: 3,919
Quote:
Originally Posted by SHS View Post
The problem isn't with FireWire support itself but with the drivers needed for the tuners themselves. Those drivers are proprietary in nature.
__________________
Server: i5 8400, ASUS Prime H370M-Plus/CSM, 16GB RAM, 15TB drive array + 500GB cache, 2 HDHR's, SageTV 9, unRAID 6.6.3
Client 1: HD300 (latest FW), HDMI to an Insignia 65" 1080p LCD and optical SPDIF to a Sony Receiver
Client 2: HD200 (latest FW), HDMI to an Insignia NS-LCD42HD-09 1080p LCD
Reply With Quote
  #9  
Old 11-01-2017, 09:23 AM
SHS's Avatar
SHS SHS is offline
Moderator
 
Join Date: Mar 2003
Location: Vinita, Oklahoma
Posts: 4,374
Quote:
Originally Posted by Taddeusz View Post
The problem isn't with FireWire support itself but with the drivers needed for the tuners themselves. Those drivers are proprietary in nature.
So are say it the STB it self then ?.
Reply With Quote
  #10  
Old 11-01-2017, 09:36 AM
Taddeusz Taddeusz is offline
SageTVaholic
 
Join Date: Nov 2004
Location: Yukon, OK
Posts: 3,919
Quote:
Originally Posted by SHS View Post
So are say it the STB it self then ?.
Yes, the STB drivers are 32-bit only and I'm unaware of any 64-bit drivers. It apparently uses a standard interface but someone would need to have the knowledge to build a new version of the driver. This is the same interface used to communicate with old SVHS recorders.
__________________
Server: i5 8400, ASUS Prime H370M-Plus/CSM, 16GB RAM, 15TB drive array + 500GB cache, 2 HDHR's, SageTV 9, unRAID 6.6.3
Client 1: HD300 (latest FW), HDMI to an Insignia 65" 1080p LCD and optical SPDIF to a Sony Receiver
Client 2: HD200 (latest FW), HDMI to an Insignia NS-LCD42HD-09 1080p LCD
Reply With Quote
  #11  
Old 11-01-2017, 11:29 AM
SHS's Avatar
SHS SHS is offline
Moderator
 
Join Date: Mar 2003
Location: Vinita, Oklahoma
Posts: 4,374
Quote:
Originally Posted by Taddeusz View Post
Yes, the STB drivers are 32-bit only and I'm unaware of any 64-bit drivers. It apparently uses a standard interface but someone would need to have the knowledge to build a new version of the driver. This is the same interface used to communicate with old SVHS recorders.
So there a 2nd driver that ride on top of windows firewire driver ?.
Reply With Quote
  #12  
Old 11-01-2017, 11:54 AM
wayner wayner is offline
SageTVaholic
 
Join Date: Jan 2008
Location: Toronto, ON
Posts: 6,537
Quote:
Originally Posted by SHS View Post
So there a 2nd driver that ride on top of windows firewire driver ?.
Yes, there were some drivers that were "hacked" together - I believe it was by a guy named Tim M Moore. If I remember correctly he reverse engineered the ones for a Panasonic D-VHS recorder. These drivers were supposed to work for both video capture and changing channels. I never got the video capture to work with my boxes reliably but the channel changing was rock-solid. They were never officially supported by any company (or person) so it was always kind of a kluge.

But the drivers don't work on 64 bit systems. There has been some discussion here about the issue here and more on the AVS forums. Here is one thread that hasn't been updated in about five years, perhaps there are other threads as well: http://www.avsforum.com/forum/42-hdt...-1394-a-5.html

The best drivers for 32 bit can be found here: https://exdeusweb.github.io/stbfirewire/

Of course, this stuff is very old so there are lots of broken links, etc.
__________________
New Server - Sage9 on unRAID 2xHD-PVR, HDHR for OTA
Old Server - Sage7 on Win7Pro-i660CPU with 4.6TB, HD-PVR, HDHR OTA, HVR-1850 OTA
Clients - 2xHD-300, 8xHD-200 Extenders, Client+2xPlaceshifter and a WHS which acts as a backup Sage server
Reply With Quote
  #13  
Old 11-01-2017, 01:47 PM
SHS's Avatar
SHS SHS is offline
Moderator
 
Join Date: Mar 2003
Location: Vinita, Oklahoma
Posts: 4,374
Quote:
Originally Posted by wayner View Post
Yes, there were some drivers that were "hacked" together - I believe it was by a guy named Tim M Moore. If I remember correctly he reverse engineered the ones for a Panasonic D-VHS recorder. These drivers were supposed to work for both video capture and changing channels. I never got the video capture to work with my boxes reliably but the channel changing was rock-solid. They were never officially supported by any company (or person) so it was always kind of a kluge.

But the drivers don't work on 64 bit systems. There has been some discussion here about the issue here and more on the AVS forums. Here is one thread that hasn't been updated in about five years, perhaps there are other threads as well: http://www.avsforum.com/forum/42-hdt...-1394-a-5.html

The best drivers for 32 bit can be found here: https://exdeusweb.github.io/stbfirewire/

Of course, this stuff is very old so there are lots of broken links, etc.
I see what going on looking at the INF it self in this case look like it build around 9x WDM architect so driver them self could very well be build around same old architect that could explain why there are some compatibility issues with newer OS so with out the original source code there is no hope for you in near future in tell the patent expire and by time there be no telling where SageTV will be at.

Last edited by SHS; 11-01-2017 at 02:29 PM.
Reply With Quote
  #14  
Old 11-02-2017, 04:31 AM
bryanzim bryanzim is offline
Sage User
 
Join Date: Feb 2008
Location: VA
Posts: 32
If this ever were to work then you would be able to build both a 32 bit build and a 64 bit build.

So it looks like PushReader is using a combination of FFMPeg and Mplayer from the 3rd party library. I was able to pull down and compile a new version of FFMpeg; I converted most of the code in PushReader to the newer FFMpeg except for the audio conversion. As I am not a FFMpeg expert this may take some time.

At this point in time it looks as if maybe I want to try to compile the version of mplayer in the third party library and revert push reader since the new mplayer source tree does not contain the audio conversion functions any more either.

So currently at a stumbling block.
Reply With Quote
  #15  
Old 12-12-2017, 08:58 AM
btrcp2000 btrcp2000 is offline
Sage Fanatic
 
Join Date: Aug 2007
Posts: 842
Just wondering if you have had any luck with a 64 bit windows setup?
__________________
[size=1]Current Server:V9 UNRAID Docker, SuperMicro x9dri-LNF4+, 32 GB ECC, 2x Xeon e5-2660v2, storage array 6TB, 2 Dish r5000HD tuners, 1 HDHomerun Quatro, 1 HDHomerun Extend
4 Nvidia Shield TVs with Miniclient
Reply With Quote
  #16  
Old 01-19-2018, 04:39 PM
jusjoken jusjoken is offline
Sage Icon
 
Join Date: Dec 2005
Location: Minneapolis MN
Posts: 2,154
Quote:
Originally Posted by bryanzim View Post
If this ever were to work then you would be able to build both a 32 bit build and a 64 bit build.

So it looks like PushReader is using a combination of FFMPeg and Mplayer from the 3rd party library. I was able to pull down and compile a new version of FFMpeg; I converted most of the code in PushReader to the newer FFMpeg except for the audio conversion. As I am not a FFMpeg expert this may take some time.

At this point in time it looks as if maybe I want to try to compile the version of mplayer in the third party library and revert push reader since the new mplayer source tree does not contain the audio conversion functions any more either.

So currently at a stumbling block.
Any progress?
Reply With Quote
  #17  
Old 10-12-2018, 07:18 PM
sdsean's Avatar
sdsean sdsean is offline
Sage Expert
 
Join Date: Jul 2008
Posts: 537
Resurrection!!!

So I am a bit surprised that the drivers for firewire tuning don't exist in a 64bit format and even then I feel like that can be resovled with a wrapper. Serial tuning has worked for years on 64bit windows with literally 0 problems (I'm still using it today). beyond that there's still IR tuning and HTTP tuning . . .HTTP tuning has been supported by nearly all STBs be that cable or satellite for the last few years, and IR tuning works on 64 bit already.

What are the other barriers to have a 64bit build on windows? I'd really like to be able to connect more than 2 (maybe 3) HD-300s but more than 2 pretty much always peaks the memory usage beyond 1GB with plugins and what not. . . Yes I could switch to linux, but that's a whole different can of worms and would make it so that i have to create interops between things like playon (which only run on windows). Again as said many times I'm sure there are barriers but to me tuning should be the last problem needing solved. . .
__________________
i7 3.33 GHz EE Quad Core+HT, 12GB DDR3 1333Mhz RAM, ATI HD6870 2GB VRM, 512GB Samsung SSD OS Drive, EVGA SLI x58 Mobo, Win7 Ultimatex64, Gyration MCE Remote, Hauppauge HD-DVR (x3), HD-HR, 2x H21-100, 1x H21-200 DirecTV STBs, 1 SIIG / CyberSerial 4 Port Serial PCI card, 1 PCIex1 Inland/NEC 5 port USB card
Reply With Quote
  #18  
Old 10-13-2018, 09:02 PM
wnjj wnjj is offline
Sage Icon
 
Join Date: Jan 2009
Posts: 1,010
Thanks for the bump. I, too plan to give this 64-bit thing a whirl. I just now got the 32-bit version to compile OK using the wonderful instructions provided by previous pioneers.

The only wrinkle I ran into was the Windows SDK 6.1 is no longer available for download so I had to make a few changes to get it working on 7.1A.

1. Find a "qedit.h" and add it back to the 7.1A include directory.
2. Added a new include file with a bunch of CSLID's and IID's that are no longer in strmiid.lib for use in FilterGraphTools.cpp.

With those 2 additions, I compiled it ok with SDK7.1A.

Now I'm throwing the switch on 64-bit mode to see what fun ensues. I'm already getting warnings about _USE_32BIT_TIME_T and "long *" versus "LONG_PTR *" which I'll have to work through.

I'm making no promises as this may just be one thing after another but I'm willing to give it a shot.
Reply With Quote
  #19  
Old 10-13-2018, 09:07 PM
sdsean's Avatar
sdsean sdsean is offline
Sage Expert
 
Join Date: Jul 2008
Posts: 537
Sweetness, let me know what you find and if you think you need and let me know as well I can try and jump in and make edits.
__________________
i7 3.33 GHz EE Quad Core+HT, 12GB DDR3 1333Mhz RAM, ATI HD6870 2GB VRM, 512GB Samsung SSD OS Drive, EVGA SLI x58 Mobo, Win7 Ultimatex64, Gyration MCE Remote, Hauppauge HD-DVR (x3), HD-HR, 2x H21-100, 1x H21-200 DirecTV STBs, 1 SIIG / CyberSerial 4 Port Serial PCI card, 1 PCIex1 Inland/NEC 5 port USB card
Reply With Quote
  #20  
Old 10-18-2018, 06:03 PM
wnjj wnjj is offline
Sage Icon
 
Join Date: Jan 2009
Posts: 1,010
Update (the following was all done using Visual Studio 2015 and MSYS2/MINGW):

After doing a considerable amount of cleanup inside the VS project files to more easily build 32-bit and 64-bit into separate directories I was able to compile everything in the project except the stream demux filter (same place bryanzim got to). As he stated, it relies upon PushReader which was built in MinGW previously.

Because that filter is only used for video playback, I dumped the files I did have onto a clean machine and tried to fire it up, immediately running into the missing ImageLoader lib...dang. Since I had previously managed to compile the swscale and ImageLoader Windows dlls within MinGW, I next installed a newer MSYS2/MINGW32/MINGW64 setup that supports both 32-bit and 64-bit.

After installing some packages into MSYS2, I was able to build both 32-bit and 64-bit swscale.dll and ImageLoader.dll. I have yet to try but building PushReader should be similar.

Tonight I plan to try running with the ImageLoader dll added and see if I can't at least get a 64-bit server to start up.

The BIG caveat in all of this is that there will likely be 32/64-bit pointer issues that arise as crashes when they finally get used. Now the compilers do warn about them and I fixed a few but so many aren't 'real' issues (like subtracting pointers and storing the result into an 'int').

Still chugging along...
Reply With Quote
Reply

Tags
64bit, vs2017


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Linux 64bit MiniClient (issues with JTux on 64bit) stuckless SageTV Github Development 23 08-19-2015 12:54 PM
xp 64bit & HVR-2250 vikingisson Hardware Support 13 06-07-2010 10:05 PM
New Build with Sage7 - Win7 or no? 64bit or 32bit? ThePaladinTech SageTV Beta Test Software 6 05-22-2010 09:01 AM
Any advantage to using XP 64bit rdefino General Discussion 4 10-15-2006 01:47 AM
To 64bit or not to 64bit teknubic Hardware Support 19 07-25-2006 10:57 AM


All times are GMT -6. The time now is 07:47 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.