Monday, May 28, 2012

VGA Passthrough KVM Fedora 17 and Benchmarks

Check out Arch Forum, the method in this guide is beeing deprecated in favor of vfio, which at this point requires a bit more work but it might work better for you.


Well how do I start?
"Huston, the Eagle has landed"


I think this is the first time in the last 12 month since I "felt the urge" to do this, that I feel that I've done it, that VGA Passthrough is not only possible, but it also stable enough (99% of the time, although a reboot is sometime necessary) for daily use:
- USB passthrough is working fine
- the sound controller passthrough is also working fine
- VGA passthrough is alright and well I just played Crysis 1280x1024 all setting Ultra High without any problems.

Once you have the hardware, the knowledge is out there (and here), you just need to play with it and make it work for you.

Howto 

The latest version of the guide is at: https://docs.google.com/document/d/1ef_nfl652L0HLn_wGvnpgjsBJd9LZzaV_-rIcEEoK8Y/edit


Benchmarks

Proper benchmarking is hard, and I might have done something wrong, because almost all the benchmarks are showing >90% of native Windows performance, except Crysis (I played it in the vm with all setting on ultra high and it was fine, at least in my humble opinion, so i don’t know why I got so low result in the benchmark ) and Stawker Call of Prypiat (this is a total mistery).

You can find the results at: https://docs.google.com/spreadsheet/ccc?key=0Aryg5nO-kBebdFdOLU1Yc0trT29JdUxac21QcXg3Qnc#gid=6

You can always do your own ;)

Q&A 
From the last post about VGA passthrough.

Anonim1
    Xen benchmarks, well I think I've had enough of using 'sombody's else code' for the time beeing, but I wouldn't exclude a Xen comparison sometime in the future, if I have the time.
Anonim2
    https://help.ubuntu.com/community/KVM/Installation this + intel_iommu=on to grub (grub2-update), and not installing ubuntu with uefi should be the same thing as fedora, I don't have the time to test ubuntu right now.
Evan Fraser
    Check how many cpus does the VM see? If you get the same bad performance no mather what video card you use, maybe the game is cpu bound that's where I would start.

Monday, April 16, 2012

Linux AES Encryption C


This is an example of AES encryption on Linux with c using openssl apis. I needed this for a project i'm working on and I thought to share this. There are 4 functions, a encrypt/decrypt pair for data stored in memory and one for files.

Refs:
http://www.openssl.org/docs/crypto/EVP_EncryptInit.html#
http://saju.net.in/blog/?p=36


It's on pastebin
http://pastebin.com/GFdTB2Yc

The key and iv, should be obtained differently, I intend to use random 16 bytes keys and ivs, so it's not a problem for me, but if you use it for user entered passwords (key and or iv) you should take a look at EVP_BytesToKey().

Feedback is apreciated.

Friday, March 30, 2012

VGA passthrough with KVM on Fedora 16

I've succesfully managed to pass my Radeon HD6770 graphics card to a virtual machine using KVM on Fedora 16.

UPDATE: Please check newer post for updated informations. (See KVM page ->)

http://www.youtube.com/watch?v=E4rF9JRVZuY


I've been trying to do this for a long while now and this is the first time it worked well enough to start doing interesting stuff (eg Heaven Benchmark, Age of Empire, Halo, I'll try Battlefield 3 in the next few days). I've tryed both with kvm and xen, but xen is in my oppinion too difficult to setup, al least for me and I haven't managed to get it working reliable (al least not yet).

My "compute" PC:

  • Intel i7-2600 non-K processor, this one has VT-x and VT-d - any processor with VT-d Intel / IOMMU AMD should work though. This is very important!
  • ASRock H67M-GE motherboard with VT-d support, I went with ASRock because it was written in black and white on their website, in the motherboard bios manual that it explicity supported VT-d , not a generic Intel virtualization option, or VT-x as other motherboars. Again this is very important!
  • 8GB of DDR3 RAM, the more the better
  • VTX3D Radeon HD6770 1GB DDR5 128-bit
  • 120GB A-DATA S510 SSD
  • Sirtec 500W power supply

