# FreeBSD 9-STABLE hangs with nvidia-driver on Nvidia GT 555M



## mamalos (Oct 2, 2011)

Dear all,

I have bought a new laptop (my old one was, unfortunately, stolen) with CPU Intel Core i7 and Nvidia Optimus GT 555M graphic card. I've read -here and there- that there are quite some problems with regard to Optimus on FreeBSD but they were quite old, so I'm not sure if they're still valid.

My problem is that once I've installed nvidia-driver (nvidia-driver-280.13), when I try to use it in my xorg.conf (Driver "nvidia") my laptop hangs. If I use the vesa driver for the same device, Xorg complaints with:

```
(EE) no devices detected
```

I looked at NVidia's site, where it states that 280.13 driver for FreeBSD does support my graphics card (http://www.nvidia.com/object/freebsd-x64-280.13-driver.html).

If I use the on-chip intel device using the vesa driver, X starts with 1024x768 resolution (which is actually a bit annoying). I also tried this link http://miwi.wp.lando.cc/2011/02/cft-xorg-7-5-miwi1-freebsd-edition/ so as to achieve a higher resolution with the intel driver, with no luck. 

Am I doing something wrong here, or is it still early for FreeBSD to support these chipsets?

Thank you all for your help in advance.

Excerpt from my /etc/X11/xorg.conf:


```
Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        #Screen      1  "Screen1" RightOf "Screen0"
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        ModulePath   "/usr/local/lib/xorg/modules"
        FontPath     "/usr/local/lib/X11/fonts/misc/"
        FontPath     "/usr/local/lib/X11/fonts/TTF/"
        FontPath     "/usr/local/lib/X11/fonts/OTF"
        FontPath     "/usr/local/lib/X11/fonts/Type1/"
        FontPath     "/usr/local/lib/X11/fonts/100dpi/"
        FontPath     "/usr/local/lib/X11/fonts/75dpi/"
        FontPath     "/usr/local/lib/X11/fonts/truetype/"
EndSection

Section "Module"
        Load  "dbe"
        Load  "dri"
        Load  "dri2"
        Load  "extmod"
        Load  "glx"
        Load  "record"
EndSection


Section "Device"
        Option "int10" "on"
        Option "BusType" "PCIE"
        Option "RenderAccel" "on"
        Option "AccelMethod" "exa"
        Option "DynamicPM" "on"
        Option "DRI" "on"
        Identifier  "Card1"
        Driver      "intel"
        VendorName  "Intel Corporation"
        BoardName   "2nd Generation Core Processor Family Integrated Graphics Controller"
        BusID       "PCI:0:2:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        #Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Depth        16
                Modes      "1366x768_60.00"
        EndSubSection
EndSection
```


----------



## adamk (Oct 2, 2011)

nVidia does not support Optimus on anything but Windows.  Some folks have attempted to hack together a solution for Linux called bumblebee, but I am very doubtful that will work on anything but Linux.  Unless there is an option to disable intel GPU in the BIOS, I think you are out-of-luck in using the nvidia driver in the foreseeable future.

To be able to use the Intel driver, you'll have to try this: http://wiki.freebsd.org/Intel_GPU


----------



## mamalos (Oct 2, 2011)

Thanks for your answer. 

I now understand that I will have no luck with regard to Nvidia and FreeBSD for the nearest future.

What you are suggesting me to follow with regard to Intel, is what I did, with no luck.

Is there someone else that has tried this procedure recently with success?

Thank you again for your answer.


----------



## adamk (Oct 2, 2011)

A few on this forum:  http://forums.freebsd.org/showthread.php?t=21852&page=3

Probably others if you check the mailing lists.

Adam


----------



## mamalos (Oct 3, 2011)

Thank you for your directions.

The last thing I'd like to ask once more is this:

Since NVIDIA doesn't support FreeBSD for this chipset, why do they claim so on their site?

Thanx again.


----------



## adamk (Oct 3, 2011)

On the driver download page, under "Additional Information" http://www.nvidia.com/object/freebsd-x86-280.13-driver.html):



> Some designs incorporating supported GPUs may not be compatible with the NVIDIA Linux driver: in particular, notebook and all-in-one desktop designs with switchable (hybrid) or Optimus graphics will not work if means to disable the integrated graphics in hardware are not available. Hardware designs will vary from manufacturer to manufacturer, so please consult with a system's manufacturer to determine whether that particular system is compatible.



Yes, they reference the nvidia linux driver in their notes on the FreeBSD driver page, but it's not hard to understand that the same limitation would be in place on both sets of drivers.

Adam


----------



## akil (Oct 3, 2011)

Try to rebuild your nvidia kernel driver once more.

I see that graphics card is supported by the driver:


```
GeForce 500M series:
GTX 580M, GTX 570M, GTX 560M, GT 555M, GT 550M, GT 540M, GT 525M, GT 520M
[url=http://www.nvidia.com/object/freebsd-x64-280.13-driver.html]http://www.nvidia.com/object/freebsd-x64-280.13-driver.html[/URL]
```

