Opensuse factory 20140816 and Nvidia graphics
A few days ago, I decided to install the latest factory snapshot on my older computer — the one with a Nvidia Geforce 6150LE graphics card. Mostly, it was uneventful, except for issues related to the Nvidia graphics. The install itself went smoothly. As we move closer to the release time for opensuse 13.2, the factory installs seem to be going well.
I actually installed factory snapshot 20140813, in spite of what I listed in the title above. This replaced the kubuntu 14.04 that I had previously installed in the spare partition of this computer.
As is my usual practice, I downloaded the iso image for the full DVD installer from the factory download page. I used “aria2c” for the download. I gave “aria2c” the link for the iso, and it managed to find the meta file that it needs. The download was smooth.
I copied that to a USB, using
# dd_rescue openSUSE-Factory-DVD-x86_64-Snapshot20140813-Media.iso /dev/sdd
Of course, I first made sure that “/dev/sdd” was the device name for the USB flash drive that I wanted to use. The copy itself takes maybe 10-15 minutes (I did not closely time it). I then took the USB flash drive to the target machine, and booted from that USB to start the install.
The install experience is a little different from what it was with opensuse 13.1. The installer is themed differently (more strikingly). And the order of sections is rearranged, but is still reasonably straightforward.
My computer had an ethernet connection, so network configuration happened in the background, out of sight. However, if you have only a WiFi connection, the a window will popup to configure your WiFi. That does not work (reported as bug 888805). So, if you see that window, hit “Cancel” to bypass it.
On the summary screen (after partitioning), at the very bottom, the status of SSH is mentioned. With 13.1 and earlier, I could click one option to turn on SSH. This would configure the ssh service and open the firewall. With the current factory installer, I instead have to click in two places. One of those opens the firewall for SSH, and the other configures the service.
For software selections, I followed my usual practice of installing KDE, Gnome, XFCE and LXDE. I also installed the base development pattern and the kernel headers.
With prior versions of opensuse, there is a final stage of installation following the first reboot. That is gone with the new installer. When it reboots, the install is already complete and one can logon. I chose to login to “icewm” instead of the default (KDE), partly because I new that a KDE login would give problems. I’ll discuss those problems below under the heading “nouveau”.
With no final install/configuration step, there was no opportunity to set the hostname. So I did that now. I started Yast from within “icewm”, and went to the “Network Settings” section. There, I could set my preferred hostname for this machine. I then installed some more software that was not available on the DVD (such as “ecryptfs-utils”). At that time, additional software (such as “flash”) was automatically installed.
Finally, I ran
from a console command line. I installed snapshot 20140813, but by now factory was up to 20140814. The “zypper dup” brought it up to date.
I next went to Yast software repositories, and configured the packman factory repo. I set packman to priority 98, and then did my best to add the multimedia support from packman, roughly based on the multimedia guide for 13.1.
At this stage, the system was using the nouveau video driver. Past experience has shown that nouveau works reasonably well on this hardware, provided that I do not attempt desktop effects. Unfortunately, desktop effects are turned on, by default, in KDE. So I expected trouble.
I’ll note here that when testing, I usually clear out all settings file (such as “.kde4”) in the home directory, so that I’ll make a clean start and see what the system developers want me to see. So, when I started KDE, I would be starting it with desktop effects.
With opensuse 13.1, starting KDE with desktop effects and nouveau drivers was not pretty. The startup would seem to stall. But at least I could abort with CTRL-BACKSPACE (twice), then manually edit “.kde4/share/config/kwinrc” to disable compositing. Then, with desktop effects forced off, I could have a decent session on my next KDE login.
That did not work with this factory install. I logged into KDE, so that it would create the basic KDE config files. The system locked up hard. I could not abort with CTRL-BACKSPACE. A short while later, the system crashed with a kernel panic message. I powered off, and powered on again. I logged in with “icewm”.
By now, at least, the file “.kde4/share/config/kwinrc” had been created. So I edited that, and added a line “Enabled=false” to the “[Compositing]” section. I then logged back into KDE, with desktop effects forced off. And all was fine. I was able to configure my KDE desktop the way that I wanted it.
At this stage, I decided to try the Nvidia driver. The latest Nvidia driver for my card is version 304.123. I copied the installer file to “/usr/local/src”. I next edited “/etc/default/grub” to add “nomodeset” to the boot command line — that prevents nouveau from loading. I updated “grub.cfg”, then rebooted. Using CTRL-ALT-F1, I got to a console login session, where I logged in as root. I next did:
to shut down the graphic desktop during the install. And then I ran
to install the Nvidia driver the hard way. I followed the prompts. The install was reported as successful. I rebooted, and checked that the system ran well with the Nvidia driver. I briefly turned on desktop effects in KDE, and those worked well (after a logout and login). I later turned them off again, because I don’t find them useful.
Snapshot 20140816 and a graphic oops!
The next morning, I ran “zypper dup” to update to the 20140816 snapshot. That seemed to go well. So I decided to login to Gnome. I got the “Oh no! Something has gone wrong” message. Checking the file “.xsession-errors-:0”, I saw complaints about “libglx”.
Further checking showed that “/usr/lib64/xorg/modules/extensions/libglx.so” was no longer the file provided by the nvidia install. Apparently that 20140816 update had installed an updated xorg, and overwritten “libglx.so”. The nvidia installed file was still there, under a different name. But the symlink to it had been replaced. It was now a symlink to a file in “/etc/alternatives”.
It looked as if the update had put “libglx.so” under control of “update-alternatives”. This might be a good thing, and simplify switching between nvidia and nouveau drivers. So I did a little reading of the man page for “update-alternatives”.
I finished up running the following command:
update-alternatives --install /usr/lib64/xorg/modules/extensions/libglx.so libglx.so /usr/lib64/xorg/modules/extensions/libglx.so.304.123
That added the nvidia library as an alternative, giving it priority 20. The default library has priority 50. I could now run
update-alternatives --config libglx.so
To select which alternative. Of course, I selected the nvidia driver. And Gnome now works properly.
The factory distro seems to be in pretty good shape. And, with care, the nvidia drivers can be installed the hard way. You will need the latest driver version appropriate for your card.