Tuesday, December 4, 2012

More fps please

My brand new HD 7850 just arrived :)

I was postponing the decision for too long in part because I'm just lazy. The sheer thought of having to change PSUs between computers made me shiver and avoid the decision. 

My i7 3770 powered desktop is running on a 400W OEM PSU while my 525W Enermax 82+ PSU is being used on my lower power server which doesn't make much sense - all thanks to the desktop case not having space for the Enermax PSU due to the case's awkward design. So I'm in the process of change hardware around pretty fun stuff -.-'.

The promise of higher FPS in Team Fortress 2 won me over so I Mann'ed upp (TF2 pun) and ended up ordering a PowerColor 2GB HD7850 PCS+. Why this particular model? Well low noise and availability of 2xDVI (my monitors support VGA and DVI only) were the factors I valued the most while researching of alternatives. So I ended up going with the PowerColor 2GB HD7850 PCS+ after reading several very positive reviews in which it presented the lowest noise.

As to why the Radeon HD7850? 

Normally I'd go for nVidia cards as I had good experience with them in the past being great both in terms of performance and Linux/BSD support. However this time around I'm into virtualization with VGA/PCI passthrough and nVidia cards expect the Quadro variant just don't support Xen (and other hypervisors for that matter) properly. The trade-off is that AMD doesn't support BSD so I'll probably passthrough 3770's HD4000 if I feel like having FreeBSD on the desktop as a domU.

With Valve's pressure on AMD regarding Steam being ported over to Linux I'm hopping that AMD own drivers mature making this a good buy in the medium term. For the moment I'm playing TF2 on a Windows 8 domU off Intel HD4000 so has soon as I get my hands on the AMD card I'll fire assign the HD7850 to this Windows domU. Afterwards I'll whip-up a Linux domU and check-out Steam and TF2.

Wednesday, October 24, 2012

Team Fortress 2 is coming to Linux \0/

It all over the web, Team Fortress 2 will be available on Linux through Steam as reported here and here.

I'm a FPS kinda-guy having played Wolfenstein: Enemy Territory and Return to Castle Wolfenstein (retail and demo). When Enemy Territory Fortress (remake of the Quake 3 Fortress) came out circa 2004 I fragged a bit on it.

Fast forward 8 years when a buddy got me into TF2. But TF2 was (is) a Windows game and I run Linux so ended up having to setup a Windows 8 Preview virtual machine on Xen using VGA passthrough just to play it...

It came with a cost though... all my plans with Xen running tons of domU aimed at global domination have come to a stop: I'm addicted to TF2 and spend most of my limited free time on it :P

Thursday, October 4, 2012

Go!

After being able to do Intel HD 4000 VGA passthrough I decided I wanted to try PCI passthrough of a dedicated graphics card. My idea was to buy a AMD HD 7850  but I ended up buying a second hand AMD HD 5450 passively cooled for 15€ just be sure that PCI passthrough of secondary GPU works before making a much bigger purchase such as the HD 7850.

Well it worked.

Passing the AMD HD 5450 to a Windows 8 domU was a bit trickier than passing the primary Intel VGA but still achievable though I found the driver installation awkward.

Some notes:
  • The integrated Intel i7-3770 HD 4000 GPU needed to be set as the Primary Display Adapter in the BIOS thus the AMD HD 5450 was setup as the Secondary Display Adapter.
  • Wheezy domU with stock Linux kernel and Xen 4.1.3 were used alongside the xm toolstack.
  • The domU was installed over VNC.
  • The HDMI audio function of the graphics card also needs to be passed.
  • Installing AMD Catalyst froze the VM and required a reboot of the dom0 to restart the Windows 8 domU properly. I worked around this by installing only the drivers with Catalyst Control Center.
  • Windows 8 assigned drivers to the AMD HD 5450 that were faster in Windows Performance Score, Counter Strike Source Video Stress and Unigine than AMD 12.8 drivers (!)
  • AMD HD 5450 performance is crappy compared to Intel HD 4000 however it's more than fine for Windows 8 non-gaming tasks.
  • AMD HD 5450 Team Fortress 2 gameplay was crappy with ~30 FPS.
  • I wasn't able to successfully passthrough my 2nd Intel NIC as the VM refused to start and spat out errors.
  • I'm too hooked on FT2 having scored 50h since early September which is totally sucked my free time...
