FXP.One:Clients: Difference between revisions

From Lundman Wiki
mNo edit summary
mNo edit summary
Line 1: Line 1:
Welcome to the FXP.One project.
== Gamer PC ==


Built a small Gamer PC with the kids, so I guess the main goal was small, quiet. I am also pretty "burnt out" on the last PC we had with all the heating problems. Anyway, this is what I learnt:


Before you start, this is not just another FTP/FXP client. It does not
work that way.


<img>http://www.mustardseed.co.jp/img/products/jmax/4997401145279_02l.jpg</img>


FXP.One consists of an engine, and
you would need (at least) one GUI to control it.


=== Hardware ===


==FXP.One engine==
* ASUS F1A75-I Deluxe, Mini-ITX motherboard.
* AMD A8-3870k CPU (4-core 3GHz CPU, with '''integrated''' Radeon HD6550D)
* Corsair memory (2x 4GB sticks at 1866, total 8GB)
* JMAX JX-FX500B Mustardseed Mini-ITX case (400W SFX PSU, 12v1 17A, 12v2 16A)
* SSD for Windows 7x64
* 1TB Samsung Green HDD for Games
* Radeon HD 6670 PCIx '''discrete''' video card (Dual Graphics / CrossFireX - more on that below)


The idea was to put all the hard code into an engine that is really
=== A8-HD6550D ===
easy to interface with. This has worked surprisingly well, in that you
can FTP/FXP entirely by using "telnet". This means writing a client,
which is essentially just a Display Shell, quite trivial. This
includes people who wants to just script clients, like by using perl,
python and so on.


This also means you do NOT have to run the engine on the same machine that you run the GUI client(s).  
The initial build was easy, and setup straight forward. You could actually stop here, and just use the Integrated A8-HD6550D graphics for some gaming.


For example, if you had a stable host, perhaps even with a static IP
Minecraft-1.2.3: Runs beautifully, all defaults
making the credentials for authentication easier, you could run the
Modern Warfare 3: Runs beautifully, all defaults
engine there. Then connect to it by the client of your choice.
Skyrim: Playable, game picked "High Quality", I would probably lower it if I were to play
NeedForSpeed-TheRun: game looks very nice, but seem to run at half game speed. Audio cuts out at times. Playable, but not ideal.


You can disconnect this client (the engine will keep working if you do
not tell it to stop) and start a new (and possibly different) client
elsewhere, and resume control of your previous work.


But you can run the engine and client at the same time, and quitting
Did a whole heap of research here to see if I had enough power to run a Radeon HD6670 card, at first on its own, then in CrossFireX (takes more power). Some WWW pages said (33A, 500W!) and others 293W (At least 6A on 12v). So quite conflicting. Luckily the JMAX case had 2 rails for 12V, one goes into the motherboard, and the 2nd to the discrete HD6670 card. Still, why not try:
at the same time, making it appear like a normal FTP/FXP client.




'''If you are looking for a Windows binary, please download the bundle from the latest [[UFxp]] client'''
=== Radeon HD6670 ===


==Compiling and Install the engine==
I could not get "Dual Graphics" to work initially (CrossFireX) so I just tested the HD6670 card on its own. With monitor attached to the HD6670 (discrete) card, I tried out the games again.
  % wget http://www.lundman.net/ftp/fxp-one-1.4.tar.gz
  % tar -xvf fxp-one-1.4.tar.gz
  % cd FXP.One/
  % ./configure
  % make
  % make install


Now create your SSL keys
NFS-TheRun: Considerably better, it now became apparent that it was running at half speed before, as it is very fast, very smooth to play. No audio drop-outs.


  % openssl req -new -x509 -nodes -out lion.pem -keyout lion.pem
You can hear the fan on the HD6670 when gaming, but it is not bad. When not gaming, the PC is silent.


Attempting Dual Graphics.


Create your .FXP.One folder and copy lion.pem into it


  % mkdir .FXP.One && cp lion.pem .FXP.One/ 
=== A8-HD6550D Dual Graphics ===


Start the FXP.One engine
So there were some fiddling needed here. If I put the monitor on the discrete HD6670 card, I got no signal, or, depending on BIOS setting, I only get the HD6670 card and no integrated HD6550D card.  


   % FXP.One
Main GFX-
BIOS Setting   Monitor-Attached    Outcome
---------------------------------------------
PCIx            HD6670              Only sees HD6670
PCIx            HD6550D              No signal
iGXP            HD6670              No signal (Should be this one)
iGXP            HD6550D              Success


(Please use gnuMake; which might be called make, gmake, gnumake etc on your system)
But, '''this was a lie'''. More on that in a bit. Finally the [AMD Catalyst Software Suite] (V12.1) added the "AMD Dual Graphics" options to the "Performance Tab". It was odd that the monitor is connected to the A8-HD6550D output, but it did at least work. I fired up NFS again


This should always compile the '''FXP.One engine'''. If ''configure'' can find the correct '''CDK''' library and '''ncurses''' on your system it will also compile the '''ncurses''' client '''FXP.cOne'''. Otherwise it will skip compiling this client.
NFS-TheRun: Running full speed, but with pretty bad slow downs when more cars are around. Some audio drop-outs.


