LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   X monitor problems on 32-bit Slackware (https://www.linuxquestions.org/questions/slackware-14/x-monitor-problems-on-32-bit-slackware-883273/)

dchmelik 05-28-2011 10:31 PM

X monitor problems on 32-bit Slackware
 
I use CRTs, which I prefer for various reasons that I will not get into right now. My CRTs are from when you had to tell the computer their horizontal & vertical refresh rates; the monitors would not tell that to the computer. However, X seems to have somewhat lost support for these and even lost support for X configuration files.

The 64-bit Slackware 13.37 works fine with one CRT I have. However, the 32-bit Slackware 13.37 does not work well with another CRT. I used to use a very similar xorg.conf for each computer. When I run X/KDE on my 32-bit system, it seems like there is something wrong with the refresh rates or the video driver. When I try to run a program, it has some display problems, like it is going too fast. When I choose a drop-down box, like to change my resolution and refresh rates, the box just flickers and does not usually completely display, and then I cannot select anything. Even if I press down, it usually does not select something else.

When I ran 'X -configure,' X generated a non-functional xorg.conf. It is no longer clear what video drivers you can select, because there are no more interactive xorg.conf generators. I thought the video driver might be the problem. My 32-bit system has Nvidia VGA. When I set the X video driver to 'nv' in xorg.conf, X did not start, and said something like 'the kernel has an Nvidia driver, and you must remove that before you can run X with nv.' I am only using the standard Slackware kernel and have lilo set to boot the standard, safest, video mode.

I tried the vesa X driver, but it did not load. I tried vga, but apparently that might not be a driver. What must be done to solve this? Buying new monitors is not acceptable. Various professionals (such as in medical fields, but also just certain graphics) that need the highest quality graphics prefer to use CRTs, which is what I prefer. I am not going to buy one that reports its data to the OS just because people might be getting lazy about letting you configure your own hardware: I thought this is Slackware, not some proprietary junk OS that configures for you.

psionl0 05-28-2011 11:58 PM

Quote:

Originally Posted by dchmelik (Post 4369825)
My 32-bit system has Nvidia VGA.

I downloaded and installed nvidia-driver and nvidia-kernel from slackbuilds and once I ran "nvidia-switch --nvidia I never looked back. Of course this was in 13.1 and I can't verify that this will work on 13.37 but the same packages are there for this version.

I'm sure this is all about what driver you have and not whether you are connected to a CRT or plasma screen.

allend 05-29-2011 12:13 AM

For nVidia hardware in Slackware 13.37 you should use either the open source nouveau driver which is included by default, or else the proprietary nVidia driver that you download and build.

The autoconfiguration routines in X expect to be able to get information about the monitor by querying the EDID. Many CRT monitors do not provide this information. I suspect that this is you problem.
You can still add information about you monitor so that X can use it. This can be done by adding a Monitor section to your xorg.conf, something like this:
Code:

Section "Monitor"

    Identifier    "Monitor0"
    VendorName    "COMPAQ"
    ModelName      "S700"
    HorizSync      30.0 - 70.0
    VertRefresh    50.0 - 160.0
    Option        "DPMS"
EndSection

You may also need a Screen section in you xorg.conf to link the Monitor to the Device section (where your video driver is specified). The Screen section can contain details of your preferred monitor resolution and depth. e.g.
Code:

Section "Screen"

    Identifier    "Screen0"
    Device        "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection    "Display"
        Depth      24
    EndSubSection
EndSection


dchmelik 05-29-2011 01:14 AM

Quote:

Originally Posted by allend (Post 4369860)
For nVidia hardware in Slackware 13.37 you should use either the open source nouveau driver which is included by default, or else the proprietary nVidia driver that you download and build.

So, for X, the driver name has changed from nv to nouveau, or are you talking about what is already in the default kernel?

Quote:

The autoconfiguration routines in X expect to be able to get information about the monitor by querying the EDID. Many CRT monitors do not provide this information. I suspect that this is you problem.
You can still add information about you monitor so that X can use it. This can be done by adding a Monitor section to your xorg.conf, [...]
I thought it was clear I am used to doing that and the following.

Quote:

You may also need a Screen section in you xorg.conf to link the Monitor to the Device section (where your video driver is specified). The Screen section can contain details of your preferred monitor resolution and depth. e.g.
Code:

Section "Screen"

    Identifier    "Screen0"
    Device        "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection    "Display"
        Depth      24
    EndSubSection
EndSection


I have sections save from old xorg.confs... the auto-generated xorg.confs and this example do not show how to enter the resolutions, but I know how. The problem does not have to do with either of these sections unless something has changed, though it may be in some other part of xorg.conf. As I said, X even has a problems when it runs with no xorg.conf, but it should run with a minimum configuration rather than being unusable. Maybe something else has changed. It really seems like some driver issue (I do not know what driver X runs automatically), but if it runs unusably with no xorg.conf, something in a xorg.conf should be able to fix it. I still do not know what the problem could be, but thanks for the reply.

dchmelik 05-29-2011 01:16 AM

Quote:

Originally Posted by psionl0 (Post 4369857)
I downloaded and installed nvidia-driver and nvidia-kernel from slackbuilds and once I ran "nvidia-switch --nvidia I never looked back. Of course this was in 13.1 and I can't verify that this will work on 13.37 but the same packages are there for this version.

I'm sure this is all about what driver you have and not whether you are connected to a CRT or plasma screen.

Well, 13.1 worked fine for me. With no xorg.conf, X runs unusably, so it seems like something in xorg.conf should be able to fix it, but I think drivers are also involved. I do not see how downloading another will help, but I will try.

tommcd 05-29-2011 03:36 AM

Quote:

Originally Posted by dchmelik (Post 4369888)
Well, 13.2 worked fine for me ... but I think drivers are also involved. I do not see how downloading another will help, but I will try.

You mean Slackware 13.37? There is no 13.2.
Try installing the proprietary nvidia driver for your card. Also, blacklist nouveau in /etc/modprobe.d/blacklist.conf.

Installing and configuring the nvidia driver will give you a working xorg.conf that should allow you to tweak the resolutions according to your needs.

EDIT: As an altrnative to instaling the nvidia driver, you could try booting Slackware with nomodeset to disable nouveau.

Totoro-kun 05-29-2011 04:20 AM

Good day, you have a good point for using CRT, very little LCD's can beat a good CRT in terms of video quality. But every LCD can bead CRT in terms of practicality.

But we are not here to to discuss CRT vs LCD, are we? As you have told:
Quote:

My CRTs are from when you had to tell the computer their horizontal & vertical refresh rates
That means you just have to tell Xorg those refresh rates by editing Xorg.conf. Since you are using Nvidia card, the way how do you configure these settings varies a little. In aether case, i suggest to read CHANGES_AND_HINTS.TXT first. There is a section for Xorg and it describes how configuration is done now.

If you use open source noveau driver, then you should not need whole xorg.conf file. Driver should be configured automaticaly, but since your monitors cannot tell their specs, you will have to do that section manually. For this you need to create a file in /etc/X11/xorg.conf.d/ it has to end with .conf and the name can be any name you choose, for e. g.: monitor.conf In this file you should put only one section for your "Screen". I do not know how exact section for crt monitors should look like, as it has been way too long time since i had CRT monitor, but you still have old xorg.config files, you should be able to take that section from there.

If you are using proprietary nvidia driver, then you should have xorg.conf, if you do, then you need to configure "Screen" section properly.
If for some reason you do not have xorg.conf, you can generate one by running Xorg --configure as root. Then xorg.conf.new will be generated and placed in your /root directory. Edit that file to your needs, pay special attention to your "Screen" section.

I am sorry for not being able to give more detailed info, but I hope this is helpfull, good luck.

EdGr 05-29-2011 04:35 AM

I had the same problem on my oldest computer with a Nvidia graphics card and CRT monitor that doesn't support EDID.

Slackware 13.37 uses the nouveau driver which wouldn't set the resolution above 1024x768.

As other posters have suggested, the solution is to blacklist the nouveau driver in /etc/modprobe.d/blacklist.conf, create a xorg.conf that specifies the scanning rates and resolutions, and select the "nv" driver. With these changes, my CRT's 1400x1050 resolution returned.

The nv driver still works on Slackware 13.37.
Ed

adamk75 05-29-2011 04:36 AM

If you want to continue using nouveau, you can always use cvt or gtf to crerate a modeline and add it to the monitor section of you xorg.conf file as described in any number of the xrandr wikis on-line.

allend 05-29-2011 06:40 AM

Quote:

So, for X, the driver name has changed from nv to nouveau, or are you talking about what is already in the default kernel?
Actually, the nv driver is an open source driver developed by nVidia. The nouveau driver is an open source driver developed independent of NVidia. The source is now in the kernel tree and the nouveau driver is available in Slackware 13.37.
Quote:

I thought it was clear I am used to doing that and the following.
I apologise for teaching my grandmother to suck eggs.
What I was trying to say was that you only need sections in xorg.conf for those sections where the X autodetection is failing.
Quote:

Try installing the proprietary nvidia driver for your card. Also, blacklist nouveau in /etc/modprobe.d/blacklist.conf.
+1
The nVidia installer now blacklists the nouveau kernel module as part of the install process.
Let the nVidia installer create an xorg.conf, then edit that to add the sections to suit your monitor.

vivanguarda 05-29-2011 11:19 AM

dchmelik

I think you should use a easy way:

1) Install nvidia drivers and
#cd /etc/X11
#vi xorg.conf
Find yours old xorg.conf and cp or mv it.
mv XXXXX /etc/X11/xorg.conf