This is how I made it work (I used Fedora 16, so I don't guarante this will work on other distros too) (Please read a lot more before you try this, and read this post until the last . before you try anything, I won't be responsible if you're system breaks, BACK UP, if you're doing this on a machine with valuable data):

  1. I installed Fedora 16, the 64 bit kind, from  DVD, minimal setup, no desktop, as this will also serve as my "compute" (eg programming, testing, dev, server, all in one torture)  pc, as well as my gaming rig. I went with no swap partition and a LVM setup where I reserved a 50GB for the vm and the rest to /. Notice I didn't create any user accounts so I used root.
  2. I updated Fedora to have the latest packeges and kernel and rebooted.
  3. I setup ssh acces and installed the virtualization related packeges:
    1. # yum install @virtualization
    2. # service libvirtd start
  4. For Intel cpu's you have to specifiy a boot parameter;
    1.  Append "intel_iommu=on" to /etc/defaut/grub GRUB_CMDLINE_LINUX.
    2. Updated grub 
      1. # grub2-mkconfig -o /boot/grub2/grub.cfg
    3. Reboot
  5. Follow these instructions, for pci passthrough troubleshooting: https://fedoraproject.org/wiki/How_to_debug_Virtualization_problems#PCI_device_assignment 
  6. I also blacklisted the radeon driver - requiers reboot or 
    1. # modeprobe -r radeon
  7. Installing the vm
    1. I used virt-manager new virtual machine dialog, and used the 50GB lvm as raw storage and pointed the way to the Windows 7 install DVD. Do NOT try to add/modify any other options, unless you really know what you are doing. ( in my case adding USB devices eg keyboard and mice would result in system frezes -  you should try to add keyboard and mouse support to the VM if possible, just keep in mind that if windows is loading slow it might be from that; or when I activated APIC or ACPI,  after I instaled graphics card driver, Windows wouldn't start because of BSOD)
    2. I installed Windows 7 x64
    3. I added the graphics card and HDMI audio of the card using virt-manager to my vm, I let Windows install the driver, rebooted and well benchmarked it.


I've played some games using the vm, and well it was ok, I couldn't say that it wasn't a physical machine, but it's stil not perfect. What I'd like to do is to remote acces the vm and play the games, a bit like OnLive, but sofar SPICE/VNC from virt-manager go dark when I attach the graphic card, I cand stil send keyboard and mouse input to the vm but the image frezes - and I think that this is just how they were supposed to work; Windows RDP no go, AOE3 won't even start; standard VNC and TeamViewer aren't fast enough for high quality, skipped frames and things like that. If I won't find something suitable, I'll code it myself, this is probably be my 2012 big summer project.

I've experieced some bugs, like the fact that sometimes, when I'd shut down the vm, the amount of ram allocated to it wouldn't be freed, i had either to restart libvirtd, kill some programs, or reboot. Sometimes virt-manager would crash.

And i'm a bit dissapointed by the networking capabilities of KVM, I did try the latest virtIo drivers for Windows ( http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/ ) but they weren't as fast at NAT (x10-100 slower!!!), and I'd like/need to make the vm a part of my home network, this is something i'll have to investigate more.

THERE IS NOT A UNIFIED UPTODATE KVM USER MANUAL. The best I could find was a 2010 German wikibooks website, this is where I really miss Virtual Box, it has the best documentation out there (at least comparing with KVM and XEN) for virtualization programs.


Sunday, August 14, 2011

It has been so long! The final one!

Wow în primul rând că de când nu am mai scris ceva a trecut atât de mult și s-au întâmplat așa de multe ... așa că presupun că un rezumat este necesar pentru ultimele 12 luni.

Acum multe luni ...

Și începe școala, și primele câteva săptămâni au fost grozave aveam chef de aproape toate (româna fiind desigur excepția după cum o să va dați seama aici), proiectele de vară de la info continuau și continuau destul de bine chiar dacă era școala asta (sincer din 30 de ore pe săptămână 14 erau cât de cât utile). Odihna verii nu a avea să dureze, așa că s-a instalat dorința vacanței de iarnă care, ca de fiecare dată duce la o hibernare lungă în ultimele săptămâni de școală am mai descris fenomenul pe undeva prin blog. Vine vacanța de iarnă care a însemnat relaxare și muncă la proiecte la info, vine sfârșitul semestrului.

Hmmm, începe panica bacului și admiterii

La română în cele mai pesimiste scenarii deja preziceau nota 5 în bac (mă rog alea optimiste rău că na câteodată mai sunt optimist ziceau că un 8 poate 8.5 ar fi grozav) și da probabil că atunci aș mai fi putut să mai fac ceva care poate ar fi putut să mărească nota de la bac, dar sincer eu unul nu sunt în stare să învăț ceva care este respins de fiecare celulă a mea de parca ar fi Ebola oricât de mult aș încerca, oricât de mult m-aș concentra, e nevoie doar de 1/infinit secunde ca să visez cu ochii deschiși la altceva muuult mai plăcut.

La mate cam rămăsesem în urmă, nu mult, dar în urmă de colegii mei care parcă făceau toată ziua variante peste variante la mate, meditații peste meditații și se pregăteau să ia 10 în bac, așa că na, am băgat și eu creierașul meu la maxim și am torturat mâna de la atâta scris și m-am apucat să fac și eu variante, rezultatele inițiale au fost promițătoare 8-9 chiar în unele cazuri era mai mult decât mi-aș fi închipui (că de dorit, normal că mi-aș fi dorit 10), dar important era că lucram.

La informatică, pentru bac în timpul anului sincer nu am lucrat aproape deloc, decât vre-o 20-30 de variante amărâte cândva (nu că la mate aș fi lucrat mai mult, dar nu pot compara matematica cu informatica pascal).

Fizica asta, deși nu o aveam la bac, o aveam la admitere, așa că m-am cam pus la treabă să parcurg toată materia și toată teoria și la început totul mergea așa de bine, dar ...

Apoi au fost concursurile

Ca în fiecare an din martie în sus au început concursurile la info, și anul ăsta am fost la cele mai multe și parcă și cu cele mai bune proiecte de până acum, cam peste tot prin țară, mi-au plăcut, am luat și premii, m-am și plimbat am făcut și niște chestii noi care mi-au plăcut foarte foarte foarte mult (ps un indiciu pt cine știe XXXX159265). Nu știu dacă munca la concursuri sau faptul că începusem să înnebunesc pe o scară astronomică în legătură cu ceva sau faptul că nu îmi mai plăcea vâlcea deloc, dar eforturile mele pentru pregătirea la bac au ajuns la 0, ce-i drept am mai lucrat un pic pt atestatul la info, dar în rest n-am mai mișcat nici un deget (decât să zic dublu click pe următorul episod din DS9 (mișto serialul apropo) și Star Trek Enterprise (mișto e și ăsta)) și s-a văzut la bac asta.

Nomen's time

Și s-a sfârșit și școala ca în fiecare an din ultimii 12, dar anul ăsta era bacul și era organizat aiurea rău de tot, dar na ce să fac, sa nu particip la bac și să nu intru la facultate sau să fiu de acord cu circul ăsta și poate când "o să cresc mare" să schimb în mai bine?

În afară de info unde am făcut restul variantelor care nu le făcusem încă (60-70) iar nu am lucrat nimic... din păcate ... nu pot să zic că era ceva anume care mă împiedica sa lucrez, dar era ceva, e complicat oricum ...

Și-a venit bacul și timpul s-a scurs

Felul 1: Mărețele competențe ale INUTILITĂȚII și pierdut timpului

Română - experimentat cică - nu îmi vine să cred cât de plictisiți și neatenți (și dornici de a-și îndeplini norma de elevi cât mai repede) au putut să fie profii din comisie de mi-au dat mie calificativ maxim.

Engleză - B2 pe linie - da la ce îmi folosește asta, acum sincer??? o pot echivala cu ceva IELTS sau Cambridge că altfel sincer au murit niște copaci degeaba și s-au turmentat niște secretare degeaba pentru o hârtie inutilă.

Digitale - 100 de puncte - iar a picat netul în Romania în zilele cu digitale, n-a fost prea complicat, dar eu iar trebuie să întreb la ce folosește această bucată de celuloză, este obligatorie ca să te angajezi la stat ca măturător sau ministrul educației? Încă un lucru care e bun în principiu, dar aplicarea e anapoda, la fel cum e sistemul de învățământ în Romania, da pe cine să împuști mai întâi?

Felul principal:

Română - 6.1 yuuuuuupiiiiiiii - cu 1.1 mai mare decât previziunile, deși să vă spun că n-am scris
pe Camil, ci pe Caragiale care se pare ca iar și-a bătut joc de mine :)) (singurul 4 din generală el mi l-a făcut cadou) așa că, na ar fi fost posibil să fi meritat mai mult, dar mă mulțumesc și cu atât.