Perhaps you should consider to rebuild X dependencies once more, maybe there are some changes in source which influence on X itself (i guess it shouldn't). maybe Mesa is affected too, but who knows.


----------



## adamk (Oct 3, 2011)

akil said:
			
		

> Try to rebuild your nvidia kernel driver once more.
> 
> I see that graphics card is supported by the driver:
> 
> ...



It's all pointless unless the OP can disable the Intel GPU in the BIOS.  The page you linked to even says as much.

Adam


----------



## mathiasp (Feb 1, 2012)

You could install sysutils/acpi_call and try to switch off one of your cards via acpi. Google for "acpi_call" and find the linux version, there are lots of acpi commands to try. Also try searching the bumblebee site for information about the right acpi command.

I really don't know, but maybe it helps. I could switch off the external ati card in my Acer 5553g and have now the internal one only running, which gives me longer battery life and dri  Had to search through acpidump output as none of the above sites had the right code for the 5553g.

Good luck!


----------



## mamalos (Sep 3, 2012)

Hi all,

I am coming back to this issue again after almost a year, to see if things are easier now with FreeBSD and laptops using Optimus. As far as I have understood so far, the only thing that I can do is to use the Intel card instead of Nvidia, which is no problem for me. Through my quick-search, I found this thread and tried to follow it, but it must be out-of-date, since after applying the patches mentioned there, source building failed due to redefinition of some symbols, and after comparing the rej files found with original sources and patches, I realized that my was already patched (I am tracking FreeBSD-STABLE). I tried to follow this guide as well, but this seems to be even more outdated, as far as the kernel is concerned.

Nevertheless, I followed both guides towards using XORG_NEW, and I have rebuilt my sources to support it...or I think I did, cos my system says:


```
# Xorg -version

X.Org X Server 1.10.6
Release Date: 2012-02-10
X Protocol Version 11, Revision 0
Build Operating System: FreeBSD 9.1-PRERELEASE amd64 
Current Operating System: FreeBSD mamalacation.blabla 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #0: Sat Sep  1 16:59:27 UTC 2012     

root@mamalacation.blabla:/usr/obj/usr/src/sys/GENERIC amd64
Build Date: 01 September 2012  09:41:02PM
 
Current version of pixman: 0.24.2
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
```

Anyway, from the things I've read so far, and probably due to my low IQ, I still haven't figured out what I should do in order to use FreeBSD 9-STABLE for my laptop and have a proper display. So, here is my question: What are the steps I need to follow in order to use my Intel card on my laptop? Cos after one whole year working with Linux again...oo! It gave me a few headaches that I had forgotten they existed .

Thanx all in advance!


----------



## pkubaj (Sep 3, 2012)

9.1 already contains these patches.
You need to just install FreeBSD, then install Xorg with WITH_NEW_XORG="YES" and WITH_KMS="YES" set in /etc/make.conf. That's all.


----------



## mamalos (Sep 3, 2012)

OK, and which driver should I use in my xorg.conf (moreover: should I *kldload* any module)? Because I've built my sources this way, and xrandr shows only 1024x768 (*Xorg -configure* gives me the vesa driver).


----------



## pkubaj (Sep 3, 2012)

Just run `# Xorg -configure`


----------



## mamalos (Sep 3, 2012)

pkubaj, 

First of all thanx for your replies. Secondly, as I stated in my last post, I've already run 
`#  Xorg -configure` 
and the xorg.conf.new generated uses the vesa driver which does not allow for any resolution higher than 1024x768.


----------



## BeautifulFish (Sep 3, 2012)

/etc/X11/xorg.conf

```
Section "Device"
Driver          "intel"
```
You don't need to kldload any module.


----------



## mamalos (Sep 4, 2012)

I've tried it, but it doesn't find the driver. When I set the driver to intel it errs that no screens are available. I'll rebuild all my xorg+xf86 ports from scratch and see if it will work then.

Ah! And a last question. As I stated in my previous email, I followed the directions of that thread that was suggesting to download the last version of xorg-7_5_2 from an svn repository, so this was what I did. Is this step unnecessary or erroneous maybe?

Thanx again.


----------



## mamalos (Sep 6, 2012)

OK,

I've compiled xorg from scratch as well as all xf86-related libraries with no luck. Xorg -configure only shows i740 and i128 as available drivers for Intel (...or I suppose they are for Intel) and there is no intel driver present. To be more precise:


```
[root@mamalacation drivers]# pwd
/usr/X11R6/lib/xorg/modules/drivers
[root@mamalacation drivers]# ls
ati_drv.la*        i740_drv.so*       openchrome_drv.la* radeon_drv.so*
ati_drv.so*        mach64_drv.la*     openchrome_drv.so* radeonhd_drv.la*
i128_drv.la*       mach64_drv.so*     r128_drv.la*       radeonhd_drv.so*
i128_drv.so*       nv_drv.la*         r128_drv.so*       vesa_drv.la*
i740_drv.la*       nv_drv.so*         radeon_drv.la*     vesa_drv.so*
```

What am I doing wrong exactly and I am unable to use the correct intel driver (and which driver is it)?


----------



## mamalos (Sep 23, 2012)

Guys,

anybody have an answer as to how I can use my onboard drivers for Intel on FreeBSD 9-STABLE? I've deleted *all* ports, I've updated my sources/ports, and have installed x11/xorg metaport, ran: 

`# Xorg -configure` 

again and I keep having the same results (it puts vesa as the default driver, and "intel" errs with *"No drivers available"*). Are you all sure that intel is the driver that should be present in my xorg.conf's "Device" stanza?


----------



## mamalos (Sep 23, 2012)

OK,

I've found the solution, which was rather embarrassing...: I had to install x11-drivers/xf86-video-intel and everything worked fine (with the "intel" driver in xorg.conf).

Thanx all for your help, anyways.


----------

