31

I'm running Ubuntu 12.04 on a Lenovo x61s Thinkpad. As the screen's rather small and I want to do some video editing, I thought I'd plug in a monitor and use that. The monitor is Relisys JM777 (quite old).

When I plug it into my other computer, which is running Windows 7, it immediately mirrors the display; but when plugged into the Lenovo the monitor screen remains blank. The graphics card on the Lenovo is a "VGA compatible controller" according to SysInfo.

Anybody got any suggestions for getting this monitor to work? I'm quite new to Linux.

Zanna
  • 69,223
  • 56
  • 216
  • 327
Julian Le Saux
  • 311
  • 1
  • 3
  • 4
  • 1
    You should go in the System settings panel and check the Display options. Most likely on your system the default for a second screen is to leave it unactivated until the user configures it. – T. Verron May 22 '12 at 13:45
  • It may help to have the monitor already plugged in when you boot. I'm not assuming that it will then come up, but you can then add the contents of your /var/log/Xorg.0.log file here. It may have something interesting to say about why it isn't being activated. – John S Gruber May 24 '12 at 12:50
  • I see you have posted your log file and you are using the Intel driver. If Pretorix DHM's answer doesn't help I'd suggest pasting the output of the x`xrandr` command after the screen is plugged in to see if its a problem with the Displays program or with the driver. From the very last line of your Xorg.0.log file I would say that the driver is being notified that a new monitor is present as it is adding another framebuffer for it. – John S Gruber Sep 12 '12 at 18:07

14 Answers14

13

Similar issue happened to me but the above solutions did not work. Below are the steps that worked for me.

  1. Unplug the display (HDMI cable) from the machine.
  2. Reboot the machine.
  3. Plug-in the second display.

Now it should recognize the 2nd display.

JamiDer
  • 231
  • 2
  • 3
10

I had a similar problem with my HP Elitebook 8530w, which uses an NVidia Quadra graphics card. I use the recommended NVidia drivers in Ubuntu 12.04.

In Applications > System Tools > System Settings > Display it will not detect my secondary display.

However when I go to Applications > System Tools > Administration there is the option Nvidia X Server settings. Here I can select another display which is being detected properly and I can immediately use my secondary display.

Zanna
  • 69,223
  • 56
  • 216
  • 327
Pretorix DHM
  • 101
  • 1
  • 3
  • 15
    I have the same problem but I am new to Ubuntu (version 14.04) and I don't understand your suggestion. How do I "go to `Applications`->`System Tools`->`System Settings`->`Display`"? – CompanyDroneFromSector7G Jul 26 '15 at 00:52
  • 1
    For Ubuntu 16.04: in the top left (in the taskbar) should be a button with the hovertext "search your computer". Clicking here should open a window of sorts that contain several icons and has a big search bar on top. Here, search for: `Nvidia X Server settings`. – dimpol Jan 17 '17 at 14:22
7

I have the same issue on ubuntu 22.04,and solved the problem by downgrade nvidia driver from 510 to 470.

Open Software&Updates -> Additional Drivers -> use NVIDIA 470.

Mohamed Slama
  • 1,841
  • 1
  • 16
  • 37
  • 1
    Same problem and solution here. It happened after I changed to Gnome 42. The solution waI changing it to "nvidia-driver-510 (proprietary, tested)". – Seralto Jun 14 '22 at 21:46
  • 1
    I was struggling since 2 hours before finding this! Now it works yay – Emidomenge Oct 20 '22 at 13:01
  • 1
    Some versions of NVIDIA throw an error when I try to install them, but NVIDIA driver metapackage from nvidia-driver-470 (proprietary) really worked without popping up any errors in my case. I restarted my laptop and now I can happily see two monitors! – RidiX Dec 24 '22 at 08:16
  • 1
    thanks, it worked when I changed to nvidia-driver-525-open (proprietary, tested). It saved me a lot of time. – Shaiful Feb 10 '23 at 09:49
6

I had similar problems with Ubuntu 12.04 & EliteBook 8530w. External display didn't work. I changed NVidia display driver to a newer version and it helped. System Settings > Additional Drivers.

Zanna
  • 69,223
  • 56
  • 216
  • 327
Sami
  • 61
  • 1
  • 1
4

I had a similiar problem with my HP probook 4416s, I tried all I could find online but nothing worked for me; I even installed the AMD driver for my old video card.

But finally I solved my problem by unplugging my DVI wire and plugging it back in firmly.

So if you can't solve it with the other answers here, try this.

Zanna
  • 69,223
  • 56
  • 216
  • 327
Phoenix
  • 171
  • 1
  • 7
3

Here is my solution for an NVidia Graphics card with Ubuntu 18.04 on a Desktop. Results may vary for different versions of Ubuntu. Walked through step by step with screencaps.

Here’s what version of Ubuntu I have and the command to see that info:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic

Problem Description: I freshly install Ubuntu 18 and plug in my two monitors to my graphics card. One I connect to the hdmi port, the other to the “displayport” type port, the more modern type of port compared to hdmi.

