cleanup old tests, add mrxvt for debugging

This commit is contained in:
Stephan Raue 2009-03-19 20:51:21 +01:00
parent f330edff89
commit 5465dfbbad
65 changed files with 75 additions and 3409 deletions

View File

@ -76,7 +76,7 @@ case "$2" in
# Devtools... (not for Release)
# [ "$DEVTOOLS" = yes ] && $SCRIPTS/install gdb
# [ "$DEVTOOLS" = yes ] && $SCRIPTS/install mrxvt
[ "$DEVTOOLS" = yes ] && $SCRIPTS/install mrxvt
#[ "$EXTRACODECS" = yes ] && $SCRIPTS/install extra-codecs-nonfree $1
#[ "$EXTRAFIRMWARES" = yes ] && $SCRIPTS/install extra-firmwares-nonfree $1

View File

@ -1,133 +0,0 @@
#!/bin/sh
#
# Bootchart logger script
# Ziga Mahkovec <ziga.mahkovec@klika.si>
#
# This script is used for data collection for the bootchart
# boot performance visualization tool (http://www.bootchart.org).
#
# Simplified and adapted for GeeXboX by
# Davide Cavalca <davide@geexbox.org>
VERSION="0.8gx"
BOOTLOG_LOCK=".lock"
SAMPLE_PERIOD=0.2
EXIT_PROC="elisa"
BOOTLOG_DEST="/var/log/bootchart.tgz"
# Start the boot logger.
start()
{
# Make sure only a single instance is running
[ -f "$BOOTLOG_LOCK" ] && return
# Create logging directory
LOG_DIR="/var/log/bootchart.$$"
mkdir -p $LOG_DIR
cd "$LOG_DIR"
> "$BOOTLOG_LOCK"
# Enable process accounting if configured
> kernel_pacct
/usr/bin/accton kernel_pacct
log_output "cat /proc/stat" proc_stat.log &
log_output "cat /proc/diskstats" proc_diskstats.log &
log_output "cat /proc/*/stat" proc_ps.log &
wait_boot &
}
# Run the command ($1) every $SAMPLE_PERIOD seconds and append output to
# file ($2). Mostly pure shell, so we avoid creating an excessive number of
# processes (thus polluting the process tree).
log_output()
{
# Set the stop() trap.
trap stop USR1
local cmd="$1"
local logfile="$2"
while [ -f "$BOOTLOG_LOCK" ]; do
# Write the time (in jiffies).
read uptime < /proc/uptime
uptime=${uptime%% [0-9]*}
uptime=${uptime/./}
echo $uptime
# Log the command output
eval $cmd 2>/dev/null
echo
sleep $SAMPLE_PERIOD
done >> "$logfile" || stop
}
# Wait for the boot process to end.
wait_boot()
{
while [ -f "$BOOTLOG_LOCK" ]; do
if [ -n "$( pidof $EXIT_PROC )" ]; then
# Give the exit process some time to start
sleep 5
# Flush the log files
stop
return
fi
sleep 2
done;
}
# Stop the boot logger. The lock file is removed to force the loggers in
# background to exit. Some final log files are created and then all log files
# from the tmpfs are packaged and stored in $BOOTLOG_DEST.
stop()
{
if [ ! -f "$BOOTLOG_LOCK" ]; then
echo "${0##*/} not running"
return
fi
# Prevent concurrent stop() calls
rm -f "$BOOTLOG_LOCK" || return
sleep $SAMPLE_PERIOD
sleep $SAMPLE_PERIOD
# Stop process accounting if configured
local pacct=
/usr/bin/accton
pacct=kernel_pacct
# Write system information
log_header
# Package log files
tar -zcf "$BOOTLOG_DEST" header $pacct *.log
}
# Log some basic information about the system.
log_header()
{
(
echo "version = $VERSION"
echo "title = Boot chart for $(cat /proc/sys/kernel/hostname) ($( date ))"
echo "system.uname = $( uname -srvm | sed q )"
echo "system.release = $( cat /etc/issue|sed 's/Welcome to //'|sed 's/ (C).*//' )"
# Get CPU count
local cpucount=$(grep -c '^processor' /proc/cpuinfo)
if [ $cpucount -gt 1 -a -n "$(grep 'sibling.*2' /proc/cpuinfo)" ]; then
# Hyper-Threading enabled
cpucount=$(( $cpucount / 2 ))
fi
if grep -q '^model name' /proc/cpuinfo; then
echo "system.cpu = $( grep '^model name' /proc/cpuinfo | sed q )" "($cpucount)"
else
echo "system.cpu = $( grep '^cpu' /proc/cpuinfo | sed q )" "($cpucount)"
fi
echo "system.kernel.options = $( sed q /proc/cmdline )"
) >> header
}
echo "Starting bootchart logging"
start &

View File

@ -1,8 +0,0 @@
#!/bin/sh
/bin/busybox test ! -e /proc/cpuinfo && /bin/busybox mount -t proc none /proc
/bin/busybox test ! -e /bin/cp && /bin/busybox --install -s
while true; do
/bin/sh
done

View File

@ -1,36 +0,0 @@
--- init 2008-09-03 18:17:32.000000000 +0200
+++ linuxrc 2008-09-03 18:18:56.000000000 +0200
@@ -54,33 +54,6 @@
fi
done
-#if test -n "$OPENELEC" ; then
-# progress 25000 "copying system into ram (/etc)"
-# ln -s /mnt/system/etc/* /etc
-# progress 27000 "copying system into ram (/lib)"
-# ln -s /mnt/system/lib/* /lib
-# progress 29000 "copying system into ram (/sbin)"
-# ln -s /mnt/system/sbin/* /sbin
-# progress 30500 "copying system into ram (/usr)"
-# ln -s /mnt/system/usr/* /usr
-# progress 42000 "copying system into ram (/codecs)"
-# ln -s /mnt/system/codecs /
-# progress 45000 "copying system into ram (/firmware)"
-# ln -s /mnt/system/firmware /
-# progress 46000 "copying system into ram (/themes)"
-# ln -s /mnt/system/themes /
-# INIT=/sbin/init
-##else
-## INIT=/sbin/nosystem
-## progress 65535 "cleaning ram disk"
-##fi
-
-# Rebuild module dependancies (initramfs + bin archive)
-#depmod -a
-
-#udevadm trigger
-#udevadm settle --timeout=180
-
#debug
/sbin/console </dev/tty2 >/dev/tty2 2>&1 &

View File

@ -1,67 +0,0 @@
#!/bin/sh
mount -t proc proc /proc
if [ -n "$XANDROSBOOTDEBUG" ]; then
/bin/busybox sh
set -x
fi
ROOT=`cat /proc/cmdline | sed 's/.*root=// ; s/ .*//'`
#VERSION=`cat /proc/version | cut -f3 -d" "`
mount -t ext2 -o rw,noatime $ROOT /mnt
if [ $? -ne 0 ] ; then
echo Could not mount OS on $ROOT. Starting debugging shell....
/bin/busybox sh
fi
#if [ -n "$XANDROSSCAN" ]; then
# exec switch_root /mnt-system /sbin/scanuser.sh
#fi
#
#if [ -n "$XANDROSRESTORE" ]; then
# exec switch_root /mnt-system /sbin/formatuser.sh
#fi
#
#if [ -z "`grep nosplash /proc/cmdline`" ]; then
# echo -n ""
# cp /mnt-system/boot/startup.fb /dev/fb/0
#fi
#
#if ! mount -t ext3 -o rw /dev/sda2 /mnt-user; then
# echo Error mounting user partition. Must run filesystem scan!
# exec switch_root /mnt-system /sbin/scanuser.sh
#fi
#
## Factory auto-format functionality
#if [ -f /mnt-user/.autoformat ]; then
# umount /mnt-user
# exec switch_root /mnt-system /sbin/formatuser.sh -- --auto
#fi
#
#insmod /mnt-system/lib/modules/$VERSION/kernel/fs/unionfs/unionfs.ko > /dev/null
#
#mount -t unionfs -o dirs=/mnt-user=rw:/mnt-system=ro unionfs /mnt
#if [ $? -ne 0 ]; then
# echo Could not mount unionfs. Starting debugging shell....
# /bin/busybox sh
#fi
#
#mount --move /mnt-system /mnt/mnt
#umount -l /mnt-user
umount /proc
if [ -n "$INIT" ]; then
if [ -n "$XANDROSBOOTDEBUG" ]; then
exec switch_root /mnt $INIT </mnt/dev/console >/mnt/dev/console
else
exec switch_root /mnt $INIT </mnt/dev/null >/mnt/dev/null
fi
else
exec switch_root /mnt /sbin/fastinit "$@" </mnt/dev/console >/mnt/dev/console
fi
echo
echo Init Failed. Starting emergency shell....
/bin/busybox sh

View File

@ -1,89 +0,0 @@
#!/bin/sh
/bin/echo "### mount ###"
/bin/mount -n -t proc none /proc
/bin/mount -n -t sysfs none /sys
/bin/mount -n -t ramfs none /dev
/bin/mount -n -t ramfs none /tmp
/bin/mount -n -t ramfs none /var
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
mkdir -p /var/run
mkdir -p /var/log
mkdir -p /var/lock
echo -n "" > /tmp/mtab
echo -n "" > /tmp/fstab
echo -n "" > /tmp/mnts
busybox mknod /dev/null c 1 3
echo geexbox > /proc/sys/kernel/hostname
echo > /proc/sys/kernel/hotplug
udevd --daemon
udevadm trigger
udevadm settle --timeout=180
udevadm monitor 2>&1 >/var/log/udev &
progress() {
[ -f /proc/splash ] && echo "show $1" > /proc/splash
echo "### $2 ###"
}
udhcpc -q -H geexbox -n
# parse command line arguments
for arg in $(cat /proc/cmdline); do
case $arg in
debugging)
DEBUG=yes
;;
esac
done
progress 11000 "HDD Boot Device Detection"
for DEV in `grep '^/dev/disk' /tmp/mnts | cut -f1`; do
DIR=`grep "^$DEV " /tmp/mnts | cut -f2-`
echo $DIR
if [ -f "$DIR/openelec.system" ]; then
progress 25000 "mounting read only filesystem"
mkdir -p /mnt/system
mount -o loop -t squashfs "$DIR/openelec.system" /mnt/system && break
fi
done
#if test -n "$OPENELEC" ; then
# progress 25000 "copying system into ram (/etc)"
# ln -s /mnt/system/etc/* /etc
# progress 27000 "copying system into ram (/lib)"
# ln -s /mnt/system/lib/* /lib
# progress 29000 "copying system into ram (/sbin)"
# ln -s /mnt/system/sbin/* /sbin
# progress 30500 "copying system into ram (/usr)"
# ln -s /mnt/system/usr/* /usr
# progress 42000 "copying system into ram (/codecs)"
# ln -s /mnt/system/codecs /
# progress 45000 "copying system into ram (/firmware)"
# ln -s /mnt/system/firmware /
# progress 46000 "copying system into ram (/themes)"
# ln -s /mnt/system/themes /
# INIT=/sbin/init
##else
## INIT=/sbin/nosystem
## progress 65535 "cleaning ram disk"
##fi
# Rebuild module dependancies (initramfs + bin archive)
#depmod -a
#udevadm trigger
#udevadm settle --timeout=180
#debug
/sbin/console </dev/tty2 >/dev/tty2 2>&1 &
/bin/sh $INIT $RUNLEVEL </dev/tty1 >/dev/tty1 2>&1
poweroff

View File

@ -1,37 +0,0 @@
#!/bin/sh
/bin/busybox mkdir -p /proc
/bin/busybox mount -t proc none /proc
/bin/busybox mkdir -p /sys
/bin/busybox mount -t sysfs none /sys
BOOT=`/bin/busybox cat /proc/cmdline | /bin/busybox sed 's/.*boot=// ; s/ .*//'`
DISK=`/bin/busybox cat /proc/cmdline | /bin/busybox sed 's/.*disk=// ; s/ .*//'`
/bin/busybox mdev -s
/bin/busybox mkdir -p /flash
/bin/busybox mount -t ext3 -o ro,noatime $BOOT /flash
/bin/busybox mkdir -p /storage
/bin/busybox mount -t ext3 -o rw,noatime $DISK /storage
if [ -f "/flash/openelec.system" ]; then
/bin/busybox mkdir -p /sysroot
/bin/busybox mount /flash/openelec.system /sysroot
if [ $? -ne 0 ] ; then
echo Could not mount system on /sysroot. Starting debugging shell....
/bin/busybox sh </dev/tty1 >/dev/tty1 2>&1
fi
fi
/bin/busybox mount --bind /flash /sysroot/flash
/bin/busybox mount --bind /stoarge /sysroot/storage
/bin/busybox umount /proc
/bin/busybox umount /sys
# exec /bin/busybox switch_root /flash /sbin/init.system
exec /bin/busybox switch_root /sysroot /sbin/init.system
## exec /bin/busybox switch_root /sysroot /sbin/finit
## exec /bin/busybox switch_root /sysroot /bin/sh

View File

@ -1,91 +0,0 @@
#!/bin/sh
/bin/busybox test ! -e /proc/cpuinfo && \
/bin/busybox mount -t proc none /proc
/bin/busybox test ! -e /sys/kernel && \
/bin/busybox mount -t sysfs none /sys
[ -x /sbin/bootchartd ] && /sbin/bootchartd
progress() {
[ -f /proc/splash ] && echo "show $1" > /proc/splash
echo "### $2 ###"
}
BOOT=`cat /proc/cmdline | sed 's/.*boot=// ; s/ .*//'`
DISK=`cat /proc/cmdline | sed 's/.*disk=// ; s/ .*//'`
#VERSION=`cat /proc/version | cut -f3 -d" "`
progress 10000 "setting up path variable"
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
export HOME=/storage
export DISPLAY=:0.0
export LANG=de_DE.UTF8
progress 11000 "mounting special filesystems into ram"
# mount -t sysfs none /sys
mount -t ramfs none /dev
mount -t ramfs none /var
# mount -t ramfs none /tmp
# mount -t ramfs none /storage
mknod /dev/null c 1 3
progress 12000 "make variable directory structure"
# mkdir -p /storage/tmp
# mkdir -p /storage/root
# mkdir -p /storage/mnt
# mkdir -p /storage/run
# mkdir -p /storage/log
# mkdir -p /storage/lock
mkdir -p /var/run
mkdir -p /var/log
mkdir -p /var/lock
mkdir -p /var/tmp
mkdir -p /var/mnt
progress 13000 "setting hostname"
echo openelec > /proc/sys/kernel/hostname
# exec /bin/busybox sh
progress 14000 "mounting internal Storage"
mount -t ext3 -o ro,noatime $DISK /storage
progress 16000 "copying config into ram"
[ -f "/usr/config/etc.tar.lzma" ] && \
tar xaf "/usr/config/etc.tar.lzma" -C /storage
progress 17000 "starting Udev"
export UDEV_MAX_CHILDS=2
export UDEV_MAX_CHILDS_RUNNING=2
echo > /proc/sys/kernel/hotplug
udevd --daemon
udevadm trigger
udevadm settle --timeout=60
udevadm monitor 2>&1 >/var/log/udev &
count=0
for script in /etc/init.d/*; do
grep -q -e "^# runlevels:.*$1" $script && count=$(($count+1));
done
pos=47000
step=$(((65535-$pos)/$count))
RET=0
for script in /etc/init.d/*; do
if grep -q -e "^# runlevels:.*$1" $script; then
pos=$(($pos+$step))
progress $pos
/bin/sh $script
S_RET=$?
test $S_RET -ge $RET && RET=$S_RET
fi
done
exit $RET
progress 65000 "starting shell"
exec /bin/busybox sh </dev/tty1 >/dev/tty1 2>&1

View File

@ -1,62 +0,0 @@
#!/bin/sh
/bin/echo "### mount ###"
/bin/mount -n -t proc none /proc
/bin/mount -n -t sysfs none /sys
/bin/mount -n -t ramfs none /dev
/bin/mount -n -t ramfs none /tmp
/bin/mount -n -t ramfs none /var
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
mkdir -p /var/run
mkdir -p /var/log
mkdir -p /var/lock
echo -n "" > /tmp/mtab
echo -n "" > /tmp/fstab
echo -n "" > /tmp/mnts
busybox mknod /dev/null c 1 3
echo geexbox > /proc/sys/kernel/hostname
echo > /proc/sys/kernel/hotplug
udevd --daemon
udevadm trigger
udevadm settle --timeout=180
udevadm monitor 2>&1 >/var/log/udev &
progress() {
[ -f /proc/splash ] && echo "show $1" > /proc/splash
echo "### $2 ###"
}
udhcpc -q -H geexbox -n
# parse command line arguments
for arg in $(cat /proc/cmdline); do
case $arg in
debugging)
DEBUG=yes
;;
esac
done
progress 11000 "HDD Boot Device Detection"
for DEV in `grep '^/dev/disk' /tmp/mnts | cut -f1`; do
DIR=`grep "^$DEV " /tmp/mnts | cut -f2-`
echo $DIR
if [ -f "$DIR/openelec.system" ]; then
progress 25000 "mounting read only filesystem"
mkdir -p /mnt/system
mount -o loop -t squashfs "$DIR/openelec.system" /mnt/system && break
fi
done
#debug
/sbin/console </dev/tty2 >/dev/tty2 2>&1 &
/bin/sh $INIT $RUNLEVEL </dev/tty1 >/dev/tty1 2>&1
poweroff

View File

@ -1,14 +0,0 @@
#!/bin/sh
/bin/busybox test ! -e /proc/cpuinfo && /bin/busybox mount -t proc none /proc
/bin/busybox test ! -e /bin/cp && /bin/busybox --install -s
echo "****"
echo "**** ERROR: can't access GeeXboX second stage system !"
echo "**** If booting from CD your CD drive is probably not recognized"
echo "**** If booting from Network your NIC driver is probably not supported"
echo "****"
/bin/sh
exit 1

View File

@ -1,67 +0,0 @@
#!/bin/sh
mount -t proc proc /proc
if [ -n "$BOOTDEBUG" ]; then
/bin/busybox sh
set -x
fi
ROOT=`cat /proc/cmdline | sed 's/.*root1=// ; s/ .*//'`
#VERSION=`cat /proc/version | cut -f3 -d" "`
mount -t ext3 -o rw,noatime $ROOT /tmp
if [ $? -ne 0 ] ; then
echo Could not mount OS on $ROOT. Starting debugging shell....
/bin/busybox sh
fi
#if [ -n "$XANDROSSCAN" ]; then
# exec switch_root /mnt-system /sbin/scanuser.sh
#fi
#
#if [ -n "$XANDROSRESTORE" ]; then
# exec switch_root /mnt-system /sbin/formatuser.sh
#fi
#
#if [ -z "`grep nosplash /proc/cmdline`" ]; then
# echo -n ""
# cp /mnt-system/boot/startup.fb /dev/fb/0
#fi
#
#if ! mount -t ext3 -o rw /dev/sda2 /mnt-user; then
# echo Error mounting user partition. Must run filesystem scan!
# exec switch_root /mnt-system /sbin/scanuser.sh
#fi
#
## Factory auto-format functionality
#if [ -f /mnt-user/.autoformat ]; then
# umount /mnt-user
# exec switch_root /mnt-system /sbin/formatuser.sh -- --auto
#fi
#
#insmod /mnt-system/lib/modules/$VERSION/kernel/fs/unionfs/unionfs.ko > /dev/null
#
#mount -t unionfs -o dirs=/mnt-user=rw:/mnt-system=ro unionfs /mnt
#if [ $? -ne 0 ]; then
# echo Could not mount unionfs. Starting debugging shell....
# /bin/busybox sh
#fi
#
#mount --move /mnt-system /mnt/mnt
#umount -l /mnt-user
# umount /proc
# if [ -n "$INIT" ]; then
# if [ -n "$XANDROSBOOTDEBUG" ]; then
# exec switch_root /mnt $INIT </mnt/dev/console >/mnt/dev/console
# else
# exec switch_root /mnt $INIT </mnt/dev/null >/mnt/dev/null
# fi
# else
# exec switch_root /mnt /sbin/fastinit "$@" </mnt/dev/console >/mnt/dev/console
# fi
echo
echo Init Failed. Starting emergency shell....
/bin/busybox sh