ROMÂNA CA MATERIE DE BAC LA PROFIL MATE-INFO ESTE CEA MAI MARE ABSURDITATE DIN EDU.RO

Matematică - 8.2 - și aici am luat mai mult decât aș fi crezut pentru că subiectele au fost foarte accesibile chiar și la M1, deși aș fi putut totuși să iau cu 0.3 mai mult, dar asta e.

Info - 10 - am luat-o razna la info, nu m-am gândit aproape deloc la rezolvatul problemelor, dar aici s-au văzut 3 ani de muncă, rezolvatul problemelor și scrisul liniilor de cod a devenit o extensie a mea care câteodată funcționează singură.

Gata bacul, luat și trecut cu 8.1, știu că s-a picat mult, dar sincer cum să nu iei notă de trecere, mai ales cei de la M2 care se plângeau de mate, nu e corect ei de ce au dat M2 și noi a trebuit să dăm R1 (română nivel filologie), indiferent câți mi-au zis și o să îmi mai zică că româna este limba maternă și asta o face specială, româna este o limbă ca engleza (care e mai utilă că am impresia că sunt câteva miliarde de persoane pe planetă care știu să o vorbească ) sau chineza, sau limba unor triburi din mijlocul pădurii tropicale, și ca toate limbile este o unealtă, nu ar trebui să beneficieze de tratament special PUNCT.