Looking up “can’t detect second monitor brings me to a bunch of results saying to check in Activities -> Settings -> Displays.

I don’t have this “Displays” feature anywhere in my settings ;_; no displays section in my settings anywhere

Image for post

I looked all over those settings and there is no trace of detection of a second monitor.

So on Ubuntu, I figure there is no out of the box support for my special graphics card. I have an NVidia graphics card.

Here’s how I figured out the name and model of my graphics card:

$ sudo update-pciids  # graphics card registry update
$ lspci -nn |grep 'VGA' # grep for you card from list devices

Here’s my output, yours may look similar, but will probably look a little different depending on your graphics card.

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU104 [GeForce RTX 2080] [10de:1e82] (rev a1)

GEForce RTX 2080, that's what I need, it’s the name people actually use in common human speech when referring to this graphics card. I need this name because I am about to go to the Nvidia website and get the driver for this card and I need to be able to find it.

So here’s the site I have to go to get the driver: https://www.nvidia.com/Download/index.aspx

and here’s what it looks like: NVidia website

You can see in the screen cap what settings I used. Look in the top section. I didn’t mess with that bottom section concerning virtual GPU customers. The whole point of this is I identify my graphics card, I go to the download site, I say I have this graphics card, and this operating system and then click search. Just start at the top Dropdown menu and keep going down until you've done all of them.

If you have a GeForce GTX, the Product Series is GEForce. You'll be able to infer from the name.

If you feel like you can't find your graphics card in the dropdown menus, don't give up. If it is a consumer grade NVidia graphics card and it exists, it is in these dropdown menus. Keep looking.

Click Search button once you've found your card.

I get this page for the driver that I needed. Yours will be different, because you will likely not have the exact same card as me: My Driver page

I click the download button. Now I should have a .run file in my ~/Downloads folder.

You’ve downloaded the driver, now you have to install some pre-reqs before you can run it.

sudo apt install gcc
sudo apt install make

Note: GCC is actually the GNU C Compiler, and make is another program for creating object files from c code. Programmers use these, you don’t have to be a programmer to install these, they are just a pre-req for installing this driver.

If you for some reason did not install these before running the driver you will see warnings like this: Error: Unable to find the development tool ‘cc’ in your path; please make sure that you have the package ‘gcc’ installed. If gcc is installed on your system, then please check that ‘cc’ is in your PATH.

Error: Unable to find the development tool ‘cc’ in your path; please make sure that you have the package ‘gcc’ installed. If gcc is installed on your system, then please check that ‘cc’ is in your PATH.

That one you can’t ignore. I know it’s tempting to just always hit yes to everything when running an installer, but I do recommend reading the prompts in this case. It will tell you if it is missing something it needs. (like above ^^)

ee The distribution-provided pre-install script failed! Are you sure you want to continue?

^^ This one however, I have been able to ignore with no issue. There may be quite a few reasons this script can fail, so results may vary for ignoring this.

Anyway, next we run the installer:

cd ~/Downloads

to go to the downloads folder, or wherever you stored the .run file you just downloaded.

sudo chmod +x nvidia_install_xxx_xxx.run

To give execute permissions to the file. Instead of my filename here use the name of the .run file you just downloaded. You’re doing this to give run permissions to the file. (You can't just copy paste above, use the file you downloaded)

sudo ./nvidia_install_xxx_xxx.run

to actually run the executable and install the driver.

It’s going to actually run in the terminal and pop up with a bunch of questions. I just said yes to all of them and everything was fine.

When it asks you if you want to overwrite libglvnd you can say yes, that is fine. I have also ignored this, and not noticed anything different. So I am still not even sure what this is for: libglvnd

When it asks you about overwriting x libraries that is fine too: x libraries

X is mostly concerned with rendering windows and OS stuff like that. I see no reason why I shouldn’t use my graphics card to render windows. Rendering windows isn’t a terribly heavy operation either, so whether you say yes or no isn’t that important for normal usage.

If you’re only concerned with using the NVidia driver with Tensorflow for example, this probably doesn’t matter that much at all.

Test: You can test to see if your install went correctly right here in the command line by running nvidia-smi:

$ nvidia-smiTue Aug 13 20:33:54 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.40       Driver Version: 430.40       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 2080    Off  | 00000000:01:00.0 Off |                  N/A |
| 22%   61C    P0     1W / 215W |      0MiB /  7979MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

If you see that nice grid showing you all that data about your GPU you’re in business.

Cuda Users/Developers Only: One thing that throws a lot of people off is that the Cuda version shown in the nvidia-smi panel may not match what version of Cuda they have installed. That’s because the driver you installed is using its own Cuda that came packaged with the driver. Don't freak out if it doesn't match the CUDA you are using to develop with.

It tells me my driver is installed and the last page of the installer said I need to reboot. I do a reboot and the second monitor just starts working correctly and I don’t even need to do anything.

I can see the second monitor and configure it in my display settings now too. second monitor

Note: sometimes on reboot your second monitor will just not show up anymore and this can be fixed by running the installer again. Keep your .run file in a safe place you can find because you will probably need it again. After some googling, I vaguely recall this has something to do with offloading the kernel or something. Again, all you have to do is reinstall the graphics driver, quick fix.

sitting-duck
  • 131
  • 3
2

According to /var/log/Xorg.0.log, the second screen was detected at startup. Notably this was a line starting with "NVIDIA". To actually enable it, you have to go to the "NVIDIA X Server Settings" window. Start it via Dash Home.

Zanna
  • 69,223
  • 56
  • 216
  • 327
Bernhard
  • 21
  • 1
1

What worked for me was:

sudo update-pciids
lspci -nn |grep 'VGA'
Ohad Rubin
  • 71
  • 1
  • 5
1

I managed to solve my problem by:

  • Disconnecting both monitors
  • Reconnecting the one that wasn't working first
  • Reconnecting the other one.
  • This simply helped me! Disconnect all wires, and power cables, restart the Laptop (Ubuntu 22 )with all wires connected to it and it started detecting the second display. I don't prefer updating drivers so early. – vimal krishna Aug 17 '22 at 06:52
1

Had a similar issue when connecting another monitor to my laptop. Tried installing the drivers - didn't help. However, after these steps:

sudo mv /etc/X11/xorg.conf to /etc/X11/xorg.conf.bak
reboot

Open Settings > Displays and click Detect Displays

On the same window uncheck the Mirror Displays checkbox

The second monitor was detected. Please note, in the first step you could delete the file, but renaming it is safer in case you need to restore it.

Zanna
  • 69,223
  • 56
  • 216
  • 327
Kostyantyn
  • 576
  • 5
  • 11
0

Solved a similar problem; Ubuntu 18.04, it started acting like there was only one monitor (there are two).

The single monitor's image would jiggle every couple of seconds. Rebooting didn't help. Then turned the blank monitor off and on, rebooted, and it solved the problem. Weird.

UserX
  • 131
  • 2
0

Go to the Dash button (purple and white on the top left) and then type Display. The Display control will show up. Click on it. After a few seconds you should be in the Display control panel and should see both displays. Click on the additional monitor and click on the Enable control.

Then press the Apply button. If everything looks good you can accept this configuration. If you don't do anything it will go back to how it was after 30 seconds.

If you want to use them both at the same time you can also uncheck the Mirror button and can move the screens relative to each other. Again, you must click on the Apply button to try it out. You will then be able to view different parts of a virtual desktop on the two displays and can move windows with your mouse to where they are most handy for you.

John S Gruber
  • 13,248
  • 3
  • 37
  • 64
  • I was able to verify that T. Verron's suggestion works on my computer. These are the individual steps. There are individual commands to do this work using the `xrandr` command, such as `xrandr --auto` which would turn the second screen on. That might be useful someday if you wanted to script this. But you said you were a beginner so... – John S Gruber May 22 '12 at 16:58
  • Thanks for your help, but I've still got problems, I'm afraid. I went into the 'Displays' dialog as suggested - initially it was only showing one display, the one for my laptop, but when I unchecked the 'Mirror' option a second one appeared alongside, labelled 'TEO 17"'. I couldn't see any 'Enable' option; the 'TEO 17"' display, when I clicked on it, was already showing as 'ON'. I tried switching it off and on again, then clicking Apply - my mouse disappeared off the right-hand side of my laptop screen, but the Relisys screen remained blank. – Julian Le Saux May 24 '12 at 11:38
  • Okay, I switched on with the monitor plugged in, and had a look at the /var/log/Xorg.0.log file. Needless to say it didn't mean a thing to me, but here it is: – Julian Le Saux May 25 '12 at 18:24
  • Sorry - my previous comment was unfinished, because I tried to paste in the contents of the Xorg.0.log file, but it was too many characters for the forum to accept. Is there a way round this? – Julian Le Saux May 25 '12 at 18:33
  • I'd suggest you go back to your question--where most of your information is already accessible to every reader and commenter and past a link to your file. You can use http://paste.ubuntu.com to store the file and get a link for it. – John S Gruber May 25 '12 at 22:05
0

I had to change the PRIME profile in "NVIDIA X Server Settings" to Performance mode for Ubuntu 20.04 to pick up a screen again on my laptop:

enter image description here

AmanicA
  • 1,699
  • 16
  • 22
0

I have the Nvidia 540M and I also faced some problems with Nouveau driver, but I figured out a solution quite simply after hours and days of search, when Nvidia finally released there driver on Ubuntu.

I suggest you to install the latest tested Nvidia Driver (346.96) by using the graphical interface (Drivers > Additional Drivers).

Do not forget to reboot after a proper installation and ensure that you actually run this driver.

Then, open NVIDIA X Server settings. On "Prime profiles" menu, check "Nvidia (Performance mode)".

You can finally perform some checks while pluging in in your monitor. It should appear on the Server settings menu, and can be easily configured.

Pilot6
  • 88,764
  • 91
  • 205
  • 313