View File

@ -1,95 +0,0 @@
#!/bin/sh
busybox mkdir -p /bin
busybox mkdir -p /lib
busybox mkdir -p /etc
busybox mkdir -p /sbin
busybox mkdir -p /tmp
busybox mkdir -p /mnt
busybox mkdir -p /dev
busybox mkdir -p /dev/shm
busybox mkdir -p /dev/mapper
busybox mkdir -p /proc
busybox mkdir -p /sys
busybox mkdir -p /usr
busybox mkdir -p /root
busybox mkdir -p /var
busybox mkdir -p /var/run
busybox mkdir -p /var/log
busybox mkdir -p /var/lock
busybox mknod /dev/null c 1 3
busybox mount -t proc none /proc
busybox mount -t sysfs none /sys
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
BOOT=`cat /proc/cmdline | sed 's/.*boot=// ; s/ .*//'`
#VERSION=`cat /proc/version | cut -f3 -d" "`
progress() {
[ -f /proc/splash ] && echo "show $1" > /proc/splash
echo "### $2 ###"
}
progress 12000 "setting hostname"
echo openelec > /proc/sys/kernel/hostname
progress 13000 "starting Udev"
echo > /proc/sys/kernel/hotplug
udevd --daemon
udevadm trigger
udevadm settle --timeout=180
udevadm monitor 2>&1 >/var/log/udev &
# start-stop-daemon --start --quiet --pidfile /var/run/hotplug2.pid --exec /sbin/hotplug2 -- --persistent --no-coldplug || return 2
progress 15000 "mounting flashdisk"
mkdir /mnt/.flash
mount -t ext3 -o ro,noatime $BOOT /mnt/.flash
if [ $? -ne 0 ] ; then
echo Could not mount flashdisk on $BOOT. Starting debugging shell....
/bin/busybox sh
fi
#progress 17000 "mounting system"
# busybox mkdir /mnt/.system
# if [ -f "/mnt/.flash/openelec.system" ]; then
# mkdir -p /mnt/system
# mount -o loop -t squashfs "/mnt/.flash/openelec.system" /mnt/.system
# if [ $? -ne 0 ] ; then
# echo Could not mount system on /mnt/.system. Starting debugging shell....
# /bin/busybox sh
# fi
# fi
#if test -n "$OPENELEC" ; then
# progress 25000 "copying system into ram (/etc)"
# ln -s /mnt/.system/etc/* /etc
# progress 27000 "copying system into ram (/lib)"
# ln -s /mnt/.system/lib/* /lib
# progress 29000 "copying system into ram (/sbin)"
# ln -s /mnt/.system/sbin/* /sbin
# progress 30000 "binding system (/usr)"
# mount --bind /mnt/.system/usr /usr
# if [ $? -ne 0 ] ; then
# echo Could not bind system on /usr. Starting debugging shell....
# /bin/busybox sh
# fi
##else
## INIT=/sbin/nosystem
## progress 65535 "cleaning ram disk"
##fi
#progress 35000 "running Udev with all modules"
# udevadm trigger
# udevadm settle --timeout=180
#progress 37000 "loading modules"
# for module in `cat /etc/modules|grep "^[^#]"`; do
# /sbin/modprobe $module >/dev/null 2>&1
# done
progress 42000 "starting shell"
exec /bin/busybox sh

View File

@ -1,3 +0,0 @@
#!/bin/sh
/usr/bin/rw "$1" ro

View File

@ -1,30 +0,0 @@
#!/bin/sh
if [ "${1#/mnt/}" != "$1" ]; then
DEV=
for TMPDEV in `cut -f1 /etc/mnts`; do
MNT=`grep "^$TMPDEV " /etc/mnts | cut -f2-`
if [ "${1#$MNT}" != "$1" ]; then
DEV=$TMPDEV
break
fi
done
[ -z "$DEV" ] && exit 1
if [ "$2" = ro ]; then
COUNT=`sed -n "s%\([0-9]*\)\ $DEV%\1%p" /var/rw`
[ "$COUNT" -lt "1" ] && exit 1
[ "$COUNT" -eq "1" ] && mount -o remount,ro "$DEV" "$MNT"
COUNT=$(($COUNT-1))
sed -i "s%[0-9]*\ $DEV%$COUNT $DEV%" /var/rw
else
[ -f /var/rw ] && COUNT=`sed -n "s%\([0-9]*\)\ $DEV%\1%p" /var/rw`
[ -z "$COUNT" -o "$COUNT" -le "0" ] && mount -o remount,rw "$DEV" "$MNT"
if [ -z "$COUNT" ]; then
echo "1 $DEV" >> /var/rw
else
COUNT=$(($COUNT+1))
sed -i "s%[0-9]*\ $DEV%$COUNT $DEV%" /var/rw
fi
fi
fi

53
packages/x11/other/mrxvt/build Executable file
View File

@ -0,0 +1,53 @@
#!/bin/sh
. config/options
$SCRIPTS/build toolchain
$SCRIPTS/build libX11
$SCRIPTS/build libXrender
cd $BUILD/$1*
ac_cv_func_setpgrp_void=no \
./configure --host=$TARGET_NAME \
--build=$HOST_NAME \
--prefix=/usr \
--sysconfdir=/etc \
--disable-static \
--enable-shared \
--x-includes=$SYSROOT_PREFIX/usr/include \
--x-libraries=$SYSROOT_PREFIX/usr/lib \
--enable-minimal \
--disable-frills \
--enable-keepscrolling \
--disable-selectionscrolling \
--enable-mousewheel \
--disable-mouseslipwheel \
--enable-rxvt-scroll \
--disable-half-shadow \
--enable-lastlog \
--enable-sessionmgr \
--enable-linespace \
--enable-24bits \
--enable-256colors \
--enable-cursor-blink \
--enable-pointer-blank \
--disable-text-shadow \
--enable-menubar \
--disable-transparency \
--disable-fading \
--disable-tinting \
--enable-xrender \
--disable-xpm \
--disable-jpeg \
--disable-png \
--disable-xft \
--enable-ttygid \
--enable-backspace-key \
--enable-delete-key \
--disable-resources \
--disable-swapscreen
make
$STRIP src/$1

View File

@ -0,0 +1,12 @@
#!/bin/sh
#
# start HAL daemon
#
# runlevels: openelec, debug, configure
. /etc/sysconfig
echo "### Starting MRXVT ###"
/usr/bin/mrxvt > /dev/null 2>&1 &

View File

@ -0,0 +1,8 @@
#!/bin/sh
. config/options
$SCRIPTS/install libX11
mkdir -p $INSTALL/usr/bin
cp $BUILD/$1*/src/$1 $INSTALL/usr/bin

View File

@ -0,0 +1 @@
http://kent.dl.sourceforge.net/sourceforge/materm/mrxvt-0.5.0.tar.gz

View File

@ -1,147 +0,0 @@
#!/bin/sh
. config/options
XORG_SRC="$BUILD/$1*/hw/xfree86"
$SCRIPTS/build toolchain
$SCRIPTS/build xf86driproto
$SCRIPTS/build randrproto
$SCRIPTS/build renderproto
$SCRIPTS/build scrnsaverproto
$SCRIPTS/build resourceproto
$SCRIPTS/build videoproto
$SCRIPTS/build inputproto
$SCRIPTS/build compositeproto
$SCRIPTS/build xineramaproto
$SCRIPTS/build xf86dgaproto
$SCRIPTS/build xf86miscproto
$SCRIPTS/build libpciaccess
$SCRIPTS/build libX11
$SCRIPTS/build libXfont
$SCRIPTS/build libxkbfile
$SCRIPTS/build libXv
$SCRIPTS/build libXvMC
$SCRIPTS/build libdrm
$SCRIPTS/build Mesa
$SCRIPTS/build openssl
$SCRIPTS/build freetype
$SCRIPTS/build libfontenc
$SCRIPTS/build pixman
$SCRIPTS/build fontsproto
$SCRIPTS/build xf86bigfontproto
$SCRIPTS/build dbus
$SCRIPTS/build hal
#fixesproto
#damageproto
#xcmiscproto
#xextproto
#xproto
#xtrans
#bigreqsproto
#inputproto
#kbproto
#xineramaproto
cd $BUILD/$1*
./configure --host=$TARGET_NAME \
--build=$HOST_NAME \
--prefix=/usr \
--sysconfdir=/etc \
--disable-static \
--enable-shared \
--disable-werror \
--disable-debug \
--disable-builddocs \
--enable-largefile \
--disable-builtin-fonts \
--enable-install-libxf86config \
--disable-xselinux \
--enable-aiglx \
--disable-glx-tls \
--enable-registry \
--enable-composite \
--disable-null-root-cursor \
--enable-mitshm \
--disable-xres \
--disable-record \
--enable-xv \
--enable-xvmc \
--enable-dga \
--disable-screensaver \
--disable-xdmcp \
--disable-xdm-auth-1 \
--enable-glx \
--enable-dri \
--disable-dri2 \
--disable-xinerama \
--enable-xf86vidmode \
--disable-xace \
--disable-xcsecurity \
--disable-xcalibrate \
--disable-tslib \
--disable-multibuffer \
--disable-cup \
--disable-evi \
--disable-fontcache \
--enable-dbe \
--disable-xf86bigfont \
--disable-dpms \
--enable-config-dbus \
--enable-config-hal \
--enable-xfree86-utils \
--enable-xorg \
--disable-dmx \
--disable-xvfb \
--disable-xnest \
--disable-xquartz \
--disable-xwin \
--disable-kdrive \
--disable-xephyr \
--disable-xsdl \
--disable-xfake \
--disable-xfbdev \
--disable-install-setuid \
--disable-secure-rpc \
--disable-ipv6 \
--with-gnu-ld \
--enable-install-libxf86config \
--with-os-vendor="OpenELEC" \
--with-mesa-source=`ls -d $ROOT/$BUILD/Mesa*` \
--with-module-dir=$XORG_PATH_MODULES \
--with-xkb-path=$XORG_PATH_XKB \
--with-xkb-output=$XORG_PATH_XKB_OUTPUT \
--with-log-dir=/var/log \
--with-dri-driver-path=$XORG_PATH_DRI \
--with-fontdir=$XORG_PATH_FONTS \
--with-default-font-path="$XORG_PATH_FONTS/misc" \
# --enable-unix-transport \
# --disable-tcp-transport \
# --disable-ipv6 \
# --disable-local-transport \
# --enable-kbd_mode \
# --enable-unix-transport \
# --disable-tcp-transport \
# --disable-local-transport \
make
$STRIP hw/xfree86/Xorg
$STRIP hw/xfree86/utils/gtf/gtf
$STRIP hw/xfree86/shadowfb/.libs/libshadowfb.so
$STRIP hw/xfree86/dixmods/.libs/*.so
$STRIP hw/xfree86/vbe/.libs/libvbe.so
$STRIP hw/xfree86/int10/.libs/libint10.so
$STRIP hw/xfree86/exa/.libs/libexa.so
$STRIP hw/xfree86/vgahw/.libs/libvgahw.so
$STRIP hw/xfree86/xaa/.libs/libxaa.so
$STRIP hw/xfree86/xf8_16bpp/.libs/libxf8_16bpp.so
$STRIP hw/xfree86/dixmods/extmod/.libs/libextmod.so
$STRIP hw/xfree86/dri/.libs/libdri.so
$STRIP hw/xfree86/fbdevhw/.libs/libfbdevhw.so
$STRIP hw/xfree86/i2c/.libs/*_drv.so
make DESTDIR=$SYSROOT_PREFIX install

View File

@ -1,67 +0,0 @@
#!/bin/sh
. config/options
$SCRIPTS/install libpciaccess
$SCRIPTS/install freetype
$SCRIPTS/install libX11
#$SCRIPTS/install libXfont
#$SCRIPTS/install libxkbfile
$SCRIPTS/install libXv
#$SCRIPTS/install libXvMC
$SCRIPTS/install libdrm
$SCRIPTS/install Mesa
$SCRIPTS/install pixman
$SCRIPTS/install dbus
$SCRIPTS/install hal
XORG_SRC="$BUILD/$1*/hw/xfree86"
XORG_DST="$INSTALL/$XORG_PATH_MODULES"
mkdir -p $INSTALL/usr/bin
cp $XORG_SRC/Xorg $INSTALL/usr/bin
ln -sf /usr/bin/Xorg $INSTALL/usr/bin/X
cp $XORG_SRC/utils/gtf/gtf $INSTALL/usr/bin
#opt:
cp $XORG_SRC/utils/cvt/cvt $INSTALL/usr/bin
#mkdir -p $INSTALL/usr/lib
#cp $XORG_SRC/parser/.libs/libxf86config.so.* $INSTALL/usr/lib
mkdir -p $XORG_DST
cp $XORG_SRC/shadowfb/.libs/libshadowfb.so $XORG_DST
cp $XORG_SRC/dixmods/.libs/libfb.so $XORG_DST
cp $XORG_SRC/dixmods/.libs/libwfb.so $XORG_DST
cp $XORG_SRC/dixmods/.libs/libshadow.so $XORG_DST
cp $XORG_SRC/vbe/.libs/libvbe.so $XORG_DST
cp $XORG_SRC/int10/.libs/libint10.so $XORG_DST
cp $XORG_SRC/exa/.libs/libexa.so $XORG_DST
cp $XORG_SRC/vgahw/.libs/libvgahw.so $XORG_DST
cp $XORG_SRC/xaa/.libs/libxaa.so $XORG_DST
cp $XORG_SRC/xf8_16bpp/.libs/libxf8_16bpp.so $XORG_DST
mkdir -p $XORG_DST/extensions
cp $XORG_SRC/dixmods/.libs/libdbe.so $XORG_DST/extensions
cp $XORG_SRC/dixmods/.libs/libglx.so $XORG_DST/extensions
cp $XORG_SRC/dixmods/extmod/.libs/libextmod.so $XORG_DST/extensions
cp $XORG_SRC/dri/.libs/libdri.so $XORG_DST/extensions
#cp $XORG_SRC/dri2/.libs/libdri2.so $XORG_DST/extensions
#mkdir -p $XORG_DST/fonts
#cp $XORG_SRC/dixmods/.libs/libfreetype.so $XORG_DST/fonts
mkdir -p $XORG_DST/linux
cp $XORG_SRC/fbdevhw/.libs/libfbdevhw.so $XORG_DST/linux
mkdir -p $XORG_DST/multimedia
cp $XORG_SRC/i2c/.libs/*_drv.so $XORG_DST/multimedia
mkdir -p $INSTALL/etc/X11
cp $BUILD/$1*/dix/protocol.txt $INSTALL/usr/lib/xorg
mkdir -p $INSTALL/etc/dbus-1/system.d
cp $BUILD/$1*/config/xorg-server.conf $INSTALL/etc/dbus-1/system.d
mkdir -p $INSTALL/usr/share/hal/fdi/policy/10osvendor/
cp $BUILD/$1*/config/x11-input.fdi $INSTALL/usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi

View File

@ -1,12 +0,0 @@
diff -Naur xorg-server-1.5.2.orig/dix/registry.c xorg-server-1.5.2/dix/registry.c
--- xorg-server-1.5.2.orig/dix/registry.c 2008-10-11 14:11:31.000000000 +0200
+++ xorg-server-1.5.2/dix/registry.c 2008-10-11 14:12:27.000000000 +0200
@@ -32,7 +32,7 @@
#define BASE_SIZE 16
#define CORE "X11"
-#define FILENAME SERVER_MISC_CONFIG_PATH "/protocol.txt"
+#define FILENAME "/etc/X11/protocol.txt"
#define PROT_COMMENT '#'
#define PROT_REQUEST 'R'

View File

@ -1,85 +0,0 @@
From: Adam Jackson <ajax@redhat.com>
Date: Sun, 28 Oct 2007 09:37:52 +0100
Subject: [PATCH] Fedora extra modes list
---
Index: xorg-server/hw/xfree86/common/extramodes
===================================================================
--- xorg-server.orig/hw/xfree86/common/extramodes
+++ xorg-server/hw/xfree86/common/extramodes
@@ -3,16 +3,75 @@
//
// $XFree86: xc/programs/Xserver/hw/xfree86/etc/extramodes,v 1.5 2002/06/05 19:43:05 dawes Exp $
//
+// NOTE: Please keep all video modes sorted in order of X res, then Y res for
+// ease of maintenance and readability.
# 832x624 @ 75Hz (74.55Hz) (fix if the official/Apple spec is different) hsync: 49.725kHz
ModeLine "832x624" 57.284 832 864 928 1152 624 625 628 667 -Hsync -Vsync
+# 1152x864 @ 60.00 Hz (GTF) hsync: 53.70 kHz; pclk: 81.62 MHz
+Modeline "1152x864" 81.62 1152 1216 1336 1520 864 865 868 895 -HSync +Vsync
+
+# 1152x864 @ 70.00 Hz (GTF) hsync: 63.00 kHz; pclk: 96.77 MHz
+Modeline "1152x864" 96.77 1152 1224 1344 1536 864 865 868 900 -HSync +Vsync
+
+# 1152x864 @ 75.00 Hz (GTF) hsync: 67.65 kHz; pclk: 104.99 MHz
+Modeline "1152x864" 104.99 1152 1224 1352 1552 864 865 868 902 -HSync +Vsync
+
+# 1152x864 @ 85.00 Hz (GTF) hsync: 77.10 kHz; pclk: 119.65 MHz
+Modeline "1152x864" 119.65 1152 1224 1352 1552 864 865 868 907 -HSync +Vsync
+
+# 1152x864 @ 85Hz (Red Hat custom modeline)
+ModeLine "1152x864" 121.5 1152 1216 1344 1568 864 865 868 911 +hsync -vsync
+
+# 1152x864 @ 100.00 Hz (GTF) hsync: 91.50 kHz; pclk: 143.47 MHz
+Modeline "1152x864" 143.47 1152 1232 1360 1568 864 865 868 915 -HSync +Vsync
+
+# 1360x768 59.96 Hz (CVT) hsync: 47.37 kHz; pclk: 72.00 MHz
+Modeline "1360x768" 72.00 1360 1408 1440 1520 768 771 781 790 +hsync -vsync
+
+# 1360x768 59.80 Hz (CVT) hsync: 47.72 kHz; pclk: 84.75 MHz
+Modeline "1360x768" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync
+
# 1400x1050 @ 60Hz (VESA GTF) hsync: 65.5kHz
ModeLine "1400x1050" 122.0 1400 1488 1640 1880 1050 1052 1064 1082 +hsync +vsync
+# 1400x1050 @ 70.00 Hz (GTF) hsync: 76.51 kHz; pclk: 145.06 MHz
+Modeline "1400x1050" 145.06 1400 1496 1648 1896 1050 1051 1054 1093 -HSync +Vsync
+
# 1400x1050 @ 75Hz (VESA GTF) hsync: 82.2kHz
ModeLine "1400x1050" 155.8 1400 1464 1784 1912 1050 1052 1064 1090 +hsync +vsync
+# 1400x1050 @ 85.00 Hz (GTF) hsync: 93.76 kHz; pclk: 179.26 MHz
+Modeline "1400x1050" 179.26 1400 1504 1656 1912 1050 1051 1054 1103 -HSync +Vsync
+
+# 1440x900 @ 60.00 Hz (CVT) field rate 59.89 Hz; hsync: 55.93 kHz; pclk: 106.50 MHz
+Modeline "1440x900" 106.50 1440 1520 1672 1904 900 903 909 934 -HSync +Vsync
+
+# 1600x1024 for SGI 1600 SW
+ModeLine "1600x1024" 103.125 1600 1600 1656 1664 1024 1024 1029 1030 +Hsync +Vsync
+
+# 1680x1050 59.88 Hz (CVT 1.76MA-R) hsync: 64.67 kHz; pclk: 119.00 MHz
+Modeline "1680x1050" 119.00 1680 1728 1760 1840 1050 1053 1059 1080 +hsync -vsync
+
+# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
+Modeline "1680x1050" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
+
+# 1680x1050 69.88 Hz (CVT) hsync: 76.58 kHz; pclk: 174.00 MHz
+Modeline "1680x1050" 174.00 1680 1800 1976 2272 1050 1053 1059 1096 -hsync +vsync
+
+# 1680x1050 74.89 Hz (CVT 1.76MA) hsync: 82.31 kHz; pclk: 187.00 MHz
+Modeline "1680x1050" 187.00 1680 1800 1976 2272 1050 1053 1059 1099 -hsync +vsync
+
+# 1680x1050 84.94 Hz (CVT 1.76MA) hsync: 93.86 kHz; pclk: 214.75 MHz
+Modeline "1680x1050" 214.75 1680 1808 1984 2288 1050 1053 1059 1105 -hsync +vsync
+
+# 1920x1080 59.93 Hz (CVT 2.07M9-R) hsync: 66.59 kHz; pclk: 138.50 MHz
+Modeline "1920x1080" 138.50 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync
+
+# 1920x1200 59.95 Hz (CVT 2.30MA-R) hsync: 74.04 kHz; pclk: 154.00 MHz
+Modeline "1920x1200" 154.00 1920 1968 2000 2080 1200 1203 1209 1235 +hsync -vsync
+
# 1920x1440 @ 85Hz (VESA GTF) hsync: 128.5kHz
Modeline "1920x1440" 341.35 1920 2072 2288 2656 1440 1441 1444 1512 -hsync +vsync

View File

