Friday, 17 January 2014

I'm coming for you! Linux & Windows! Prepare to bow before me assholes!

Allright, a new day has risen (and fallen as i slept through it *blush*) and it's time to get started with this linux bullshit of mine and get it over with as fast as i can, preferably before noon, that gives me 11 hours.

That said i still have an absolute deadline of 8 days - 1 hour (as i wrote this line) which is when sunday of next week will start.

Another thing i must do is that by tomorrow (which is sunday) i'll need to have a functional linux OR windows installation so i can play a game i've never played before.

Now lets count up the problems i face.

Major Problem:

1: Linux is not compatible with many windows programs
2: Windows doesn't offer me half the desktop environment & window manager customization that linux does
3: My soundcard is funky in linux (Alsa's fault)
4: i need to be able to work within linux and play within windows, and i want to be able to either use both simultaneously or be able to switch between the two near-instantly

Solutions:

1. Dual Boot (<- this is the simplest one, but not an option for me since i don't want to restart)
2. Virtualization (<- Traditional virtual machine setup will not do)
    2. Seamless/Unity Mode
        2.  GPU/VGA Passthrough (<- If i can get that working i should be satisfied with a windows                    guest OS running under a linux host since i could run games at full power.)
            2. Qubes OS (<- This seems to be my best shot if i want to do virtualization
3. KVM (<- Viable option but requires 2 computers, which i do have)
4. Streaming (<- Have a strong windows machine set up, dedicated to streaming over LAN to a weaker Linux machine.)
5. Cygwin/X or Xming (<- Run X server on windows to use a linux desktop environment inside of windows. This is probably the easiest solution, but it's also the most limiting one)

Minor Problems:

1. It's raining heavier than ever in the last several years, there's practically a flood outside my door which i need to wade through to get inside and go to the bathroom (damn, <- this is a joke, but it's true.)
2. Except for dual boot, no matter what option i choose my logitech G-series keyboard is bound to givem e some problems.
3. I've never used xen nor successfully passthroughed a PCI connected device to a VM
4. Linux drivers for my Sound Card and my Keyboard are inferior to the windows one (problem if i use a linux host for virtualization)
5. I don't have a KVM switch.
6. I worked hard for my current linux installation, keyboard drivers in particular

Consolation:

1. I'm a genius at working around problems like that, so i just put on a sweater whenever i go outside (means i can live without a parka or umbrella, it's a compact solution) so i don't get wet, and i circle around the huge puddle sitting in front of my door to access the house without getting my toes wet through my slippers.
2. I can think of a solution(workaround) for this problem, which is to disconnect and then reconnect my keyboard whenever i switch (be it with KVM or between virtual machines) and i think it's possible to software-implement this so i don't have to physically unplug the keyboard every time.
3. Everything has a first time.
4. These drivers are open source, i already have rewritten chunks of my keyboard drivers on linux so i can manipulate them to function exactly as i want them to. The soundcard is a bigger problem. To fix the drivers i'd require outside help (i'm just not the right programmer for sound programming) however, as a temporary solution i could passthrough the card to a windows virtual machine and just use that for sound.
5. I can get a KVM switch later after i've tried all the other alternatives.
6. I have a backup of the keyboard driver's source so if i need to i can just re-install them.

Bonus:

1. My windows installation has become somewhat of a mess, so i've been meaning to reinstall it for a while now.
2. Apart from my SSD, all my hard drives have a lot of clutter gathered up that i need to cleanse out in the process of doing all this.
3. My hardware is strong enough for all the most intense solutions,
I have an i7 which means 8 logical cores, i can have a quad core windows and a tricore linux with a unicore dom0 (underlying core) set up if i use Qubes OS.
I have 24 GB of RAM which i can evenly divide between the computers.
I have 2 dedicated GPUs and 1 intergrated, this means i can passthrough a GPU to both a linux and a windows virtual machine and leave the dom0 running on an intergrated one (in theory)
I have an SSD which should be fast and large enough to support running all three OSes simultaneously without problems.
4. All the data i need to back up is on my small SSD which will fit on my storage drive, formatting all my SSD partitions is an option
5. If i succeed with the virtualization solution of using Qubes OS, my computer will be a fortress (the amount of security involved), and i could further fortify it by using Truecrypt on my storage devices. In fact i probably will just for fun maximize my security, both anti-virus and anti-hacker on my computer if i succeed. Since that's cool.

Lets do this! After i take one game of LoL i guess, just one game before i fuck everything up and won't be able to play anything for a while :)

While i'm at this i intend to set up all my computers again (not just main)

That LoL game was pretty good, i went 1/12/26 soraka and we were getting our asses handed to us, but we managed to ace them just barely (my guardian angel + me exhausting katarina so ryze could take her out was how we barely did it) then our hecarim pushed all the way to castle, their inhib was just about to respawn, kat teleport in, nami and zed respawn and then with like 1 second till their inhibitor respawn kat and hecarim finished off the castle! Yeah we were fighting a losing battle, but the enemy was so bad they couldn't get through our base turrets, they weren't pushing hard enough, toying with us... so they lost for that (which is common)

Now, lets get it on!

Double checked that everything is backed up and then.... (Oh boy it'll suck to not have any music for the first couple of minutes)

I like to have a theme on my computers, both in the naming of the computer and user accounts, this time i took my time to think it over... and...

Amodos (dom0)
Zinth (dom0 user)
Necembel (linux)
Quiline (linux root)
Xandis (linux user)
Jokland (Windows)
Danila(Windows user)

lets see, the windows user needs the name of someone who lives in Jokland, the unnamed protagonist of the undead game, she's a human, so a rare, fitting english name... Anastasia, hueheuhehue, yes... Anastasia.... Anastasia... i wanted to use Blythe as a last name, kinda, but "happy" or "joyous" is blythe's meaning (ironic for our buddy Randy ain't it?) and that doesn't fit the character.

I changed my mind about Anastasia, it's perfect meaning (one who rises again) but it's too soft for her. Renata or Renee are however good, i like Renata... Cynthia... wait... Danielle.

It shall be Danielle, female version of the hebrew name Daniel meaning "god will be my judge" (which is ironically my name, i'm agnostic-atheist) i have reasons for picking that name. I've been intending to recreate myself as a character in amodos, the intention was not to make it a protagonist though, but what i had in mind to make the recreated me character do is actually fitting for a protagonist story after all. Now for a last name.. Odal.

Danielle Odal. This characters story will be fairly brutal since it will be (very very very) loosely based on my own life story up till this point leading to a spin-off. The last name of odal isn't decided yet, it just needs to be something that starts with an O (for my initials, DO)

Wait, Danielle will feel silly for me to login with + people who know my might start to suspect something if the name is so brutally similar to my own. Danila. Danila Odal. Sure, it's russian but who cares, russian qualifies for human name. I guess i'll eneed to have a mixed theme on human names in the games. Nobody will notice :)

Now for the dom0 user, lets see... oh i know, i'll just have a standard root account unlike the virtual linux which will have a named one. there we go. Ready!

First attempt: Qubes OS
Status: In Progress - Failed
Result: I installed it successfully, but i couldn't get the passthrough working. First i passthroughed the card Qubes was using which resulted in a blank screen, next i tried to passthrough my weaker 550 which failed, so i changed the slots so the 550 would be the primary card (i.e. what qubes would use) and the 670 would be the secondary card, i also remembered to enable vt-d from the bios which i hadn't done yet (shame on me). After this Qubes refused to boot, and when i tried to reinstall me it gave me a "Pane is dead" message. I gave up there and decided to try somethin else. I really like the concept of this OS though, in fact i will probably come back to it later if the project doesn't die.

Second Attempt: Arch Linux + Passthrough
Status: Good Progress
Result: I'm sad i didn't get Qubes to work. Now it's time for good, old arch. I installed it (same old, same old) then i try for like the 20th time to follow nbhs' guide. I'm bound to run into problems here.

Third Attempt: Windows + Cygwin/x or Xming
Status: Not In Progress

Fourth Attempt: Windows + Virtualbox' Seamless Mode
Status: Not In Progress

Final Attempt: KVM or Streaming
Status: If all else is unsatisfactory i will try streaming or buy a KVM switch, i'm likely to buy the KVM switch and never try streaming.

Allow me to justify that this is worth the time i'm giving it. If i succeed then i will get the best of both worlds of linux & windows, which is something not very many enjoy and i think is worth all this work. And as a nice bonus my productivity will be boosted substantially, for example the pager alone that's present in most window managers will give me a nice boost, and sure... there is software for windows to get that functionality, but none of it is really as good as the pager.

I did it! i set things up so i can passhtrough my 670 to a guest virtual machine and use the 550 on the host machine, although now i´m kind of curious whether i could´ve done it with my iGPU on the host. But first i need to get this motherfucking stupid QEMU program working, it won't build the package D: it conflicts with its own fucking dependency, can you believe that? some libcacard


... Wow, i think i just solved a big problem i used to have. That's fucking epic, that's the best... yeah!

My problem on linux with my soundcard was that Alsa (sound drivers) willl read ANY output as 2.0(stereo) this means, if i play a 5.1 audio file it will detect it as a 2.0 audio file, this isn't normal behavior of course and it's my x-fi soundcard's drivers fault. A good solution would be to hack the code for the drivers till i make it work, which would tkae anywhere between a week to a month (i have experience... fucking keyboard...)

But i thought "i have more than one soundcard, and i would like to use the much better windows drivers for my soundcard"... and then i had this genius idea. Since this motherfucker is only willing to output 2.0 sound (or 2.0 sound upconverted to 5.1 if i configure it to do so, never true 5.1) i will just passthrough the soundcard to my windows machine.

But oops, then i'll have no sound on the linux machine right? well here's the genius part. I'll hook up a cable between the mic input plug of my soundblaster to the green audio jack of my intergrated card, go to windows and select "listen to this device" for the "microphone" and then my awesome windows drivers will upconvert the 2.0 sound better than alsa ever could have to 5.1.

The flaw is that i'll never have good sound quality for surround sound files on linux if i do this, but then again... what the hell would i need it for anyways?

But before i do anything this absurdly nuts, i shold google up if it'd destroy my sound card or not :P

...
...
...

hours later i realized i hadn't succeeded in what i thought i had.linux gave me everything i needed then changed it's mind and took it all back without giving me any reason why.

We fought a long and hard battle, i'm losing it. To tell the truth i'm backed into a corner, depending on what answers i'll have in a certain forum thread when i wake up i may give up right then and there, or overcome this foe.

I really, fucking, want to win.

No comments:

Post a Comment