Black screen with nvidia graphic card

Hi,

I have a GYGABYTE Q2532N and my graphic card is NVIDIA GT 540M. I installed FreeBSD 9.0 and then I installed the xorg-7.5 package from DVD. but when I run the startx command, I get a black screen and the keyboard stops working. I can't even switch between virtual consoles.

Next I downloaded my graphic driver from nvidia.com (a file named NVIDIA-FreeBSD-x86-295.53.tar.gz) and I installed it. But this time, after running the startx command, the system is rebooted. I tried the 'vesa', 'nvidia' 'nv' drivers but I get nothing.

I've added this line to my rc.conf:
Code:
hald_enable="YES"
dbus_enable="YES"
nvidia_enable="YES

and this one to my /etc/fstab:
Code:
proc	/proc	procfs	rw 	0	0

This is the output of the Xorg -configure command:

Code:
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/"
EndSection

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

Section "InputDevice"
   Identifier  "Keyboard0"
   Driver      "kbd"
EndSection

Section "InputDevice"
   Identifier  "Mouse0"
   Driver      "mouse"
   Option       "Protocol" "auto"
   Option       "Device" "/dev/sysmouse"
   Option       "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
   Identifier   "Monitor0"
   VendorName   "Monitor Vendor"
   ModelName    "Monitor Model"
EndSection

Section "Monitor"
   Identifier   "Monitor1"
   VendorName   "Monitor Vendor"
   ModelName    "Monitor Model"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "SWcursor"              # [<bool>]
        #Option     "HWcursor"              # [<bool>]
        #Option     "NoAccel"               # [<bool>]
        #Option     "ShadowFB"              # [<bool>]
        #Option     "UseFBDev"              # [<bool>]
        #Option     "Rotate"                # [<str>]
        #Option     "VideoKey"              # <i>
        #Option     "FlatPanel"             # [<bool>]
        #Option     "FPDither"              # [<bool>]
        #Option     "CrtcNumber"            # <i>
        #Option     "FPScale"               # [<bool>]
        #Option     "FPTweak"               # <i>
        #Option     "DualHead"              # [<bool>]
   Identifier  "Card0"
   Driver      "nv"
   VendorName  "nVidia Corporation"
   BoardName   "GF108 [GeForce GT 540M]"
   BusID       "PCI:1:0:0"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "ShadowFB"              # [<bool>]
        #Option     "DefaultRefresh"        # [<bool>]
        #Option     "ModeSetClearScreen"    # [<bool>]
   Identifier  "Card1"
   Driver      "vesa"
   VendorName  "Intel Corporation"
   BoardName   "2nd Generation Core Processor Family Integrated Graphics Controller"
   BusID       "PCI:0:2:0"
EndSection

Section "Screen"
   Identifier "Screen0"
   Device     "Card0"
   Monitor    "Monitor0"
   SubSection "Display"
      Viewport   0 0
      Depth     1
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     4
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     8
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     15
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     16
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     24
   EndSubSection
EndSection

Section "Screen"
   Identifier "Screen1"
   Device     "Card1"
   Monitor    "Monitor1"
   SubSection "Display"
      Viewport   0 0
      Depth     1
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     4
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     8
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     15
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     16
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     24
   EndSubSection
EndSection
 
Welcome to the forums.

If you check the "Specification" tab on your link you can see the laptop supports the Optimus technology.

Even though there is partial support for Optimus on Linux this laptop doesn't seem to be working.
And there is no support for Optimus on FreeBSD (or anything other than Windows (7?) actually) at all.

So check if the BIOS has a software option to disable Optimus or check the laptop itself for a hardware switch. If you can't find either then you're out of luck.

Nowadays most, if not all, laptops with Nvidia cards support Optimus. And ATI-based laptops are not better as they have the AMD Switchable Graphics Technology.
 
Hi bkouhi,

I'm using FreeBSD 9.0-RELEASE and had to add a line to my /boot/default/loader.conf file to get my GeForce3 card to work right:

Code:
nvidia_load="YES"               # Load Nvidia driver

I installed the applicable nvidia driver through ports instead of downloading it from their site and referenced it in /root/xorg.conf.new instead of the generic nv driver.

I'm not using the lines you are in my /etc/rc.conf and /etc/fstab files.

Our /root/xorg.conf files are comparable but don't know if you referencing the nv driver and the vesa driver at the same time is a good thing or not. You should be able to use the nvidia driver.
 
Thank you for your kind help.

Trihexagonal, does your graphics card supports NVIDIA Optimus technology? Unfortunately, I can't access the Internet with FreeBSD, so I can't use the ports collection to install the nvidia driver. Also the BIOS doesn't have any switch to turn off Optimus. I can use the Intel card in GNU/Linux without any problem, but can I use the Intel graphics card in FreeBSD? If yes, how?

This is a xorg.conf.new generated by Parsix GNU/Linux:

