[SOLVED] Bad screen resolution when switch from NVIDIA graphics card to motherboard graphics
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Bad screen resolution when switch from NVIDIA graphics card to motherboard graphics
I have a desktop computer that I bought to do CUDA development (ie programming on NVIDIA graphics cards). There is a cuda-capable NVIDIA GeForce 8400 GS card installed. Up until now, the 8400 has been driving the monitor also. But to run cuda-gdb, the card must not be doing anything else.
So I went into BIOS and told the BIOS to use the onboard graphics processing. I don't know anything about that processing but according to lshw, the computer is a Compaq Presario 061 and the motherboard is an Amberine M from ASUS. I moved the terminal plug to the correct socket on the computer tower and rebooted (Ubuntu 12.04). The splash screen with the fancy "ubuntu" and the travelling dots looked fine but when the login screen and then the gnome desktop (yes, I refuse to use Unity!) came up I could only see a portion of both the login screen and the desktop and everything was too big. It functions and in theory I could actually use this system and scroll to see the rest of the desktop, but I'm not willing to give up all my screen area.
When I issue xrandr to see the available the available resolutions, I see:
Screen 0: minimum 320 x 200, current 720 x 400, maximum 4096 x 4096
VGA-0 connected 720x400+0+0 (normal left inverted right x axis y axis) 337mm x 270mm
640x480 60.0 59.9
This looks discouraging. Am I out of luck or can I get the onboard graphics to drive my monitor at a suitable resolution?
First of all (In console mode - it's easier on the eyes) run
lspci and see what the installed video is. If it makes no sense, run lspci -vn, and look up the pci.id, which you can google.
Next, uninstall the nvidia driver. You can use --uninstall on the .run file or /uninstall. If it's a distro package, use that. It overwrites Mesa libs, and other stuff.
Install a driver for your onboard graphics system, and try from there. X comes up in 640x480 @ 31.5khz if it can't make sense of anything, because everything boots at that frequency.
Have a look in /var/log/Xorg.0.log to see what else it might be bellyaching about
I spent a while with this message but I'm still stumped. I have a number of problems - both things I don't know and problems I'm anticipating with your solution.
Under lspci I see "02:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 8400 GS] (rev a2)" which seems correct. From lspci -vn, 02:00.0 is using kernel driver: nvidia and kernel modules: nvidia_current, nvidia, nouveau, nvidiafb.
You talk about removing drivers but I'm not sure how to do that. Is it blacklisting? Nouveau and nvidiafb are already blacklisted. I don't know how to use --uninstall on the .run file (what .run file?) "If it's a distro package?" mean nothing to me. I'm using a pretty standard ubuntu. What is "a distro package"? and what might or might not be one.
And last but not least, how do I figure out what the driver is for my onboard graphics?
From the number (X200) it's feeble crap, but the thing runs on the OSS driver and will do fine as long as you're not expecting loads from it. You need xf86-video-ati or some such package, and you need to remove the nvidia one. I have the RS690 here and with the latest drivers movies are playable at full speed on 2 full screens and you could lip read.
The vagueness of the instructions scared me a bit, but I finally tried. When I used synaptic and filtered on xf86-video-ati I was shown xserver-xorg-video-(radeon/ati/mach64/r128), all four of which were already installed. I don't think I can really remove the nvidia drivers since I imagine I need them to run CUDA (the devel environment for code running on the NVIDIA chip). Even so, as an experiment I followed your instructions and uninstalled nvidia-common and nvidia-settings, which are the only nvidia drivers that were installed.
Still had the same large screen.
BTW, as to the video controller being feeble - that's ok. All I want to do is run X and maybe static webpages. I'm not interested in video. It's just a development machine.
Thanks for your reply and again, sorry I sat on this so long.
With nvidia binary blob installed, libGL.so.1 will point at the nvidia libGL.so.xxxxx whereas you need the native mesa libs there for OSS radeon. There's 3 libs overwritten. Can you use nouveau for your programming?
Depending on your requirements for programming, I would draft a video.conf for /etc/X11/xorg.conf.d/video.conf and list the 2 cards and their respective monitors.
and repeat for the nvidia card - look at a sample xorg.conf for details. Look at 'man xorg.conf' and you'll see you can specify PreferredMode, Virtual (screen size) and most important drivers for the video cards. If that doesn't sort it, get it misbehaving and pastebin the file /var/log/Xorg.0.log and post the link and we'll see what's happening. It sounds like you have a low resolution and a high Virtual screen, so you're only seeing a tiny bit of it.
I've sort of given up and tried a new solution. I went down to the MicroCenter store here and spoke to someone in their build your own computer department. He seemed to know the solution quickly. He said the old motherboard that I had was "only the onboard or a card." So once I put in the Nvidia card, the onboard graphics was unreachable.
So I ended up with a sort of expensive solution. He sold me a PCI graphics card (I can't use a PCI-E card since my motherboard has only one PCI-E slot which holds the cuda card). Now one of my linux systems (ie disk partitions) works, the one on sda1. I haven't yet tested the cuda stuff because of a separate problem with loading the runtime libraries. When I solve that I'll see.
The other linux partitions on that computer don't seem to work. I'll have to figure out what drivers they are missing.