2) During nvidia install there is a step to let nouveau. Accept it! I case of a problem...
# slackpkg blacklist nouveau


3) It is important a CRT Frequencies
Section "Monitor"
Vert XXX - YYY
Horizontal XXX - YYY

Section Device
Driver nvidia

4)Reboot

dchmelik 05-29-2011 07:15 PM

Earlier I meant in Slackware 13.1, and actually all versions for about 10 years, X normally worked fine (I changed that post above.)

I will try the methods suggested to configure noveau, or I will try the nv driver. I do not know when I will get to it, because now my dhcp connection is not working (I re-configured something wrong or there is a driver problem.) I am confident that what was explained will solve the X problem, so I have no more questions for now.

dchmelik 05-29-2011 09:53 PM

Quote:

Originally Posted by Totoro-kun (Post 4369954)
[...]
If you use open source noveau driver, then you should not need whole xorg.conf file. Driver should be configured automaticaly, but since your monitors cannot tell their specs, you will have to do that section manually. For this you need to create a file in /etc/X11/xorg.conf.d/ it has to end with .conf and the name can be any name you choose, for e. g.: monitor.conf In this file you should put only one section for your "Screen". I do not know how exact section for crt monitors should look like, as it has been way too long time since i had CRT monitor, but you still have old xorg.config files, you should be able to take that section from there.[...]

Ok, actually I have a question about this; I want to try this configuration for noveau. As explained above, a monitor section sets the refresh rates, and a screen section sets the resolutions. However, you only mentioned setting a screen section. It seems the monitor section might be a little more important. Do I put both these sections in one or different files, or really only do a screen section?

Totoro-kun 05-30-2011 12:51 AM

I think you can make it two files, one for screen section, the other for display if you want to. I only mentioned "Screen" as "Display" usually is subsection of "Screen" like this example:
Code:

Section "Screen"
    Identifier  "Screen 1"
    Device      "** Intel i810 (generic)              [i810]"
    Monitor    "My Monitor"
    DefaultDepth 24

    Subsection "Display"
        Depth      8
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth      16
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth      24
        Modes      "1280x768"
        ViewPort    0 0
    EndSubsection
EndSection


dchmelik 06-13-2011 07:26 PM

I attempted both of the methods suggested. I moved my xorg.conf monitor and screen sections into xorg.conf.d files, which did nothing. I tried building the other nvidia drivers with sbopkg that are on slackbuilds.org, but the driver and kernel packages had errors. I suppose I will report these.


All times are GMT -5. The time now is 10:30 AM.