LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > SUSE / openSUSE
User Name
Password
SUSE / openSUSE This Forum is for the discussion of Suse Linux.

Notices


Reply
  Search this Thread
Old 01-19-2020, 02:06 PM   #1
sirius57
Member
 
Registered: Jun 2004
Distribution: puppy linux, suse 10.0, opensuse 11.3, 12.1, mythdora, opensuse 13.1, opensuse tumbleweed
Posts: 602

Rep: Reputation: 36
can not stop nouveau at run level 3 to install nvidia driver script


On a fresh install of opensuse leap 64 bit, I can boot into run level 3, but am unable to stop nouveau from loading. The box has the nvidia 6200 video card and I see that yast does not support it. The nvidia run file writes 2 nouveau disable files in modprobe.d folder, but on reboot, the run file detects that nouveau has not been disabled and stops. I have 3 video driver files in yast:
libdrm_nouveau2
xf86-video-nouveau
xf86-video-nv

The xf85-video-nv I installed hoping it would stabilize the video. I thought about deleting the 2 nouveau drivers in yast, then rebooting, but not sure if that would cause a crash.
 
Old 01-19-2020, 04:16 PM   #2
mrmazda
LQ Guru
 
Registered: Aug 2016
Location: SE USA
Distribution: openSUSE 24/7; Debian, Knoppix, Mageia, Fedora, others
Posts: 5,808
Blog Entries: 1

Rep: Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066
xf86-video-nv is for relics. Which 6200 do you have? GeForce from 15 years ago? They can be tricky. I'd be surprised if there is an NVidia driver to support something that old.

Don't confuse nouveau the kernel module with nouveau the DDX provided by xf86-video-nouveau. All FOSS DDX for NVidia GPUs that aren't truly ancient depend on the nouveau kernel module. Historically, NVidia's drivers depend on the nouveau kernel module being disabled. You must utilize its driver installation instructions to know whether it needs to be disabled.

If you uninstall xf86-video-nouveau and the nouveau kernel module is enabled, X will try to use the upstream default DDX, modesetting, which, if run from within X, will look approximately as follows if working normally:
Code:
# inxi -GxxSza
System:    Host: mcp61 Kernel: 4.12.14-lp151.28.20-default x86_64 bits: 64 compiler: gcc v: 7.4.1
           parameters: root=UUID=... noresume consoleblank=0 mitigations=auto nouveau.noaccel=1
           Desktop: KDE Plasma 5.12.8 tk: Qt 5.9.7 wm: kwin_x11 dm: KDM Distro: openSUSE Leap 15.1
Graphics:  Device-1: NVIDIA C61 [GeForce 6150SE nForce 430] vendor: Micro-Star MSI driver: nouveau v: kernel
           bus ID: 00:0d.0 chip ID: 10de:03d0
           Display: server: X.Org 1.20.3 driver: modesetting compositor: kwin_x11 resolution: 1680x1050~60Hz
           OpenGL: renderer: llvmpipe (LLVM 7.0 128 bits) v: 3.3 Mesa 18.3.2 compat-v: 3.1 direct render: Yes
Note on the end of the parameters line 'nouveau.noaccel=1'. It's possible your 6200 may need it added to your grub's linu line, either for a single boot (for testing it) by adding it after striking the E key at the grub menu, or more permanently on the GRUB_CMDLINE_LINUX_DEFAULT= line in /etc/default/grub (after which grub.cfg must be regenerated before it will be applied).

If an NVidia driver is only partially installed, then usually nothing will work as expected. If X is to use either the nouveau or the modesetting DDX, /etc/X11/xorg.conf* files created by NVidia installation almost certainly must be removed.
 
1 members found this post helpful.
Old 01-19-2020, 04:35 PM   #3
petelq
Member
 
Registered: Aug 2008
Location: Yorkshire
Distribution: openSUSE(Leap and Tumbleweed) and a (not so) regularly changing third and fourth
Posts: 627

Rep: Reputation: Disabled
Nvidia 304.137 from the nvidia site should support your 6200. To disable nouveau add "blacklist nouveau" (without "") to either the end of /etc/modprobe.d/50-blacklist.conf or a newly created conf file in /etc/modprobe.d/.
When that's done run dracut or mkinitrd then reboot to init 3. Run the nvidia run file as instructed.
You would have to run the nvidia driver file each time the kernel changes so you may prefer mrmazda's solution. Also it may not work if you're using newer kernels than the standard or you're doing this on your tumbleweed system

Last edited by petelq; 01-19-2020 at 04:37 PM.
 
1 members found this post helpful.
Old 01-20-2020, 10:43 AM   #4
Sauerland
Member
 
Registered: Jul 2017
Distribution: openSUSE Leap
Posts: 194

Rep: Reputation: Disabled
I would see in the Nvidia Repo for Leap 15.1 if there is an 304 driver.
If there is no one, than I would say the driver does not work anymore and downloading from Nvidia will not help.
So stay on the nouveau, maybe try a newer kernel to see, if the nouveau is better working.

