Page 1 of 4 123 ... LastLast
Results 1 to 10 of 36

Thread: Information about Nvidia optimus support

  1. #1
    Join Date
    Aug 2008
    Beans
    39

    Information about Nvidia optimus support

    Hello All,

    I've been browsing the web for information regarding muxless graphics (aka Optimus) with new NVIDIA discrete graphics chips. The results have been alright, however I feel like there is a lack of aggregation of this information.

    My setup is the following:

    MSI GT70 laptop with,
    Ivy Bridge i7-3610QM cpu with HD4000 iGPU (integrated GPU), and
    nvidia GTX 675m dGPU (discrete GPU)

    Currently with the latest nvidia binary blob and bumblebee, I get the following error when I try to use 'optirun'

    Code:
    [ERROR]Cannot access secondary GPU - error: [XORG] (EE) NVIDIA(0): Failed to assign any connected display devices to X screen 0
    
    [ERROR]Aborting because fallback start is disabled.
    This shows you that the issue is a little more deep than just nvidia not providing support. It seems like some changes are needed to Xorg in order to allow this kind of thing to work.

    In fact it seems that the way a lot of laptops like mine with gtx 6xx discrete chips are wired, is for the dgpu to copy it's rendered image into the memory of the igpu on intel's chip. This is new, and there will need to be some software changes in linux before proper drivers can be written. There is already progress being made though on both fronts it seems!

    In the kernel world, there is 'DMA-BUF', which would be the ideal case. This way NVIDIA could do something much closer to what is happening on windows. However there are the much heard of conflicts with the closed-source nature of NVIDIA's software.

    Another way is being pursued by david airlie in the form of enhancements to the xorg server and freedesktop drivers to allow gpu offloading, which he is calling PRIME. here, here, and here.

    I'm sitting here eager to test new software to get this stuff working however I'm not sure what is current or if anyone has tried various things before, so I'm creating this thread for this purpose. If anybody has any information about new software please post it here. I should mention that I would like to try the prime notes mentioned here like this guy, however I get the following error when cloning the mesa git tree he has.

    Code:
    matthew@sibelius:~/Sources$ git clone git://people.freedesktop.org/~airlied/mesa mesa_prime
    Cloning into 'mesa_prime'...
    remote: Counting objects: 496561, done.
    remote: error: unable to find 536cb264f64e90e4123ad30b4cf0a155244c0eb0
    remote: error: unable to find 77ed5b4ff21d5a99313380db94ff58b6d2a0be6a
    remote: error: unable to find a91bdb3499de0eef0197803410a19f53f70cad51
    remote: Compressing objects: 100% (91027/91027), done.
    remote: fatal: unable to read 536cb264f64e90e4123ad30b4cf0a155244c0eb0
    remote: aborting due to possible repository corruption on the remote side.
    fatal: early EOF
    fatal: index-pack failed
    So, I'm waiting until something I can test is ready.

    I will edit this post to make it more readable and contain more information such as links as they become available. Hopefully soon I will be able to post how to get it working.

  2. #2
    Join Date
    Sep 2009
    Location
    Netherlands
    Beans
    115
    Distro
    Kubuntu 14.04 Trusty Tahr

    Re: Information about Nvidia optimus support

    Mesa is just one patch. Clone from git://anongit.freedesktop.org/mesa/mesa and apply this patch on it (I'm using the master branch, but 8.x.x should be fine too).

    Something to keep in mind: when building the xf86-video-{intel,nouveau} drivers, you need to install the new X stack first. Otherwise, the compilation will pick up the old headers, causing X to segfault.

  3. #3
    Join Date
    Aug 2008
    Beans
    39

    Re: Information about Nvidia optimus support

    Actually, I found out from airlie himself that his mesa git repository is a remote of the real mesa tree so I should first clone the original mesa tree, then attach his repo as a remote, then pull from it. This worked.

    However I'm now having typical build problems which result from not knowing exactly what you're doing..

    Maybe I'm being a bit too optimistic, but I'm trying to build X alongside the X which ubuntu set up. I figured I could isolate the build environment, build, then setup the correct LD_LIBRARY_PATH and PATH variables so that when I call X, it calls the new version. I could then shut down my current X, change environment and start the new X. Do you think it's possible to actually have this work in the end?

    Right now it's crashing and giving an error related to XKB.
    Last edited by Mahler122; July 4th, 2012 at 04:56 PM.

  4. #4
    Join Date
    Jan 2011
    Beans
    1,151

    Re: Information about Nvidia optimus support

    Two things

    first install bbswitch

    Code:
    sudo apt-get install bbswitch
    this allow you to shutoff your nvidia card when it not in use

    believe me, it will stop that noisy fan

    second

    I only got nvidia optimus working on open drivers. Nvidia support just sucks
    (\ /)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination.

  5. #5
    Join Date
    Jun 2006
    Location
    Nux Jam
    Beans
    Hidden!
    Distro
    Ubuntu Development Release

    Re: Information about Nvidia optimus support

    Please send your complaint to nvidia for their documentation helping on linux.

    http://www.phoronix.com/scan.php?pag...tem&px=MTEyMTc

  6. #6
    Join Date
    Aug 2008
    Beans
    39

    Re: Information about Nvidia optimus support

    Quote Originally Posted by idoitprone View Post
    Two things

    first install bbswitch
    I've had that installed for a while, although cooling on this laptop is pretty good so The fan wasn't very much louder before I had bbswitch.

    Quote Originally Posted by idoitprone View Post
    I only got nvidia optimus working on open drivers. Nvidia support just sucks
    Yeah, at the moment I'm just trying to reproduce the open source work. I want to see that this works in principle on my machine too.

  7. #7
    Join Date
    Jan 2011
    Beans
    1,151

    Re: Information about Nvidia optimus support

    Code:
    cat /proc/acpi/bbswitch
    ?


    nouveau driver does not support your card yet
    (\ /)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination.

  8. #8
    Join Date
    Aug 2008
    Beans
    39

    Re: Information about Nvidia optimus support

    Code:
    matthew@sibelius:~$ cat /proc/acpi/bbswitch 
    0000:01:00.0 OFF
    Quote Originally Posted by idoitprone View Post
    nouveau driver does not support your card yet
    This is unclear:
    http://nouveau.freedesktop.org/wiki/CodeNames#NVC0
    Mine is code NVCE

    http://nouveau.freedesktop.org/wiki/InstallDRM#Firmware

    My card code is not explicitly listed as needing proprietary firmware, but then again it's also not explicitly listed as having free firmware. It's in the NVC0 family though, so the claim is that the free firmware will work.

    As far as I can tell there aren't any muxed systems with a gtx 675m with which people can appropriately test nouveau. It seems like everyone has the same problem as me with X. But then again perhaps I haven't searched deep enough.

    Thus the first thing to do is see if I can get this xserver working before the release of xorg 1.13 which now looks like it will have the gpu offloading support: http://www.phoronix.com/scan.php?pag...tem&px=MTEzMzE
    Last edited by Mahler122; July 5th, 2012 at 07:45 AM. Reason: changed hotplugging to offloading.. I keep getting them mixed up

  9. #9
    Join Date
    Sep 2009
    Location
    Netherlands
    Beans
    115
    Distro
    Kubuntu 14.04 Trusty Tahr

    Re: Information about Nvidia optimus support

    Quote Originally Posted by Mahler122 View Post
    However I'm now having typical build problems which result from not knowing exactly what you're doing..

    Maybe I'm being a bit too optimistic, but I'm trying to build X alongside the X which ubuntu set up. I figured I could isolate the build environment, build, then setup the correct LD_LIBRARY_PATH and PATH variables so that when I call X, it calls the new version. I could then shut down my current X, change environment and start the new X. Do you think it's possible to actually have this work in the end?

    Right now it's crashing and giving an error related to XKB.
    To fix the xkb issue, install "libxkbfile-dev" (may be necessary before building X).
    You also need to rebuild the evdev module (and any other X module you use, e.g. the "xf86-input-wacom" module for Wacom tables) otherwise the devices will be unusuable, unabling you to use X because of the ABI mismatch.
    My notes for PRIME are here: http://lekensteyn.nl/files/prime-instructions.txt

  10. #10
    Join Date
    Jan 2011
    Beans
    1,151

    Re: Information about Nvidia optimus support

    Quote Originally Posted by Mahler122 View Post
    Code:
    matthew@sibelius:~$ cat /proc/acpi/bbswitch 
    0000:01:00.0 OFF
    This is unclear:
    http://nouveau.freedesktop.org/wiki/CodeNames#NVC0
    Mine is code NVCE

    http://nouveau.freedesktop.org/wiki/InstallDRM#Firmware

    My card code is not explicitly listed as needing proprietary firmware, but then again it's also not explicitly listed as having free firmware. It's in the NVC0 family though, so the claim is that the free firmware will work.

    As far as I can tell there aren't any muxed systems with a gtx 675m with which people can appropriately test nouveau. It seems like everyone has the same problem as me with X. But then again perhaps I haven't searched deep enough.

    Thus the first thing to do is see if I can get this xserver working before the release of xorg 1.13 which now looks like it will have the gpu offloading support: http://www.phoronix.com/scan.php?pag...tem&px=MTEzMzE
    Nouveau team barely added remedial support of the kepler series. It is not worth the effort to run nouveau drivers. Graphic cards are very complex these days and those gpu clocks are hard to reverse engineer.
    You will not get acceptable performance because the starting clock is too slow.
    (\ /)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination.

Page 1 of 4 123 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •