12.04 Install, SiS/XGI Video Driver issue (perma 800x600 land)
Hello Community! ):P
This problem has been killing me on setting up this fresh install.
I have this Dell PowerEdge 850 server, which according to the specs on the service tag has an (SiS) XGI Volari Z7 integrated adapter and the Current Monitor (the one on my work bench) is a Dell E196FP whose optimal settings are 1280x1024 60Hz. I have installed 12.04 64bit.
1) in "Display", it says my display is "Laptop" and my resolution is "800x600 (4:3)". I have no choices, anything to change to.
2a) in "System Settings">"Details" it "did*" say "Driver" "Unknown", "Experience" "Standard".
(*My first attempt to solve this was scouring the web for "Unknown graphics driver" which landed me on a form recommending I run the following command: "sudo apt-get install mesa-utils")
2b) Now "System Settings">"Details" reports that my "Driver" is "Gallium 0.4 on llvmpipe (LLVM 0x300)" ...Still stuck on "Laptop" and "800x600" though.
What I Have Tried Thus Far:
1) a forum post had mentioned to make sure the appropriate driver "xserver-xorg-video-sis" is installed. I went to the software center and it was already installed.
2) another post said I had to edit my xorg.conf file to set my driver to "sis" and set my resolution. But I don't have an xorg.conf
3) I follow steps to create an xorg.conf, executing "sudo Xorg -configure" it fails because xserver is already running for display 0
4) I execute "sudo stop lightdm" and after stumbling around in the darkness like a newb, wondering why my commands just go down to the next line, and I have no prompt, realize I need to <Ctrl><Alt><F1>. I run the configure command again and it fails. The first time I tried this, the error was"cannot create file /tmp/.X0-lock"
5) Following some other forum advice I run command "X :1 -configure", and though it erred out with "number of created screens does not match number detected devices" it did create an "xorg.conf.new" file.
6a) What I glean from looking at the file are that there are the following two "Devices"
6b) There is a Monitor0 and 1, and a Screen0 and 1. each screen section has subsections of "Dislay" with viewport of 0 0 and increasing Depths of 1,4,8,15,16,24.
6c) Fully suspecting that if I just rename this and drop it in the X11 folder, my future reboots will not be pleasant, I research some more.
7) I find some more forum posts stating that 12.04 doesn't have an xorg.conf file because it's deprecated and instead everything should be found or changed in "etc/X11/xorg.conf.d/" but I don't have an xorg.conf.d folder! I have one in "usr/share/X11/" but I am not sure if this is even a folder of live configs and all the references I find to editing a "monitor.conf" or or other ".conf"s aren't there.
8) I find references plastered all over the internet to making "<xx>-monitor.conf"s, and "<xx>-graphic.conf"s, and "<xx>-screen.conf"s where xx = 10 or 30, or 40, or 50, or 90...
9) and after 16 hours, 5 Monsters, and really dry contact lenses I throw my arms up and ask you all for some clarity...
Can you name your .conf anything?
Does it have to go in "etc/X11/xorg.conf.d/" or does it have to go in "usr/share/X11/xorg.conf.d/"?
What does the number in front of the .conf mean? Is it some sort of priority ordering? How does it work? Can it be any integer?
Can you help me with what to do next? Help me with the "How's", and "Why's", and "What's" beyond just the "Here type this"'s... This is probably not the last re-purposed computer I will be loading Ubuntu on.
Thanks for being here! ;)
Re: 12.04 Install, SiS/XGI Video Driver issue (perma 800x600 land)
I've found SiS graphics cards to be among the more difficult to set up. Here's a helpful link:
It looks like your card is part of the 300/310/340,etc,etc series.
It is much more painstaking to get working than nvidia, or ati, or intel cards.
Hope it helps.
Re: 12.04 Install, SiS/XGI Video Driver issue (perma 800x600 land)
Thanks for the link deadflowr. after reading that page, it seemed to have a lot of things I could try as maybe a 4th or 5th resort, especially if the alligators start piling in around me.
My next step was to try to force the video driver choice, and to do that I needed to understand how xorg configs work. It's weird that somehow my breakthrough of understanding actually came when I read a forum post about graphics drivers on an openSUSE forum.
Here is the link:
the pertinently unique information I found there is quoted here: (orginal by opensuse.org Global Mod. oldcpu)
So my take on it was this: Each section that used to be in xorg.conf is now it's own .conf file in the xorg.conf.d folder in /etc/X11/
In older openSUSE releases, it was necessary to have an /etc/xorg.conf file which defined the configuration needed for one's graphic card. This is not the case for newer openSUSE versions.
As of openSUSE-11.2, the need to have an xorg.conf file was removed for many graphic cards. This was because "xorg" who code X window framework have moved away from requiring the xorg.conf file, but rather the card should be configured automatically without that xorg.conf file. In such a case, the xorg software should automatically use the latest open source driver (either "radeon" or "radeonhd"). However the automatic recognition of graphic cards is still not reliable for all cards in openSUSE-11.2, 11.3, 11.4 nor 12.1.
To help address that case (where automatic graphic card recognition fails) similar to other Linux distributions, openSUSE as of version 11.3 also has an /etc/X11/xorg.conf.d/ directory, with a series of .conf files, where the graphic configuration can be specified (which if specified will take precedence over the Xorg software automatic configuration). These files include:
For example, to force the vesa driver, one could edit the 50-device.conf to look like (where Driver "vesa" was added):
Identifier "Default Device"
## Required magic for radeon/radeonhd drivers; output name
## (here: "DVI-0") can be figured out via 'xrandr -q'
#Option "monitor-DVI-0" "Default Monitor"
In addition the older xorg.conf file can still be used for the card to force a graphic configuration, for if that xorg.conf file is available, then the xorg software will use it, giving it precedence over BOTH the automatic Xorg configuration and the /etc/X11/xorg.conf.d/nn-yyyyy.conf files. The software sax3, which is under development as a replacement for the depreciated sax2 can be used to configure the files in /etc/X11/xorg.conf.d/ directory.
Each file is prefaced with a number that determines the order they are applied. basically settings in higher numbered .confs trump settings in lower numbered .confs
There are some standard confs and their numbers, which basically mirror the flow of the older traditional xorg.conf. (these were listed in that above quote) Most users on a fresh install won't have these files or folders because the default is to be "automagic"... You have to manually create and put things here only when "automagic" isn't working for you... and in that case, ONLY what you put here gets applied on-top-of "automagic"... so if a parameter is left out, it is still set to auto.
It's not like so many other things in the world where once you toggle from auto to manual you have to specify everything or risk a system failure over something being null or the system expecting values that aren't there.
...Also, starting a line out in a .conf file with a # symbol makes it a rem statement ('remark's it out, it is not executed. It's either for you to read and not the computer or you are disabling a line that you may want to enable again.)
...After wrapping my head around that, it's a great system, just one that most laypeople aren't aquainted with. So with that in mind I went back to the premise "I want to tell my system to use the sis driver that it already says is installed." so I created the below file:
What this is actually doing, I think, is telling the x server that this computer's Device (e.g. Display adapter, Video Card), called Card0, is supposed to use the sis driver. In the game of "Who has the last word", this tells the x server all of this after the mice and I/O peripherals have spoken, but before the monitor and any VM devices have had their final say, which is the standard layout. This last bit is what the "50-" does, but since this is the only manual config file active right now... It's a pretty quiet discussion.
NEXT step was to create the /etc/X11/xorg.conf.d/ directory and copy the 50-device.conf file to there. Root privileges were needed, sudo mkdir and cp were invoked from the terminal. I then logged off and logged back on and...
The Result is "SUCCESS*" ...I can now set my resolution from a whole bunch of choices and now all of my windows fit all the way on the screen.
When I go into System Settings > Details, it says that my graphics are a "VESA: Volari Z7"
*I don't know if this is optimum, as I wasn't expecting the word VESA at the front of it, as that makes me think "generic" and "slightly better than fbdev", but Volari Z7 is correct.
*In Display settings, it still has my display listed as "Laptop" which is not changeable.
*I am noticing faint light horizontal bands flickering, dancing, and in general moving down (I think, it could be doing that thing like where you look at a spinning object and at certain rpm's it 'looks' like it is spinning the opposite direction.)
I think this may be v-sync or vertical refresh rates. I think these would be fixed with either monitor.conf or screen.conf settings. My brain has temporarily went awol, I hope it decides to stop by sometime later today. I'm not sure how much I want to work with the flicker when after I get this set up and mounted, it will be accessed either from a kvm, another monitor, or quite a bit through VNC or Teamviewer.
Questions, Comments, Observations, Suggestions... They are all welcome, encouraged, and hoped for! ):P
Re: 12.04 Install, SiS/XGI Video Driver issue (perma 800x600 land)
Update: Server is moved to it's final home, accessed locally through a Dell KVM and a Dell 1703FP monitor. The monitor wouldn't display, so I had to make more config files. The Dell support specs page had some of the specs I needed but not all. I creatively Google'ed for 1703FP and xorg and 'Section "Monitor"'. I found some poor soul with a completely unrelated problem but who had posted his xorg.conf which his video card was able to correctly fill out. Stole the settings I could not find/calculate from there and viola everything is working. I shall now attempt to summarize all of my findings for future frustrated generations:
Problem, Linux and SiS/XGI Volari, Z7, 3xx series et. al do not tend to work very automagically from an end user's point of view. Even when you use the xorg driver for the SiS, a lot of automagic features that rely on auto-detecting hardware and parameters may not work, such as monitor modes.
Symptoms: Low Resolution, 800x600 Resolution, no resolution choices, Graphics Driver is "Unknown", Graphics Driver is "Gallium 0.4 on llvmpipe (LLVM 0x300)", Monitor black screen showing that there is no compatible mode to display.
Do Nots!: Don't install mesa-utils. These utilities are for doing things with OpenGL and 3D acceleration. Even though those tools can help with some 'Driver "Unknown"' and 'Performance "Standard"' issues, your Volari Z7 with 16MB RAM Integrated VESA adapter is not one of them. (Essentially don't be like me, and start "sudo apt-get"ing everything every forum post that Google dumps you out in tells you to do. :p )
Solutions (with why's):
(1)/etc/X11/xorg.conf is depricated, but it still trumps all other xorg configuration files. It's not elegant but it can still be used to man-handle your xserver into position. 12.04 won't have one. generating it so you can fill it in is fruitless.
(2)make a directory /etc/X11/xorg.conf.d if you don't have one. (you probably won't have one) --reason being is that instead of having an xorg.conf, you now have a xorg.conf.d (.d is for directory) that you store only a few tiny subsection specific .conf files in. These files are executed by increasing number and alphabeticallness. You can think of it like play order in many card games, the higher number "goes on top" and any properties inside it "beat" properties from lower numbered files. (Again, some people man-handle their xserver by putting 90's in front of their config files that they want to make sure take precedence. you shouldn't have to do this.)
(3)I made a text file called 50-device.conf, filled it with the code below and copied it into xorg.conf.d
"If" you have the xserver-xorg-video-sis driver installed from the Software Center (Ubuntu had already installed it for me) this conf tells xserver that Card0 uses the xorg sis driver. You can reboot and you should see some improvements right away... But since xserver so stellarly autodetected your video adapter you are probably going to have to tell it what to do with your monitor in order to be truly at 100% so here we go...
(4)I made a text file called 50-Monitor.conf and 50-Screen.conf, filled them with the code sections below and copied them into xorg.conf.d
ModelName "1703FP through KVM"
DisplaySize 337 270 # In millimeters
ModeLine "1280x1024_60.00" 135.0 1280 1328 1440 1688 1024 1025 1028 1066 +HSync +VSync
ModeLine "1024x768_60.00" 65.0 1024 1048 1184 1344 768 771 777 806 -HSync -VSync
In the above examples, the Screen Configuration. basically combines a Device and a Monitor together, and references the Modes available to the Modelines in the Monitor Configuration.
Viewport 0 0
Modes "1280x1024_60.00" "1024x768_60.00"
A Modeline has the name (which is used in Screen config), pixel clock rate, how many pixels wide, three horizontal sync numbers I don't understand how to calculate, how many pixels tall, three vertical sync numbers I don't understand how to calculate, and the optional but required for me horizontal and vertical polarity. The Dell 1703p operates at a higher pixel clock than a generic monitor, and so that effects those horizontal and vertical numbers that I don't understand the math behind, and throws off generic calculators. Also, the Dell uses a matched pair of Horizontal and Vertical polarities, alternating between what I call resolution brackets. what I mean by this is that if you look at a list of Display modes, ordered by resolution, the polarities going down the list will be ++ ++ ++ then -- --, then ++ ++ and so on... most generic's seem to default to mixed polarities like -H/+V ...Basically the "best guess" numbers that the OS would come up with for "Unknown" monitor vary from the Dell 1703FP so best case things looked fuzzy, wavy, etc. worst case was Black screen, "Monitor cannot display this mode". Putting all the above in fixed it for me.
Also, you may (will) run into permissions issues when you try to copy config files you've written into /etc/X11/xorg.conf.d so you can either do it from terminal with sudo cp or from the GUI by running gksudo nautilus or such.