slightlystoopid |
02-16-2010 07:54 PM |
xorg and framebuffer issues with high resolutions
So I got a nice shiny new 23" 1080p Asus VH236H monitor. Unfortunately, it's not turning out to be as great I was hoping, possibly due to the Geforce FX5200 bios, but I'm not sure. I think these issues are probably related, so I put them in the same thread.
First, the console: vesafb, uvesafb, and nvidiafb all fail at delivering a useable framebuffer greater than 1280x1024. vesafb flat out denies anything beyond 795 (0x31B). uvesafb and nvidiafb will fall back on 1280x1024@75Hz, which causes text to flash all over the screen and requires a reboot to remedy. It doesn't matter if I feed fbset the exact timings X uses, they'll still fallback on 1280x1024. hwinfo has this to say about hardware support:
Code:
02: None 00.0: 11001 VESA Framebuffer
[Created at bios.459]
Unique ID: rdCR.2BE3cN5U3aB
Hardware Class: framebuffer
Model: "NVIDIA NV34 Board - p162-1n"
Vendor: "NVIDIA Corporation"
Device: "NV34 Board - p162-1n"
SubVendor: "NVIDIA"
SubDevice:
Revision: "Chip Rev"
Memory Size: 128 MB
Memory Range: 0xe8000000-0xefffffff (rw)
Mode 0x0300: 640x400 (+640), 8 bits
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0303: 800x600 (+800), 8 bits
Mode 0x0305: 1024x768 (+1024), 8 bits
Mode 0x0307: 1280x1024 (+1280), 8 bits
Mode 0x030e: 320x200 (+640), 16 bits
Mode 0x030f: 320x200 (+1280), 24 bits
Mode 0x0311: 640x480 (+1280), 16 bits
Mode 0x0312: 640x480 (+2560), 24 bits
Mode 0x0314: 800x600 (+1600), 16 bits
Mode 0x0315: 800x600 (+3200), 24 bits
Mode 0x0317: 1024x768 (+2048), 16 bits
Mode 0x0318: 1024x768 (+4096), 24 bits
Mode 0x031a: 1280x1024 (+2560), 16 bits
Mode 0x031b: 1280x1024 (+5120), 24 bits
Mode 0x0330: 320x200 (+320), 8 bits
Mode 0x0331: 320x400 (+320), 8 bits
Mode 0x0332: 320x400 (+640), 16 bits
Mode 0x0333: 320x400 (+1280), 24 bits
Mode 0x0334: 320x240 (+320), 8 bits
Mode 0x0335: 320x240 (+640), 16 bits
Mode 0x0336: 320x240 (+1280), 24 bits
Mode 0x033d: 640x400 (+1280), 16 bits
Mode 0x033e: 640x400 (+2560), 24 bits
Mode 0x0347: 1400x1050 (+1400), 8 bits
Mode 0x0348: 1400x1050 (+2800), 16 bits
Config Status: cfg=new, avail=yes, need=no, active=unknown
03: None 00.1: 10002 LCD Monitor
[Created at monitor.95]
Unique ID: jyhG.zs6hrn8sbx2
Hardware Class: monitor
Model: "ASUS VH236H"
Vendor: ACI
Device: eisa 0x23f2 "ASUS VH236H"
Serial ID: "9CLMTF216408"
Resolution: 720x400@70Hz
Resolution: 640x480@60Hz
Resolution: 640x480@67Hz
Resolution: 640x480@72Hz
Resolution: 640x480@75Hz
Resolution: 800x600@56Hz
Resolution: 800x600@60Hz
Resolution: 800x600@72Hz
Resolution: 800x600@75Hz
Resolution: 832x624@75Hz
Resolution: 1024x768@60Hz
Resolution: 1024x768@70Hz
Resolution: 1024x768@75Hz
Resolution: 1280x1024@75Hz
Resolution: 1152x864@75Hz
Resolution: 1280x1024@60Hz
Resolution: 1920x1080@60Hz
Size: 521x293 mm
Detailed Timings #0:
Resolution: 1920x1080
Horizontal: 1920 2008 2052 2200 (+88 +132 +280) +hsync
Vertical: 1080 1084 1089 1125 (+4 +9 +45) +vsync
Frequencies: 148.50 MHz, 67.50 kHz, 60.00 Hz
Driver Info #0:
Max. Resolution: 1920x1080
Vert. Sync Range: 55-75 Hz
Hor. Sync Range: 30-85 kHz
Bandwidth: 148 MHz
Config Status: cfg=new, avail=yes, need=no, active=unknown
Supposedly, the framebuffer should be able to support 1400x1050, but I can't get it, possibly because it's not listed as monitor supported. Does this mean that I'm stuck with a 1280x1024 max res?
This brings me to my next problem... Xorg. On my old monitor, I liked the nvidiafb-fbdev driver combination because I could quickly switch between X and console, and so long as I had the proprietary nvidia gl libraries installed, X ran smoothly. (never got the nv driver fbdev option to function with stability) Obviously, this is impossible now. I can't get nv to run at a resolution greater than 1280x1024. With the proprietary drivers, max resolution is 1440x900; however, if I disable max pixel clock checking, support for 1680x1050 and 1920x1080 is added.
Now, this is where things get serious. If I switch back to console after starting X with NoMaxPClkCheck, I get an out of range message from my monitor. I can freely restart/switch back to X and everything is fine there, but the console is unuseable until reboot.
relevant Xorg.0.log
Code:
(**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
(==) NVIDIA(0): RGB weight 888
(==) NVIDIA(0): Default visual is TrueColor
(==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
(**) NVIDIA(0): Option "NoLogo" "True"
(**) NVIDIA(0): Option "NvAGP" "1"
(**) NVIDIA(0): Option "ConnectedMonitor" "DFP-0"
(**) NVIDIA(0): Option "RenderAccel" "True"
(**) NVIDIA(0): Option "AllowGLXWithComposite" "True"
(**) NVIDIA(0): Option "Coolbits" "1"
(**) NVIDIA(0): Option "UseEdidDpi" "False"
(**) NVIDIA(0): Option "AddARGBGLXVisuals" "True"
(**) NVIDIA(0): Option "ModeValidation" "DFP-0: NoMaxPClkCheck"
(**) NVIDIA(0): Enabling RENDER acceleration
(**) NVIDIA(0): ConnectedMonitor string: "DFP-0"
(**) NVIDIA(0): Use of NVIDIA internal AGP requested
(II) NVIDIA(0): Support for GLX with the Damage and Composite X extensions is
(II) NVIDIA(0): enabled.
(II) NVIDIA(0): NVIDIA GPU GeForce FX 5200 (NV34) at PCI:1:0:0 (GPU-0)
(--) NVIDIA(0): Memory: 131072 kBytes
(--) NVIDIA(0): VideoBIOS: 04.34.20.87.00
(--) NVIDIA(0): Interlaced video modes are supported on this GPU
(--) NVIDIA(0): Connected display device(s) on GeForce FX 5200 at PCI:1:0:0:
(--) NVIDIA(0): ACI ASUS VH236H (DFP-0)
(--) NVIDIA(0): ACI ASUS VH236H (DFP-0): 135.0 MHz maximum pixel clock
(--) NVIDIA(0): ACI ASUS VH236H (DFP-0): Internal Single Link TMDS
(II) NVIDIA(0): Mode Validation Overrides for ACI ASUS VH236H (DFP-0):
(II) NVIDIA(0): NoMaxPClkCheck
(II) NVIDIA(0): Assigned Display Device: DFP-0
(II) NVIDIA(0): Validated modes:
(II) NVIDIA(0): "1920x1080"
(II) NVIDIA(0): Virtual screen size determined to be 1920 x 1080
(**) NVIDIA(0): DPI set to (95, 95); computed from "DisplaySize" Monitor
(**) NVIDIA(0): section option
(**) NVIDIA(0): Enabling 32-bit ARGB GLX visuals.
(--) Depth 24 pixmap format is 32 bpp
(II) NVIDIA(0): Initialized GPU GART.
(II) NVIDIA(0): Setting mode "1920x1080"
(II) Loading extension NV-GLX
(II) NVIDIA(0): NVIDIA 3D Acceleration Architecture Initialized
(II) NVIDIA(0): Using the NVIDIA 2D acceleration architecture
(==) NVIDIA(0): Backing store disabled
(==) NVIDIA(0): Silken mouse enabled
(**) NVIDIA(0): DPMS enabled
(II) Loading extension NV-CONTROL
(==) RandR enabled
Xorg.conf
Code:
Section "Device"
Identifier "Card0"
VendorName "nVidia Corporation"
BoardName "GeForce FX 5200 [NV34] (rev a1)"
BusID "PCI:1:0:0"
Driver "nvidia"
Option "NvAGP" "1"
Option "Coolbits" "1"
Option "RenderAccel" "True"
Option "NoLogo" "True"
Option "AllowGLXWithComposite" "True"
Option "AddARGBGLXVisuals" "True"
# Option "UseEdid" "False"
Option "UseEdidDpi" "False"
# Option "DPI" "96 x 96"
Option "ConnectedMonitor" "DFP-0"
# Option "ExactModeTimingsDVI" "True"
Option "ModeValidation" "DFP-0: NoMaxPClkCheck"
# Option "ModeValidation" "AllowNon60HzDFPModes,
# NoMaxPClkCheck,
# NoEdidMaxPClkCheck,
# NoMaxSizeCheck,
# NoHorizSyncCheck,
# NoVertRefreshCheck,
# NoDFPNativeResolutionCheck,
# NoVirtualSizeCheck,
# NoVesaModes,
# NoEdidModes,
# NoXServerModes,
# NoTotalSizeCheck"
EndSection
Section "Device"
Identifier "Card1"
VendorName "nVidia Corporation"
BoardName "GeForce FX 5200 [NV34] (rev a1)"
BusID "PCI:1:0:0"
Driver "nv"
Option "NoDDC"
# Option "UseFBDev" "true"
EndSection
Section "Device"
Identifier "Card2"
VendorName "nVidia Corporation"
BoardName "GeForce FX 5200 [NV34] (rev a1)"
BusID "PCI:1:0:0"
Driver "fbdev"
Option "NoDDC"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Asus"
ModelName "VH236H"
DisplaySize 510.72 287.28
# HorizSync 30.0 - 83.0
# VertRefresh 50.0 - 75.0
# ModeLine "1920x1080" 148.5 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
Option "DPMS" "true"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Asus"
ModelName "VH236H"
DisplaySize 510.72 287.28
HorizSync 30.0 - 83.0
VertRefresh 50.0 - 75.0
ModeLine "1920x1080" 148.5 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
Option "DPMS" "true"
EndSection
Section "Monitor"
Identifier "Monitor2"
VendorName "LG"
ModelName "566LM"
DisplaySize 305 229
HorizSync 30.0 - 63.0
VertRefresh 50.0 - 75.0
ModeLine "1024x768" 78.75 1024 1056 1152 1312 768 769 772 800 +hsync +vsync
Option "DPMS" "true"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080"
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Card1"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080"
EndSubSection
EndSection
Section "Screen"
Identifier "Screen2"
Device "Card2"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "DefaultLayout"
Screen 0 "Screen0"
EndSection
Section "ServerLayout"
Identifier "nvLayout"
Screen 0 "Screen1"
EndSection
Section "ServerLayout"
Identifier "fbLayout"
Screen 0 "Screen2"
EndSection
|