iMac with NVidia GeForce GTX 775M

Hello world! I have a late-2013 iMac with an NVidia GeForce GTX 775M graphics card which I've been struggling to get working with Xorg on 11.0-RELEASE-p1.

Following the handbook when I enter startx I see a generic "no screens found" error. Looking in the log I see "Number of created screens does not match number of detected devices."

I tried using "sudo Xorg -configure" but I see "(EE) Server terminated with error (2). Closing log file." at the end. It did spit out a config file at /root/xorg.conf.new so I also tried "sudo X -config /root/xorg.conf.new" and it shows a black screen with a band of color near the top, the cursor stops moving around. Have to ssh in and kill the process at that point.

Any ideas?
 
Did you installed / configured nvidia-driver package ? Apparently not.
 
https://forums.freebsd.org/threads/52311/ seems pretty useful for NVidia. There is a handbook section somewhere on it too, but lately, all I've had to do is install the NVidia driver and create the /usr/local/etc/X11/xorg.conf.d/10-nvidia.conf mentioned in the post I linked.
If you're using packages, then you need to have the Linux compat module loaded--you can do it on the fly with sudo kldload linux and to have it happen upon reboot add
Code:
linux_enable="YES"
to /etc/rc.conf. (If installing it from ports you can choose to use it without the Linux module).
 
Did you installed / configured nvidia-driver package ? Apparently not.
It's installed- not sure if I've configured it correctly though...

pkg info | grep nvidia

nvidia-driver-367.44 NVidia graphics card binary drivers for hardware OpenGL rendering

https://forums.freebsd.org/threads/52311/ seems pretty useful for NVidia. There is a handbook section somewhere on it too, but lately, all I've had to do is install the NVidia driver and create the /usr/local/etc/X11/xorg.conf.d/10-nvidia.conf mentioned in the post I linked.
If you're using packages, then you need to have the Linux compat module loaded--you can do it on the fly with sudo kldload linux and to have it happen upon reboot add
Code:
linux_enable="YES"
to /etc/rc.conf. (If installing it from ports you can choose to use it without the Linux module).

I've tried using 'sudo kldload linux' and have already edited /etc/rc.conf:

cat /etc/rc.conf | grep linux

linux_enable="YES"
 
Woohoo!! All good now... After I stopped digging around for the driver info and followed the rest of that post it started working. Specifically:

sysrc kld_list+="nvidia-modeset"

And then created /usr/local/etc/X11/xorg.conf.d/10-nvidia.conf with the following contents:

Code:
Section "Device"
       Identifier "NVIDIA Card"
        VendorName "NVIDIA Corporation"
        Driver "nvidia"
EndSection

Thanks everyone!!
 
I am assuming that you have been following the steps from Chapter 5 "The Window System" and Chapter 8 "Desktop Environment" of the freeBSD handbook. The trick to make the Nvidia card work is to tell Xorg to ignore the version check of the ABI, so it will not refuse to load driver just because the driver's ABI version does not match th expected version by the X server.
On my iMac with the NVidia GeForce GTX 775M I did the following:

1. As super user (root), set the following kernel modules to be loaded during the boot process, run in a terminal:

sysrc kld_list+=nvidia-modeset
sysrc kld_list+=linux
sysrc kld_list+=linux64

2. Check in "/etc/rc.conf "if the modules (1) have been written in the file:

cat /etc/rc/conf

It should appear:

kld_list="linux linux64 nvidia-modeset"

3. Create a file called "20-nvidia.conf " inside the directory "/usr/local/etc/X11/xorg.conf.d/"
Open teh file with "vim" or anothere text editor such as "vi" as follows:

vim /usr/local/etc/X11/xorg.conf.d/20-nvidia.conf

4. Write inside 20-nvidia.con the following:

Code:
Section "ServerFlags"
    Option     "IgnoreABI"  "true"
EndSection

Section "Device"
    Identifier "Card0"
    Driver      "nvidia"
EndSection

5. Save the file and exit.

6. Reboot the computer

7. On my PC with an old Nvidia GT 240 I used the same configuration that i did for the iMac Nvidia GPU but I added and extra line in the "20-nvidia.conf" file with the BusID of the the Nvidia GT 240 BusID given by the command:

pciconf -lv | grep -B3 display

The BusID given was "pci0:1:0:0"[/CMD]

8. Then I added the BusID in "20-nvidia.conf" as follows:

Code:
Section "ServerFlags"
    Option     "IgnoreABI"  "true"
EndSection

Section "Device"
    Identifier "Card0"
    Driver      "nvidia"
    BusID    "pci0:1:0:0"
EndSection

9, Save teh file and exit and reboot.

10. To check for error or or to get relevant information, check logs such as "dmesg" and "Xorg.0.log"

cat /var/logXorg.0.log

dmesg

12. Regards,
William
 
Back
Top