Blonda de la .... Economic

Bacul o fi fost el gata, l-am și luat cu o medie cât de cât bine, dar problemele legate de el nu s-au terminat, au urmat 2 zile de lungi ore de așteptat după primirea diplomelor de bac (o groază de hârtii, o mare parte inutile). Secretarele astea mai ales blonda (cine o știe cunoaște, dar mai bine ar fi vrut să nu știe :))) sunt atât de "drăguțe" încât parcă dacă ai mai da odată bacul ... ar fi mai bine.

După 4 ani în sfârșit am terminat și cu liceul ăsta, nu o să-i duc dorul.

ADMITEREA

Cu ce, cum să încep oare?

Hai de la început de prin iunie cu Ionescu de 06:10, la cât de plimbăreț am fost eu până acum, nu prea (adică de 0 ori) am călătorit singur cu autobuzul între doua orașe, așa că prima dată când m-am dus până la București (singur, fiind prima dată când am ajuns în capitală) să zic că am avut ceva emoții (din fericire nu s-au revărsat prin cavitatea bucală ( se pare sibiu are ceva cu mine când nu am stomacul gol)), dar recompensa (București-ul, experiența (fericirea?(oare am găsit un loc unde pot să fiu și eu liniștit și poate fericit)) a meritat pe deplin, chiar dacă scopul acelei prime călătorii nu a fost îndeplinit decât 50%.

Trip number 2

Tot Ionescu de 06:10, dar și cu niște persoane mai familiare așa, destinație Bucharest, scop înscrierea la Facultate, am dat peste persoane drăguțe, totul a mers destul de rapid, ce-i drept am stat la o coadă, dar nu se compară cu coada de la a blondă sau de la celelalte universități din capitala, mi-a părut rău că n-am stat decât câteva ore, dar știam că o să mă întorc.

Trip number 3 (my lucky number)

Călătoria nr 3 spre București începe tot cu Ionescu de 6:10, continuă cu micul dejun pe la 9:00 pe lângă autogara Militari și cu un înconjur al campusului universitar (e imens), în cele din urmă am ajuns la hotelul unde urma să stau pentru câteva zile. Am dat acolo peste o persoană foarte interesantă care venise în București cu același scop ca și mine, să intre la Facultatea de Automatică și Calculatoare a Universității Politehnica București. Prima mea plată cu cardul a urmat, mi-a plăcut cât de ușor e, nu mă mai încurc cu bancnote și monezi, cu restul, mi se pare mult mai rapid.

Restul acelei zile de duminică l-am petrecut învățând pe ultima 100 de metri la mate, să zic că nu prea am avut chef de somn din cauza emoțiilor (ps de pe la 03:00 scriu la postul asta, acum e aproape 05:00), ziua următoare la examenul la matematică am făcut destul de bine, de 9.5, deși am greșit la pur și simplu o adunare și na, mi-a scăpat printre degete 10. Matematica a fost ușoară, mi-a plăcut modul de examinare și corectare și profi examinatori.

A urmat a doua zi fizica, după o noapte în care am recuperat cât am putut din lenea unui an întreg, ei bine s-a văzut, la fizică am luat nota 6 :(, destul de putin față de restul, dar totuși la cât am lucrat eu la fizică e chiar foarte bine.

Ziua de miercuri a fost ziua în care au sosit rezultatele, intrasem, uraaaaa , am intrat la taxă, dar măcar am intrat, m-am înmatriculat, am vânat fără succes ceva ce chiar aș fi vrut. Restul zilei am petrecut-o explorând orașul, prima mea călătorie cu metroul :). Iar joi am plecat spre Vâlcea să îmi termin treburile de acolo.

Bucharest number 4

Acesta a fost cea care a pus bazele imigrării mele în capitală, asigurând cazarea. După 2 zile de plimbat pe la Vâlcea și pe la Băbeni (sunt latifundiar cu acte în regulă :)) pe acolo ) și după împachetatul lucrurilor a urmat Bucharest Express :)) și mutat am fost.