Code:
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/lib/xorg/modules"
	FontPath     "/usr/share/fonts/X11/misc"
	FontPath     "/usr/share/fonts/X11/cyrillic"
	FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
	FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
	FontPath     "/usr/share/fonts/X11/Type1"
	FontPath     "/usr/share/fonts/X11/100dpi"
	FontPath     "/usr/share/fonts/X11/75dpi"
	FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
	FontPath     "built-ins"
EndSection

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

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/input/mice"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
EndSection

Section "Monitor"
	Identifier   "Monitor1"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "AccelMethod"        	# [<str>]
        #Option     "DRI"                	# [<bool>]
        #Option     "ColorKey"           	# <i>
        #Option     "VideoKey"           	# <i>
        #Option     "FallbackDebug"      	# [<bool>]
        #Option     "Tiling"             	# [<bool>]
        #Option     "Shadow"             	# [<bool>]
        #Option     "SwapbuffersWait"    	# [<bool>]
        #Option     "XvMC"               	# [<bool>]
        #Option     "XvPreferOverlay"    	# [<bool>]
        #Option     "DebugFlushBatches"  	# [<bool>]
        #Option     "DebugFlushCaches"   	# [<bool>]
        #Option     "DebugWait"          	# [<bool>]
	Identifier  "Card0"
	Driver      "intel"
	VendorName  "Intel Corporation"
	BoardName   "Sandy Bridge Integrated Graphics Controller"
	BusID       "PCI:0:2:0"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "SWcursor"           	# [<bool>]
        #Option     "HWcursor"           	# [<bool>]
        #Option     "NoAccel"            	# [<bool>]
        #Option     "ShadowFB"           	# [<bool>]
        #Option     "UseFBDev"           	# [<bool>]
        #Option     "Rotate"             	# [<str>]
        #Option     "VideoKey"           	# <i>
        #Option     "FlatPanel"          	# [<bool>]
        #Option     "FPDither"           	# [<bool>]
        #Option     "CrtcNumber"         	# <i>
        #Option     "FPScale"            	# [<bool>]
        #Option     "FPTweak"            	# <i>
        #Option     "DualHead"           	# [<bool>]
	Identifier  "Card1"
	Driver      "nv"
	VendorName  "nVidia Corporation"
	BoardName   "Unknown Board"
	BusID       "PCI:1:0:0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Section "Screen"
	Identifier "Screen1"
	Device     "Card1"
	Monitor    "Monitor1"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Finally, is there a way to run a graphical desktop environment on my laptop?
 
Does your inability to access the net with your FreeBSD box involve something other than its networking abilities?
  1. From what I understand Optimus Technology applies to notebooks. My Nvidia card resides in my desktop so I doubt it.
  2. My laptop has an Intel Graphics chip. I don't do anything special to get it to work.
  3. Yes, your laptop can run a graphical environment. Until you get one installed messing with your graphic cards is pointless.
Here is a link to a tutorial by rhyous about how to install xorg and KDE on FreeBSD. I'd recommend installing Fluxbox instead of KDE if your ability to connect to the net is a problem, the download size is much, much smaller.

It's really not hard to install the desktop, your problems connecting to the net will probably be the biggest ones to overcome. It's going to be harder if you have to download everything to a USB stick instead of connecting directly with your box.
 
bkouhi said:
Hi,

I have a GYGABYTE Q2532N and my graphic card is NVIDIA GT 540M.


Hi bkouhi,

I have got the same problem with a Lenovo IdeaPad y570. There are two video cards there. The first of them is Nvidia GT 555M and the second one is an integrated Intel Sandybridge Mobile. I wanted to use last one, but I installed nv and intel drivers from ports. My xorg.config is equal to yours. When I start Xorg with this configuration I have a black screen. I can't even switch back at the console screen.

Have you found any solution for the problem?
 
wblock@ said:
If the BIOS lets you disable one of the video cards, it might be usable.

Unfortunately, there is not any possibility to disable the nvidia card. Actually, I don't load any drivers for nvidia. Appropriate line in the xorg.conf is commented.

Intel is recognised by X, its driver is successfully downloaded
Code:
[   566.776] (II) intel(0): Integrated Graphics Chipset: Intel(R) Sandybridge Mobile (GT2)
[   566.776] (--) intel(0): Chipset: "Sandybridge Mobile (GT2)"
but the screen is black.

I had a look at Xorg.0.log and could not find there any really helpful hints what to do.

It's worth noting that I have been utilising FreeBSD 9-STABLE.
Xorg was built with WITH_NEW_XORG and WITH_KMS.
 
BeautifulFish said:
I followed Toto's Guide and X works with intel driver.. FreeBSD 9 STABLE - Lenovo Y570

Thanks for the reply.

It seems, when I was submitting my previous post I did not complete the configuration. Later I started the installed Xorg with the -retro option and saw the background.

At the moment I have installed gnome and it works. However, it is worth noting that I did not apply the patch. When I was trying to do it, I was informed that there were some newer similar modifications in the code.
 
You are welcome Yurich.

I installed a fresh copy of FreeBSD 9 STABLE yesterday, I didn't use the patch as it should be in the source already.
I only added to /etc/make.conf:
Code:
WITH_NEW_XORG="YES"
WITH_KMS="YES"

[CMD=""]startx[/CMD] unfortunately produces a black screen with some artifacts, the mouse works as expected though.

I also tried slim and fluxbox with no luck. I haven't tried kde/gnome yet.
:EDIT:
After starting kde4, there is only the mouse that shows up, black background.

Should I be loading any kernel modules? AFAIK drm2 and i915kms are loaded automatically when X starts.

:EDIT:
Nevermind, xorg chose nv driver for the card instead of intel.
Now I am using HEAD, and I can even restart X and also use tty :)
:EDIT:
I realized I was using vesa, I can't restart X or use tty.

It's also worth noting that [CMD=""]Xorg -configure[/CMD] creates xorg.conf.new with:
Code:
FontPath "${prefix}/share/fonts/X11/misc/"
The correct line should be:
Code:
FontPath "/usr/local/lib/X11/fonts/misc/"
 
Hi again.

I followed Toto's instruction too (except applying the patch), but nothing work yet and black screen shows.

This is my new xorg.conf.new file:

Code:
Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	Screen      1  "Screen1" RightOf "Screen0"
	Screen      2  "Screen2" RightOf "Screen1"
	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/"
EndSection

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

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/sysmouse"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
EndSection

Section "Monitor"
	Identifier   "Monitor1"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
EndSection

Section "Monitor"
	Identifier   "Monitor2"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "SWcursor"           	# [<bool>]
        #Option     "HWcursor"           	# [<bool>]
        #Option     "NoAccel"            	# [<bool>]
        #Option     "ShadowFB"           	# [<bool>]
        #Option     "UseFBDev"           	# [<bool>]
        #Option     "Rotate"             	# [<str>]
        #Option     "VideoKey"           	# <i>
        #Option     "FlatPanel"          	# [<bool>]
        #Option     "FPDither"           	# [<bool>]
        #Option     "CrtcNumber"         	# <i>
        #Option     "FPScale"            	# [<bool>]
        #Option     "FPTweak"            	# <i>
        #Option     "DualHead"           	# [<bool>]
	Identifier  "Card0"
	Driver      "nv"
	BusID       "PCI:1:0:0"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "ShadowFB"           	# [<bool>]
        #Option     "DefaultRefresh"     	# [<bool>]
        #Option     "ModeSetClearScreen" 	# [<bool>]
	Identifier  "Card1"
	Driver      "vesa"
	BusID       "PCI:0:2:0"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "ShadowFB"           	# [<bool>]
        #Option     "DefaultRefresh"     	# [<bool>]
        #Option     "ModeSetClearScreen" 	# [<bool>]
	Identifier  "Card2"
	Driver      "vesa"
	BusID       "PCI:1:0:0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Section "Screen"
	Identifier "Screen1"
	Device     "Card1"
	Monitor    "Monitor1"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Section "Screen"
	Identifier "Screen2"
	Device     "Card2"
	Monitor    "Monitor2"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

As you can see, it changed a lot. But it doesn't work yet. Where is my Intel graphic card? Which driver should I use?

@Yurich, can you put your xorg.conf here, Please?
 
Code:
Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "ShadowFB"           	# [<bool>]
        #Option     "DefaultRefresh"     	# [<bool>]
        #Option     "ModeSetClearScreen" 	# [<bool>]
	Identifier  "Card1"
	Driver      "vesa"
	BusID       "PCI:0:2:0"
EndSection
change
Code:
Driver      "vesa"
to
Code:
Driver      "intel"
You can remove the extra devices and monitors if they are confusing you.
 
Hi again,
After several month I have solved this problem :beergrin. Now I want to share my experiences with other people that have this problem.

1. First, install a fresh FreeBSD 9.1. (See Chapter 2 of handbook). Don't install any component during installation. We will install required components later.

2. Now you must obtain FreeBSD source code and ports tree:

# svn checkout [url]https://svn0.us-west.FreeBSD.org/head/ports[/url] /usr/ports
# svn checkout [url]https://svn0.us-west.FreeBSD.org/base/stable9[/url] /usr/src

3. Add the following lines into /etc/make.conf:
Code:
WITH_KMS="YES"
WITH_NEW_XORG="YES"

4. Build and install FreeBSD:

# cd /usr/src
# make buildworld kernel installworld

Now reboot your system.

5. Install x11-drivers/xf86-video-intel:

# cd /usr/ports/x11-drivers/xf86-video-intel/ && make install clean && rehash

6. Generate initial xorg.conf using this command:

# Xorg -configure

7. The file will be saved in /root/xorg.conf.new. Keep this file in a secure place, this is all that we need.

8. Install x11/xorg:

# cd /usr/ports/x11/xorg/ && make install clean && rehash

9. Now copy xorg.conf.new into /etc/X11/xorg.conf:

# cp /root/xorg.conf.new /etc/X11/xorg.conf

Reboot your system.

10. Finaly, install your favorite desktop environment (See handbook again)
 
  • Thanks
Reactions: 0mp
Back
Top