DragonFlyBSD / DPorts

The dedicated application build system for DragonFly BSD
Other
89 stars 44 forks source link

Xorg Xfce4 black screen #67

Closed davshao closed 10 years ago

davshao commented 10 years ago

What are the recommended text file configurations? I am building dports xorg and xfce4 from the ports files.

# tail -f /var/log/messages

Oct 21 20:59:06  console-kit-daemon[815]: CRITICAL: polkit_authority_check_authorization: assertion `POLKIT_IS_AUTHORITY (authority)' failed
Oct 21 20:59:31  console-kit-daemon[815]: CRITICAL: polkit_authority_check_authorization: assertion `POLKIT_IS_AUTHORITY (authority)' failed
Oct 21 20:59:56  dbus[783]: [system] Activating service name='org.freedesktop.UPower' (using servicehelper)
Oct 21 20:59:56  dbus[783]: [system] Successfully activated service 'org.freedesktop.UPower'
Oct 21 20:59:56  dbus[783]: [system] Activating service name='org.freedesktop.UPower' (using servicehelper)
Oct 21 20:59:56  kernel: pid 1046 (upowerd), uid 0: exited on signal 5 (core dumped)
Oct 21 20:59:56  dbus[783]: [system] Successfully activated service 'org.freedesktop.UPower'
Oct 21 20:59:56  kernel: pid 1048 (upowerd), uid 0: exited on signal 5 (core dumped)

My /etc/make.conf:

CFLAGS+=-g
STRIP=

WITH_PKGNG=yes
DISABLE_VULNERABILITIES=yes

WITH_VIM_OPTIONS=yes

My /etc/rc.conf:

# Basic rc.conf, adjust according to your needs
#
nfs_reserved_port_only="YES"
sshd_enable="YES"
usbd_enable="YES"
nfs_client_enable="YES"
rpc_umntall_enable="NO"
# -- Written on Fri Sep 24 22:38:54 2010 -- #
dumpdev="/dev/serno/WD-WMATV8216330.s1b"
# -- END of DragonFly BSD Installer automatically generated configuration -- #

ifconfig_msk0="DHCP"
devd_enable="YES"
udevd_enable="YES"

dntpd_enable="YES"

rpcbind="YES"

dbus_enable="YES"
hald_enable="YES"
polkitd_enable="YES"

My /usr/local/etc/polkit-1/localauthority/50-local.d/org.freedesktop.consolekit.pkla where I did substitute for username:

[Restart]
Identity=unix-group:username
Action=org.freedesktop.consolekit.system.restart
ResultAny=yes
ResultInactive=yes
ResultActive=yes

[Shutdown]
Identity=unix-group:username
Action=org.freedesktop.consolekit.system.stop
ResultAny=yes
ResultInactive=yes
ResultActive=yes
jrmarino commented 10 years ago

The upowerd daemon crash is documented in issue #26 and is related to polkit not be configured correctly. I haven't figured out the magic configuration for polkit myself.

The black screen is just your typical xorg.conf not being right, isn't it? e.g. the video driver isn't supported? So manually edit /etc/X11.conf ?

davshao commented 10 years ago

The problem is for the updated xorg components, there IS no version of an /etc/X11/xorg.conf that a user should install these days. I built using the above configuration files and the following commands a working xorg on these machines before the recent update to components such as the updated mesa:

cd /usr/dports/ports-mgmt/pkg make clean && make BATCH=yes install clean && rehash cd /usr/dports/lang/perl5.18 make clean && make BATCH=yes install clean && rehash cd /usr/dports/x11/xorg make clean && make BATCH=yes install clean && rehash cd /usr/dports/x11-wm/xfce4 make clean && make BATCH=yes install clean && rehash make clean && make BATCH=yes install clean && rehash