'''Openssl-devel'''If you see a error like this:
Since I was mainly using the integrated HD6550D, with extra boost from the HD6670 card, it sort of makes sense. It did a little better than just the HD6550D, but not as good as the discrete HD6670 can do on its own.
''checking whether we need extra options to link OpenSSL... configure: error: Found linkable OpenSSL in , but it doesn't run, even with -R. Maybe specify another using --with-ssl-dir?''


You will need to openssl-devel for your system. On most Red Hat Variants it can be done with yum.  
The AMD Catalyst Software Suite program lets you create profiles for games, where you can disable AMD Dual Graphics for a specific game. But the problem here is, when I do that for NFS, it will only use the integrated HD6550D card, which does not quite cut it. We want to use the HD6670 card as minimum after all, so...


yum -y install openssl-devel


=== HD6670 Dual Graphics ===


If you want to run '''clomps-irc''' you will need libpcre and headers, so most likely the -dv version if there is one:
In trying to solve this, I noticed the driver version for integrated HD6550D (in Device Manager) was a lower version than the discrete HD6670 card I just added. So you really have to uninstall the old card's drivers after all. I clicked Uninstall on the HD6550D, (with 'delete files', or they just got picked again). '''Then''' I installed the [AMD Catalyst Software Suite] drivers again. Now device manager confirmed both cards with identical driver version.


apt-get install libpcre3-dev
Set BIOS to iGXP (otherwise the integrated card gets disabled). Attach monitor to discrete HD6670 card. Making sure to unplug the integrated video connectors. Boot.


There is no BIOS prompt (that goes to the integrated feed) so you are booting 'blind'. But once it boots to the Windows login screen, the discrete HD6670 video pops up. Bonus, the AMD Dual Graphics option is now available. Hurrah!


NFS-TheRun: Runs beautifully again, no slow downs or audio drop-outs.


It is '''at least''' as good as just using the discrete HD6670 card. Probably faster, but I would need to run actual benchmarking to confirm that.


'''''SSL Issues'''''
Now if I were to disable AMD Dual Graphics for a game, it would then use just the discrete HD6670 card, which is what we want. I have not found any reason to do so. (Since NFS runs better than ever). Skyrim changed to "Ultra High" settings and it '''flies'''. Mass Effect 3 = gorgeous.


If your trying to connect from your client and get errors about ssl it probably means that they versions of ssl you have on your engine and your client are not compatible.  
PSU is still holding on, the system is at 23C when idle, and 45C when gaming.  


For example on the client end we have ssl version OpenSSL 0.9.8e-fips-rhel5 and on the server and OpenSSL 09.8k on another. There are many reasons why this will not work and many more why it should. In this case you will need to compile OpenSSL 0.9.8K on the server you wish to use FXP.Oned on and build FXP.Oned against that version of ssl. It the example below we will build openssl-0.9.8k in a local directory and compile FXP.Oned to use it.
This combination is then called a '''Radeon HD6690D2'''


To do this go to the openssl.org downloads page and download the version you want to use.
http://openssl.org/source/
wget http://openssl.org/source/openssl-0.9.8k.tar.gz
tar -xvzf openssl-1.0.0g.tar.gz
cd openssl-1.0.0g
./config -shared
make


Now go back to your FXP.Oned directory,
<img link="http://lundman.net/gallery3/index.php/2011/P1130426" size=320>http://lundman.net/gallery3/var/resizes/2011.August/P1130426.JPG</img>
make clean
<img link="http://lundman.net/gallery3/index.php/2011/screen1" size=320>http://lundman.net/gallery3/var/resizes/2011.August/screen1.png</img>
./configure LIBS=-ldl --with-ssl-dir=/home/erin/srcs/openssl-1.0.0g
make
make install
 
==Running the engine==
 
 
'''You will most likely need to create an SSL certificate for the engine since the default is only to accept secure connections.'''
 
 
Since the engine will be saving your remote FTP site information, as
well as any User/Passwords you chose on disk, you should consider
encrypting these files.
 
FXP.One engine will do this for you. When you start the engine, it
will as for a "Key". This is the Key that it will use to encrypt all
its data files. If you do not want encryption, just press return.
 
For the first time you run FXP.One, just make up whatever Key you
want.
 
When you start the engine in future, you have to specify the correct
Key or it will not be able to read your data files. (And you will not
be able to login).
 
To start again, you need to delete all .FXP.One files, and the engine
will create these again.
 
When the user file does not exist, the FXP.One engine will
automatically create a login as "admin" with password "admin".
 
 
NOTE: If you edit .FXP.One.settings file, you can change the option
"ssl=1". By default it will only allow SSL connections. If you change
it to "ssl=0" you make it optional. This allows you to telnet to the
engine should you wish to check it out. Please read the
"engine/API.txt" for more information on the FXP.One protocol.
 
NOTE: Please be aware that all skiplist, movefirstlist and passlists
are separated by the "/" character.
That is, "fmovefirst=*.sfv/*.nfo".

Revision as of 07:04, 16 March 2012

Gamer PC

Built a small Gamer PC with the kids, so I guess the main goal was small, quiet. I am also pretty "burnt out" on the last PC we had with all the heating problems. Anyway, this is what I learnt:


<img>4997401145279_02l.jpg</img>


Hardware

  • ASUS F1A75-I Deluxe, Mini-ITX motherboard.
  • AMD A8-3870k CPU (4-core 3GHz CPU, with integrated Radeon HD6550D)
  • Corsair memory (2x 4GB sticks at 1866, total 8GB)
  • JMAX JX-FX500B Mustardseed Mini-ITX case (400W SFX PSU, 12v1 17A, 12v2 16A)
  • SSD for Windows 7x64
  • 1TB Samsung Green HDD for Games
  • Radeon HD 6670 PCIx discrete video card (Dual Graphics / CrossFireX - more on that below)

A8-HD6550D

The initial build was easy, and setup straight forward. You could actually stop here, and just use the Integrated A8-HD6550D graphics for some gaming.

Minecraft-1.2.3: Runs beautifully, all defaults
Modern Warfare 3: Runs beautifully, all defaults
Skyrim: Playable, game picked "High Quality", I would probably lower it if I were to play
NeedForSpeed-TheRun: game looks very nice, but seem to run at half game speed. Audio cuts out at times. Playable, but not ideal.


Did a whole heap of research here to see if I had enough power to run a Radeon HD6670 card, at first on its own, then in CrossFireX (takes more power). Some WWW pages said (33A, 500W!) and others 293W (At least 6A on 12v). So quite conflicting. Luckily the JMAX case had 2 rails for 12V, one goes into the motherboard, and the 2nd to the discrete HD6670 card. Still, why not try:


Radeon HD6670

I could not get "Dual Graphics" to work initially (CrossFireX) so I just tested the HD6670 card on its own. With monitor attached to the HD6670 (discrete) card, I tried out the games again.

NFS-TheRun: Considerably better, it now became apparent that it was running at half speed before, as it is very fast, very smooth to play. No audio drop-outs. 

You can hear the fan on the HD6670 when gaming, but it is not bad. When not gaming, the PC is silent.

Attempting Dual Graphics.


A8-HD6550D Dual Graphics

So there were some fiddling needed here. If I put the monitor on the discrete HD6670 card, I got no signal, or, depending on BIOS setting, I only get the HD6670 card and no integrated HD6550D card.

Main GFX-
BIOS Setting    Monitor-Attached     Outcome
---------------------------------------------
PCIx            HD6670               Only sees HD6670
PCIx            HD6550D              No signal
iGXP            HD6670               No signal (Should be this one)
iGXP            HD6550D              Success

But, this was a lie. More on that in a bit. Finally the [AMD Catalyst Software Suite] (V12.1) added the "AMD Dual Graphics" options to the "Performance Tab". It was odd that the monitor is connected to the A8-HD6550D output, but it did at least work. I fired up NFS again

NFS-TheRun: Running full speed, but with pretty bad slow downs when more cars are around. Some audio drop-outs.

Since I was mainly using the integrated HD6550D, with extra boost from the HD6670 card, it sort of makes sense. It did a little better than just the HD6550D, but not as good as the discrete HD6670 can do on its own.

The AMD Catalyst Software Suite program lets you create profiles for games, where you can disable AMD Dual Graphics for a specific game. But the problem here is, when I do that for NFS, it will only use the integrated HD6550D card, which does not quite cut it. We want to use the HD6670 card as minimum after all, so...


HD6670 Dual Graphics

In trying to solve this, I noticed the driver version for integrated HD6550D (in Device Manager) was a lower version than the discrete HD6670 card I just added. So you really have to uninstall the old card's drivers after all. I clicked Uninstall on the HD6550D, (with 'delete files', or they just got picked again). Then I installed the [AMD Catalyst Software Suite] drivers again. Now device manager confirmed both cards with identical driver version.

Set BIOS to iGXP (otherwise the integrated card gets disabled). Attach monitor to discrete HD6670 card. Making sure to unplug the integrated video connectors. Boot.

There is no BIOS prompt (that goes to the integrated feed) so you are booting 'blind'. But once it boots to the Windows login screen, the discrete HD6670 video pops up. Bonus, the AMD Dual Graphics option is now available. Hurrah!

NFS-TheRun: Runs beautifully again, no slow downs or audio drop-outs.

It is at least as good as just using the discrete HD6670 card. Probably faster, but I would need to run actual benchmarking to confirm that.

Now if I were to disable AMD Dual Graphics for a game, it would then use just the discrete HD6670 card, which is what we want. I have not found any reason to do so. (Since NFS runs better than ever). Skyrim changed to "Ultra High" settings and it flies. Mass Effect 3 = gorgeous.

PSU is still holding on, the system is at 23C when idle, and 45C when gaming.

This combination is then called a Radeon HD6690D2


<img link="http://lundman.net/gallery3/index.php/2011/P1130426" size=320>P1130426.JPG</img> <img link="http://lundman.net/gallery3/index.php/2011/screen1" size=320>screen1.png</img>