Un-Identified Process causes Purple screen or Black Screen on GDM startup.

Bug #781445 reported by Mike Ferreira

This bug report was converted into a question: question #162077: Un-Identified Process causes Purple screen or Black Screen on GDM startup..

82
This bug affects 15 people
Affects Status Importance Assigned to Milestone
nvidia-settings (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: xorg

Refered by: https://answers.launchpad.net/ubuntu/+source/rhythmbox/+question/157114

Reference:
Since implementation of KMS technologies at Ubuntu version 10.04, transitions have occurred where the graphics is first set and how, via:
"Kernel mode-setting (KMS) shifts responsibility for selecting and setting up the graphics mode from X.org to the kernel. When X.org is started, it then detects and uses the mode without any further mode changes. This promises to make booting faster, more graphical, and less flickery. "

From what I can figure out, most of this started with 10.04 when they started implementing KMS technology:
(Simplistic explanation of graphical changes)
- 9.10 graphics modes were dealt with in xorg and the video drivers. Grub2 introduced.
- 10.04 introduces KMS, (kernel mode switching) where graphics modes were set in the kernel and passed to xorg.
- 10.10 has some more changes with this... Trying to find and set the graphics modes and pass it to Xorg.
- Natty and Grub 1.99 have ingrained changes tied to KMS. Grub tries to find and set the graphics using HAL from Xorg, which it then passes to the kernel, which then passes in it to Xorg. That's why we now have the graphics changes happening as soon as the Grub Menu...

Most of the people that I've helped (Ubuntu Support Forum- Installations and Updates) correct their blank screen problems with Natty have been by Bypassing the GFXMODE=auto default setting, a process that starts and uses data returned by HAL. The main fix explicitely sets the GFXMODE=WIDTHxHEIGHTxDEPTH parameters of a mode that "their" graphics hardware supports. This fix bypasses "HAL" and it's query/mode set functions. Other fixes are via setting the scan rate of a monitor, which is also sopposed to be a a function of HAL. (ETC.)

That first fix applies setting the "3" common parameters of GFXMODE. That third parameter is buried in the documentation I did find from GNU and Xorg...

There have been a few other "instances" where there was some other things going on or the "current" kernel "did not support or lost" graphics support for... (The kernel in proposed fixes a lot of those) But the majority was just setting an initial mode.

I have asked around and no-one wants to really point fingers, but this is a problem. No one wants talk about this "new" relationships between grub, the kernel and xorg to supply needed info that may come up with other work-arounds. I've asked in many places at Ubuntu and Conical (where I thought I could get some answers) about any kind of documentations... but all have been ignored.

I know that kernel boot parameters are a part of it. I know that Grub 1.99's GFXMODE and GFXTERM are a part of it. I know thiat HAL and subsequently Xorg is a part of this.

What I put together so far is in this sticky, which is still evolving:
http://ubuntuforums.org/showthread.php?t=1743535

I know that the default of GFXMODE=auto is causing a lot of blank screens as it tries modes until it lands on one that deos not return an error code... even though that instance may be invalid or out-of-range.

On some people I've helped with this, rolling back the kerenl to 2.6.37.x makes their problems disappear. You say rolling the Grub version back to 1.98 works. I'm thinking that "maybe" those 2 items might be doing the same thing by not passing an invalid mode or parameter. Could it?

Along those line, the same fixes "happen" if they install the propose kernel 2.6.38.9 in the proposed repo or the 2.6.39.0 in the mainline. Which those might have fixed ported in for the bugs that have been filed on this(?)

In Natty Norwhahl 11.04, HAL affects Xorg and the xorg.conf:
"# commented out by update-manager, HAL is now used and auto-detects devices"

Querying video hardware usinf xrandr:
"hal.1: read hal dataprocess 2951: arguments to dbus_move_error() were incorrect, assertion "(dest) == NULL || !dbus_error_is_set ((dest))" failed in file dbus-errors.c line 280.
This is normally a bug in some application using the D-Bus library.
libhal.c 3483 : Error unsubscribing to signals, error=The name org.freedesktop.Hal was not provided by any .service files"

HAL problems now seem to affect GNU Grub 1.99, Linux kernel and Xorg. This really affect this new distribution of Ubuntu (11.04) which heavily relies on this and is cauaing many problems. It no only affects the Xsession startup, but also it's shutdown.

Summary:
Normal users should not have to be highly skilled "techies" to manually bypass a broken part of a system to make a released distribution work during an install or distribution upgrade!

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: xorg 1:7.6+4ubuntu3
ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
Uname: Linux 2.6.38-8-generic x86_64
NonfreeKernelModules: nvidia
.proc.driver.nvidia.gpus.0: Error: [Errno 21] Is a directory: '/proc/driver/nvidia/gpus/0'
.proc.driver.nvidia.registry: Binary: ""
.proc.driver.nvidia.version:
 NVRM version: NVIDIA UNIX x86_64 Kernel Module 270.41.06 Mon Apr 18 14:53:56 PDT 2011
 GCC version: gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4)
