← Back to team overview

hybrid-graphics-linux team mailing list archive

Re: some hybrid linux hack (rather dirty)

 

Hello Florian

I am trying now to setup this works. Can you tell me

> and invoked by
> 
> ./windump :0.0 :0.1

to which file should I put this command? to have that works.

Many thanks in advance

Best regards
tikcop



Dnia niedziela 01 maj 2011 o 00:51:42 Florian Berger napisał(a):
> hello people!
> 
> i recently bought a laptop (msi cx640) using nvidia optimus
> unknowingly, that it was pretty unusable to me on linux.
> however i found a (rather dirty) hack to be able to at least use my
> nvidia graphics card, so that i dont have to throw my laptop into the
> trashbin.
> 
> heres what i did:
> 
> first of all i installed the latest nvidia driver from www.nvidia.com
> and set up a dual head xorg.conf with one screen configured with the
> proprietary nvidia driver (see attachment)
> the nvidia device had to be the primary device for me, otherwise it
> wouldnt work.
> 
> but my nvidia card doesnt have any output so i tried to vnc to the
> other desktop, which was definitely too slow and/or too bad in quality.
> finally i browsed for some X-programming tutorials and somehow
> plugged together this bit of XShm code (windump.c - also see attachment)
> that enables me to copy content from my nvidia desktop into a window of
> my intel desktop at acceptable speed (of course depending on the load of
> the system).
> this thing took 24% of one of my 2 cpu cores. so as long as i dont
> do heavy stuff it works quite ok.
> i used a usleep to be able tune the framerate a bit (see code).
> 
> the code is compiled by
> 
> gcc -o windump windump.c -lX11 -lXext -lXtst
> 
> and invoked by
> 
> ./windump :0.0 :0.1
> 
> (actually i dont use Xtst anymore - first i tried to send events to
> the nvidia desktop, but now i just draw a little mouse cursor into
> the XImage - so you just move the mouse to the other desktop to
> interact with the nvidia card)
> 
> well ok thats it. its dirty and very spartan at but least enables me to
> use the nvidia card.
> im aware that this is in no way a perfect approach, but maybe somebody
> might find it useful until a real solution is found, or even better
> somebody knows how to optimize this method (its my first experience
> with Xlib programming).
> im thinking maybe of doing this in an LD_PRELOAD manner in a lib (by
> e.g. intercepting XCreateWindow) and thereby copying content from every
> nvidia opened window to a mirror window on the intel desktop.
> 
> so long, hope it helps a bit,
>   -harp1n


References