PDA

View Full Version : [SOLVED] 11.04 won't start X without a monitor attached



unruhschuh
September 28th, 2011, 09:25 AM
Hello,

I installed Ubuntu 11.04 on my new HTPC to run XBMC. Everything works fine except, that X won't start during boot with the monitor switched off. When I switch on the TV the screen stays black. If I ssh into the machine and do
sudo service gdm stop
sudo service gdm start
X will start and everything is back to normal. X starts perfectly fine if the TV is on during boot.

The reason why I want to be able to start the system with X but but without the TV being on, is that I want to use it as a music player, remote controlled by my android phone, but as soon as I switch on the TV I want to see the XBMC menu and be able to play videos.

Hardware:
Zotac ZBox ID 41 with Nvidia ION2

/var/log/Xorg.0.log:

[ 26.192] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[ 26.192] (==) NVIDIA(0): RGB weight 888
[ 26.192] (==) NVIDIA(0): Default visual is TrueColor
[ 26.192] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 26.192] (**) NVIDIA(0): Option "DynamicTwinView" "false"
[ 26.780] (II) NVIDIA(0): NVIDIA GPU ION (GT218) at PCI:3:0:0 (GPU-0)
[ 26.780] (--) NVIDIA(0): Memory: 524288 kBytes
[ 26.780] (--) NVIDIA(0): VideoBIOS: 70.18.45.00.00
[ 26.780] (II) NVIDIA(0): Detected PCI Express Link width: 1X
[ 26.780] (--) NVIDIA(0): Interlaced video modes are supported on this GPU
[ 26.780] (--) NVIDIA(0): Connected display device(s) on ION at PCI:3:0:0
[ 26.780] (--) NVIDIA(0): none
[ 26.781] (EE) NVIDIA(0): No display devices found for this X screen.
[ 27.107] (II) UnloadModule: "nvidia"
[ 27.107] (II) Unloading nvidia
[ 27.107] (II) UnloadModule: "wfb"
[ 27.107] (II) Unloading wfb
[ 27.107] (II) UnloadModule: "fb"
[ 27.107] (II) Unloading fb
[ 27.108] (EE) Screen(s) found, but none have a usable configuration.
[ 27.108]
Fatal server error:
[ 27.108] no screens found
[ 27.108]
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 27.108] Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 27.108]
[ 27.319] ddxSigGiveUp: Closing log


xorg.conf:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 270.41.06 (buildmeister@swio-display-x86-rhel47-08.nvidia.com) Mon Apr 18 15:14:00 PDT 2011


Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"

# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "DynamicTwinView" "false"
SubSection "Display"
Depth 24
Modes "1920x1080_60_0" "1920x1080_24_0"
EndSubSection
EndSection

Section "Extensions"
Option "Composite" "Disable"
EndSection


I read this Thread (http://ubuntuforums.org/showthread.php?t=1743535) but it only covers the problem, that X won't start at all. I'd appreciate your help

Tom

unruhschuh
September 29th, 2011, 08:24 PM
*bump*

There must be a solution to this problem.

Subliminal Aura
September 30th, 2011, 01:51 AM
I'm also running XBMC but on an IONITX-P-E running 10.10 as I don't trust 11.04 much and everything is perfect.

You're running a newer driver to me also, here's my xorg.conf - only difference I can spot is the screen declaration - Yep ... get rid of twinview ... Use my conf it's generic enough to work


root@media:/etc/X11# more xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 260.19.06 (buildmeister@builder101) Mon Sep 13 07:0
6:38 PDT 2010

Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
# Option "BlankTime" "1"
# Option "StandbyTime" "1"
# Option "SuspendTime" "1"
# Option "OffTime" "1"
EndSection

Section "Files"
EndSection

Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Option "DPMS" "TRUE"
EndSection

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

unruhschuh
September 30th, 2011, 02:12 AM
I found part of the solution at http://linkblog.org/2010/03/x-server-starten-ohne-monitor/

So adding this line

Section Device
...
Option "ConnectedMonitor" "DFP-1"
...
EndSection
causes X to start even without a monitor. The problem now is that when I turn on the TV the resolution will be 640x480. If I do "sudo pkill X" via ssh X restarts with 1920x1080 as it should.

How can I force X to start with 1920x1080 even if the TV is turned off? I tried to do this with ModeLines but it didn't work. I got the ModLine through "xvidtune -show".

Here's my xorg.conf:


# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 270.41.06 (buildmeister@swio-display-x86-rhel47-08.nvidia.com) Mon Apr 18 15:14:00 PDT 2011


Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"

# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
ModeLine "1920x1080" 148.35 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
Option "ConnectedMonitor" "DFP-1"
Option "IgnoreEDID" "TRUE"
Option "UseEDID" "FALSE"
Option "ModeValidation" "NoEdidModes"
VendorName "NVIDIA Corporation"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "DynamicTwinView" "false"
SubSection "Display"
Depth 24
# Modes "1920x1080_60_0" "1920x1080_24_0"
Modes "1920x1080"
EndSubSection
EndSection

Section "Extensions"
Option "Composite" "Disable"
EndSection



Here's the relevant part of Xorg.0.log

[ 13.387] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[ 13.387] (==) NVIDIA(0): RGB weight 888
[ 13.387] (==) NVIDIA(0): Default visual is TrueColor
[ 13.387] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 13.387] (**) NVIDIA(0): Option "UseEDID" "FALSE"
[ 13.388] (**) NVIDIA(0): Option "ConnectedMonitor" "DFP-1"
[ 13.388] (**) NVIDIA(0): Option "ModeValidation" "NoEdidModes"
[ 13.388] (**) NVIDIA(0): Option "DynamicTwinView" "false"
[ 13.388] (**) NVIDIA(0): ConnectedMonitor string: "DFP-1"
[ 13.388] (**) NVIDIA(0): Ignoring EDIDs
[ 14.331] (II) NVIDIA(GPU-0): Not probing EDID on DFP-1.
[ 14.334] (II) NVIDIA(0): NVIDIA GPU ION (GT218) at PCI:3:0:0 (GPU-0)
[ 14.334] (--) NVIDIA(0): Memory: 524288 kBytes
[ 14.335] (--) NVIDIA(0): VideoBIOS: 70.18.45.00.00
[ 14.335] (II) NVIDIA(0): Detected PCI Express Link width: 1X
[ 14.335] (--) NVIDIA(0): Interlaced video modes are supported on this GPU
[ 14.335] (--) NVIDIA(0): Connected display device(s) on ION at PCI:3:0:0
[ 14.335] (--) NVIDIA(0): DFP-1
[ 14.335] (--) NVIDIA(0): DFP-1: 165.0 MHz maximum pixel clock
[ 14.335] (--) NVIDIA(0): DFP-1: Internal Single Link TMDS
[ 14.349] (II) NVIDIA(0): Mode Validation Overrides for DFP-1:
[ 14.349] (II) NVIDIA(0): NoEdidModes
[ 14.376] (II) NVIDIA(0): Assigned Display Device: DFP-1
[ 14.376] (WW) NVIDIA(0): No valid modes for "1920x1080"; removing.
[ 14.377] (WW) NVIDIA(0):
[ 14.377] (WW) NVIDIA(0): Unable to validate any modes; falling back to the default mode
[ 14.377] (WW) NVIDIA(0): "nvidia-auto-select".
[ 14.377] (WW) NVIDIA(0):
[ 14.377] (II) NVIDIA(0): Validated modes:
[ 14.377] (II) NVIDIA(0): "nvidia-auto-select"
[ 14.377] (II) NVIDIA(0): Virtual screen size determined to be 640 x 480
[ 14.411] (WW) NVIDIA(0): Unable to get display device DFP-1's EDID; cannot compute DPI
[ 14.411] (WW) NVIDIA(0): from DFP-1's EDID.
[ 14.411] (==) NVIDIA(0): DPI set to (75, 75); computed from built-in default
[ 14.411] (--) Depth 24 pixmap format is 32 bpp
[ 14.412] (II) NVIDIA: Using 768.00 MB of virtual memory for indirect memory access.
[ 14.421] (II) NVIDIA(0): Setting mode "nvidia-auto-select"
[ 14.478] (II) NVIDIA(0): Built-in logo is bigger than the screen.
[ 14.478] (II) Loading extension NV-GLX
[ 14.569] (==) NVIDIA(0): Disabling shared memory pixmaps
[ 14.569] (==) NVIDIA(0): Backing store disabled
[ 14.569] (==) NVIDIA(0): Silken mouse enabled
[ 14.571] (**) NVIDIA(0): DPMS enabled
[ 14.571] (II) Loading extension NV-CONTROL
[ 14.572] (II) Loading extension XINERAMA
[ 14.572] (WW) NVIDIA(0): Option "IgnoreEDID" is not used

Subliminal Aura
September 30th, 2011, 02:24 AM
Do you ever get an EDID from your TV ?

And btw instead of complicating things with virtual sessions - try the simple things first - like for example a generic simple xorg.conf like the one I posted :p

unruhschuh
September 30th, 2011, 02:33 AM
Thanks Subliminal Aura but your xorg.conf doesn't work for me, same problem.

I guess I'll try a clean installation with 10.10 or maybe even 10.04 for LTS or mayb even better yet XBMC live. Btw. did you try to boot your machine without a monitor? Does it work?

Subliminal Aura
September 30th, 2011, 02:37 AM
Thanks Subliminal Aura but your xorg.conf doesn't work for me, same problem.