Sunt de o săptămână în București și îmi place foarte muult (a fost cam nașpa fără net primele zile (defapt am cam înnebunit un pic)(cosmote ăsta mi-a mâncat la bani pe net mobil de nici nu mai știu dar asta a fost,windows-ul cu update-urile lui mi-a utilizat aproape tot traficul, da cosmo are viteză foarte bună)) și o să vad eu ce fac în continuare :).

05:25

Sunday, August 29, 2010

Halo

Cred că toți gameri dacă nu l-au jucat, măcar au auzit măcar de Halo, unul dintre jocurile care mi-a plăcut și m-a influențat foarte mult (a nu se înțelege că o să încep să vânez extratereștri pe stradă, ci mai degrabă m-a făcut împreună cu alte entertainments să privesc la stele, la spațiu și la misterele ca încă nu au fost dezlegate). Un alt lucru pe care l-am învățat de la acest joc a fost să nu renunț, că indiferent de câte ori sunt "ucis", să continui , sa nu încetez să "împușc" și să "arunc în aer" tot cea ce îmi stă în cale.

Halo Combat Evolved, primul shooter ale cărui gloanțe s-au auzit prin boxele vechiului meu PC a fost și încă este cel mai jucat joc din repertoriul meu, 3 campani pe easy, 2 pe normal, 1 pe heroic și 3 pe legendary, săptămâni întregi de distracție. Este jocul, pe care îl știu mai bine decât palma mea. Este jocul care a mers fără probleme 4 ani pe vechitura de PC.

Halo 2, continuarea este destul de grozavă, are multe înbunătățiri, dar și unele probleme, l-am terminat odată pe easy și odată pe heroic, destul de rapid și usor, dar au fost și faze care mi-au solicitat degetele și gândirea pentru a trece cu bine de ele. Per total ll-as mai juca odată sau de mai multe ori deși este o vechitură, este o așa zisă vechitură clasică de neratat (în cazul ăsta, de jucat).

Îmi pare rău că pentru PC au fost făcute doar primele 2 jocuri, restul de 3 apărând doar pentru consolă, aș fi vrut să le joc și pe celelalte, și sper că o să am ocazia.