Last edited by Sauerland; 01-20-2020 at 10:45 AM.
 
Old 01-20-2020, 01:11 PM   #5
ehartman
Senior Member
 
Registered: Jul 2007
Location: Delft, The Netherlands
Distribution: Slackware
Posts: 1,674

Rep: Reputation: 888Reputation: 888Reputation: 888Reputation: 888Reputation: 888Reputation: 888Reputation: 888
Quote:
Originally Posted by Sauerland View Post
I would see in the Nvidia Repo for Leap 15.1 if there is an 304 driver.
The driver still works if your kernel is not too new. As it isn't maintained anymore it won't compile against those newer kernels.
I do not know which kernel Leap 15.1 is using, but in Slackware 14.2, with a 4.4.xxx (currently 4.4.208) kernel it still works. as far as I know (I didn't update to that kernel yet).
 
Old 01-20-2020, 01:26 PM   #6
mrmazda
LQ Guru
 
Registered: Aug 2016
Location: SE USA
Distribution: openSUSE 24/7; Debian, Knoppix, Mageia, Fedora, others
Posts: 5,808
Blog Entries: 1

Rep: Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066Reputation: 2066
It's hard to know what support is or is not in any Leap kernel. Nominal current version in 15.1 is 4.12.14-lp151.28.36-default #1 SMP Fri Dec 6 13:50:27 UTC 2019 (8f4a495) x86_64 x86_64 x86_64 GNU/Linux but it is loaded with backports, being nominally different and derived from SLE 15's kernel.
 
Old 01-21-2020, 10:21 AM   #7
Sauerland
Member
 
Registered: Jul 2017
Distribution: openSUSE Leap
Posts: 194

Rep: Reputation: Disabled
Leaps 15.0 kernel 4.12 was backported from kernel 4.14.
Leaps 15.1 Kernel 4.12 has backports from kernel 4.19.

I build some kmps in my Repo and had to patch some insertions of kernel 4.19 to 4.12 f.e. a Leap 15.1 patch for the rtl8821ce-kmp:
Code:
diff -U 3 -H -d -r -N -- a/include/osdep_service_linux.h b/include/osdep_service_linux.h
--- a/include/osdep_service_linux.h	2019-08-10 08:16:52.000000000 +0200
+++ b/include/osdep_service_linux.h	2019-10-20 10:14:32.809412595 +0200
@@ -345,13 +345,13 @@
 	return &(queue->queue);
 }
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0))
 static inline void timer_hdl(struct timer_list *in_timer)
 #else
 static inline void timer_hdl(unsigned long cntx)
 #endif
 {
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0))
 	_timer *ptimer = from_timer(ptimer, in_timer, timer);
 #else
 	_timer *ptimer = (_timer *)cntx;
@@ -364,7 +364,7 @@
 	ptimer->function = pfunc;
 	ptimer->arg = cntx;
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0))
 	timer_setup(&ptimer->timer, timer_hdl, 0);
 #else
 	/* setup_timer(ptimer, pfunc,(u32)cntx);	 */
diff -U 3 -H -d -r -N -- a/include/wifi.h b/include/wifi.h
--- a/include/wifi.h	2019-09-18 18:43:05.000000000 +0200
+++ b/include/wifi.h	2019-10-19 15:50:57.000000000 +0200
@@ -1027,7 +1027,7 @@
  * According to IEEE802.11n spec size varies from 8K to 64K (in powers of 2)
  */
 #define IEEE80211_MIN_AMPDU_BUF 0x8
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0)
 #define IEEE80211_MAX_AMPDU_BUF_HT 0x40
 #define IEEE80211_MAX_AMPDU_BUF 0x100
 #else
diff -U 3 -H -d -r -N -- a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c
--- a/os_dep/linux/os_intfs.c	2019-08-10 08:16:52.000000000 +0200
+++ b/os_dep/linux/os_intfs.c	2019-10-19 16:00:44.000000000 +0200
@@ -1322,7 +1322,7 @@
 }
 
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0))
 static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb
     , struct net_device *sb_dev
     #if (LINUX_VERSION_CODE < KERNEL_VERSION(5,2,0))
But I have only build Network-driver, no graphics.
The 304 Nvidia-driver is not in the Repo, so it might be not building.
You can ask the maintainer:
https://build.opensuse.org/package/s.../nvidia-gfxG02

Last edited by Sauerland; 01-21-2020 at 10:30 AM.
 
Old 01-25-2020, 03:43 PM   #8
sirius57
Member
 
Registered: Jun 2004
Distribution: puppy linux, suse 10.0, opensuse 11.3, 12.1, mythdora, opensuse 13.1, opensuse tumbleweed
Posts: 602

Original Poster
Rep: Reputation: 36
If you choose recovery mode in grub and add nomodeset 3 to the boot line, Opensuse Leap will boot to a login prompt. As root, I ran the nvidia script. It complained with the following:
Unable to build the nvidia kernel module. Installation has failed. Please see the file....
The compiler gcc 7.5 does not match the compiler used to compile the kernel (gcc 7.4).