I guess I'll try a clean installation with 10.10 or maybe even 10.04 for LTS or mayb even better yet XBMC live. Btw. did you try to boot your machine without a monitor? Does it work?

Yep works perfectly fine... add openelec to your list :)

unruhschuh
September 30th, 2011, 02:37 AM
Do you ever get an EDID from your TV ?


Not really:

$ sudo get-edid | parse-edid
parse-edid: parse-edid version 2.0.0
get-edid: get-edid version 2.0.0

Performing real mode VBE call
Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
Function supported
Call successful

VBE version 300
VBE string at 0x11100 "NVIDIA"

VBE/DDC service about to be called
Report DDC capabilities

Performing real mode VBE call
Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0
Function supported
Call successful

Monitor and video card combination does not support DDC1 transfers
Monitor and video card combination does not support DDC2 transfers
0 seconds per 128 byte EDID block transfer
Screen is not blanked during DDC transfer

Reading next EDID block

VBE/DDC service about to be called
Read EDID

Performing real mode VBE call
Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
Function supported
Call failed

The EDID data should not be trusted as the VBE call failed
Error: output block unchanged
parse-edid: IO error reading EDID




And btw instead of complicating things with virtual sessions - try the simple things first - like for example a generic simple xorg.conf like the one I posted :p

I tried but it didn't work :(

unruhschuh
September 30th, 2011, 02:39 AM
Yep works perfectly fine... add openelec to your list :)

I tried openelec, but my remote (Gyration Media "something") and WiFi didn't work.

Edit: I guess I don't trust 11.04 anymore either ;)

Subliminal Aura
September 30th, 2011, 02:42 AM
I still think you have an EDID issue

Have a read of this

http://forums.nvidia.com/index.php?showtopic=73027

Buy a new Telly :guitar:

Or maybe try different cables - dvi/vga instead of hdmi etc

MAFoElffen
September 30th, 2011, 03:11 AM
Hello,

I installed Ubuntu 11.04 on my new HTPC to run XBMC. Everything works fine except, that X won't start during boot with the monitor switched off. When I switch on the TV the screen stays black. If I ssh into the machine and do
sudo service gdm stop
sudo service gdm start
X will start and everything is back to normal. X starts perfectly fine if the TV is on during boot.

The reason why I want to be able to start the system with X but but without the TV being on, is that I want to use it as a music player, remote controlled by my android phone, but as soon as I switch on the TV I want to see the XBMC menu and be able to play videos.

Hardware:
Zotac ZBox ID 41 with Nvidia ION2

Yes, during boot of X, after it inits the card, then it looks for connected devices on the card's ports. If it doesn't see any devices on a port, it disables the port.

I know 2 ways to get around it this. One way is to force output to a port such as this:

From NVidia Readme Appendix G

Add / apply to the Device section of your X Config file:

ConnectedMonitor

Example:


Option "ConnectedMonitor" "<list of connected display devices>"
With this option you can override what the NVIDIA kernel module detects is connected to your video card. This may be useful, for example, if any of your display devices do not support detection using Display Data Channel (DDC) protocols. Valid values are a comma-separated list of display device names; for example:

"CRT-0, CRT-1"
"CRT"
"CRT-0"
"CRT-1, DFP-0" # <etc...>

WARNING: this option overrides what display devices are detected by the NVIDIA kernel module, and is very seldom needed. You really only need this if a display device is not detected, either because it does not provide DDC information, or because it is on the other side of a KVM (Keyboard-Video-Mouse) switch. In most other cases, it is best not to specify this option.

Just as in all X config entries, spaces are ignored and all entries are case insensitive.
Another way is to say a monitor is connected to a port {just like above, but then) and then give a custom edid file to look at from your hard disk (because the montior is turned off) to find the data it would otherwise see if the montior was turned on...

## Appply / add to the Device section of xorg,conf.
Option "ConnectedMonitor" "CRT-0"
Option "CustomEDID" "DFP-0:/etc/X11/crt0.edid,bin"
Of course for that one you would have to generate an EDID binary file, like from nvidia-settings.

To acquire the EDID, start nvidia-settings. It will show some information in tree format, ignore the rest of the settings for now and select the GPU (the corresponding entry should be titled "GPU-0" or similar), click the "CRT" section (again, "CRT-0" or similar), click on the "Acquire Edid" Button and store it somewhere, for example, /etc/X11/crt0.edid.bin

unruhschuh
September 30th, 2011, 10:39 AM
@MAFoElffen
I works!

I just added these two lines to the Device section of xorg.conf:


Option "ConnectedMonitor" "DFP-1"
Option "CustomEDID" "DFP-1:/etc/X11/toshiba.edid"


The option ConnectedMonitor alone only forces X to look at the specified Port, but if there's nothing connected it can't aquire the EDID information. So providing the edid file is the solution.

Thanks very much.