Next steps? Well...
  • 2 concurrent Windows 8 domUs one running the integrated HD 4000 and the other the AMD HD 5450.
  • Clean up the benchmarks I've run on bare metal, HD 4000 and AMD HD 5450 domU.
  • Clean up my notes and publish as HowTo on linux-bsd-sharing.blogspot.com.
  • Setup Linux domUs with VGA passthrough.
Overall I'm pleased to being able to passthrough AMD's cards but the little sucker is too slow :(

Thursday, August 30, 2012

Set...

Update 26/10/2012:
I've finally published my notes: HowTo: Xen 4.1.3 Windows 8 HVM domU with Intel HD4000 VGA Passthrough on Debian Wheezy

A month has passed since I got the new hardware and I have some novelties to share!

First I got XEN VGA Passthrough working and surprisingly it turned out to be quite easy to setup and I'm pretty happy with the results. I managed to passthrough the i7-3770 HD4000 integrated GPU, USB 2.0 Controller, HD Audio and secondary Ethernet to a Windows 8 Preview domU HVM on a Debian Wheezy dom0 using the xm toolstack. In the domU assigned USB controller I've connected an additional keyboard and mice.

As I only have the integrated GPU and no discrete graphics card I have to SSH from my laptop or use Putty from within Windows to control the dom0.

Now for the observations and quirks on Xen PCI Passthrough:
  • During Windows 8 installation some artefacts appear but these didn't prevent or difficulted the installation process.
  • Un-plugging and plugging the USB keyboard and mice didn't affect stability expect on one occasion where graphical artefacts appeared in Windows though I suspect this could be from the DQ77MK USB 2.0 "fast charge" ports. I have on my TODO list to passthrough another controller to double-check.
  • Windows 8 Preview complained twice about crashed video drivers but its stability wasn't affected and the OS automatically reloaded the driver. One of these situations occurred after I kicked the power connector where I have ~8 power cords connected (this was one of the 2 situations were visual artefacts appeared in Windows outside of the installation process).
  • Wolfenstein: Enemy Territory performance was crap having scored ~59 FPS in 5 timedemo runs. I have to further research the poor performance though I have a few suspects, however it could turn out to be something with the OS so I'll need to install Windows 8 on bare metal (brrr...) to compare.
  • I really need to run some benchmarks using common tool such as 3DMark and Phoronix Test Tool and compare the VM performance with bare metal.
  • My Windows 7 install media is corrupted so Windows 8 Preview ISO was used
  • Sound works perfectly.
  • The second Ethernet is running like a champ.
  • Boot speed is reasonnable especially taking account that the VM is stored in a 9 years-old HDD.
  •  Came across some Windows repair boot menus. Either I'm too trigger happy to kill the domU when I see "lengthily" boots or shutdown (from both domU or using xm destroy) or there really are some issues. Will have to look into this in the future.
  • I still have to passthrough another USB controller to test if USB pen and such are properly registered in the domU.
  • The dom0 stability was never affected.
  • Steam and its Source engine games work just fine having scored ~209FPS in Source stress test (dunno if this is good or bad has I don't have a bare metal comparison baseline).
  • I've clocked more than 5h on Team Fortress 2, Counter-Strike Source and Day of Defeat. No issues aside from being hooked on Team Fortress 2 -.-'
  • I'm impressed with Team Fortress 2 graphics, smooth performance and gameplay.
All in all I'm most pleased with Xen PCI Passthrough and I'll be writing an HOWTO on http://linux-bsd-sharing.blogspot.com in the coming weeks.

There's still so much more to be explored but Team Fortress 2 is sucking my free time :(

Wednesday, July 25, 2012

Ready...

Finally got all the hardware pieces for my new workstation: i7-3770 (non-k), Intel DQ77MK and 32GB DDR3. I'll be unwrapping and assembling them in the the coming days though most likely that will be only on Friday :(

These will go along with 2x 200GB SATA Maxtor HDD and 1x SSD Intel 330. For the moment I'll keep the PSU and case but most likely will be getting a new PSU (and probably case) in the future as I want to keep noise and power consumption as low as possible.

Depending on the power consumption and my ability to setup a proper XEN/KVM environment with PCI pass-through I might decommission my FreeBSD server and virtualize it.

The coming weeks I'll be messing with hardware settings and benchmarking. In late August I expect to be able to have an initial XEN/KVM environment with VGA pass-through for ET.

The new workstation setup should be able to:
  • Run Wolfenstein: Enemy Territory
    • Benchmarking with my demo should give at least 120FPS else I'll have to look into getting a dedicated GPU
    • Should run on x86_64 in bare metal though as I've blogged early I doubt this is possible
    • Should run on Linux/FreeBSD x86_64 or i686 under a VGA passthrough VM
  • Run 5 VM concurrently
    • FreeBSD VM as a testing ground for my FreeBSD server
    • General purpose VM for web surfing, adming and gaming running Linux (CentOS, Debian and Gentoo are the likely candidates pending HD4000 driver availability)
    • CentOS VM as a testing ground for my laptop and rpm package rebuilding
    • Linux VM for security purposes
    • CentOS or Debian host
The following are projects that I'd like to run on the machine :
  • File-sharing FreeBSD VM with direct access to disk controller with PCI pass-through running Samba/NFS, SSH and OwnCloud. This would imply adding my 3x 1TB SATA HDD and most likely upgrade them to WD Red HDD and going for ZFS
  • Router VM running on one of the two NIC provided by the motherboard. This VM could be CentOS, DD-WRT or OpenWRT
  • Personal CentOS/RHEL repository
  • Run ET, RTCW Demo, UT and Ventrilo servers
  • Play Doom3, RTCW (online) and Wolfenstein: Quake Wars (online) with stable 100FPS
  • Segmentation of VMs (DMZ, different LAN segments, etc)
This means I need to delve on virtualization using XEN or KVM being XEN the most likely candidate. Plus this also means I have learn much more related to networking as the motherboard has 2 NIC which I want to take advantage of.


To have everything running it will takes ages, most likely years due to both my availability and knowledge gaps.

Big challenge!

    Monday, July 9, 2012

    The desktop revolution has started...

    ... at least for me as I'm finally upgrading my Athon XP desktop from circa 2003!

    It sure is about time ;)

    These days my web surfing and administration of local network computers is performed on my Dell D620. It's quite a nice machine specially after being upgraded with Intel Core 2 Duo (15€ !!), 4GB, 128GB SSD and HDD drive caddy. It does however lack the graphics card to power Enemy Territory.

    For my gaming needs I kept using the old desktop, however the bastard is noisy and has been overheating, so much that I had to drop from 2200 to 2000Mhz so that I can actually compile anything without segmentation faults errors.

    But if it were only because of ET I'd keep the bastard. However I long for full blown virtualization, the kind that let's me run 4 machines without sweating, the kind that will let me passthrough PCI devices, the kind that leads me into spending hard earned money :(

    The old Athon XP crawled under GNOME3. YouTube movies and Flash websites were choppy. Compiling world in Gentoo took ages (LibreOffice and Firefox have long been the bin kind). On FreeBSD I had to start using packages instead of ports due to the time (and electricity) needed to compile ports. On top of that it meant x86 and no x86_64 and KVM fun.

    Also, in the past months I'm getting more and more interested in XEN and KVM namely their VGA and PCI passthrough abilities with proper virtualization instructions from the CPU. Both Intel and AMD have solutions for this however this time I've elected Intel.

    I ended up with Intel due to lower power consumption, overall better performance, GPU with more-than-enough-for-ET performance and opensource graphics driver. Funny enough what tipped the scale was the power consumption and opensource graphics driver.

    The selected weapons of choice were i7-3770 (non-K), Intel DQ77MK motherboard and 32GB DDR1600. I've placed online orders for all except the i7 but I'll take care of that until the end of the week. To ease the expense I've already started selling all the computer parts I have laying around (DIMMs, SO-DIMMs, graphics cards, NICs, etc), so far I've already scored 50€ with more in the pipeline - not bad.

    I'll move my laptop SSD to the machine and re-use my old case and PSU for the time being - though those SeaSonic fanless PSU are damn appealing!

    The decision for the non-K 3770 was rather simple: I wanted a fast, energy efficient and muticore processor and this version has that and VT-d support. Combined with XEN and KVM, VT-d means device passthrough to be used directly and natively in the virtual machines.

    To guarantee that VT-d is supported I've chosen the Q77 chipset as it has100% guaranteed VT-d support. Some Z77 motherboards have VT-d support however it is un-official as Intel pulled VT-d support from Z77. I didn't want to take any chances so I went for Q77.

    Why Intel's own board instead of ASRock or ASUS? For a few reasons: documentation on the Intel board is simply superior, 2x DVI, mSATA and mini-PCIe. Though I wanted the 2x PCI slots from ASRock and ASUS offerings I wanted to keep an eye on the future and for that the extra PCIe slot is better (though that eSATA port should really have been another normal SATA port Intel!).

    Now let's just wait for the parts and assemble the machine ;)

    Tuesday, May 29, 2012

    XBMC... what can I say? I'm impressed

    Was bored yesterday evening and decided to downloaded XBMCbuntu and give it a spin... And what a spin it was!

    I started out by converting the CD iso file into a USB pen drive and loading it onto my 9 years old Athon XP 3200+ desktop. A few minutes latter I was immersed in a beautiful and responsive XBMC interface. Wow!

    The last time I tried anything related with this type of multimedia was with Mythbuntu back in 2008 and it was absolutely awful. So my expectations were very low and was expecting much of the same. But no... XBMC delivers a clear, responsive, beautiful, well laid out and with a very professional look.

    XBMCbuntu didn't have any troubles finding the samba and MiniDLNA (I'll be publishing a post on linux-bsd-sharing.blogspot.com describing how to install and set it up on FreeBSD in the coming days) shares served by my FreeBSD server and managed to load and play .mkv with subtitles like a champ.

    I was so well impressed that a few minutes latter I tried it on my Core 2 Duo laptop and once again the experience was magnificent.

    While messing with it on the laptop I thought "Wouldn't it be cool to control it using my Android smartphone?" and so I went to the Android Market and downloaded XBMC Remote. Enabled remote control on XBMC and inserted the authentication details on XBMC Remote... and it worked. I was able to fully control the live USB XBMCbuntu from the smartphone. My inner geek exploded with joy :)

    Opensource as sure came a long way. For the past 3 years another hobby replaced opensource as an hobby so I was pretty much disconnected from Unix-like world with the exception of maintaining my FreeBSD server updated.

    So it is very pleasing to come back and witness that distros are much more refined, 3G tethering and broadband connections work without hassle. However finding out that multimedia projects like XBMC deliver such product quality... for the 10th time: I'm impressed.

    Bottom line: I'm currently looking forward to assembling a XBMC machine for my living room and the process satisfying my inner geek while scoring wife points. Thinking of Raspberry Pi, VIA's APC or an AMD CPU/GPU integrated motherboard. Raspberry Pi would be the most satisfying to assemble so I'm leaning on that (the price also helps).