I did not have a dedicated graphic card in my laptop before so having to care for the driver is a new experience.
The card in my Dell Latitude 5480 is an NVIDIA GeForce 930MX.
I found that the driver can be downloaded from the official site.
Here's how to pick it out from the list.
Current version is 390.48; released on 2018.03.28. It needs to be run from terminal with root.
Then I tried to install it from the terminal by running the .ran file and got stuck on errors
First I got the error: "You do not appear to have an NVIDIA GPU supported..."This is fixed by changing the PRIME Profile from Intel (Power Saving Mode) to NVIDIA (Performance Mode) in NVIDIA X Server Settings (screenshot) (in flashback: Applications --> System Tools --> Administration)
Then log out and log in again, and this error will be gone.
However this alone did not solve the SweetHome3D problem, in the contrary it got it worse, now the program crashes at startup with the mentioned error.
The next error was "You appear to be running an X server..."
To get rid of this, here's a handy step-by-step:
- Switch to terminal with Ctrl+Alt+F1
(switch back with Ctrl+Alt+F7 if you need to) - Stop X with sudo service lightdm stop
(start it back up with sudo service lightdm start if you need to)
When I searched for this I ran into a some promising askubuntu answers:
- This is the most complete guide to install NVIDIA drivers and what you need to know about them.
- This is another very good post with some more guidance.
- This one suggests to get past the problem by disabling the nouveau driver.
- This one suggests to install the CUDA toolkit.
Then I acquired some more info on my hardware
First of all, I ranlspci -k | grep -EA2 'VGA|3D'
to find out what I have on the machine:00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)
DeviceName: Onboard IGD
Subsystem: Dell Device 07d0
--
02:00.0 3D controller: NVIDIA Corporation Device 134e (rev a2)
Subsystem: Dell Device 07d0
Kernel driver in use: nvidia
With sudo lshw -numeric -C display | grep -E "(product|vendor)"
we get a different but similar set of information:product: NVIDIA Corporation [10DE:134E]
vendor: NVIDIA Corporation [10DE]
product: Intel Corporation [8086:591B]
vendor: Intel Corporation [8086]
To get the current nvidia driver version, run nvidia-smi
from terminal.This information is also available from the Software&Updates setting Additional Drivers tab. (screenshot here) and also from the NVIDIA X Server Settings mentioned before.
I'm running 384.111
Then I tried to install it from the ppa repository and succeeded
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt-get install nvidia-390
It said that there are recommended packages: libcuda1-390 nvidia-opencl-icd-390, so I installed those too:
sudo apt-get install libcuda1-390 nvidia-opencl-icd-390
I also did a sudo apt autoremove
while I was at it.Restarted the machine, and now I have the 390.48 version driver successfully installed. The procedure was pretty painless.
As for the SweetHome3D program, this unfortunately did not help.
However I succeeded with the next suggestion in the FAQ: running SH3D compiled with the older Java3D library (SweetHome3D-Java3D-1_5_2)