# Resolution issues/Nvidia card



## Crpetersen (Mar 13, 2010)

Always feel as though I am bothering people when posting to the forums.. LOL But, as I am new to this perhaps someone can teach me something.. The other day I took a huge step forward and got # Startx to work properly with  the mouse and keyboard, as I was in # Startx I ran # exec gnome-session , and "poof" the gnome came up just fine. So I now have a working GUI. 

Gnome is stuck in 800x600 though and this bothers me. I am noticing that when I run X -configure that it is saying that "Failed to set MTRR"

Guess what I am asking is how does one get better resolution in both the FreeBSD shell # 
and in some of these programs like startx and Gnome, KDE, so forth I have tried to manually change settings in vidcontrol, also in Xorg.CONF , RC.Conf (allscreens_flags="-g 135x25 VESA_1024x768"

Want to try and get to 1152x780 if I can , for my monitor this is "normal" - I have the feeling because of my unfamiliarity with all this new stuff. I have the feeling that it may not be picking up on the correct drivers or something. I will try and copy the xorg log then next time I am here , and post it. Seems to find the video card, tells me it is :

Nvidia Gforce 7300se 7200gs 1152x870 75Hz H=1024 V=768 

Think I may be just trying to do too many things at once, I will post the logs here soon. Thanks..


----------



## Nirbo (Mar 13, 2010)

Have you tried using the x11/nvidia-config tool from ports?

Makes it wicked easy to set resolutions in X.


----------



## Crpetersen (Mar 13, 2010)

Ok this is what I mean , I am new to this and I have read a lot of different material on how to do this stuff .. Yes please tell me how to use this x11/nvida-config tool..

Was looking around in the Xorg.0.log and it is a wealth of information, tells me that it FINDS my Nvidia card, Finds my Flat Panel SVA-VR-17S monitor, but the interesting thing is when I run X -Configure , and later Xorg -config /usr/ports/x11/xorg, xorg.conf.new . I edit the xorg.conf.new files and get down to the video parts, nothing is filled in  There are no MODES, its just , 0,0 for everything, no screen resolutions So my recollection or understanding of this is that it does find the information but does not put it in xorg.conf for some reason.. The only Error message when compiling Xorg that I get is "Failed to set MTRR Invalid Argument (turnes the screen black and waits for me to do Ctl-Alt-F1) But yet I can run Startx and Gnome.. this is frustrating , but I will not give up..


----------



## Crpetersen (Mar 13, 2010)

went to /usr/ports/x11/nvidia-config/ && make install clean, it told me that It is for i386, and that I am running amd64


----------



## Nirbo (Mar 13, 2010)

I'm sorry, I meant x11/nvidia-settings. 

I looked through the Makefiles of both nvidia-settings and nvidia-xconfig and couldn't find anything i386 specific about them... but this could be related to the fact that there was not always a amd64 FreeBSD nvidia driver.

Have you updated your ports tree to the most current iteration before installing the nvidia driver?

If not, http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/updating-upgrading-portsnap.html Portsnap is the easiest way. I prefer the csup method (somewhere else in the handbook) myself, but that's only because I've been using it so long for both src and ports tree updates 

The short of it is...

```
#portsnap fetch
#portsnap extract
```

then try reinstalling x11/nvidia-driver and x11/nvidia-settings.

Again, sorry about saying config up there. I'm not actually booted into FreeBSD at the moment and keep forgetting my memory is not to be trusted 

EDIT: Also, X -configure will set your driver to "nv" when it makes a config file, change that to "nvidia" after installing x11/nvidia-driver


----------



## Crpetersen (Mar 17, 2010)

Well , I have gotten a little further did Portsnap Fetch, and Portsnap extract, installed both x11/nvidia-driver , nvidia-settings. Do X -configure and still hangs with MTRR not set. 
did do the /boot/loader.config to nvidia_load="YES" did have a problem with kldload nvidia, also when changing the /etc/X11/xorg.conf for Device section from 'nv' to 'nvidia' - but then x-config will tell me 'could not find module 'nvidia' I am getting closer.. but still not there yet..


----------



## Nirbo (Mar 17, 2010)

Your problem with the nvidia driver could be related the the version of FreeBSD you're running. I know when I updated to 8-STABLE the drivers gave me crap because they were looking for a 8-RELEASE kernel.

I only looked at a couple of things regarding nvidia and MTRR, but it sounds like the MTRR problem will just go away once you're loading X.Org with the proper nvidia driver. This is only a couple of older sources though.

What version of FreeBSD are you running? From the port commit:


> Update to version 195.22.  These are BETA drivers, and normally update would
> not occur, but now it is special: it features long-awaited x86-64 (amd64)
> support.  In order to use this driver release, your system will need to have
> either *FreeBSD 7-STABLE after 702106 or FreeBSD 8.0* and above.



If you installed 7.2-RELEASE amd64 that could be the big problem.

New features were added in 8.0 that allowed nVidia to put together a new driver for FreeBSD, both i386 and a brand new amd64 build. I think a newer FreeBSD with old drivers would cause just as many problems as an older FreeBSD with a newer driver.

I'm sorry this is being such a pain in the rear for you when you're new to FreeBSD but you're learning about loading kernel modules and portsnap, two things you'd have had to learn about eventually 

Also, if you are running 8.0-RELEASE, I've no idea what's wrong with your nvidia driver  an OSVERSION mismatch is just my best guess.

Oh, and if you had nvidia-driver installed before your portsnap extract, uninstall it, do a make clean and a make distclean and then reinstall it. I had some weird stuff happen the last time I tried a straight upgrade.


----------



## SirDice (Mar 18, 2010)

For reference, here's my xorg.conf:


```
Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
EndSection

Section "Files"
    FontPath        "/usr/local/lib/X11/fonts/misc/:unscaled"
    FontPath        "/usr/local/lib/X11/fonts/100dpi/:unscaled"
    FontPath        "/usr/local/lib/X11/fonts/75dpi/:unscaled"
    FontPath        "/usr/local/lib/X11/fonts/misc/"
    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/cyrillic/"
    FontPath        "/usr/local/lib/X11/fonts/TTF/"
    FontPath        "/usr/local/lib/X11/fonts/OTF/"
    FontPath        "/usr/local/lib/X11/fonts/bitstream-vera"
    FontPath        "/usr/local/lib/X11/fonts/webfonts/"
    FontPath        "/usr/local/share/ghostscript/fonts/"
EndSection

Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
    VendorName     "MSI"
    BoardName      "NX7600GT"
EndSection

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
EndSection

Section "Files"
    FontPath        "/usr/local/lib/X11/fonts/misc/:unscaled"
    FontPath        "/usr/local/lib/X11/fonts/100dpi/:unscaled"
    FontPath        "/usr/local/lib/X11/fonts/75dpi/:unscaled"
    FontPath        "/usr/local/lib/X11/fonts/misc/"
    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/cyrillic/"
    FontPath        "/usr/local/lib/X11/fonts/TTF/"
    FontPath        "/usr/local/lib/X11/fonts/OTF/"
    FontPath        "/usr/local/lib/X11/fonts/bitstream-vera"
    FontPath        "/usr/local/lib/X11/fonts/webfonts/"
    FontPath        "/usr/local/share/ghostscript/fonts/"
EndSection

Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
    VendorName     "MSI"
    BoardName      "NX7600GT"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Videocard0"
    DefaultDepth    24
    Option         "AddARGBGLXVisuals" "True"
    #Option        "DisableGLXRootClipping" "True"
    #Option        "AllowGLXWithComposite" "True"
    Option         "TwinView"
    Option         "MetaModes" "1600x1200,1600x1200;1280x1024,1280x1024;1024x768,1024x768;800x600,800x600"
    #Option        "TwinViewXineramaInfoOrder" "DFP,CRT"
    Option         "ConnectedMonitor" "DFP"
    SubSection     "Display"
        Depth       24
        Modes      "1600x1200" "1280x1024" "1024x768" "800x600"
    EndSubSection
EndSection
```


----------



## Crpetersen (Mar 18, 2010)

*yup*

In answer to your question I am using FreeBSD 8.0 Amd64. Yes I got the feeling that the kernel module was not loading properly, X would always tell me module 'nvidia' not found. 

To your other comment, of course, I am leaning new things, and this is what my loading FreeBSD was all about , the learning experience.. 

I will putz around on different blogs and see if I can find a solution to this , 

    1) I have been to the Nvidia site, and checked for the latest drivers for Linux/Linix

    2) Is it possible to manually configure the xorg.conf? to give it screen relolutions 
       over 800 by 600 .. 

Again thanks for the help guys and girls..


----------



## SirDice (Mar 18, 2010)

Crpetersen said:
			
		

> 2) Is it possible to manually configure the xorg.conf? to give it screen relolutions over 800 by 600 ..


Just edit the file. It's plain text.


----------



## Crpetersen (Mar 18, 2010)

Ok , I will go in and edit the /etc/X11/xorg.conf file. Something just dawned on me, for all the time that I have been doing this I have not had to change any permissions, that being said is that a requirement to be loading this new module 'nvidia' into the kernel? 

I had everything just right and working but the silly thing just does not want to accept the new 'nvidia' information.. I will go play with it some more..


----------



## SirDice (Mar 18, 2010)

Only root can load/unload kernel modules. If you add this to /boot/loader.conf:

```
nvidia_load="YES"
```
The module will be loaded during boot. You can check if it's loaded with the kldstat(8) command.
It should also show up in dmesg(8):

```
nvidia0: <GeForce 7600 GT> on vgapci0
vgapci0: child nvidia0 requested pci_enable_busmaster
vgapci0: child nvidia0 requested pci_enable_io
vgapci0: child nvidia0 requested pci_enable_io
nvidia0: [GIANT-LOCKED]
nvidia0: [ITHREAD]
```

Oh.. Also remove any all_screens options from rc.conf. Also remove the VESA and SC_PIXEL_MODE options from your kernel config if you have any (GENERIC doesn't have them). I've tried in the past and concluded those and X don't like each other, at least not with the binary nvidia driver. In the end I gave up on the console modes because I boot straight to X anyway :e


----------



## Crpetersen (Mar 18, 2010)

Ok I have already done the trick with nvidia_load="YES" I wish to understand the corolation with this. I get it, that we are trying to execute a file called 'nvidia' from boot, also we call it from our old friend /ect/X11/xorg.conf.. Guess my real question is WHERE is this magical file 'nvidia'? We know it is supposed to be running inside the kernel.. I was told a while back to use an 'on the fly command' called 'kldload nvidia' but this I found out deals with files in /Boot/kernel and sometimes /Boot/Moduels but these files end in XXX.KO I beleave it is.. ok , well, I will see if your info helps out here SirDice. ; and I thank you.. 

 -when someone calls me Sir, I tell them "I was never a commissioned officer , please don't call me Sir.. "


----------



## Nirbo (Mar 18, 2010)

The file should be in /boot/modules (I think) and it is the nvidia.ko file. KO files are just loadable kernel modules, kernel code that you may wish to run but either cannot be rolled into the kernel, or have not been. In my case, I load snd_hda.ko because I am an idiot and rolled my kernel with snd_ich, the sound card on my OLD motherboard! When I rebuild my kernel I'll fix this, but for now this is how it will stay 

nvidia_load="YES" in loader.conf just tells FreeBSD to kldload it at boot so you don't have to worry about it.

kldload lets you do it manually mostly so you can do tests and such (i.e. When I load snd_hda my sound works and the device is found, but if I load any other snd_* nothing is detected)

Long story short, they do the same thing, /boot/loader.conf just automates the loading of the KLM (kernel loadable module) so you don't have to do it. This is assuming it is loading and it is working though  if kldload nvidia doesn't work, nvidia_load="YES" won't have any effect.


----------



## Crpetersen (Mar 21, 2010)

Ok , may have the answer here, since I am just playing with this to learn and there was nothing lost for work or files on my computer, I decided to do a full re-install of FreeBSD Amd64 8.0. When it was installing I pretty much chose ALL for most things.. A few times during the installation from the DVD I noticed there were a few errors, some -1 error , did not give me a chance to correct it , or try and grab it from another disc. Now, when I get it all on and do # Portsnap fetch, portsnap extract... I go to /usr/ports/x11/nvidia-driver && make install clean, when it goes threw this I found when I watched very carefully that there was a slew of 'File not found' or 'File seems to be missing' - so is there a way to do something like portsnap, and download the whole 'nvidia-driver' directory? - Strange, that I got the downloads originally from FreeBSDsite and something didn't work... - The installation from the disc for the most part works fine.. - I feel as thouh I am really really close to making a break threw on this if I can correct the missing files that its looking for , that HAS to be the reason why the kernel will not acknowledge the 'nvidia' in xorg.conf .. 

Thanks folks . what ya think?


----------



## jb_fvwm2 (Mar 21, 2010)

a... nvidia-driver needs the same kernel source on
     your machine as your kernel AFAIK.  
b... csup or cvsup with the right parameters will
     fetch just the nvidia-drivers port files
c... one must use the correct options to configure
     the port matching what one puts in loader.conf
d... Then the right values have to be in xorg.conf if
     one is used
e... one must unload and reload the nvidia.ko after 
     the port builds if it does
f... if you are running 64 rather than a 32 bit
     system, such support was just very recently added
     to the port and you'd have to investigate further
     how to make it install correctly.
...
Whatever, if you write down the exact steps you take, and
it eventually succeeds, you can mark it solved and
post a how-to probably.  Others would advise to 
post the exact sequence of steps so far and errors but
if you find a guide somewhere on the web it may be
quicker...
(One or more of the above may be inaccurate OR irrelevant,
 but are stuff to confirm or confirm as unneeded.)


----------



## Nirbo (Mar 22, 2010)

When installing selecting all of the distributions isn't really neccessary. I usually just select "Kern Developer" without X. That way I get man pages, some docs, AND the src including kernel sources (this is important since I use csup to update my sources)

When you're installing nvidia-drivers the files that are likely giving you the not found errors are the files related to the LINUX compat (when you select to install nvidia with linux compat)


----------



## Crpetersen (Mar 22, 2010)

Ok , it is done... It works, goes beyond 1280x whatever.. 

Did some diging around and found this : when I did the # nvidia-driver make install clean 
it came back with these three things.. :

```
1) nvidia driver 195.22 Depends on # Conpat/linux/etc/fedora-release -NOT FOUND-
     2) linux_base-f10-10-2 linuxulator is not (kld) loaded ***Error code 1
     3) Stop In /usr/ports/emulators/linux-base-f10         ***Error code 1
     4) Stop In /usr/ports/x11/nvidia-driver                ***Error code 1
```

Now, I went off to investigate where this "linux_base-f10-10-2 was, and reloaded it.. to my dismay it failed to load.. - so I did some more polking around. Even if you are doing a fresh install off of the FTP site, or from a DVD this program will fail to load!
Nobody told me that...  yeah. So , 

In our old friend /etc/rc.conf, I put in : Linux_enabled="YES" with our other friends hald, and dbus, and the network stuff beneath it.. so if you don't put this in BEFORE you load linux_base-f10-10-2 It will ALWAYS error out.. 

So we put it all together after that, run Nvidia-driver && install clean, nvidia-settings && install clean, nvidia-xconfig && install clean (just for good mesure) # X -configure
 cp /root/xorg.conf.new /etc/X11/xorg.conf, changed NV to Nvidia, and finially zapped the Nvidia into the kernal by # kldload nvidia, and "zap pow bang , it works.."

Must really thank Nerbo for his support as well as the rest of you all.


----------



## SirDice (Mar 22, 2010)

Crpetersen said:
			
		

> In our old friend /etc/rc.conf, I put in : Linux_enabled="YES" with our other friends hald, and dbus, and the network stuff beneath it.. so if you don't put this in BEFORE you load linux_base-f10-10-2 It will ALWAYS error out..


Just `# kldload linux` and proceed to build emulators/linux_base-f10.


----------



## Crpetersen (Mar 23, 2010)

*x -log clean complile but Gnome says no OPEN GL.. ?*


```
(==) Log file: "/var/log/Xorg.0.log", Time: Tue Mar 23 10:46:08 2010
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "X.org Configured"
(**) |-->Screen "Screen0" (0)
(**) |   |-->Monitor "Monitor0"
(**) |   |-->Device "Card0"
(**) |-->Input Device "Mouse0"
(**) |-->Input Device "Keyboard0"
(==) Automatically adding devices
(==) Automatically enabling devices
(**) FontPath set to:	
(**) ModulePath set to "/usr/local/lib/xorg/modules"
(WW) AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
(WW) Disabling Mouse0
(WW) Disabling Keyboard0
(II) Loader magic: 0xb20
(II) Module ABI versions:
	X.Org ANSI C Emulation: 0.4
	X.Org Video Driver: 5.0
	X.Org XInput driver : 4.0
	X.Org Server Extension : 2.0
(II) Loader running on freebsd
(--) Using syscons driver with X support (version 2.0)
(--) using VT number 9

(--) PCI:*(0@1:0:0) nVidia Corporation G72 [GeForce 7300 SE/7200 GS] rev 161, Mem @ 0xfd000000/16777216, 0xd0000000/268435456, 0xfc000000/16777216, BIOS @ 0x????????/65536
(II) System resource ranges:
	[0] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
	[1] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[2] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
	[3] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
dbe" will be loaded. This was enabled by default and also specified in the config file.
(II) "glx" will be loaded. This was enabled by default and also specified in the config 
(II) Module dbe: vendor="X.Org Foundation"
	compiled for 1.6.1, module version = 1.0.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 2.0
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "dri"
(II) Loading /usr/local/lib/xorg/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
	compiled for 1.6.1, module version = 1.0.0
	ABI class: X.Org Server Extension, version 2.0
(II) Loading extension XFree86-DRI
(II) LoadModule: "dri2"
(II) Loading /usr/local/lib/xorg/modules/extensions//libdri2.so
(II) Module dri2: vendor="X.Org Foundation"
	compiled for 1.6.1, module version = 1.0.0
	ABI class: X.Org Server Extension, version 2.0
(II) Loading extension DRI2
(II) LoadModule: "extmod"
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-DGA
(II) Loading extension DPMS
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "glx"
```


As far as I can see there are no errors, it was a clean compile, but, Gnome continues to insist that there is no No Python OpenGL support, No Python GTKGLExt support , so a clean complie means Glx *IS* working.. any... thoughts? - where are the vulcans when you need them I just need to mind meld with someone who knows everything about this cool stuff in FreeBSD/Linux.. Oh, when I run X , it will do the Nvidia "Splash" screen for a second then it goes dark, still no errors.. I will continue polking around..


----------



## SirDice (Mar 23, 2010)

Look for this bit:

```
(II) Loading /usr/local/lib/xorg/modules/drivers//nvidia_drv.so
(II) Module nvidia: vendor="NVIDIA Corporation"
        compiled for 4.0.2, module version = 1.0.0
        Module class: X.Org Video Driver
(II) NVIDIA dlloader X Driver  195.22  Mon Nov 30 14:10:38 posix/SystemV/PST 2009
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
```

That will tell you the nvidia driver is loaded. As for your other errors, quite a few programs need to be compiled with OpenGL support turned on. For most it's turned off by default.


----------



## Nirbo (Mar 24, 2010)

Crpetersen said:
			
		

> where are the vulcans when you need them I just need to mind meld with someone who knows everything about this cool stuff in FreeBSD/Linux



You'd have to sift through a lot of useless information about Pokemon if you looked into my brain, I advise against it.

Maybe try installing http://www.freshports.org/graphics/py-opengl/ ?

Otherwise...

Hunting down whatever port needs OpenGL support turned on probably won't be easy... you might want to install a program like portmaster (ports-mgmt/portmaster I think) and use whatever command will allow you to reconfigure all of your installed ports (I'd look it up, but I'm booted into Windows 7 at the moment)

If you do it right you should be able to see all of the configuration menus for every port and not have to actually rebuild them. Then you can make a note of which ones have the OpenGL support option turned off (either by accident or default) and then you can get away with only having to rebuild the ones that are absolutely neccessary.

Your best bet may be to take the specific error from the game you're attempting to run and feeding it into google or at least posting it here verbatim. It should lead to other people with the same missing dependancy or prot build option disabled (provided they were able to solve it )


----------