@ -1,41 +0,0 @@
diff -Naur xorg-server-1.5.3-old/os/osdep.h xorg-server-1.5.3-new/os/osdep.h
--- xorg-server-1.5.3-old/os/osdep.h 2008-11-05 08:52:17.000000000 -0800
+++ xorg-server-1.5.3-new/os/osdep.h 2008-11-05 14:26:40.000000000 -0800
@@ -56,7 +56,9 @@
#define BUFSIZE 4096
#define BUFWATERMARK 8192
+#if defined(XDMCP) || defined(HASXDMAUTH)
#include <X11/Xdmcp.h>
+#endif
#ifndef sgi /* SGI defines OPEN_MAX in a useless way */
#ifndef X_NOT_POSIX
@@ -122,9 +124,11 @@
#include <stddef.h>
+#if defined(XDMCP) || defined(HASXDMAUTH)
typedef Bool (*ValidatorFunc)(ARRAY8Ptr Auth, ARRAY8Ptr Data, int packet_type);
typedef Bool (*GeneratorFunc)(ARRAY8Ptr Auth, ARRAY8Ptr Data, int packet_type);
typedef Bool (*AddAuthorFunc)(unsigned name_length, char *name, unsigned data_length, char *data);
+#endif
typedef struct _connectionInput {
struct _connectionInput *next;
@@ -257,6 +261,7 @@
extern int SecureRPCReset (AuthRstCArgs);
#endif
+#ifdef XDMCP
/* in xdmcp.c */
extern void XdmcpUseMsg (void);
extern int XdmcpOptions(int argc, char **argv, int i);
@@ -281,6 +286,7 @@
struct sockaddr_in;
extern void XdmcpRegisterBroadcastAddress (struct sockaddr_in *addr);
+#endif
#ifdef HASXDMAUTH
extern void XdmAuthenticationInit (char *cookie, int cookie_length);

View File

@ -1,47 +0,0 @@
diff -Naur xorg-server-1.4.orig/hw/xfree86/dri/dri.c xorg-server-1.4/hw/xfree86/dri/dri.c
--- xorg-server-1.4.orig/hw/xfree86/dri/dri.c 2008-01-14 19:25:12.000000000 +0100
+++ xorg-server-1.4/hw/xfree86/dri/dri.c 2008-01-14 19:25:41.000000000 +0100
@@ -74,7 +74,7 @@
#define PCI_BUS_NO_DOMAIN(bus) ((bus) & 0xffu)
-#if !defined(PANORAMIX)
+#ifdef PANORAMIX
extern Bool noPanoramiXExtension;
#endif
@@ -308,7 +308,6 @@
drm_context_t * reserved;
int reserved_count;
int i;
- Bool xineramaInCore = FALSE;
DRIEntPrivPtr pDRIEntPriv;
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
DRIContextFlags flags = 0;
@@ -321,21 +320,18 @@
return FALSE;
}
+#ifdef PANORAMIX
/*
* If Xinerama is on, don't allow DRI to initialise. It won't be usable
* anyway.
*/
- if (xf86LoaderCheckSymbol("noPanoramiXExtension"))
- xineramaInCore = TRUE;
-
- if (xineramaInCore) {
- if (!noPanoramiXExtension) {
- DRIDrvMsg(pScreen->myNum, X_WARNING,
+ if (!noPanoramiXExtension) {
+ DRIDrvMsg(pScreen->myNum, X_WARNING,
"Direct rendering is not supported when Xinerama is enabled\n");
return FALSE;
}
- }
-
+#endif /* PANORAMIX */
+
if (!DRIOpenDRMMaster(pScrn, pDRIInfo->SAREASize,
pDRIInfo->busIdString,
pDRIInfo->drmDriverName))

View File

@ -1,12 +0,0 @@
diff -Naur xorg-server-1.4.0.90/hw/xfree86/os-support/linux/lnx_apm.c xorg-server-1.4.0.90.edit/hw/xfree86/os-support/linux/lnx_apm.c
--- xorg-server-1.4.0.90/hw/xfree86/os-support/linux/lnx_apm.c 2007-12-14 00:38:23.000000000 +0100
+++ xorg-server-1.4.0.90.edit/hw/xfree86/os-support/linux/lnx_apm.c 2007-12-14 00:38:18.000000000 +0100
@@ -35,6 +35,8 @@
# define APM_SUSPEND_FAILED 0xf001
#endif
+typedef unsigned short apm_event_t;
+
static PMClose lnxAPMOpen(void);
static void lnxCloseAPM(void);
static pointer APMihPtr = NULL;

View File

@ -1,32 +0,0 @@
/* Upstream commit 56f21bda1ce95741c88c423b60bd709eef26eb12 was supposed to
* only avoid multiple scans of the PCI devices, but it actually also added
* an "optimization" based on using sysfs files instead of /proc. However,
* this code is broken, for instance because there are no ioctl handler on
* /sys/bus/pci/devices/*/config files while there some on /proc/bus/pci/*
*
* It breaks the Xserver on architectures that require such ioctls to scan
* the PCI devices and/or deal with PCI domains:
* #422077: xserver-xorg: Fatal server error on sparc: xf86MapPciMem failed
* #422095: xserver-xorg-core: fails to start on powerpc, no devices detected
*
* The following patch forces the server to behave as if we were running on
* a 2.4 kernel while scanning PCI devices, so that the sysfs code is disabled.
*
* Upstream doesn't apply this patch since they want to fix the sysfs-code.
* See https://bugs.freedesktop.org/show_bug.cgi?id=7248
*
* Thanks to Jim Watson for testing!
*/
diff -Naur xorg-server-1.5.1.orig/hw/xfree86/os-support/bus/linuxPci.c xorg-server-1.5.1/hw/xfree86/os-support/bus/linuxPci.c
--- xorg-server-1.5.1.orig/hw/xfree86/os-support/bus/linuxPci.c 2008-10-04 18:50:24.000000000 +0200
+++ xorg-server-1.5.1/hw/xfree86/os-support/bus/linuxPci.c 2008-10-04 18:52:08.000000000 +0200
@@ -131,7 +131,7 @@
static int fd = -1,is_write = 0;
char file[64];
struct stat ignored;
- static int is26 = -1;
+ static int is26 = 0;
if (dev == NULL) {
return -1;

View File

@ -1,28 +0,0 @@
Index: xorg-server/hw/xfree86/os-support/linux/lnx_init.c
===================================================================
--- xorg-server.orig/hw/xfree86/os-support/linux/lnx_init.c 2008-06-18 10:28:16.000000000 +0300
+++ xorg-server/hw/xfree86/os-support/linux/lnx_init.c 2008-06-18 12:06:06.000000000 +0300
@@ -283,9 +283,7 @@
FatalError("Unable to set screen info\n");
close(fbfd);
#endif
- } else { /* ShareVTs */
- close(xf86Info.consoleFd);
- }
+ }
signal(SIGUSR2, xf86ReloadInputDevs);
} else { /* serverGeneration != 1 */
if (!ShareVTs && VTSwitch)
@@ -314,7 +312,11 @@
int vtno = -1;
#endif
- if (ShareVTs) return;
+ if (ShareVTs)
+ {
+ close(xf86Info.consoleFd);
+ return;
+ }
#if defined(DO_OS_FONTRESTORE)
if (ioctl(xf86Info.consoleFd, VT_GETSTATE, &vts) < 0)

View File

@ -1,32 +0,0 @@
Index: xorg-server/hw/xfree86/os-support/linux/lnx_init.c
===================================================================
--- xorg-server.orig/hw/xfree86/os-support/linux/lnx_init.c 2008-06-18 12:06:06.000000000 +0300
+++ xorg-server/hw/xfree86/os-support/linux/lnx_init.c 2008-06-18 12:06:25.000000000 +0300
@@ -344,10 +344,25 @@
if (VTSwitch)
{
+ struct vt_stat vts;
+
/*
- * Perform a switch back to the active VT when we were started
+ * Perform a switch back to the active VT when we were started.
+ * We cannot rely on vtSema to determine if the server was the
+ * active VT at the time of shutdown since it has already been
+ * released. Instead, we manually check the current VT and
+ * compare it with the VT we were running on.
*/
- if (activeVT >= 0) {
+ if (ioctl(xf86Info.consoleFd, VT_GETSTATE, &vts) < 0)
+ {
+ /* If this failed, fall back to old behaviour
+ * of always switching. */
+ xf86Msg(X_WARNING,"xf86OpenConsole: VT_GETSTATE failed: %s\n",
+ strerror(errno));
+ vts.v_active = xf86Info.vtno;
+ }
+
+ if (activeVT >= 0 && vts.v_active == xf86Info.vtno) {
if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, activeVT) < 0)
xf86Msg(X_WARNING, "xf86CloseConsole: VT_ACTIVATE failed: %s\n",
strerror(errno));

View File

@ -1,43 +0,0 @@
diff -Nurp xorg-server-1.4.99.906-patched/hw/xfree86/common/xf86Events.c xorg-server-1.4.99.906-working/hw/xfree86/common/xf86Events.c
--- xorg-server-1.4.99.906-patched/hw/xfree86/common/xf86Events.c 2008-09-01 13:17:47.000000000 -0700
+++ xorg-server-1.4.99.906-working/hw/xfree86/common/xf86Events.c 2008-09-01 13:19:35.000000000 -0700
@@ -741,6 +741,8 @@ static __inline__ void xorg_backtrace(vo
void
xf86SigHandler(int signo)
{
+ static Bool beenhere = FALSE;
+
if ((signo == SIGILL) && xf86SigIllHandler) {
(*xf86SigIllHandler)();
/* Re-arm handler just in case we unexpectedly return here */
@@ -763,6 +765,30 @@ xf86SigHandler(int signo)
xorg_backtrace();
+ switch (signo) {
+ case SIGSEGV:
+ case SIGBUS:
+ case SIGILL:
+ case SIGFPE:
+ signal(signo,SIG_DFL);
+ ErrorF ("Saw signal %d. Server aborting.\n", signo);
+#ifdef DDXOSFATALERROR
+ if (!beenhere) {
+ OsVendorFatalError();
+ }
+#endif
+#ifdef ABORTONFATALERROR
+ abort();
+#endif
+ if (!beenhere) {
+ beenhere = TRUE;
+ AbortServer();
+ } else {
+ abort();
+ }
+ return;
+ }
+
FatalError("Caught signal %d. Server aborting\n", signo);
}

View File

@ -1,33 +0,0 @@
This patch adds autodetection support for the Poulsbo ("psb") driver
needed by moblin.org for the Intel mobile chipset. Rather than add an
else if, I restructured things with a case statement to make it conform
in style to the savage driver section.
Bryce Harrington 23-Aug-2007
Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c
===================================================================
--- xorg-server.orig/hw/xfree86/common/xf86AutoConfig.c 2008-09-02 10:47:16.000000000 +0300
+++ xorg-server/hw/xfree86/common/xf86AutoConfig.c 2008-09-02 10:58:57.000000000 +0300
@@ -166,11 +166,16 @@
case 0x102c: driverList[0] = "chips"; break;
case 0x1013: driverList[0] = "cirrus"; break;
case 0x8086:
- if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) {
- driverList[0] = "i740";
- } else {
- driverList[0] = "intel";
- driverList[1] = "i810";
+ switch (dev->device_id)
+ {
+ case 0x00d1: case 0x7800:
+ driverList[0] = "i740"; break;
+ case 0x8108:
+ driverList[0] = "psb"; break;
+ default:
+ driverList[0] = "intel";
+ driverList[1] = "i810";
+ break;
}
break;
case 0x102b: driverList[0] = "mga"; break;

View File

@ -1,65 +0,0 @@
From 42967c6187c85e85a8a409842951f98df6a7f2f4 Mon Sep 17 00:00:00 2001
From: Yan Li <yan.i.li@intel.com>
Date: Tue, 20 Jan 2009 14:32:32 +0800
Subject: [PATCH] Wait for hald during initialization when necessary
hald might not be ready when we need it, wait for it for a few seconds
Signed-off-by: Yan Li <yan.i.li@intel.com>
---
config/hal.c | 24 ++++++++++++++++++++----
1 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/config/hal.c b/config/hal.c
index 8dfbb07..bcc05bc 100644
--- a/config/hal.c
+++ b/config/hal.c
@@ -32,6 +32,7 @@
#include <hal/libhal.h>
#include <string.h>
#include <sys/select.h>
+#include <unistd.h>
#include "input.h"
#include "inputstr.h"
@@ -475,6 +476,10 @@ connect_hook(DBusConnection *connection, void *data)
char **devices;
int num_devices, i;
+ /* hald might not finish it's init yet, we'll wait for it for 2s */
+ unsigned int wait_for_hal = 2 * 1000000;
+ const unsigned int wait_for_hal_sleep_time = 100 * 1000;
+
info->system_bus = connection;
dbus_error_init(&error);
@@ -490,11 +495,22 @@ connect_hook(DBusConnection *connection, void *data)
LogMessage(X_ERROR, "config/hal: couldn't associate HAL context with bus\n");
goto out_ctx;
}
- if (!libhal_ctx_init(info->hal_ctx, &error)) {
- LogMessage(X_ERROR, "config/hal: couldn't initialise context: %s (%s)\n",
- error.name, error.message);
- goto out_ctx;
+
+ /* hald might not be ready now, waiting for it for a few seconds */
+ while (wait_for_hal >= wait_for_hal_sleep_time)
+ {
+ if (libhal_ctx_init(info->hal_ctx, &error))
+ goto ctx_init_done;
+
+ LogMessage(X_INFO, "config/hal: waiting for hald...\n");
+ usleep (wait_for_hal_sleep_time);
+ wait_for_hal -= wait_for_hal_sleep_time;
}
+ LogMessage(X_ERROR, "config/hal: couldn't initialise context: %s (%s)\n",
+ error.name, error.message);
+ goto out_ctx;
+
+ctx_init_done:
if (!libhal_device_property_watch_all(info->hal_ctx, &error)) {
LogMessage(X_ERROR, "config/hal: couldn't watch all properties: %s (%s)\n",
error.name, error.message);
--
1.5.6.5

View File

@ -1,38 +0,0 @@
diff --git a/os/log.c b/os/log.c
index 0860847..2c46f1a 100644
--- a/os/log.c
+++ b/os/log.c
@@ -255,6 +255,33 @@ LogVWrite(int verb, const char *f, va_list args)
static char tmpBuffer[1024];
int len = 0;
+ struct timeval time;
+ time_t tv_sec;
+ suseconds_t tv_usec;
+ static Bool first = TRUE;
+ static time_t start_tv_sec;
+ static suseconds_t start_usec;
+ int diff_sec, diff_usec;
+
+ gettimeofday(&time, NULL);
+ tv_sec = time.tv_sec;
+ tv_usec = time.tv_usec;
+ if (first == TRUE) {
+ start_tv_sec = tv_sec;
+ start_usec = tv_usec;
+ first = FALSE;
+ }
+ diff_sec = (int)difftime(tv_sec, start_tv_sec);
+ diff_usec = (tv_usec - start_usec);
+ if (diff_usec < 0) {
+ diff_sec--;
+ diff_usec += 1000000;
+ }
+ sprintf(tmpBuffer, "[%d sec: %06d usec]", diff_sec , diff_usec);
+ len = strlen(tmpBuffer);
+ if (logFile)
+ fwrite(tmpBuffer, len, 1, logFile);
+
/*
* Since a va_list can only be processed once, write the string to a
* buffer, and then write the buffer out to the appropriate output

View File

@ -1 +0,0 @@
http://sources.openelec.tv/svn/xorg-server-1.5.99.902.tar.bz2

View File

@ -1,156 +0,0 @@
#!/bin/sh
. config/options
XORG_SRC="$BUILD/$1*/hw/xfree86"
$SCRIPTS/build toolchain
$SCRIPTS/build xf86driproto
$SCRIPTS/build randrproto
$SCRIPTS/build renderproto
$SCRIPTS/build scrnsaverproto
$SCRIPTS/build resourceproto
$SCRIPTS/build videoproto
$SCRIPTS/build compositeproto
$SCRIPTS/build xineramaproto
$SCRIPTS/build xf86dgaproto
$SCRIPTS/build xf86miscproto
$SCRIPTS/build libpciaccess
$SCRIPTS/build libX11
$SCRIPTS/build libXfont
$SCRIPTS/build libxkbfile
$SCRIPTS/build libXv
$SCRIPTS/build libXvMC
$SCRIPTS/build libdrm
$SCRIPTS/build Mesa
$SCRIPTS/build openssl
$SCRIPTS/build freetype
$SCRIPTS/build libfontenc
$SCRIPTS/build pixman
$SCRIPTS/build fontsproto
#$SCRIPTS/build fontcacheproto
$SCRIPTS/build dbus
$SCRIPTS/build hal
#fixesproto
#damageproto
#xcmiscproto
#xextproto
#xproto
#xtrans
#bigreqsproto
#inputproto
#kbproto
#xineramaproto
cd $BUILD/$1*
./configure --host=$TARGET_NAME \
--build=$HOST_NAME \
--prefix=/usr \
--sysconfdir=/etc \
--disable-static \
--enable-shared \
--disable-werror \
--disable-debug \
--disable-builddocs \
--enable-largefile \
--disable-builtin-fonts \
--enable-install-libxf86config \
--enable-aiglx \
--disable-glx-tls \
--enable-registry \
--enable-composite \
--disable-null-root-cursor \
--enable-mitshm \
--disable-xres \
--disable-xtrap \
--disable-record \
--enable-xv \
--enable-xvmc \
--enable-dga \
--disable-screensaver \
--disable-xdmcp \
--disable-xdm-auth-1 \
--enable-glx \
--enable-dri \
--disable-dri2 \
--enable-xinerama \
--enable-xf86vidmode \
--enable-xf86misc \
--disable-xace \
--disable-xcsecurity \
--disable-appgroup \
--disable-xcalibrate \
--disable-tslib \
--disable-xevie \
--disable-cup \
--disable-evi \
--disable-multibuffer \
--disable-fontcache \
--enable-dbe \
--disable-xf86bigfont \
--disable-dpms \
--enable-config-dbus \
--enable-config-hal \
--enable-xfree86-utils \
--enable-xorg \
--disable-dmx \
--disable-xvfb \
--disable-xnest \
--disable-xquartz \
--disable-x11app \
--disable-xwin \
--disable-xprint \
--disable-xgl \
--disable-xglx \
--disable-xegl \
--disable-mfb \
--disable-cfb \
--disable-afb \
--disable-kdrive \
--disable-xephyr \
--disable-xsdl \
--disable-xfake \
--disable-xfbdev \
--disable-kdrive-vesa \
--disable-freetype \
--disable-install-setuid \
--disable-secure-rpc \
--disable-xorgcfg \
--enable-kbd_mode \
--disable-ipv6 \
--with-gnu-ld \
--with-os-vendor="OpenELEC" \
--with-mesa-source=`ls -d $ROOT/$BUILD/Mesa*` \
--with-module-dir=$XORG_PATH_MODULES \
--with-xkb-path=$XORG_PATH_XKB \
--with-xkb-output=$XORG_PATH_XKB_OUTPUT \
--with-log-dir=/var/log \
--with-dri-driver-path=$XORG_PATH_DRI \
--with-fontdir=$XORG_PATH_FONTS \
--with-rgb-path=$XORG_PATH_RGB \
--with-default-font-path="$XORG_PATH_FONTS/misc"
# --enable-unix-transport \
# --disable-tcp-transport \
# --disable-local-transport \
make
$STRIP hw/xfree86/Xorg
$STRIP hw/xfree86/utils/gtf/gtf
$STRIP hw/xfree86/shadowfb/.libs/libshadowfb.so
$STRIP hw/xfree86/dixmods/.libs/*.so
$STRIP hw/xfree86/vbe/.libs/libvbe.so
$STRIP hw/xfree86/int10/.libs/libint10.so
$STRIP hw/xfree86/exa/.libs/libexa.so
$STRIP hw/xfree86/vgahw/.libs/libvgahw.so
$STRIP hw/xfree86/xaa/.libs/libxaa.so
$STRIP hw/xfree86/xf8_16bpp/.libs/libxf8_16bpp.so
$STRIP hw/xfree86/dixmods/extmod/.libs/libextmod.so
$STRIP hw/xfree86/dri/.libs/libdri.so
$STRIP hw/xfree86/fbdevhw/.libs/libfbdevhw.so
$STRIP hw/xfree86/i2c/.libs/*_drv.so
make DESTDIR=$SYSROOT_PREFIX install

View File

@ -1,57 +0,0 @@
#!/bin/sh
. config/options
$SCRIPTS/install libpciaccess
$SCRIPTS/install freetype
$SCRIPTS/install libX11
#$SCRIPTS/install libXfont
#$SCRIPTS/install libxkbfile
$SCRIPTS/install libXv
#$SCRIPTS/install libXvMC
$SCRIPTS/install libdrm
$SCRIPTS/install Mesa
$SCRIPTS/install pixman
$SCRIPTS/install dbus
$SCRIPTS/install hal
XORG_SRC="$BUILD/$1*/hw/xfree86"
XORG_DST="$INSTALL/$XORG_PATH_MODULES"
mkdir -p $INSTALL/usr/bin
cp $XORG_SRC/Xorg $INSTALL/usr/bin
ln -sf /usr/bin/Xorg $INSTALL/usr/bin/X
cp $XORG_SRC/utils/gtf/gtf $INSTALL/usr/bin
mkdir -p $XORG_DST
cp $XORG_SRC/shadowfb/.libs/libshadowfb.so $XORG_DST
cp $XORG_SRC/dixmods/.libs/libfb.so $XORG_DST
cp $XORG_SRC/dixmods/.libs/libwfb.so $XORG_DST
cp $XORG_SRC/dixmods/.libs/libshadow.so $XORG_DST
cp $XORG_SRC/vbe/.libs/libvbe.so $XORG_DST
cp $XORG_SRC/int10/.libs/libint10.so $XORG_DST
cp $XORG_SRC/exa/.libs/libexa.so $XORG_DST
cp $XORG_SRC/vgahw/.libs/libvgahw.so $XORG_DST
cp $XORG_SRC/xaa/.libs/libxaa.so $XORG_DST
cp $XORG_SRC/xf8_16bpp/.libs/libxf8_16bpp.so $XORG_DST
mkdir -p $XORG_DST/extensions
cp $XORG_SRC/dixmods/.libs/libdbe.so $XORG_DST/extensions
cp $XORG_SRC/dixmods/.libs/libglx.so $XORG_DST/extensions
cp $XORG_SRC/dixmods/extmod/.libs/libextmod.so $XORG_DST/extensions
cp $XORG_SRC/dri/.libs/libdri.so $XORG_DST/extensions
mkdir -p $XORG_DST/fonts
cp $XORG_SRC/dixmods/.libs/libfreetype.so $XORG_DST/fonts
mkdir -p $XORG_DST/linux
cp $XORG_SRC/fbdevhw/.libs/libfbdevhw.so $XORG_DST/linux
mkdir -p $XORG_DST/multimedia
cp $XORG_SRC/i2c/.libs/*_drv.so $XORG_DST/multimedia
mkdir -p $INSTALL/etc/X11
cp $BUILD/$1*/dix/protocol.txt $INSTALL/etc/X11
mkdir -p $INSTALL/etc/dbus-1/system.d
cp $BUILD/$1*/config/xorg-server.conf $INSTALL/etc/dbus-1/system.d

View File

@ -1,12 +0,0 @@
diff -Naur xorg-server-1.5.2.orig/dix/registry.c xorg-server-1.5.2/dix/registry.c
--- xorg-server-1.5.2.orig/dix/registry.c 2008-10-11 14:11:31.000000000 +0200
+++ xorg-server-1.5.2/dix/registry.c 2008-10-11 14:12:27.000000000 +0200
@@ -32,7 +32,7 @@
#define BASE_SIZE 16
#define CORE "X11"
-#define FILENAME SERVER_MISC_CONFIG_PATH "/protocol.txt"
+#define FILENAME "/etc/X11/protocol.txt"
#define PROT_COMMENT '#'
#define PROT_REQUEST 'R'

View File

@ -1,85 +0,0 @@
From: Adam Jackson <ajax@redhat.com>
Date: Sun, 28 Oct 2007 09:37:52 +0100
Subject: [PATCH] Fedora extra modes list
---
Index: xorg-server/hw/xfree86/common/extramodes
===================================================================
--- xorg-server.orig/hw/xfree86/common/extramodes
+++ xorg-server/hw/xfree86/common/extramodes
@@ -3,16 +3,75 @@
//
// $XFree86: xc/programs/Xserver/hw/xfree86/etc/extramodes,v 1.5 2002/06/05 19:43:05 dawes Exp $
//
+// NOTE: Please keep all video modes sorted in order of X res, then Y res for
+// ease of maintenance and readability.
# 832x624 @ 75Hz (74.55Hz) (fix if the official/Apple spec is different) hsync: 49.725kHz
ModeLine "832x624" 57.284 832 864 928 1152 624 625 628 667 -Hsync -Vsync
+# 1152x864 @ 60.00 Hz (GTF) hsync: 53.70 kHz; pclk: 81.62 MHz
+Modeline "1152x864" 81.62 1152 1216 1336 1520 864 865 868 895 -HSync +Vsync
+
+# 1152x864 @ 70.00 Hz (GTF) hsync: 63.00 kHz; pclk: 96.77 MHz
+Modeline "1152x864" 96.77 1152 1224 1344 1536 864 865 868 900 -HSync +Vsync
+
+# 1152x864 @ 75.00 Hz (GTF) hsync: 67.65 kHz; pclk: 104.99 MHz
+Modeline "1152x864" 104.99 1152 1224 1352 1552 864 865 868 902 -HSync +Vsync
+
+# 1152x864 @ 85.00 Hz (GTF) hsync: 77.10 kHz; pclk: 119.65 MHz
+Modeline "1152x864" 119.65 1152 1224 1352 1552 864 865 868 907 -HSync +Vsync
+
+# 1152x864 @ 85Hz (Red Hat custom modeline)
+ModeLine "1152x864" 121.5 1152 1216 1344 1568 864 865 868 911 +hsync -vsync
+
+# 1152x864 @ 100.00 Hz (GTF) hsync: 91.50 kHz; pclk: 143.47 MHz
+Modeline "1152x864" 143.47 1152 1232 1360 1568 864 865 868 915 -HSync +Vsync
+
+# 1360x768 59.96 Hz (CVT) hsync: 47.37 kHz; pclk: 72.00 MHz
+Modeline "1360x768" 72.00 1360 1408 1440 1520 768 771 781 790 +hsync -vsync
+
+# 1360x768 59.80 Hz (CVT) hsync: 47.72 kHz; pclk: 84.75 MHz
+Modeline "1360x768" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync
+
# 1400x1050 @ 60Hz (VESA GTF) hsync: 65.5kHz
ModeLine "1400x1050" 122.0 1400 1488 1640 1880 1050 1052 1064 1082 +hsync +vsync
+# 1400x1050 @ 70.00 Hz (GTF) hsync: 76.51 kHz; pclk: 145.06 MHz
+Modeline "1400x1050" 145.06 1400 1496 1648 1896 1050 1051 1054 1093 -HSync +Vsync
+
# 1400x1050 @ 75Hz (VESA GTF) hsync: 82.2kHz
ModeLine "1400x1050" 155.8 1400 1464 1784 1912 1050 1052 1064 1090 +hsync +vsync
+# 1400x1050 @ 85.00 Hz (GTF) hsync: 93.76 kHz; pclk: 179.26 MHz
+Modeline "1400x1050" 179.26 1400 1504 1656 1912 1050 1051 1054 1103 -HSync +Vsync
+
+# 1440x900 @ 60.00 Hz (CVT) field rate 59.89 Hz; hsync: 55.93 kHz; pclk: 106.50 MHz
+Modeline "1440x900" 106.50 1440 1520 1672 1904 900 903 909 934 -HSync +Vsync
+
+# 1600x1024 for SGI 1600 SW
+ModeLine "1600x1024" 103.125 1600 1600 1656 1664 1024 1024 1029 1030 +Hsync +Vsync
+
+# 1680x1050 59.88 Hz (CVT 1.76MA-R) hsync: 64.67 kHz; pclk: 119.00 MHz
+Modeline "1680x1050" 119.00 1680 1728 1760 1840 1050 1053 1059 1080 +hsync -vsync
+
+# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
+Modeline "1680x1050" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
+
+# 1680x1050 69.88 Hz (CVT) hsync: 76.58 kHz; pclk: 174.00 MHz
+Modeline "1680x1050" 174.00 1680 1800 1976 2272 1050 1053 1059 1096 -hsync +vsync
+
+# 1680x1050 74.89 Hz (CVT 1.76MA) hsync: 82.31 kHz; pclk: 187.00 MHz
+Modeline "1680x1050" 187.00 1680 1800 1976 2272 1050 1053 1059 1099 -hsync +vsync
+
+# 1680x1050 84.94 Hz (CVT 1.76MA) hsync: 93.86 kHz; pclk: 214.75 MHz
+Modeline "1680x1050" 214.75 1680 1808 1984 2288 1050 1053 1059 1105 -hsync +vsync
+
+# 1920x1080 59.93 Hz (CVT 2.07M9-R) hsync: 66.59 kHz; pclk: 138.50 MHz
+Modeline "1920x1080" 138.50 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync
+
+# 1920x1200 59.95 Hz (CVT 2.30MA-R) hsync: 74.04 kHz; pclk: 154.00 MHz
+Modeline "1920x1200" 154.00 1920 1968 2000 2080 1200 1203 1209 1235 +hsync -vsync
+
# 1920x1440 @ 85Hz (VESA GTF) hsync: 128.5kHz
Modeline "1920x1440" 341.35 1920 2072 2288 2656 1440 1441 1444 1512 -hsync +vsync

View File

@ -1,41 +0,0 @@
diff -Naur xorg-server-1.5.3-old/os/osdep.h xorg-server-1.5.3-new/os/osdep.h
--- xorg-server-1.5.3-old/os/osdep.h 2008-11-05 08:52:17.000000000 -0800
+++ xorg-server-1.5.3-new/os/osdep.h 2008-11-05 14:26:40.000000000 -0800
@@ -56,7 +56,9 @@
#define BUFSIZE 4096
#define BUFWATERMARK 8192
+#if defined(XDMCP) || defined(HASXDMAUTH)
#include <X11/Xdmcp.h>
+#endif
#ifndef sgi /* SGI defines OPEN_MAX in a useless way */
#ifndef X_NOT_POSIX
@@ -122,9 +124,11 @@
#include <stddef.h>
+#if defined(XDMCP) || defined(HASXDMAUTH)
typedef Bool (*ValidatorFunc)(ARRAY8Ptr Auth, ARRAY8Ptr Data, int packet_type);
typedef Bool (*GeneratorFunc)(ARRAY8Ptr Auth, ARRAY8Ptr Data, int packet_type);
typedef Bool (*AddAuthorFunc)(unsigned name_length, char *name, unsigned data_length, char *data);
+#endif
typedef struct _connectionInput {
struct _connectionInput *next;
@@ -257,6 +261,7 @@
extern int SecureRPCReset (AuthRstCArgs);
#endif
+#ifdef XDMCP
/* in xdmcp.c */
extern void XdmcpUseMsg (void);
extern int XdmcpOptions(int argc, char **argv, int i);
@@ -281,6 +286,7 @@
struct sockaddr_in;
extern void XdmcpRegisterBroadcastAddress (struct sockaddr_in *addr);
+#endif
#ifdef HASXDMAUTH
extern void XdmAuthenticationInit (char *cookie, int cookie_length);

View File

@ -1,47 +0,0 @@
diff -Naur xorg-server-1.4.orig/hw/xfree86/dri/dri.c xorg-server-1.4/hw/xfree86/dri/dri.c
--- xorg-server-1.4.orig/hw/xfree86/dri/dri.c 2008-01-14 19:25:12.000000000 +0100
+++ xorg-server-1.4/hw/xfree86/dri/dri.c 2008-01-14 19:25:41.000000000 +0100
@@ -74,7 +74,7 @@
#define PCI_BUS_NO_DOMAIN(bus) ((bus) & 0xffu)
-#if !defined(PANORAMIX)
+#ifdef PANORAMIX
extern Bool noPanoramiXExtension;
#endif
@@ -308,7 +308,6 @@
drm_context_t * reserved;
int reserved_count;
int i;
- Bool xineramaInCore = FALSE;
DRIEntPrivPtr pDRIEntPriv;
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
DRIContextFlags flags = 0;
@@ -321,21 +320,18 @@
return FALSE;
}
+#ifdef PANORAMIX
/*
* If Xinerama is on, don't allow DRI to initialise. It won't be usable
* anyway.
*/
- if (xf86LoaderCheckSymbol("noPanoramiXExtension"))
- xineramaInCore = TRUE;
-
- if (xineramaInCore) {
- if (!noPanoramiXExtension) {
- DRIDrvMsg(pScreen->myNum, X_WARNING,
+ if (!noPanoramiXExtension) {
+ DRIDrvMsg(pScreen->myNum, X_WARNING,
"Direct rendering is not supported when Xinerama is enabled\n");
return FALSE;
}
- }
-
+#endif /* PANORAMIX */
+
if (!DRIOpenDRMMaster(pScrn, pDRIInfo->SAREASize,
pDRIInfo->busIdString,
pDRIInfo->drmDriverName))

View File

@ -1,12 +0,0 @@
diff -Naur xorg-server-1.4.0.90/hw/xfree86/os-support/linux/lnx_apm.c xorg-server-1.4.0.90.edit/hw/xfree86/os-support/linux/lnx_apm.c
--- xorg-server-1.4.0.90/hw/xfree86/os-support/linux/lnx_apm.c 2007-12-14 00:38:23.000000000 +0100
+++ xorg-server-1.4.0.90.edit/hw/xfree86/os-support/linux/lnx_apm.c 2007-12-14 00:38:18.000000000 +0100
@@ -35,6 +35,8 @@
# define APM_SUSPEND_FAILED 0xf001
#endif
+typedef unsigned short apm_event_t;
+
static PMClose lnxAPMOpen(void);
static void lnxCloseAPM(void);
static pointer APMihPtr = NULL;

View File

@ -1,11 +0,0 @@
--- xorg-server-1.4.0.90.orig/hw/xfree86/os-support/linux/Makefile.in 2008-02-22 16:56:43.000000000 +0100
+++ xorg-server-1.4.0.90/hw/xfree86/os-support/linux/Makefile.in 2008-02-22 16:57:07.000000000 +0100
@@ -412,7 +412,7 @@
$(PLATFORM_PCI_SUPPORT)
AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(DIX_CFLAGS) $(XORG_CFLAGS) $(PLATFORM_DEFINES)
-INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) -I/usr/include/drm # FIXME this last part is crack
+INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES)
# FIXME: These need to be added to the build
LNX_EXTRA_SRCS = \

View File

@ -1,121 +0,0 @@
diff -Naur xorg-server-1.4.99.906.orig/configure xorg-server-1.4.99.906/configure
--- xorg-server-1.4.99.906.orig/configure 2008-07-23 22:41:01.000000000 +0200
+++ xorg-server-1.4.99.906/configure 2008-07-23 22:47:25.000000000 +0200
@@ -30476,12 +30476,12 @@
pkg_cv_GL_CFLAGS="$GL_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glproto >= 1.4.9 gl >= 7.1.0\"") >&5
- ($PKG_CONFIG --exists --print-errors "glproto >= 1.4.9 gl >= 7.1.0") 2>&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glproto >= 1.4.9\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glproto >= 1.4.9") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- pkg_cv_GL_CFLAGS=`$PKG_CONFIG --cflags "glproto >= 1.4.9 gl >= 7.1.0" 2>/dev/null`
+ pkg_cv_GL_CFLAGS=`$PKG_CONFIG --cflags "glproto >= 1.4.9" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -30492,12 +30492,12 @@
pkg_cv_GL_LIBS="$GL_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glproto >= 1.4.9 gl >= 7.1.0\"") >&5
- ($PKG_CONFIG --exists --print-errors "glproto >= 1.4.9 gl >= 7.1.0") 2>&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glproto >= 1.4.9\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glproto >= 1.4.9") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- pkg_cv_GL_LIBS=`$PKG_CONFIG --libs "glproto >= 1.4.9 gl >= 7.1.0" 2>/dev/null`
+ pkg_cv_GL_LIBS=`$PKG_CONFIG --libs "glproto >= 1.4.9" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -30515,14 +30515,14 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- GL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glproto >= 1.4.9 gl >= 7.1.0" 2>&1`
+ GL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glproto >= 1.4.9" 2>&1`
else
- GL_PKG_ERRORS=`$PKG_CONFIG --print-errors "glproto >= 1.4.9 gl >= 7.1.0" 2>&1`
+ GL_PKG_ERRORS=`$PKG_CONFIG --print-errors "glproto >= 1.4.9" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$GL_PKG_ERRORS" >&5
- { { $as_echo "$as_me:$LINENO: error: Package requirements (glproto >= 1.4.9 gl >= 7.1.0) were not met:
+ { { $as_echo "$as_me:$LINENO: error: Package requirements (glproto >= 1.4.9) were not met:
$GL_PKG_ERRORS
@@ -30533,7 +30533,7 @@
and GL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
" >&5
-$as_echo "$as_me: error: Package requirements (glproto >= 1.4.9 gl >= 7.1.0) were not met:
+$as_echo "$as_me: error: Package requirements (glproto >= 1.4.9) were not met:
$GL_PKG_ERRORS
@@ -30856,12 +30856,12 @@
pkg_cv_GL_CFLAGS="$GL_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glproto >= 1.4.1 gl >= 7.1.0\"") >&5
- ($PKG_CONFIG --exists --print-errors "glproto >= 1.4.1 gl >= 7.1.0") 2>&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glproto >= 1.4.1\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glproto >= 1.4.1") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- pkg_cv_GL_CFLAGS=`$PKG_CONFIG --cflags "glproto >= 1.4.1 gl >= 7.1.0" 2>/dev/null`
+ pkg_cv_GL_CFLAGS=`$PKG_CONFIG --cflags "glproto >= 1.4.1" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -30872,12 +30872,12 @@
pkg_cv_GL_LIBS="$GL_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glproto >= 1.4.1 gl >= 7.1.0\"") >&5
- ($PKG_CONFIG --exists --print-errors "glproto >= 1.4.1 gl >= 7.1.0") 2>&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glproto >= 1.4.1\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glproto >= 1.4.1") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- pkg_cv_GL_LIBS=`$PKG_CONFIG --libs "glproto >= 1.4.1 gl >= 7.1.0" 2>/dev/null`
+ pkg_cv_GL_LIBS=`$PKG_CONFIG --libs "glproto >= 1.4.1" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -30895,14 +30895,14 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- GL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glproto >= 1.4.1 gl >= 7.1.0" 2>&1`
+ GL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glproto >= 1.4.1" 2>&1`
else
- GL_PKG_ERRORS=`$PKG_CONFIG --print-errors "glproto >= 1.4.1 gl >= 7.1.0" 2>&1`
+ GL_PKG_ERRORS=`$PKG_CONFIG --print-errors "glproto >= 1.4.1" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$GL_PKG_ERRORS" >&5
- { { $as_echo "$as_me:$LINENO: error: Package requirements (glproto >= 1.4.1 gl >= 7.1.0) were not met:
+ { { $as_echo "$as_me:$LINENO: error: Package requirements (glproto >= 1.4.1) were not met:
$GL_PKG_ERRORS
@@ -30913,7 +30913,7 @@
and GL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
" >&5
-$as_echo "$as_me: error: Package requirements (glproto >= 1.4.1 gl >= 7.1.0) were not met:
+$as_echo "$as_me: error: Package requirements (glproto >= 1.4.1) were not met:
$GL_PKG_ERRORS

View File

@ -1,32 +0,0 @@
/* Upstream commit 56f21bda1ce95741c88c423b60bd709eef26eb12 was supposed to
* only avoid multiple scans of the PCI devices, but it actually also added
* an "optimization" based on using sysfs files instead of /proc. However,
* this code is broken, for instance because there are no ioctl handler on
* /sys/bus/pci/devices/*/config files while there some on /proc/bus/pci/*
*
* It breaks the Xserver on architectures that require such ioctls to scan
* the PCI devices and/or deal with PCI domains:
* #422077: xserver-xorg: Fatal server error on sparc: xf86MapPciMem failed
* #422095: xserver-xorg-core: fails to start on powerpc, no devices detected
*
* The following patch forces the server to behave as if we were running on
* a 2.4 kernel while scanning PCI devices, so that the sysfs code is disabled.
*
* Upstream doesn't apply this patch since they want to fix the sysfs-code.
* See https://bugs.freedesktop.org/show_bug.cgi?id=7248
*
* Thanks to Jim Watson for testing!
*/
diff -Naur xorg-server-1.5.1.orig/hw/xfree86/os-support/bus/linuxPci.c xorg-server-1.5.1/hw/xfree86/os-support/bus/linuxPci.c
--- xorg-server-1.5.1.orig/hw/xfree86/os-support/bus/linuxPci.c 2008-10-04 18:50:24.000000000 +0200
+++ xorg-server-1.5.1/hw/xfree86/os-support/bus/linuxPci.c 2008-10-04 18:52:08.000000000 +0200
@@ -131,7 +131,7 @@
static int fd = -1,is_write = 0;
char file[64];
struct stat ignored;
- static int is26 = -1;
+ static int is26 = 0;
if (dev == NULL) {
return -1;

View File

@ -1,28 +0,0 @@
Index: xorg-server/hw/xfree86/os-support/linux/lnx_init.c
===================================================================
--- xorg-server.orig/hw/xfree86/os-support/linux/lnx_init.c 2008-06-18 10:28:16.000000000 +0300
+++ xorg-server/hw/xfree86/os-support/linux/lnx_init.c 2008-06-18 12:06:06.000000000 +0300
@@ -283,9 +283,7 @@
FatalError("Unable to set screen info\n");
close(fbfd);
#endif
- } else { /* ShareVTs */
- close(xf86Info.consoleFd);
- }
+ }
signal(SIGUSR2, xf86ReloadInputDevs);
} else { /* serverGeneration != 1 */
if (!ShareVTs && VTSwitch)
@@ -314,7 +312,11 @@
int vtno = -1;
#endif
- if (ShareVTs) return;
+ if (ShareVTs)
+ {
+ close(xf86Info.consoleFd);
+ return;
+ }
#if defined(DO_OS_FONTRESTORE)
if (ioctl(xf86Info.consoleFd, VT_GETSTATE, &vts) < 0)

View File

@ -1,32 +0,0 @@
Index: xorg-server/hw/xfree86/os-support/linux/lnx_init.c
===================================================================
--- xorg-server.orig/hw/xfree86/os-support/linux/lnx_init.c 2008-06-18 12:06:06.000000000 +0300
+++ xorg-server/hw/xfree86/os-support/linux/lnx_init.c 2008-06-18 12:06:25.000000000 +0300
@@ -344,10 +344,25 @@
if (VTSwitch)
{
+ struct vt_stat vts;
+
/*
- * Perform a switch back to the active VT when we were started
+ * Perform a switch back to the active VT when we were started.
+ * We cannot rely on vtSema to determine if the server was the
+ * active VT at the time of shutdown since it has already been
+ * released. Instead, we manually check the current VT and
+ * compare it with the VT we were running on.
*/
- if (activeVT >= 0) {
+ if (ioctl(xf86Info.consoleFd, VT_GETSTATE, &vts) < 0)
+ {
+ /* If this failed, fall back to old behaviour
+ * of always switching. */
+ xf86Msg(X_WARNING,"xf86OpenConsole: VT_GETSTATE failed: %s\n",
+ strerror(errno));
+ vts.v_active = xf86Info.vtno;
+ }
+
+ if (activeVT >= 0 && vts.v_active == xf86Info.vtno) {
if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, activeVT) < 0)
xf86Msg(X_WARNING, "xf86CloseConsole: VT_ACTIVATE failed: %s\n",
strerror(errno));

View File

@ -1,43 +0,0 @@
diff -Nurp xorg-server-1.4.99.906-patched/hw/xfree86/common/xf86Events.c xorg-server-1.4.99.906-working/hw/xfree86/common/xf86Events.c
--- xorg-server-1.4.99.906-patched/hw/xfree86/common/xf86Events.c 2008-09-01 13:17:47.000000000 -0700
+++ xorg-server-1.4.99.906-working/hw/xfree86/common/xf86Events.c 2008-09-01 13:19:35.000000000 -0700
@@ -741,6 +741,8 @@ static __inline__ void xorg_backtrace(vo
void
xf86SigHandler(int signo)
{
+ static Bool beenhere = FALSE;
+
if ((signo == SIGILL) && xf86SigIllHandler) {
(*xf86SigIllHandler)();
/* Re-arm handler just in case we unexpectedly return here */
@@ -763,6 +765,30 @@ xf86SigHandler(int signo)
xorg_backtrace();
+ switch (signo) {
+ case SIGSEGV:
+ case SIGBUS:
+ case SIGILL:
+ case SIGFPE:
+ signal(signo,SIG_DFL);
+ ErrorF ("Saw signal %d. Server aborting.\n", signo);
+#ifdef DDXOSFATALERROR
+ if (!beenhere) {
+ OsVendorFatalError();
+ }
+#endif
+#ifdef ABORTONFATALERROR
+ abort();
+#endif
+ if (!beenhere) {
+ beenhere = TRUE;
+ AbortServer();
+ } else {
+ abort();
+ }
+ return;
+ }
+
FatalError("Caught signal %d. Server aborting\n", signo);
}

View File

@ -1,338 +0,0 @@
From: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Tue, 8 Jul 2008 00:08:01 +0000 (-0700)
Subject: Improved driver selection when autoconfiguring driver without xorg.conf
X-Git-Url: http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commitdiff;h=5e847c1d4fc30a0d263a861a76982660f11998cd
Improved driver selection when autoconfiguring driver without xorg.conf
- Allow returning multiple drivers to try for a given PCI id (for instance,
try "geode" then "amd" for AMD Geode hardware)
- On Solaris, use VIS_GETIDENTIFIER ioctl as well as PCI id to choose drivers
- Use wsfb instead of fbdev as a fallback on non-Linux SPARC platforms
---
--- a/hw/xfree86/common/xf86AutoConfig.c
+++ b/hw/xfree86/common/xf86AutoConfig.c
@@ -41,6 +41,11 @@
#include "xf86_OSlib.h"
#include "dirent.h"
+#ifdef sun
+# include <sys/visual_io.h>
+# include <ctype.h>
+#endif
+
/* Sections for the default built-in configuration. */
#define BUILTIN_DEVICE_NAME \
@@ -79,11 +84,8 @@
static const char **builtinConfig = NULL;
static int builtinLines = 0;
-static const char *deviceList[] = {
- "fbdev",
- "vesa",
- NULL
-};
+
+static void listPossibleVideoDrivers(char *matches[], int nmatches);
/*
* A built-in config file is stored as an array of strings, with each string
@@ -135,87 +137,91 @@ AppendToConfig(const char *s)
AppendToList(s, &builtinConfig, &builtinLines);
}
-static const char *
-videoPtrToDriverName(struct pci_device *dev)
+static int
+videoPtrToDriverList(struct pci_device *dev,
+ char *returnList[], int returnListMax)
{
/*
* things not handled yet:
* cyrix/nsc. should be merged into geode anyway.
* xgi.
*/
+ int i;
+ /* Add more entries here if we ever return more than 4 drivers for
+ any device */
+ char *driverList[5] = { NULL, NULL, NULL, NULL, NULL };
switch (dev->vendor_id)
{
case 0x1022:
- if (dev->device_id == 0x2081)
- return "geode";
- else
- return NULL;
- case 0x1142: return "apm";
- case 0xedd8: return "ark";
- case 0x1a03: return "ast";
- case 0x1002: return "ati";
- case 0x102c: return "chips";
- case 0x1013: return "cirrus";
+ if (dev->device_id == 0x2081) {
+ driverList[0] = "geode";
+ driverList[1] = "amd";
+ }
+ break;
+ case 0x1142: driverList[0] = "apm"; break;
+ case 0xedd8: driverList[0] = "ark"; break;
+ case 0x1a03: driverList[0] = "ast"; break;
+ case 0x1002: driverList[0] = "ati"; break;
+ case 0x102c: driverList[0] = "chips"; break;
+ case 0x1013: driverList[0] = "cirrus"; break;
case 0x8086:
- if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800))
- return "i740";
- else return "intel";
- case 0x102b: return "mga";
- case 0x10c8: return "neomagic";
- case 0x105d: return "i128";
- case 0x10de: case 0x12d2: return "nv";
- case 0x1163: return "rendition";
+ if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) {
+ driverList[0] = "i740";
+ } else {
+ driverList[0] = "intel";
+ driverList[1] = "i810";
+ }
+ break;
+ case 0x102b: driverList[0] = "mga"; break;
+ case 0x10c8: driverList[0] = "neomagic"; break;
+ case 0x105d: driverList[0] = "i128"; break;
+ case 0x10de: case 0x12d2: driverList[0] = "nv"; break;
+ case 0x1163: driverList[0] = "rendition"; break;
case 0x5333:
switch (dev->device_id)
{
case 0x88d0: case 0x88d1: case 0x88f0: case 0x8811:
case 0x8812: case 0x8814: case 0x8901:
- return "s3";
+ driverList[0] = "s3"; break;
case 0x5631: case 0x883d: case 0x8a01: case 0x8a10:
case 0x8c01: case 0x8c03: case 0x8904: case 0x8a13:
- return "s3virge";
+ driverList[0] = "s3virge"; break;
default:
- return "savage";
+ driverList[0] = "savage"; break;
}
- case 0x1039: return "sis";
- case 0x126f: return "siliconmotion";
+ break;
+ case 0x1039: driverList[0] = "sis"; break;
+ case 0x126f: driverList[0] = "siliconmotion"; break;
case 0x121a:
if (dev->device_id < 0x0003)
- return "voodoo";
+ driverList[0] = "voodoo";
else
- return "tdfx";
- case 0x3d3d: return "glint";
- case 0x1023: return "trident";
- case 0x100c: return "tseng";
- case 0x1106: return "openchrome";
- case 0x15ad: return "vmware";
+ driverList[0] = "tdfx";
+ break;
+ case 0x3d3d: driverList[0] = "glint"; break;
+ case 0x1023: driverList[0] = "trident"; break;
+ case 0x100c: driverList[0] = "tseng"; break;
+ case 0x1106: driverList[0] = "openchrome"; break;
+ case 0x15ad: driverList[0] = "vmware"; break;
default: break;
}
- return NULL;
+ for (i = 0; (i < returnListMax) && (driverList[i] != NULL); i++) {
+ returnList[i] = xnfstrdup(driverList[i]);
+ }
+ return i; /* Number of entries added */
}
Bool
xf86AutoConfig(void)
{
- const char **p;
+ char *deviceList[20];
+ char **p;
+ const char **cp;
char buf[1024];
- const char *driver = NULL;
ConfigStatus ret;
- driver = chooseVideoDriver();
-
- if (driver) {
- snprintf(buf, sizeof(buf), BUILTIN_DEVICE_SECTION_PRE,
- driver, 0, driver);
- AppendToConfig(buf);
- ErrorF("New driver is \"%s\"\n", driver);
- buf[0] = '\t';
- AppendToConfig(BUILTIN_DEVICE_SECTION_POST);
- snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION,
- driver, 0, driver, 0);
- AppendToConfig(buf);
- }
+ listPossibleVideoDrivers(deviceList, 20);
for (p = deviceList; *p; p++) {
snprintf(buf, sizeof(buf), BUILTIN_DEVICE_SECTION, *p, 0, *p);
@@ -225,23 +231,23 @@ xf86AutoConfig(void)
}
AppendToConfig(BUILTIN_LAYOUT_SECTION_PRE);
- if (driver) {
- snprintf(buf, sizeof(buf), BUILTIN_LAYOUT_SCREEN_LINE, driver, 0);
- AppendToConfig(buf);
- }
for (p = deviceList; *p; p++) {
snprintf(buf, sizeof(buf), BUILTIN_LAYOUT_SCREEN_LINE, *p, 0);
AppendToConfig(buf);
}
AppendToConfig(BUILTIN_LAYOUT_SECTION_POST);
+ for (p = deviceList; *p; p++) {
+ xfree(*p);
+ }
+
xf86MsgVerb(X_DEFAULT, 0,
"Using default built-in configuration (%d lines)\n",
builtinLines);
xf86MsgVerb(X_DEFAULT, 3, "--- Start of built-in configuration ---\n");
- for (p = builtinConfig; *p; p++)
- xf86ErrorFVerb(3, "\t%s", *p);
+ for (cp = builtinConfig; *cp; cp++)
+ xf86ErrorFVerb(3, "\t%s", *cp);
xf86MsgVerb(X_DEFAULT, 3, "--- End of built-in configuration ---\n");
xf86setBuiltinConfig(builtinConfig);
@@ -416,17 +422,51 @@ matchDriverFromFiles (char** matches, ui
}
#endif /* __linux__ */
-char*
-chooseVideoDriver(void)
+static void
+listPossibleVideoDrivers(char *matches[], int nmatches)
{
struct pci_device * info = NULL;
struct pci_device_iterator *iter;
- char *chosen_driver = NULL;
int i;
- char *matches[20]; /* If we have more than 20 drivers we're in trouble */
- for (i=0 ; i<20 ; i++)
+ for (i = 0 ; i < nmatches ; i++) {
matches[i] = NULL;
+ }
+ i = 0;
+
+#ifdef sun
+ /* Check for driver type based on /dev/fb type and if valid, use
+ it instead of PCI bus probe results */
+ if (xf86Info.consoleFd >= 0) {
+ struct vis_identifier visid;
+ const char *cp;
+
+ if (ioctl(xf86Info.consoleFd, VIS_GETIDENTIFIER, &visid) >= 0) {
+ xf86Msg(X_PROBED, "console driver: %s\n", visid.name);
+
+ /* Special case from before the general case was set */
+ if (strcmp(visid.name, "NVDAnvda") == 0) {
+ matches[i++] = xnfstrdup("nvidia");
+ }
+
+ /* General case - split into vendor name (initial all-caps
+ prefix) & driver name (rest of the string). */
+ if (strcmp(visid.name, "SUNWtext") != 0) {
+ for (cp = visid.name; (*cp != '\0') && isupper(*cp); cp++) {
+ /* find end of all uppercase vendor section */
+ }
+ if ((cp != visid.name) && (*cp != '\0')) {
+ char *driverName = xnfstrdup(cp);
+ char *vendorName = xnfstrdup(visid.name);
+ vendorName[cp - visid.name] = '\0';
+
+ matches[i++] = vendorName;
+ matches[i++] = driverName;
+ }
+ }
+ }
+ }
+#endif
/* Find the primary device, and get some information about it. */
iter = pci_slot_match_iterator_create(NULL);
@@ -447,31 +487,52 @@ chooseVideoDriver(void)
}
#endif /* __linux__ */
- /* TODO Handle multiple drivers claiming to support the same PCI ID */
- if (matches[0]) {
- chosen_driver = matches[0];
- } else {
- if (info != NULL)
- chosen_driver = videoPtrToDriverName(info);
- if (chosen_driver == NULL) {
-#if defined __i386__ || defined __amd64__ || defined __x86_64__ || defined __hurd__
- chosen_driver = "vesa";
-#elif defined __sparc__
- chosen_driver = "sunffb";
+ for (i = 0; (i < nmatches) && (matches[i]); i++) {
+ /* find end of matches list */
+ }
+
+ if ((info != NULL) && (i < nmatches)) {
+ i += videoPtrToDriverList(info, &(matches[i]), nmatches - i);
+ }
+
+ /* Fallback to platform default hardware */
+ if (i < (nmatches - 1)) {
+#if defined(__i386__) || defined(__amd64__) || defined(__hurd__)
+ matches[i++] = xnfstrdup("vesa");
+#elif defined(__sparc__) && !defined(sun)
+ matches[i++] = xnfstrdup("sunffb");
+#endif
+ }
+
+ /* Fallback to platform default frame buffer driver */
+ if (i < (nmatches - 1)) {
+#if !defined(__linux__) && defined(__sparc__)
+ matches[i++] = xnfstrdup("wsfb");
#else
- chosen_driver = "fbdev";
+ matches[i++] = xnfstrdup("fbdev");
#endif
- }
}
+}
+
+char*
+chooseVideoDriver(void)
+{
+ char *chosen_driver = NULL;
+ int i;
+ char *matches[20]; /* If we have more than 20 drivers we're in trouble */
- xf86Msg(X_DEFAULT, "Matched %s for the autoconfigured driver\n", chosen_driver);
+ listPossibleVideoDrivers(matches, 20);
- i = 0;
- while (matches[i]) {
+ /* TODO Handle multiple drivers claiming to support the same PCI ID */
+ chosen_driver = matches[0];
+
+ xf86Msg(X_DEFAULT, "Matched %s for the autoconfigured driver\n",
+ chosen_driver);
+
+ for (i = 0; matches[i] ; i++) {
if (matches[i] != chosen_driver) {
xfree(matches[i]);
}
- i++;
}
return chosen_driver;

View File

@ -1,33 +0,0 @@
This patch adds autodetection support for the Poulsbo ("psb") driver
needed by moblin.org for the Intel mobile chipset. Rather than add an
else if, I restructured things with a case statement to make it conform
in style to the savage driver section.
Bryce Harrington 23-Aug-2007
Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c
===================================================================
--- xorg-server.orig/hw/xfree86/common/xf86AutoConfig.c 2008-09-02 10:47:16.000000000 +0300
+++ xorg-server/hw/xfree86/common/xf86AutoConfig.c 2008-09-02 10:58:57.000000000 +0300
@@ -166,11 +166,16 @@
case 0x102c: driverList[0] = "chips"; break;
case 0x1013: driverList[0] = "cirrus"; break;
case 0x8086:
- if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) {
- driverList[0] = "i740";
- } else {
- driverList[0] = "intel";
- driverList[1] = "i810";
+ switch (dev->device_id)
+ {
+ case 0x00d1: case 0x7800:
+ driverList[0] = "i740"; break;
+ case 0x8108:
+ driverList[0] = "psb"; break;
+ default:
+ driverList[0] = "intel";
+ driverList[1] = "i810";
+ break;
}
break;
case 0x102b: driverList[0] = "mga"; break;

View File

@ -1 +0,0 @@
http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.5.3.tar.bz2

View File

@ -1,48 +0,0 @@
From c7e37fc93d9efa010f60be260f741539600db597 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Fri, 19 Dec 2008 13:42:52 +1000
Subject: [PATCH] Send less damage for manually redirected windows.
Disable damage notifications on move for manually redirected windows.
The automatic compositor needs damage notification on move, but a
compositing manager doesn't.
Forward-ported to 1.6 by whot.
---
composite/compwindow.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/composite/compwindow.c b/composite/compwindow.c
index 577fa73..f838a24 100644
--- a/composite/compwindow.c
+++ b/composite/compwindow.c
@@ -580,12 +580,15 @@ compCopyWindow (WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
}
else
{
+ CompWindowPtr cw = GetCompWindow(pWin);
+
ptOldOrg.x -= dx;
ptOldOrg.y -= dy;
REGION_TRANSLATE (prgnSrc, prgnSrc,
pWin->drawable.x - ptOldOrg.x,
pWin->drawable.y - ptOldOrg.y);
- DamageRegionAppend(&pWin->drawable, prgnSrc);
+ if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic)
+ DamageRegionAppend(&pWin->drawable, prgnSrc);
}
cs->CopyWindow = pScreen->CopyWindow;
pScreen->CopyWindow = compCopyWindow;
@@ -664,7 +667,8 @@ compSetRedirectBorderClip (WindowPtr pWin, RegionPtr pRegion)
/*
* Report that as damaged so it will be redrawn
*/
- DamageRegionAppend(&pWin->drawable, &damage);
+ if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic)
+ DamageRegionAppend(&pWin->drawable, &damage);
REGION_UNINIT (pScreen, &damage);
/*
* Save the new border clip region
--
1.6.0.4

View File

@ -1,27 +0,0 @@
From d8f0b7e388f61a9ae528466dafac1bdfaf5b77ca Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Mon, 10 Dec 2007 15:25:01 -0500
Subject: [PATCH] Poison {DE,}ALLOCATE_LOCAL so we don't build broken drivers.
---
include/os.h | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/include/os.h b/include/os.h
index c53a9ea..0960d0c 100644
--- a/include/os.h
+++ b/include/os.h
@@ -50,6 +50,10 @@ SOFTWARE.
#define OS_H
#include "misc.h"
+
+#pragma GCC poison ALLOCATE_LOCAL
+#pragma GCC poison DEALLOCATE_LOCAL
+
#include <stdarg.h>
#define NullFID ((FID) 0)
--
1.5.2.4

View File

@ -1,54 +0,0 @@
From 98c7481338e3167058382f27a3e002662553131a Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Tue, 27 Nov 2007 16:09:43 -0500
Subject: [PATCH] Document default font path correctly.
---
hw/xfree86/doc/man/xorg.conf.man.pre | 24 ++++++++++++------------
1 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre b/hw/xfree86/doc/man/xorg.conf.man.pre
index 3c657d0..4b562bd 100644
--- a/hw/xfree86/doc/man/xorg.conf.man.pre
+++ b/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -356,11 +356,11 @@ font path elements (which can be set inside a catalogue directory):
.PP
.RS 4
.nf
-.I __projectroot__/lib/X11/fonts/misc/
-.I __projectroot__/lib/X11/fonts/TTF/
-.I __projectroot__/lib/X11/fonts/Type1/
-.I __projectroot__/lib/X11/fonts/75dpi/
-.I __projectroot__/lib/X11/fonts/100dpi/
+.I __projectroot__/share/X11/fonts/misc/
+.I __projectroot__/share/X11/fonts/TTF/
+.I __projectroot__/share/X11/fonts/Type1/
+.I __projectroot__/share/X11/fonts/75dpi/
+.I __projectroot__/share/X11/fonts/100dpi/
.fi
.RE
.PP
@@ -368,13 +368,13 @@ The recommended font path contains the following font path elements:
.PP
.RS 4
.nf
-.I __projectroot__/lib/X11/fonts/local/
-.I __projectroot__/lib/X11/fonts/misc/
-.I __projectroot__/lib/X11/fonts/75dpi/:unscaled
-.I __projectroot__/lib/X11/fonts/100dpi/:unscaled
-.I __projectroot__/lib/X11/fonts/Type1/
-.I __projectroot__/lib/X11/fonts/75dpi/
-.I __projectroot__/lib/X11/fonts/100dpi/
+.I __projectroot__/shared/X11/fonts/local/
+.I __projectroot__/shared/X11/fonts/misc/
+.I __projectroot__/shared/X11/fonts/75dpi/:unscaled
+.I __projectroot__/shared/X11/fonts/100dpi/:unscaled
+.I __projectroot__/shared/X11/fonts/Type1/
+.I __projectroot__/shared/X11/fonts/75dpi/
+.I __projectroot__/shared/X11/fonts/100dpi/
.fi
.RE
.PP
--
1.5.3.4

View File

@ -1,32 +0,0 @@
From 6a39049e34eeefeeb821970d83e1994870af8f3e Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Thu, 1 Nov 2007 14:56:25 -0400
Subject: [PATCH] Don't backfill bg=None windows in Composite.
---
composite/compalloc.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/composite/compalloc.c b/composite/compalloc.c
index 006e808..67d830d 100644
--- a/composite/compalloc.c
+++ b/composite/compalloc.c
@@ -478,6 +478,7 @@ compNewPixmap (WindowPtr pWin, int x, int y, int w, int h)
* Copy bits from the parent into the new pixmap so that it will
* have "reasonable" contents in case for background None areas.
*/
+#if 0
if (pGC)
{
XID val = IncludeInferiors;
@@ -492,6 +493,7 @@ compNewPixmap (WindowPtr pWin, int x, int y, int w, int h)
w, h, 0, 0);
FreeScratchGC (pGC);
}
+#endif
}
else
{
--
1.5.3.4

View File

@ -1,84 +0,0 @@
From 270e016f8d24ef4bd99f26084100581d2ea97a19 Mon Sep 17 00:00:00 2001
From: Adam Tkac <atkac@redhat.com>
Date: Mon, 12 Jan 2009 10:29:10 +1000
Subject: [PATCH] Workaround for RH bug #449944
AC_C_BIGENDIAN macro in autoconf 2.62 is badly broken. See
https://bugzilla.redhat.com/show_bug.cgi?id=449944 for more information.
Forward-ported to 1.6 prerelease.
---
configure.ac | 10 +++++++++-
include/dix-config.h.in | 8 ++++++++
include/xorg-server.h.in | 8 ++++++++
3 files changed, 25 insertions(+), 1 deletions(-)
diff --git a/configure.ac b/configure.ac
index c222c95..e40a1a2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -103,7 +103,6 @@ AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
-AC_C_BIGENDIAN([ENDIAN="X_BIG_ENDIAN"], [ENDIAN="X_LITTLE_ENDIAN"])
AC_CHECK_SIZEOF([unsigned long])
if test "$ac_cv_sizeof_unsigned_long" = 8; then
@@ -1182,6 +1181,15 @@ AC_DEFINE([SVR4],1,[Define to 1 on systems derived from System V Release 4])
AC_MSG_RESULT([yes])], AC_MSG_RESULT([no]))
XSERVER_CFLAGS="$XSERVER_CFLAGS $CORE_INCS $XEXT_INC $COMPOSITE_INC $DAMAGE_INC $FIXES_INC $XI_INC $MI_INC $MIEXT_SHADOW_INC $MIEXT_LAYER_INC $MIEXT_DAMAGE_INC $RENDER_INC $RANDR_INC $FB_INC"
+AH_VERBATIM([X_BYTE_ORDER],[
+/* Define endian order */
+#ifdef __BIG_ENDIAN__
+#define _X_BYTE_ORDER X_BIG_ENDIAN
+#else
+#define _X_BYTE_ORDER X_LITTLE_ENDIAN
+#endif
+#define X_BYTE_ORDER _X_BYTE_ORDER
+])
dnl ---------------------------------------------------------------------------
dnl DDX section.
diff --git a/include/dix-config.h.in b/include/dix-config.h.in
index 977bff3..a3ce66c 100644
--- a/include/dix-config.h.in
+++ b/include/dix-config.h.in
@@ -363,6 +363,14 @@
/* Vendor name */
#undef XVENDORNAME
+/* Define endian order */
+#ifdef __BIG_ENDIAN__
+#define _X_BYTE_ORDER X_BIG_ENDIAN
+#else
+#define _X_BYTE_ORDER X_LITTLE_ENDIAN
+#endif
+#define X_BYTE_ORDER _X_BYTE_ORDER
+
/* Enable GNU and other extensions to the C environment for GLIBC */
#undef _GNU_SOURCE
diff --git a/include/xorg-server.h.in b/include/xorg-server.h.in
index 4cf1bbf..f041c7c 100644
--- a/include/xorg-server.h.in
+++ b/include/xorg-server.h.in
@@ -145,6 +145,14 @@
/* Vendor name */
#undef XVENDORNAME
+/* Define endian order */
+#ifdef __BIG_ENDIAN__
+#define _X_BYTE_ORDER X_BIG_ENDIAN
+#else
+#define _X_BYTE_ORDER X_LITTLE_ENDIAN
+#endif
+#define X_BYTE_ORDER _X_BYTE_ORDER
+
/* BSD-compliant source */
#undef _BSD_SOURCE
--
1.6.0.6

View File

@ -1,25 +0,0 @@
From 6344659a33a7c192dffe6e796c771d02f78da5e5 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Thu, 1 Nov 2007 15:02:24 -0400
Subject: [PATCH] Build libxf86config with -fPIC.
---
hw/xfree86/parser/Makefile.am | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hw/xfree86/parser/Makefile.am b/hw/xfree86/parser/Makefile.am
index 849ee8b..0691158 100644
--- a/hw/xfree86/parser/Makefile.am
+++ b/hw/xfree86/parser/Makefile.am
@@ -25,7 +25,7 @@ libxf86config_a_SOURCES = \
DRI.c \
Extensions.c
-AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
+AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -fPIC -fvisibility=hidden
EXTRA_DIST = \
Configint.h \
--
1.5.3.4

View File

@ -1,46 +0,0 @@
From cb1ac4a749a208eb8f9995042a110134977146d2 Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@panoply-rh.(none)>
Date: Thu, 13 Mar 2008 16:16:46 +1000
Subject: [PATCH] fbdev: make entity fail if PCI claimed already.
bad kitty fbdev.
---
hw/xfree86/common/xf86Bus.c | 3 +++
hw/xfree86/common/xf86fbBus.c | 7 +++++++
2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index f7ffac8..9f4e0ca 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -458,6 +458,9 @@ xf86GetEntityInfo(int entityIndex)
EntityInfoPtr pEnt;
int i;
+ if (entityIndex == -1)
+ return NULL;
+
if (entityIndex >= xf86NumEntities)
return NULL;
diff --git a/hw/xfree86/common/xf86fbBus.c b/hw/xfree86/common/xf86fbBus.c
index 102f6b1..cfd8811 100644
--- a/hw/xfree86/common/xf86fbBus.c
+++ b/hw/xfree86/common/xf86fbBus.c
@@ -58,6 +58,13 @@ xf86ClaimFbSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active)
{
EntityPtr p;
int num;
+
+ if (pciSlotClaimed)
+ return -1;
+#if defined(__sparc__) || defined (__sparc64__)
+ if (sbusSlotClaimed)
+ return -1;
+#endif
num = xf86AllocateEntity();
p = xf86Entities[num];
--
1.6.0.6

View File

@ -1,153 +0,0 @@
From a3e15680da24cb8259f6a83dee0c930dab024290 Mon Sep 17 00:00:00 2001
From: Kristian <krh@redhat.com>
Date: Fri, 15 Aug 2008 15:15:14 +1000
Subject: [PATCH] Add nr for background=none root
---
dix/globals.c | 1 +
dix/window.c | 22 ++++++++++++----------
hw/xfree86/common/xf86Init.c | 11 +++++++++++
hw/xfree86/common/xf86str.h | 5 ++++-
include/opaque.h | 1 +
os/utils.c | 3 +++
6 files changed, 32 insertions(+), 11 deletions(-)
diff --git a/dix/globals.c b/dix/globals.c
index 973dc43..dbd76bb 100644
--- a/dix/globals.c
+++ b/dix/globals.c
@@ -141,6 +141,7 @@ FontPtr defaultFont; /* not declared in dix.h to avoid including font.h in
CursorPtr rootCursor;
Bool party_like_its_1989 = FALSE;
Bool whiteRoot = FALSE;
+Bool bgNoneRoot = FALSE;
int cursorScreenDevPriv[MAXSCREENS];
diff --git a/dix/window.c b/dix/window.c
index c31fa87..8bb178d 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -482,23 +482,24 @@ InitRootWindow(WindowPtr pWin)
pWin->cursorIsNone = FALSE;
pWin->optional->cursor = rootCursor;
rootCursor->refcnt++;
-
+ pWin->backingStore = defaultBackingStore;
+ pWin->forcedBS = (defaultBackingStore != NotUseful);
if (party_like_its_1989) {
MakeRootTile(pWin);
backFlag |= CWBackPixmap;
+ pScreen->ChangeWindowAttributes(pWin, backFlag);
+ } else if (bgNoneRoot) {
+ /* nothing, handled in xf86CreateRootWindow */
} else {
if (whiteRoot)
pWin->background.pixel = pScreen->whitePixel;
else
pWin->background.pixel = pScreen->blackPixel;
backFlag |= CWBackPixel;
- }
- pWin->backingStore = defaultBackingStore;
- pWin->forcedBS = (defaultBackingStore != NotUseful);
- /* We SHOULD check for an error value here XXX */
- (*pScreen->ChangeWindowAttributes)(pWin, backFlag);
+ pScreen->ChangeWindowAttributes(pWin, backFlag);
+ }
MapWindow(pWin, serverClient);
}
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index 236c00b..083a6ac 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -79,6 +79,7 @@
#ifdef RENDER
#include "picturestr.h"
#endif
+#include "xace.h"
#include "globals.h"
@@ -328,6 +329,7 @@ xf86CreateRootWindow(WindowPtr pWin)
int ret = TRUE;
int err = Success;
ScreenPtr pScreen = pWin->drawable.pScreen;
+ ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
RootWinPropPtr pProp;
CreateWindowProcPtr CreateWindow = (CreateWindowProcPtr)
dixLookupPrivate(&pScreen->devPrivates, xf86CreateRootWindowKey);
@@ -381,6 +383,15 @@ xf86CreateRootWindow(WindowPtr pWin)
}
}
+ if (bgNoneRoot && pScrn->canDoBGNoneRoot) {
+ pWin->backgroundState = XaceBackgroundNoneState(pWin);
+ pWin->background.pixel = pScreen->whitePixel;
+ pScreen->ChangeWindowAttributes(pWin, CWBackPixmap | CWBorderPixel | CWCursor | CWBackingStore);
+ } else {
+ pWin->background.pixel = pScreen->blackPixel;
+ pScreen->ChangeWindowAttributes(pWin, CWBackPixel | CWBorderPixel | CWCursor | CWBackingStore);
+ }
+
#ifdef DEBUG
ErrorF("xf86CreateRootWindow() returns %d\n", ret);
#endif
diff --git a/hw/xfree86/common/xf86str.h b/hw/xfree86/common/xf86str.h
index 904c369..8c38f69 100644
--- a/hw/xfree86/common/xf86str.h
+++ b/hw/xfree86/common/xf86str.h
@@ -531,7 +531,7 @@ typedef struct _confdrirec {
} confDRIRec, *confDRIPtr;
/* These values should be adjusted when new fields are added to ScrnInfoRec */
-#define NUM_RESERVED_INTS 16
+#define NUM_RESERVED_INTS 15
#define NUM_RESERVED_POINTERS 15
#define NUM_RESERVED_FUNCS 11
@@ -959,6 +959,9 @@ typedef struct _ScrnInfoRec {
ClockRangesPtr clockRanges;
int adjustFlags;
+ /* -nr support */
+ int canDoBGNoneRoot;
+
/*
* These can be used when the minor ABI version is incremented.
* The NUM_* parameters must be reduced appropriately to keep the
diff --git a/include/opaque.h b/include/opaque.h
index 07a0715..be1577b 100644
--- a/include/opaque.h
+++ b/include/opaque.h
@@ -71,6 +71,7 @@ extern Bool defeatAccessControl;
extern long maxBigRequestSize;
extern Bool party_like_its_1989;
extern Bool whiteRoot;
+extern Bool bgNoneRoot;
extern Bool CoreDump;
diff --git a/os/utils.c b/os/utils.c
index b100949..c41b45b 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -515,6 +515,7 @@ void UseMsg(void)
#endif
ErrorF("-nolisten string don't listen on protocol\n");
ErrorF("-noreset don't reset after last client exists\n");
+ ErrorF("-nr create root window with no background\n");
ErrorF("-reset reset after last client exists\n");
ErrorF("-p # screen-saver pattern duration (minutes)\n");
ErrorF("-pn accept failure to listen on all ports\n");
@@ -859,6 +860,8 @@ ProcessCommandLine(int argc, char *argv[])
defaultBackingStore = WhenMapped;
else if ( strcmp( argv[i], "-wr") == 0)
whiteRoot = TRUE;
+ else if ( strcmp( argv[i], "-nr") == 0)
+ bgNoneRoot = TRUE;
else if ( strcmp( argv[i], "-maxbigreqsize") == 0) {
if(++i < argc) {
long reqSizeArg = atol(argv[i]);

View File

@ -1,32 +0,0 @@
From dc5cedd61e00afec33cbfaa7fdfbb6c357074dbd Mon Sep 17 00:00:00 2001
From: =?utf-8?q?S=C3=B8ren=20Sandmann=20Pedersen?= <sandmann@redhat.com>
Date: Thu, 11 Sep 2008 12:51:31 -0400
Subject: [PATCH] Make room for an external monitor if we have enough video RAM
---
hw/xfree86/modes/xf86Crtc.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 4de7e05..9bcf81b 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -987,6 +987,15 @@ xf86DefaultScreenLimits (ScrnInfoPtr scrn, int *widthp, int *heightp,
if (crtc_height > height)
height = crtc_height;
}
+
+ /* Make room for an external monitor if we have enough video ram */
+ if (scrn->videoRam >= 65536)
+ width += 1920;
+ else if (scrn->videoRam >= 32768)
+ width += 1280;
+ else if (scrn->videoRam >= 16384)
+ width += 1024;
+
if (config->maxWidth && width > config->maxWidth) width = config->maxWidth;
if (config->maxHeight && height > config->maxHeight) height = config->maxHeight;
if (config->minWidth && width < config->minWidth) width = config->minWidth;
--
1.6.0.1

View File

@ -1,26 +0,0 @@
From 079910986a1b8f5042e16ee2ba3ad9ed843b67ca Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Tue, 7 Oct 2008 11:09:14 -0400
Subject: [PATCH] Force ModeDebug on.
---
hw/xfree86/modes/xf86Crtc.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 9bcf81b..a953c8a 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -2084,8 +2084,7 @@ xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow)
xf86ProcessOptions (scrn->scrnIndex,
scrn->options,
config->options);
- config->debug_modes = xf86ReturnOptValBool (config->options,
- OPTION_MODEDEBUG, FALSE);
+ config->debug_modes = TRUE;
if (scrn->display->virtualX)
width = scrn->display->virtualX;
--
1.6.0.1

View File

@ -1,65 +0,0 @@
From 42967c6187c85e85a8a409842951f98df6a7f2f4 Mon Sep 17 00:00:00 2001
From: Yan Li <yan.i.li@intel.com>
Date: Tue, 20 Jan 2009 14:32:32 +0800
Subject: [PATCH] Wait for hald during initialization when necessary
hald might not be ready when we need it, wait for it for a few seconds
Signed-off-by: Yan Li <yan.i.li@intel.com>
---
config/hal.c | 24 ++++++++++++++++++++----
1 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/config/hal.c b/config/hal.c
index 8dfbb07..bcc05bc 100644
--- a/config/hal.c
+++ b/config/hal.c
@@ -32,6 +32,7 @@
#include <hal/libhal.h>
#include <string.h>
#include <sys/select.h>
+#include <unistd.h>
#include "input.h"
#include "inputstr.h"
@@ -475,6 +476,10 @@ connect_hook(DBusConnection *connection, void *data)
char **devices;
int num_devices, i;
+ /* hald might not finish it's init yet, we'll wait for it for 2s */
+ unsigned int wait_for_hal = 2 * 1000000;
+ const unsigned int wait_for_hal_sleep_time = 100 * 1000;
+
info->system_bus = connection;
dbus_error_init(&error);
@@ -490,11 +495,22 @@ connect_hook(DBusConnection *connection, void *data)
LogMessage(X_ERROR, "config/hal: couldn't associate HAL context with bus\n");
goto out_ctx;
}
- if (!libhal_ctx_init(info->hal_ctx, &error)) {
- LogMessage(X_ERROR, "config/hal: couldn't initialise context: %s (%s)\n",
- error.name, error.message);
- goto out_ctx;
+
+ /* hald might not be ready now, waiting for it for a few seconds */
+ while (wait_for_hal >= wait_for_hal_sleep_time)
+ {
+ if (libhal_ctx_init(info->hal_ctx, &error))
+ goto ctx_init_done;
+
+ LogMessage(X_INFO, "config/hal: waiting for hald...\n");
+ usleep (wait_for_hal_sleep_time);
+ wait_for_hal -= wait_for_hal_sleep_time;
}
+ LogMessage(X_ERROR, "config/hal: couldn't initialise context: %s (%s)\n",
+ error.name, error.message);
+ goto out_ctx;
+
+ctx_init_done:
if (!libhal_device_property_watch_all(info->hal_ctx, &error)) {
LogMessage(X_ERROR, "config/hal: couldn't watch all properties: %s (%s)\n",
error.name, error.message);
--
1.5.6.5

View File

@ -1,11 +0,0 @@
diff -Naur xorg-server-1.5.99.902/hw/xfree86/loader/loaderProcs.h xorg-server-1.5.99.902.patch/hw/xfree86/loader/loaderProcs.h
--- xorg-server-1.5.99.902/hw/xfree86/loader/loaderProcs.h 2009-01-31 05:21:50.000000000 +0100
+++ xorg-server-1.5.99.902.patch/hw/xfree86/loader/loaderProcs.h 2009-02-19 05:16:33.000000000 +0100
@@ -56,7 +56,6 @@
#undef IN_LOADER
#define IN_LOADER
#include "xf86Module.h"
-#include <X11/fonts/fontmod.h>
typedef struct module_desc {
struct module_desc *child;

View File

@ -1,230 +0,0 @@
From 49b93df8a3002db7196aa3fc1fd8dca1c12a55d6 Mon Sep 17 00:00:00 2001
From: Paulo Cesar Pereira de Andrade<pcpa@mandriva.com.br>
Date: Wed, 07 Jan 2009 21:37:03 +0000
Subject: Default to use standard bitmap fonts, with builtins as fallback
The builtin-fonts configure option was removed, as it at best should
have been a runtime option. Instead, now it always register all "font
path element" backends, and adds built-ins fonts at the end of the
default font path.
This should be a more reasonable solution, to "correct" the most
common Xorg FAQ (could not open default font 'fixed'), and also don't
break by default applications that use only the standard/historical
X Font rendering.
---
diff --git a/configure.ac b/configure.ac
index 22a09b0..ae455de 100644
--- a/configure.ac
+++ b/configure.ac
@@ -507,9 +507,6 @@ AC_ARG_ENABLE(install-libxf86config,
[Install libxf86config (default: disabled)]),
[INSTALL_LIBXF86CONFIG=$enableval],
[INSTALL_LIBXF86CONFIG=no])
-AC_ARG_ENABLE(builtin-fonts, AS_HELP_STRING([--enable-builtin-fonts], [Use only built-in fonts (default: yes)]),
- [BUILTIN_FONTS=$enableval],
- [BUILTIN_FONTS=yes])
AC_ARG_ENABLE(null-root-cursor, AS_HELP_STRING([--enable-null-root-cursor], [Use an empty root cursor (default: use core cursor)]),
[NULL_ROOT_CURSOR=$enableval],
[NULL_ROOT_CURSOR=no])
@@ -963,11 +960,6 @@ if test "x$DPMSExtension" = xyes; then
AC_DEFINE(DPMSExtension, 1, [Support DPMS extension])
fi
-if test "x$BUILTIN_FONTS" = xyes; then
- AC_DEFINE(BUILTIN_FONTS, 1, [Use only built-in fonts])
- FONTPATH="built-ins"
-fi
-
if test "x$XCALIBRATE" = xyes && test "$KDRIVE" = yes; then
AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension])
REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateproto"
diff --git a/dix/dixfonts.c b/dix/dixfonts.c
index 15d011c..b0fbed2 100644
--- a/dix/dixfonts.c
+++ b/dix/dixfonts.c
@@ -1906,12 +1906,9 @@ InitFonts (void)
{
patternCache = MakeFontPatternCache();
-#ifdef BUILTIN_FONTS
BuiltinRegisterFpeFunctions();
-#else
FontFileRegisterFpeFunctions();
fs_register_fpe_functions();
-#endif
}
int
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 48d8efd..198b20f 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -110,8 +110,6 @@ extern DeviceAssocRec mouse_assoc;
#define PROJECTROOT "/usr/X11R6"
#endif
-static char *fontPath = NULL;
-
static ModuleDefault ModuleDefaults[] = {
{.name = "extmod", .toLoad = TRUE, .load_opt=NULL},
{.name = "dbe", .toLoad = TRUE, .load_opt=NULL},
@@ -586,90 +584,55 @@ xf86ConfigError(char *msg, ...)
static void
configFiles(XF86ConfFilesPtr fileconf)
{
- MessageType pathFrom = X_DEFAULT;
- int countDirs;
- char *temp_path;
- char *log_buf;
-
- /* FontPath */
- /* Try XF86Config FontPath first */
- if (!xf86fpFlag) {
- if (fileconf) {
- if (fileconf->file_fontpath) {
- char *f = xf86ValidateFontPath(fileconf->file_fontpath);
- pathFrom = X_CONFIG;
- if (*f) {
- if (xf86Info.useDefaultFontPath) {
- char *g;
- xf86Msg(X_DEFAULT, "Including the default font path %s.\n", defaultFontPath);
- g = xnfalloc(strlen(defaultFontPath) + strlen(f) + 3);
- strcpy(g, f);
- strcat(g, ",");
- defaultFontPath = strcat(g, defaultFontPath);
- xfree(f);
- } else {
- defaultFontPath = f;
- }
- } else {
- xf86Msg(X_WARNING,
- "FontPath is completely invalid. Using compiled-in default.\n");
- fontPath = NULL;
- pathFrom = X_DEFAULT;
- }
- }
- } else {
- xf86Msg(X_DEFAULT,
- "No FontPath specified. Using compiled-in default.\n");
- pathFrom = X_DEFAULT;
- }
- } else {
- /* Use fontpath specified with '-fp' */
- if (fontPath)
- {
- fontPath = NULL;
+ MessageType pathFrom;
+ Bool must_copy;
+ int size, countDirs;
+ char *temp_path, *log_buf, *start, *end;
+
+ /* FontPath */
+ must_copy = TRUE;
+
+ temp_path = defaultFontPath ? defaultFontPath : "";
+ if (xf86fpFlag)
+ pathFrom = X_CMDLINE;
+ else if (fileconf && fileconf->file_fontpath) {
+ pathFrom = X_CONFIG;
+ if (xf86Info.useDefaultFontPath) {
+ defaultFontPath = Xprintf("%s%s%s",
+ fileconf->file_fontpath,
+ *temp_path ? "," : "", temp_path);
+ must_copy = FALSE;
+ }
+ else
+ defaultFontPath = fileconf->file_fontpath;
}
- pathFrom = X_CMDLINE;
- }
- if (!fileconf) {
- /* xf86ValidateFontPath will write into it's arg, but defaultFontPath
- could be static, so we make a copy. */
- char *f = xnfalloc(strlen(defaultFontPath) + 1);
- f[0] = '\0';
- strcpy (f, defaultFontPath);
- defaultFontPath = xf86ValidateFontPath(f);
- xfree(f);
- } else {
- if (fileconf) {
- if (!fileconf->file_fontpath) {
- /* xf86ValidateFontPath will write into it's arg, but defaultFontPath
- could be static, so we make a copy. */
- char *f = xnfalloc(strlen(defaultFontPath) + 1);
- f[0] = '\0';
- strcpy (f, defaultFontPath);
- defaultFontPath = xf86ValidateFontPath(f);
- xfree(f);
- }
- }
- }
-
- /* If defaultFontPath is still empty, exit here */
-
- if (! *defaultFontPath)
- FatalError("No valid FontPath could be found.");
-
- /* make fontpath more readable in the logfiles */
- countDirs = 1;
- temp_path = defaultFontPath;
- while((temp_path = index(temp_path, ',')) != NULL) {
- countDirs++;
- temp_path++;
- }
- log_buf = xnfalloc(strlen(defaultFontPath) + (2 * countDirs) + 1);
- if(!log_buf) /* fallback to old method */
- xf86Msg(pathFrom, "FontPath set to \"%s\"\n", defaultFontPath);
- else {
- char *start, *end;
- int size;
+ else
+ pathFrom = X_DEFAULT;
+ temp_path = defaultFontPath ? defaultFontPath : "";
+
+ /* ensure defaultFontPath contains "built-ins" */
+ start = strstr(temp_path, "built-ins");
+ end = start + strlen("built-ins");
+ if (start == NULL ||
+ !((start == temp_path || start[-1] == ',') && (!*end || *end == ','))) {
+ defaultFontPath = Xprintf("%s%sbuilt-ins",
+ temp_path, *temp_path ? "," : "");
+ must_copy = FALSE;
+ }
+ /* xf86ValidateFontPath modifies its argument, but returns a copy of it. */
+ temp_path = must_copy ? XNFstrdup(defaultFontPath) : defaultFontPath;
+ defaultFontPath = xf86ValidateFontPath(temp_path);
+ free(temp_path);
+
+ /* make fontpath more readable in the logfiles */
+ countDirs = 1;
+ temp_path = defaultFontPath;
+ while ((temp_path = index(temp_path, ',')) != NULL) {
+ countDirs++;
+ temp_path++;
+ }
+
+ log_buf = xnfalloc(strlen(defaultFontPath) + (2 * countDirs) + 1);
temp_path = log_buf;
start = defaultFontPath;
while((end = index(start, ',')) != NULL) {
@@ -685,7 +648,6 @@ configFiles(XF86ConfFilesPtr fileconf)
strcpy(temp_path, start);
xf86Msg(pathFrom, "FontPath set to:\n%s\n", log_buf);
xfree(log_buf);
- }
if (fileconf && fileconf->file_inputdevs) {
diff --git a/include/dixfont.h b/include/dixfont.h
index 97bd712..e444a20 100644
--- a/include/dixfont.h
+++ b/include/dixfont.h
@@ -142,4 +142,6 @@
extern void SetGlyphCachingMode(int /*newmode*/);
+extern void BuiltinRegisterFpeFunctions(void);
+
#endif /* DIXFONT_H */
--
cgit v0.8.1-24-ge5fb

View File

@ -1,34 +0,0 @@
From 0d4beba90ad82998f123f05dc0a03003f031b6f0 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@redhat.com>
Date: Fri, 16 Jan 2009 20:38:57 +1000
Subject: [PATCH] mi: force the paired kbd device before CopyKeyClass. (#19574)
Some multi-media keyboards send the key events for multimedia keys through the
device file used by the mouse. Sending a key event through the VCP however
will fail. The VCP doesn't have a key class so the server crashes or (with an
appropriate fix) the event is simply swallowed.
Thus, for key events if the master does not have a key class, get the device
paired with the master (i.e. the VCK) before processing the event any further.
X.Org Bug 19574 <http://bugs.freedesktop.org/show_bug.cgi?id=19574>
---
mi/mieq.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/mi/mieq.c b/mi/mieq.c
index 226caa6..213ad5b 100644
--- a/mi/mieq.c
+++ b/mi/mieq.c
@@ -451,7 +451,11 @@ mieqProcessInputEvents(void)
is transferred. */
if (event->u.u.type == DeviceKeyPress ||
event->u.u.type == DeviceKeyRelease)
+ {
+ if (!master->key)
+ master = GetPairedDevice(master);
CopyKeyClass(dev, master);
+ }
CopyGetMasterEvent(master, dev, event, masterEvents, nevents);
}

View File

@ -1,39 +0,0 @@
From d06c8a08a432c042748b055638eb7a2a1cc453ea Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon, 2 Feb 2009 10:20:13 +1000
Subject: [PATCH] mi: don't call UpdateSpriteForScreen if we have Xinerama enabled. #18668
In Xinerama all windows hang off the first root window. Crossing the screens
must not reset the spriteTrace, otherwise picking fails and events are sent to
the root window.
X.Org Bug 18668 <http://bugs.freedesktop.org/show_bug.cgi?id=18668>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
---
mi/mipointer.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/mi/mipointer.c b/mi/mipointer.c
index d520281..e3a4656 100644
--- a/mi/mipointer.c
+++ b/mi/mipointer.c
@@ -332,7 +332,14 @@ miPointerWarpCursor (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)
pPointer->pScreen = pScreen;
}
- if (changedScreen)
+ /* Don't call USFS if we use Xinerama, otherwise the root window is
+ * updated to the second screen, and we never receive any events.
+ * (FDO bug #18668) */
+ if (changedScreen
+#ifdef PANORAMIX
+ && noPanoramiXExtension
+#endif
+ )
UpdateSpriteForScreen (pDev, pScreen) ;
}
--
1.6.0.6

View File

@ -1,38 +0,0 @@
diff --git a/os/log.c b/os/log.c
index 0860847..2c46f1a 100644
--- a/os/log.c
+++ b/os/log.c
@@ -255,6 +255,33 @@ LogVWrite(int verb, const char *f, va_list args)
static char tmpBuffer[1024];
int len = 0;
+ struct timeval time;
+ time_t tv_sec;
+ suseconds_t tv_usec;
+ static Bool first = TRUE;
+ static time_t start_tv_sec;
+ static suseconds_t start_usec;
+ int diff_sec, diff_usec;
+
+ gettimeofday(&time, NULL);
+ tv_sec = time.tv_sec;
+ tv_usec = time.tv_usec;
+ if (first == TRUE) {
+ start_tv_sec = tv_sec;
+ start_usec = tv_usec;
+ first = FALSE;
+ }
+ diff_sec = (int)difftime(tv_sec, start_tv_sec);
+ diff_usec = (tv_usec - start_usec);
+ if (diff_usec < 0) {
+ diff_sec--;
+ diff_usec += 1000000;
+ }
+ sprintf(tmpBuffer, "[%d sec: %06d usec]", diff_sec , diff_usec);
+ len = strlen(tmpBuffer);
+ if (logFile)
+ fwrite(tmpBuffer, len, 1, logFile);
+
/*
* Since a va_list can only be processed once, write the string to a
* buffer, and then write the buffer out to the appropriate output