Architecture: amd64
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
CompositorRunning: compiz
Date: Wed May 11 17:45:59 2011
DistUpgraded: Log time: 2011-04-28 22:09:55.370859
DistroCodename: natty
DistroVariant: ubuntu
DkmsStatus:
 virtualbox-ose, 4.0.4, 2.6.38-8-generic, x86_64: installed
 virtualbox-ose, 4.0.4, 2.6.35-28-generic, x86_64: installed
 nvidia-current, 270.41.06, 2.6.38-8-generic, x86_64: installed
 nvidia-current, 270.41.06, 2.6.35-28-generic, x86_64: installed
GraphicsCard:
 nVidia Corporation NV45 [GeForce 6800 GTO] [10de:00f9] (rev a2) (prog-if 00 [VGA controller])
   Subsystem: XFX Pine Group Inc. GEFORCE 6800 GT PCI-E [1682:2120]
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100429)
JockeyStatus:
 xorg:nvidia_173 - NVIDIA accelerated graphics driver (Proprietary, Disabled, Not in use)
 xorg:nvidia_current - NVIDIA accelerated graphics driver (Proprietary, Enabled, Not in use)
MachineType: System manufacturer System Product Name
ProcEnviron:
 SHELL=/bin/bash
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 LANGUAGE=en_US:en
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.38-8-generic root=UUID=32939def-1f4a-4134-9b56-bed2319a9216 ro quiet splash vt.handoff=7
Renderer: Unknown
SourcePackage: xorg
UpgradeStatus: Upgraded to natty on 2011-04-29 (12 days ago)
dmi.bios.date: 11/20/2008
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 1409
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: A8N32-SLI-Deluxe
dmi.board.vendor: ASUSTeK Computer INC.
dmi.board.version: Rev 1.xx
dmi.chassis.asset.tag: Asset-1234567890
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr1409:bd11/20/2008:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKComputerINC.:rnA8N32-SLI-Deluxe:rvrRev1.xx:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: System Product Name
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer
version.compiz: compiz 1:0.9.4+bzr20110415-0ubuntu2
version.ia32-libs: ia32-libs 20090808ubuntu13
version.libdrm2: libdrm2 2.4.23-1ubuntu6
version.libgl1-mesa-dri: libgl1-mesa-dri 7.10.2-0ubuntu2
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 7.10.2-0ubuntu2
version.nvidia-graphics-drivers: nvidia-graphics-drivers N/A
version.xserver-xorg: xserver-xorg 1:7.6+4ubuntu3
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.0-0ubuntu4
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.14.0-4ubuntu7.1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20110107+b795ca6e-0ubuntu7

Revision history for this message
Mike Ferreira (mafoelffen) wrote :
summary: - Yorg's HAL causes Purple screen or Black Screen on GDM startup.
+ Xorg's HAL causes Purple screen or Black Screen on GDM startup.
bugbot (bugbot)
affects: xorg (Ubuntu) → nvidia-graphics-drivers (Ubuntu)
Revision history for this message
Mike Ferreira (mafoelffen) wrote : Re: Xorg's HAL causes Purple screen or Black Screen on GDM startup.

@Bugbot- This is not an "nVidia" thing. The happens with nVidia, ATI Radeon, i915, Sandy Bridge, etc. This causes an nVidia chip instlled consurrent with a Sandy Bridge no to be quesried and return it's mode data.

Basically, it seems to be causing graphics modes data to be returned in correctly, so that an invalid graphics mode is set.

Administratively--
If you would have read ths bug report thoroughly / carefully and the referred question to launchpad about how to report it... I DON'T PERSONALLY HAVE THIS PROBLEM! Which is why I asked all over about how to report this and where to report this, before I did report this, so that ithis problem would not be marked i"invalid."

Remember, I've been helping people solve this problem. Instead of having one PC worth of data, I have 100's of PC's worth solved and most share a common problem.

Revision history for this message
Mike Ferreira (mafoelffen) wrote :

Got sidetracked,- It causes a few different problems, but shares a common cause: Not being able to find and sett a valid graphics mode.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

uhm, no, Xorg doesn't use HAL for anything anymore, certainly not for setting the graphics mode.

If you need to add GRUB_GFXPAYLOAD=text to /etc/default/grub, then it's a kernel bug.

moving to nvidia-settings, which shouldn't add crap to the xorg.conf.

affects: nvidia-graphics-drivers (Ubuntu) → nvidia-settings (Ubuntu)
Revision history for this message
Mike Ferreira (mafoelffen) wrote :

Adding GRUB_GFXPAYLOAD=text to /etc/default/grub tries to over-ride the variable set gfxpayload=$linux_gfx_mode in 10_linux where GNU says that if set in the/etc/defau;t/grub :

## QUOTE ##
GRUB_GFXPAYLOAD_LINUX'
     Set to `text' to force the Linux kernel to boot in normal text
     mode, `keep' to preserve the graphics mode set using
     `GRUB_GFXMODE', `WIDTHxHEIGHT'[`xDEPTH'] to set a particular
     graphics mode, or a sequence of these separated by commas or
     semicolons to try several modes in sequence.

     Depending on your kernel, your distribution, your graphics card,
     and the phase of the moon, note that using this option may cause
     GNU/Linux to suffer from various display problems, particularly
     during the early part of the boot sequence. If you have problems,
     set this option to `text' and GRUB will tell Linux to boot in
     normal text mode.
## END QUOTE ##

Which later in 10_linux checks $linux_gfx_mode and if set to text tells the kernel not to boot graphics... (translation)

This is a "WORKAROUND" telling the kernel not to use the GRUB_GFXMODE to set GFXTERM and not use KMS. This workaround, in essence does the same as 2 other workarounds of rolling back the kernel to 2.6.37.x or to roll back the version of Grub 1.99 to GNU Grub 1.98, in that they both them would ignor the GRUB_GFXMODE call.s All three of these workarounds circumvent around the present process by crippling it or ignoring it.

A correct and closer Workaround is to set the parameters of GRUB_GFXMODE and pass them using KMS and the designed process... Which is working as a viable workaround out on the Support Forum. Setting the parameters of the video hardware and monitor manually as a workaround and having it work correctly, tells me the process does work, but it ia apparently s not being set up correctly with the right data.

So the real question is: What is the process that VBE is using to query hardware when GRUB_GFXMODE is set auto? HAL? VBEPROBE / VBEINFO? Then we can check what in that process is passing bad parm's or locking up hardware. Whatever this process "IS." this does seem to be where this problem seems to begin.

If you leave this as saying that is "the fix." then you are saying that GNU Grub 1.99, the Linux 2.6.38.x series kernel and Xorg X11R7.6 are all broke by not using the process at all.

Anyone of these are all upstream, but this all affects Ubuntu (us).

Revision history for this message
Mike Ferreira (mafoelffen) wrote :

Like I said. I don't have this problem on this box or my 4 other's. I do have other 2 test boxs that are currently running Oneiric Ocelot 11.10 that I could pull down to reinstall 11.04 and recreate this problem with various hardware (Intel or AMD CPU's; nvidia, ati or intel video chipsets)... Or just look out on the support forum = there's no shortage of data.

As for the comment that HAL is no longer used by the xorg.conf... My xorg.conf says it is. Is it lying to me again? (attached0

Next and included in this issue is the Sandy Bridge chipsets (Dell Alienware) where the y also have NVidia SLI's or ATI Xfire's... The query process is seeing the Sandy Bridge video modes, by not going further the the other chipsets to return their data.

Revision history for this message
Mike Ferreira (mafoelffen) wrote :

I re-read edited):
>>Timo Aaltonen wrote 14 hours ago: #4
>>
>>If you need to add GRUB_GFXPAYLOAD=text to /etc/default/grub, then it's a kernel bug.
>>

As explained above-- If you manually set the variable of GRUB_GFXPAYLOAD or GFXMODE and it works... then it does not seem to be a kernel bug. Manually setting those variables and passing to the kernel verifies that the process at the kernel is working as designed.

What it does point out is that the process is broken before that... Somewhere in GRUB, where it is trying to query the hardware and passing invalid data to set a mode. Manually setting that mode (GFXMODE) bypasses that process.

Revision history for this message
Mike Ferreira (mafoelffen) wrote :

After talking with a lot of people since filing this and seeing that triage was going in the strange directions with this problem... I spent a lot of time doing more homework and research. I spent a lot of time on IRC # grub yesterday talking with a few of their dev's and support's. I followed their advice and... I guess we'll see where this goes:

GNU GRUB - Bugs:
bug #33318: Unknown process in grub 1.99~rc1 is setting and passing invalid graphics data to linux kernel and Xorg.
https://savannah.gnu.org/bugs/index.php?33318

You should now be able to tie this bug (LP Bug #781445) to that Upstream Bug.

summary: - Xorg's HAL causes Purple screen or Black Screen on GDM startup.
+ Un-Identified Process causes Purple screen or Black Screen on GDM
+ startup.
Revision history for this message
joecar32 (joecarolan) wrote :
Download full text (3.4 KiB)

Having similar problem intel ix3 graphics, My machine boots perfectly with new kernel. provided I don't have an external monitor connected.
As soon as I connect monitor " black screens.
With old kernel 2.6.35-29 no problems I have tried altering grub as per above with no success
see below xrandr output with both kenels

Originally Posted by MAFoElffen
And what do you think your highest resoltution?

While I'm waiting on that answer... Go to your /etc/defaulat/grub file
Code:

cd /etc/default/
sudo gedit grub

Find the line
Code:

# GFXMODE=640x480

Edit it to read
Code:

GFXMODE=1024x768x24

Save and exit.
Code:

sudo update-grub
sudo reboot

Try and see what happens... If it does work, go back to that file, add the # character back in to comment out and the a line saying
[code]
GRUB_GFXPAYLOAD=text
[/code[
Save and exit.
Code:

sudo update-grub
sudo reboot

Try and see what happens...
Hi again sorry for delay
No this new grub file doesn't work, one thing I noticed was my laptop was working overtime when I rebooted with the new grub file and I noticed on shut down " the screen was very garbled" but I could see an error "no suitable kernel found"
Please comment on the following, my xxrandr -q file with computer working on new kernel 2.6.28-9, "monitor "disconnected because it crashes both screens"

joe@joe-laptop:~$ xrandr -q
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
1366x768 60.0*+
1360x768 59.8 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)
1366x768 60.0
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
1920x1080_60.00 (0xb3) 173.0MHz
h: width 1920 start 2048 end 2248 total 2576 skew 0 clock 67.2KHz
v: height 1080 start 1083 end 1088 total 1120 clock 60.0Hz
joe@joe-laptop:~$

My xrandr file with old kernel 2.6.35-29 ,and with"monitor connected" working in correct resolutions both laptop,and external monitor

joe@joe-laptop:~$ xrandr -q
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
VGA1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
1920x1080 60.0*+
1600x1200 60.0
1680x1050 60.0
1280x1024 75.0 60.0
1440x900 75.0 59.9
1280x960 60.0
1280x800 59.8
1152x864 75.0
1024x768 75.1 70.1 60.0
832x624 74.6
800x600 72.2 75.0 60.3 56.2
640x480 72.8 75.0 66.7 60.0
720x400 70.1
LVDS1 connected (normal left inverted right x axis y axis)
1366x768 60.0 +
1360x768 59.8 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
1920x1080_60.00 (0xc7) 173.0MHz
h: width 1920 start 2048 end 2248 total 2576 skew 0 clock 67.2KHz
v: height 1080 start 1083 end 1088 total 1120 clock 60.0Hz
joe@joe-laptop:~$

Joe
Okay then change "GRUB_GFX_MODE-640x480" > keep the line "GRUB_GFXPAYLOAD=text" < add "acpi_osi="Linux"" to the GRUB_CMDLINE_LINUX_DEFAULT line... update-grub and try again.

Also subscribe to this LP Bug > https://bugs.launchpad.net/ubuntu/+s.....

Read more...

Revision history for this message
Luca Bernardi (luberni) wrote :

Unable to installa Ubuntu 11.04 on my Jp Probook 4520s.
Black screen or Ubuntu pink screen.

What I have to do to buypass this problem?

Best Regards

Luca

Changed in nvidia-settings (Ubuntu):
status: New → Invalid
Revision history for this message
miro.ilias (ilias-utcpd) wrote :

Hi all,

I updated on my AMD64 with NVidia 9800 Ubuntu 11.04; got violet (or pink) blank screen at the boot.

It takes very long time to boot, sometimes it does not.

I removed proprietary nvidia-drivers, and replaced them with "nouveau" open driver.

I am trying to modify /etc/default/grub according to advices above to make the boot running properly...

Miro Ilias

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.