(Not a typo, cairo isn't found at first.) Now I get either lockups or black screens depending on Radeon 4xxx versus Intel graphics G45 respectively. This procedure worked perfectly fine before the latest dports updates and I never had to use an explicit xorg.conf. Even if I do need one now, where do I get it from since Xorg -configure is not going to produce a working xorg.conf either.

ftigeot commented 10 years ago

davshao wrote:

The problem is for the updated xorg components, there IS no version of an /etc/X11/xorg.conf that a user should install these days.

Why should there be one ?

Xorg is supposed to autodetect everything and work out of the box without a default xorg.conf file these days.

I explicitely removed xorg.conf because its presence was stopping Xorg from working on many machines.

(Not a typo, cairo isn't found at first.) Now I get either lockups or black screens depending on Radeon 4xxx versus Intel graphics G45 respectively. This procedure worked perfectly fine before the latest dports updates and I never had to use an explicit xorg.conf. Even if I do need one now, where do I get it from since Xorg -configure is not going to produce a working xorg.conf either.

I don't think black screens or lockups have anything to do with xorg.conf presence or absence.

Can you give us more data about your hardware ? xorg component versions ?

It would be very useful to see what's in Xorg.0.log and what dmesg has to say.

Francois Tigeot

davshao commented 10 years ago

Let's approach this from another direction. Has anyone been able to install from scratch xorg and xfce4 using recent dports master using the configuration scripts and commands I have posted above and get a working xorg on Intel integrated graphics such as a G45 from 2010 or a Radeon 4350 or Radeon 4550? If so, could they kindly post what /etc/make.conf and /etc/rc.conf was used and any other configuration changes to dports needed apart from just blasting through a build with BATCH=yes?

I do not think it is a hardware problem because the hardware worked perfectly fine with DragonFly src master and dports master up through early October including through the major change of porting KMS and the radeon driver in the kernel.

I have installed from scratch using the procedure I have posted on this hardware and have never had a problem getting a working xorg and xfce4. Until now. This is similar to my concerns which were thankfully addressed about doing anything on ufs filesystem based systems.

ftigeot commented 10 years ago

Issue confirmed, both xf86-video-intel and xf86-video-ati only give black screens on my hardware as well.

From /var/log/Xorg.0.log, it seems like no monitors and graphical resolutions are detected and used.

xf86-video-ati-6.14.6 and xf86-video-intel-2.21.9 used to work fine.

xf86-video-ati-7.2.0 and xf86-video-intel-2.21.15 are broken.

The latest version of xf86-video-vesa is still working as expected.

ftigeot commented 10 years ago

User mode setting has been removed from the xf86-video-ati-7.0 driver; newer versions now require working kernel-mode support.

Our radeon kms support is too new to work reliably; I consistently get kernel panics in the ttm memory manager with some hardware.

The best course of action is to downgrade xf86-video-ati for now.

jrmarino commented 10 years ago

I may have ATI fixed. Try deinstalling the current xf86-video-ati driver and rebuilding it with the latest dports in place. Still working on intel...

ftigeot commented 10 years ago

The issue appears to be similar with the intel driver: downgrading to xf86-video-intel-2.21.9 (and doing a hard reset) is enough to fix things

jrmarino commented 10 years ago

xf86-video-intel driver downgraded to 2.21.9 now.

ftigeot commented 10 years ago

Both xf86-video-ati and xf86-video-intel confirmed fixed.

davshao commented 10 years ago

The Intel integrated graphics G45 machine is indeed completely fixed. Well done.

The Radeon 4350 is bothering me. Is the future for xf86-video-ati, libGL, etc for /etc/make.conf to contain:

WITH_NEW_XORG="YES" WITH_GALLIUM="YES" WITH_KMS=true

as is used in FreeBSD 10? Right now at least xorg and xfce4 work, but it appears it is using the vesa driver. Last I tried about a week ago, using the WITH_GALLIUM="YES" did not even succeed in building dri.

jrmarino commented 10 years ago

You can forget about WITH_NEW_ORG and WITH_KMS These are set in /etc/defaults/make.conf for x86-64.

Gallium seems enabled by default in some ports, e.g. graphics/libGL/Makefile but not graphics/dri/Makefile. There is a message that gallium support is "highly experimental".

Thus, I would think that when dri is solid it will become default. I don't think the make.conf should contain any of those lines.