The log file suggests a fix. It is very long and I have pasted the first page below:

nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Sat Jan 25 08:27:27 2020
installer version: 304.128

PATH: /sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin

nvidia-installer command line:
./nvidia-installer

Unable to load: nvidia-installer ncurses user interface

Using built-in stream user interface
-> License accepted.
-> Installing NVIDIA driver version 304.128.
-> Running distribution scripts
executing: '/usr/lib/nvidia/pre-install'...
grep: /etc/sysconfig/kernel: No such file or directory
-> done.
-> Performing CC sanity check with CC="cc".
-> Performing CC version check with CC="cc".
-> The CC version check failed:

The compiler used to compile the kernel (gcc 7.4) does not exactly match the current compiler (gcc 7.5). The Linux 2.6 kernel module loader rejects kernel modules built with a version of gcc that does not exactly match that of the compiler used to build the running kernel.

If you know what you are doing and want to ignore the gcc version check, select "No" to continue installation. Otherwise, select "Yes" to abort installation, set the CC environment variable to the name of the compiler used to compile your kernel, and restart installation. Abort now? (Answer: No)
-> Kernel source path: '/lib/modules/4.12.14-lp151.28.36-default/source'
-> Kernel output path: '/lib/modules/4.12.14-lp151.28.36-default/build'
-> Performing rivafb check.
-> Performing nvidiafb check.
-> Performing Xen check.
-> Cleaning kernel module build directory.
executing: 'cd ./kernel; make clean'...
-> Building kernel module:
executing: 'cd ./kernel; make module SYSSRC=/lib/modules/4.12.14-lp151.28.36-default/source SYSOUT=/lib/modules/4.12.14-lp151.28.36-default/build'...
NVIDIA: calling KBUILD...
make -C /lib/modules/4.12.14-lp151.28.36-default/build KBUILD_SRC=/usr/src/linux-4.12.14-lp151.28.36 \
-f /usr/src/linux-4.12.14-lp151.28.36/Makefile modules
test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \
echo >&2; \
echo >&2 " ERROR: Kernel configuration is invalid."; \
echo >&2 " include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
echo >&2 ; \
/bin/false)
 
Old 01-26-2020, 03:46 AM   #9
petelq
Member
 
Registered: Aug 2008
Location: Yorkshire
Distribution: openSUSE(Leap and Tumbleweed) and a (not so) regularly changing third and fourth
Posts: 627

Rep: Reputation: Disabled
You could try running the nividia run file with --no-cc-version-check but I think the 304 driver is just too old for you 4.12 kernel. It will most certainly be too old for your tumbleweed.
If you really want nvidia running rather then nouveau you can still buy a cheap gforce 710 which works with the latest proprietary nvidia driver. I think that would compile with both your opensuse systems without patching (kernel-5.5-rc needs a patched driver at the moment).
 
1 members found this post helpful.
Old 01-26-2020, 04:13 AM   #10
Sauerland
Member
 
Registered: Jul 2017
Distribution: openSUSE Leap
Posts: 194

Rep: Reputation: Disabled
Post:
Code:
zypper se -si gcc make kernel
 
1 members found this post helpful.
Old 01-26-2020, 07:25 PM   #11
sirius57
Member
 
Registered: Jun 2004
Distribution: puppy linux, suse 10.0, opensuse 11.3, 12.1, mythdora, opensuse 13.1, opensuse tumbleweed
Posts: 602

Original Poster
Rep: Reputation: 36
I will try the suggested hardware/software remedies and post back my results.
 
Old 01-30-2020, 08:17 PM   #12
sirius57
Member
 
Registered: Jun 2004
Distribution: puppy linux, suse 10.0, opensuse 11.3, 12.1, mythdora, opensuse 13.1, opensuse tumbleweed
Posts: 602

Original Poster
Rep: Reputation: 36
I have decided on a work around with the driver issue. The nouveau driver works well enough when running 3d games and does not tear the screen during game play that I have decided to keep using it for now. When I am not using 3d, I can black list the nouveau driver. The nvidia 2d driver is adequate for non-game play use. I could not compile the nvidia driver. The ati video cards do not seem to have the driver issues and I have seen very nice graphics with ATI and tumbleweed on a laptop.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Sound on Dell Latitude D620 won't work in run level 4 but it will in run level 3. Arcosanti Slackware 3 09-07-2015 11:52 AM
Small tip: use run level 2 as a customized run level 3 to boot faster Didier Spaier Slackware 3 01-14-2015 06:14 AM
Can't switch to TTY or run level 3 from run level 5 reemfz Fedora 3 06-01-2009 08:06 AM
set your default run level so you will boot to a default run level - vga console Adam555 Linux - Newbie 1 01-21-2008 04:55 PM
emacs in run level 3 then switch to X (level 7) then back to level 3 dsoliver Slackware 3 09-01-2006 03:31 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > SUSE / openSUSE

All times are GMT -5. The time now is 01:55 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration