Re: startx fails with new kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 18 Feb 2012, Marko Vojinovic wrote:

On Friday 17 February 2012 22:18:58 Patrick Dupre wrote:
>> On Wednesday 15 February 2012 20:08:22 Patrick Dupre wrote:
>> But could you tell me exactly what I should do?
>> >> I removed xorg-x11-drv-nouveau (and xorg-x11-drivers), but I did
>> not get any improvements (see below)
>> >> Then I even cannot get back with the 1920x1080 resolution even with
>> the previous kernel. So reinstalled the removed packages.
>
>If you want to use nVidia's binary blob, then in general you should:
>
>(a) enable rpmfusion repositories (you probably have done that already),
>and
>(b) do a "yum install akmod-nvidia".
>
>The latter will blacklist nouveau driver, rebuild your initrd image so
>that
>nouveau doesn't get loaded on reboot, build the nVidia binary blob
>against
>your running kernel (preferably the latest one), and set up xorg.conf
>appropriately for nVidia driver to work. After that you must reboot for
>the whole thing to take effect.

Do you mean that I should recompile a kernel?

No, there is no need to recompile the whole kernel. Just the graphics driver, which is a kernel module.

To come back to the issue. I can run the graphics with the kernel 3,2,3-2
and if it does not work with the new kernel 3,2,5-3, I can only think that
the new kernel has not been build up properly. However, when I compare the
2 files /usr/src/kernels/3.2.3-2.fc16.x86_64/.config  and
/usr/src/kernels/3.2.5-3.fc16.x86_64/.config
they are identical. Then I can deduce that is is probably a modules
issues.

Precisely. The kernel configs have nothing to do with the graphics driver. The graphics driver is a kernel module, and apparently you have one for the 3.2.3-2 kernel, while you don't have it for the 3.2.5-3 kernel.

lsmod does seem to show that the module nvidia.ko is loaded

No, it doesn't, the word "nvidia" doesn't appear anywhere in the list. See below for an explanation.

tcp_lp                 12663  0
fuse                   77538  5
lockd                  84578  0
nf_conntrack_ipv4      14622  8
nf_defrag_ipv4         12673  1 nf_conntrack_ipv4
ip6t_REJECT            12939  2
nf_conntrack_ipv6      14290  8
nf_defrag_ipv6         18139  1 nf_conntrack_ipv6
xt_state               12578  16
nf_conntrack           82331  3
nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state
ip6table_filter        12815  1
ip6_tables             26976  1 ip6table_filter
be2iscsi               72362  0
iscsi_boot_sysfs       15641  1 be2iscsi
bnx2i                  54521  0
cnic                   58676  1 bnx2i
uio                    19067  1 cnic
cxgb4i                 32909  0
cxgb4                 102888  1 cxgb4i
cxgb3i                 32972  0
libcxgbi               56477  2 cxgb4i,cxgb3i
cxgb3                 155412  1 cxgb3i
mdio                   13398  1 cxgb3
ib_iser                38073  0
rdma_cm                41898  1 ib_iser
ib_cm                  41692  1 rdma_cm
iw_cm                  18176  1 rdma_cm
ib_sa                  28407  2 rdma_cm,ib_cm
ib_mad                 46392  2 ib_cm,ib_sa
ib_core                73791  6 ib_iser,rdma_cm,ib_cm,iw_cm,ib_sa,ib_mad
ib_addr                13748  1 rdma_cm
iscsi_tcp              18333  0
libiscsi_tcp           23970  4 cxgb4i,cxgb3i,libcxgbi,iscsi_tcp
libiscsi               50527  8
be2iscsi,bnx2i,cxgb4i,cxgb3i,libcxgbi,ib_iser,iscsi_tcp,libiscsi_tcp
scsi_transport_iscsi    51823  8
be2iscsi,bnx2i,libcxgbi,ib_iser,iscsi_tcp,libiscsi
snd_hda_codec_hdmi     36277  4
joydev                 17412  0
snd_hda_codec_via      46559  1
snd_hda_intel          33276  3
snd_hda_codec         114615  3
snd_hda_codec_hdmi,snd_hda_codec_via,snd_hda_intel
snd_hwdep              17611  1 snd_hda_codec
snd_seq                64807  0
snd_seq_device         14129  1 snd_seq
snd_pcm                97100  4
snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
ppdev                  17635  0
parport_pc             28082  0
parport                44515  2 ppdev,parport_pc
snd_timer              28815  2 snd_seq,snd_pcm
edac_core              51619  0
snd                    74425  14
snd_hda_codec_hdmi,snd_hda_codec_via,snd_hda_intel,snd_hda_codec,snd_hwdep,s
nd_seq,snd_seq_device,snd_pcm,snd_timer edac_mce_amd           22882  0
sp5100_tco             13697  0
soundcore              14484  1 snd
serio_raw              13371  0
r8169                  60789  0
mii                    13527  1 r8169
snd_page_alloc         18101  2 snd_hda_intel,snd_pcm
i2c_piix4              13694  0
microcode              23240  0
k10temp                13119  0
uinput                 17606  0
sunrpc                235041  2 lockd
binfmt_misc            17431  1
ata_generic            12899  0
pata_acpi              13027  0
pata_atiixp            13197  0
nouveau               763073  2
ttm                    68749  1 nouveau
drm_kms_helper         40141  1 nouveau
drm                   225935  4 nouveau,ttm,drm_kms_helper
i2c_algo_bit           13156  1 nouveau
i2c_core               37955  5
i2c_piix4,nouveau,drm_kms_helper,drm,i2c_algo_bit
mxm_wmi                12823  1 nouveau
wmi                    18697  1 mxm_wmi
video                  18932  1 nouveau


Could you please clarify the situation?

Ok, this is how it all works. The driver for your nVidia graphics hardware is a kernel module. The module version has to match the kernel version, so you need one driver module for each kernel. Technically speaking, the module needs to be built "against the appropriate kernel", typically while that kernel is running.

There are two different graphics drivers for nVidia cards. One is called "nouveau", and is an open-source driver provided by Fedora out-of-the-box. The other is called "nvidia", and is a closed-source driver provided by nVidia (also commonly called "binary blob"). The nvidia driver mostly works better than nouveau, since nouveau is still under development.

Nouveau and nvidia modules cannot coexist. If nouveau is to work properly, nvidia driver must be uninstalled from the machine. If nvidia is to work properly, nouveau needs to be blacklisted and unistalled from the initrd. Since the Fedora's kernel automatically loads nouveau on boot (if it is not blacklisted), one needs to reboot the machine in order to switch from nouveau to nvidia (or vice-versa).

The nvidia driver can be obtained in two different ways. One way is to download the appropriate .run file from nVidia website and run it. This is the *wrong* way, since it doesn't play nice with Fedora, overwrites some system files, and is a pain to remove once installed. The other way is to install (via yum) the package called akmod-nvidia, which is provided by the rpmfusion repository. This is the *correct* way, since that package was designed precisely for Fedora, doesn't overwrite system files and can be easily removed. The driver itself (the nvidia kernel module) is the same as the one provided by nVidia website --- the difference is in the details of the installation procedure.

For your situation, I suggest the following:

(1) Run "yum update". There is a new kernel available (3.2.6-3), and you should install it.

Done

(2) Run "mv /etc/X11/xorg.conf /etc/X11/xorg.conf-backup". This will rename the xorg.conf file (if you have it), and let X run with default configuration (i.e. without an xorg.conf file) after a reboot.

Evey time that I create a xorg.conf file I cannot start the graphics.
The only way was to create a xorg.conf.d directory (see attached file)
Is it because I am running nouveau and not the nvidia package?


(3) Boot into the new kernel. Since you have just installed it, and since there is no xorg.conf, the nouveau driver should be activated. Maybe it will have problems running on your graphics card (it shouldn't, but...), and maybe you will not have high resolution, or even X might not start at all. That is ok, it doesn't matter, as long as you do the next step.

(4) Run "yum install akmod-nvidia". Let it install. It will provide the nvidia driver matching your new kernel, it will write a new xorg.conf, it will blacklist nouveau and remove it from initrd of your kernel. It might take some time to complete.

It is already installed, should I keep it or remove it?


Thank for your help.



(5) Reboot the machine again into the latest kernel. This is necessary in order to change from nouveau to nvidia driver.

If all is well, the nvidia driver should be loaded and X should work perfectly, high resolution and all. If it doesn't work, post the contents of /var/log/Xorg.0.log file back to us, so that we can see why it doesn't work and tell you how to fix it.

I hope this was clear enough. Just follow the steps (1) - (5), and it should start working again.

Note that once you have installed akmod-nvidia, in the future when a new kernel gets installed with an update, everything will happen automatically and you do not need to do anything in order to get the nvidia driver for that new kernel. The above (1)-(5) procedure should be done only once, and after that it will work automatically for every new kernel.

HTH, :-)
Marko


--
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org

--
---
==========================================================================
 Patrick DUPRÉ                      |   |
 Department of Chemistry            |   |  Phone: (44)-(0)-1904-434384
 The University of York             |   |  Fax:   (44)-(0)-1904-432516
 Heslington                         |   |
 York YO10 5DD  United Kingdom      |   |  email: patrick.dupre@xxxxxxxxxx
==========================================================================
-- 
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org
[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux