Your message dated Fri, 18 Sep 2026 11:46:11 +0000
with message-id <[email protected]>
and subject line Bug#1137258: Removed package(s) from unstable
has caused the Debian Bug report #832740,
regarding support multi-monitor live-specific xorg configuration
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
832740: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=832740
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: live-config
Version: 3.0.21
Severity: normal
Tags: patch
Neither the nvidia nor the fglrx proprietary drivers work on machines
that have multiple display controllers. The attached patch solves this
by selecting xorg autodetection in this case. This patch is based on the
patch in the previously submitted bug report to reconfigure the X server
on every boot.
The patch contains some code reorganisation to avoid nesting the if
statements even more. Also it's much easier to catch the different cases
that require xorg driver autodetection with a subroutine.
Gaudenz
-- System Information:
Debian Release: 7.0
APT prefers testing
APT policy: (800, 'testing'), (700, 'unstable'), (50, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.2.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_CH.UTF-8, LC_CTYPE=de_CH.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
>From 6cd3ec1c800a574a20eb649d8fdbb856ded4e054 Mon Sep 17 00:00:00 2001
From: Gaudenz Steinlin <[email protected]>
Date: Wed, 27 Feb 2013 11:39:26 +0100
Subject: [PATCH 2/3] Use xorg driver for multiple display controllers
Using anything other than native xorg drivers has (so far) failed on
all systems with multiple display controllers. Use xorg autodetection in
this case instead of prorietary drivers.
This also moves the X11 driver detection into a subfunction to avoid yet
another giant if block.
---
scripts/config/1150-xserver-xorg | 197 ++++++++++++++++++++------------------
1 file changed, 105 insertions(+), 92 deletions(-)
diff --git a/scripts/config/1150-xserver-xorg b/scripts/config/1150-xserver-xorg
index d38b4d1..da4676e 100755
--- a/scripts/config/1150-xserver-xorg
+++ b/scripts/config/1150-xserver-xorg
@@ -7,6 +7,90 @@
## This is free software, and you are welcome to redistribute it
## under certain conditions; see COPYING for details.
+Detect_xorg_driver ()
+{
+ # Side-effect: Sets _NVIDIA_VERSION and _NVIDIA_MODULE if an NVIDIA card is detected
+
+ # without lspci this won't work
+ if ! [ -x /usr/bin/lspci ]
+ then
+ echo "xorg-autoconfig"
+ return
+ fi
+
+ # Using anything other than native xorg drivers has (so far) failed on all systems with several Display controllers.
+ # Therefore skip dirver selction if more than one Display controller is detected (last condition).
+ if [ $(lspci -mn | awk '{ gsub ("\"",""); { print $2 } }' | grep -c ^03) -ne 1 ]
+ then
+ echo "xorg-autoconfig"
+ return
+ fi
+
+ # pci-id of the first graphic card
+ _DEVICE="$(lspci -mn | awk '/0300/ { print $3$4 }' | sed -e 's|\"||g' | tr [a-z] [A-Z] | head -n1)"
+
+ # no PCI device found, hope the xorg autoconfiguration will figure it out
+ if [ -z "${_DEVICE}" ]
+ then
+ echo "xorg-autoconfig"
+ return
+ fi
+
+ # live-config specific xorg-driver overrides
+ if ls /usr/share/live/config/xserver-xorg/*.ids > /dev/null 2>&1
+ then
+ for _OVERRIDE_IDS in /usr/share/live/config/xserver-xorg/*.ids
+ do
+ if [ -e "${_OVERRIDE_IDS}" ]
+ then
+ if grep -qs "${_DEVICE}" "${_OVERRIDE_IDS}"
+ then
+ echo "$(basename ${_OVERRIDE_IDS} .ids)"
+ return
+ fi
+ fi
+ done
+ fi
+
+ # xorg-driver automatic override for virtualbox
+ if [ -e /var/lib/dpkg/info/virtualbox-guest-x11.list ] && echo "${_DEVICE}" | grep -qs '^80EEBEEF'
+ then
+ echo "vboxvideo"
+ return
+ fi
+
+ # xorg-driver automatic override for fglrx
+ if echo "${_DEVICE}" | grep -qs '^1002'
+ then
+ if grep -qs "${_DEVICE}" /usr/share/fglrx/fglrx.ids
+ then
+ echo "fglrx"
+ return
+ fi
+ fi
+
+ # xorg-driver automatic override for nvidia
+ if echo "${_DEVICE}" | grep -qs -E '^(10DE|12D2)'
+ then
+ for _NVIDIA_IDS in /usr/lib/nvidia/current/nvidia.ids $(ls /usr/lib/nvidia/legacy-*/nvidia.ids | sort -V -r)
+ do
+ if [ -e "${_NVIDIA_IDS}" ]
+ then
+ if grep -qs "${_DEVICE}" ${_NVIDIA_IDS}
+ then
+ _NVIDIA_VERSION="$(basename $(dirname ${_NVIDIA_IDS}))"
+ _NVIDIA_MODULE="$(echo nvidia-${_NVIDIA_VERSION} | sed -e 's|-current$||')"
+ echo "nvidia"
+ return
+ fi
+ fi
+ done
+
+ fi
+
+ # fall back to xorg autoconfiguration
+ echo "xorg-autoconfig"
+}
Xserver_xorg ()
{
@@ -89,85 +173,24 @@ Configure_xserver_xorg ()
esac
fi
- if [ -z "${LIVE_XORG_DRIVER}" ] && [ -e /usr/bin/lspci ]
+ if [ -z "${LIVE_XORG_DRIVER}" ]
then
- # pci-id of the first graphic card
- _DEVICE="$(lspci -mn | awk '/0300/ { print $3$4 }' | sed -e 's|"||g' | tr [a-z] [A-Z] | head -n1)"
-
- if [ -n "${_DEVICE}" ]
- then
- if ls /usr/share/live/config/xserver-xorg/*.ids > /dev/null 2>&1
- then
- # xorg-driver manual overrides
- for _OVERRIDE_IDS in /usr/share/live/config/xserver-xorg/*.ids
- do
- if [ -e "${_OVERRIDE_IDS}" ]
- then
- if grep -qs "${_DEVICE}" "${_OVERRIDE_IDS}"
- then
- LIVE_XORG_DRIVER="$(basename ${_OVERRIDE_IDS} .ids)"
-
- break
- fi
- fi
- done
- fi
-
- if [ -z "${LIVE_XORG_DRIVER}" ]
- then
- # xorg-driver automatic override for virtualbox
- if [ -e /var/lib/dpkg/info/virtualbox-guest-x11.list ] && echo "${_DEVICE}" | grep -qs '^80EEBEEF'
- then
- LIVE_XORG_DRIVER="vboxvideo"
- fi
-
- # xorg-driver automatic override for fglrx
- if echo "${_DEVICE}" | grep -qs '^1002'
- then
- if grep -qs "${_DEVICE}" /usr/share/fglrx/fglrx.ids
- then
- LIVE_XORG_DRIVER="fglrx"
- fi
- fi
-
- # xorg-driver automatic override for nvidia
- if echo "${_DEVICE}" | grep -qs -E '^(10DE|12D2)'
- then
- for _NVIDIA_IDS in /usr/lib/nvidia/current/nvidia.ids $(ls /usr/lib/nvidia/legacy-*/nvidia.ids | sort -V -r)
- do
- if [ -e "${_NVIDIA_IDS}" ]
- then
- if grep -qs "${_DEVICE}" ${_NVIDIA_IDS}
- then
- _NVIDIA_VERSION="$(basename $(dirname ${_NVIDIA_IDS}))"
- _NVIDIA_MODULE="$(echo nvidia-${_NVIDIA_VERSION} | sed -e 's|-current$||')"
-
- break
- fi
- fi
- done
-
- if [ -n "${_NVIDIA_VERSION}" ]
- then
- LIVE_XORG_DRIVER="nvidia"
- fi
- fi
- fi
- fi
+ LIVE_XORG_DRIVER=$(Detect_xorg_driver)
fi
- if [ -n "${LIVE_XORG_DRIVER}" ]
- then
- mkdir -p /etc/X11/xorg.conf.d
-
- if [ -e "/usr/share/live/config/xserver-xorg/${LIVE_XORG_DRIVER}.conf" ]
- then
- # xorg-driver manual override
- cp "/usr/share/live/config/xserver-xorg/${LIVE_XORG_DRIVER}.conf" /etc/X11/xorg.conf.d/zz-live-config_xserver-xorg.conf
- else
-
- # xorg-driver automatic override
+ mkdir -p /etc/X11/xorg.conf.d
+ # Create xorg config file snippet
+ if [ -e "/usr/share/live/config/xserver-xorg/${LIVE_XORG_DRIVER}.conf" ]
+ then
+ # xorg-driver manual override
+ cp "/usr/share/live/config/xserver-xorg/${LIVE_XORG_DRIVER}.conf" /etc/X11/xorg.conf.d/zz-live-config_xserver-xorg.conf
+ elif [ ${LIVE_XORG_DRIVER} = "xorg-autoconfig" ]
+ then
+ # Remove leftovers from previous runs of this script, ensure that xorg autoconfig works
+ [ -e /etc/X11/xorg.conf.d/zz-live-config_xserver-xorg.conf ] && rm /etc/X11/xorg.conf.d/zz-live-config_xserver-xorg.conf
+ else
+ # xorg-driver automatic override
cat > /etc/X11/xorg.conf.d/zz-live-config_xserver-xorg.conf << EOF
Section "Device"
Identifier "Default screen"
@@ -175,23 +198,20 @@ Section "Device"
EndSection
EOF
- fi
+ fi
+ # set correct glx alternative
+ if [ -e /etc/alternatives/glx ]
+ then
case "${LIVE_XORG_DRIVER}" in
fglrx)
- if [ -e /etc/alternatives/glx ]
- then
- update-alternatives --quiet --set glx /usr/lib/fglrx
- fi
+ update-alternatives --quiet --set glx /usr/lib/fglrx
modprobe fglrx
;;
nvidia)
- if [ -e /etc/alternatives/glx ]
- then
- update-alternatives --quiet --set glx /usr/lib/nvidia
- fi
+ update-alternatives --quiet --set glx /usr/lib/nvidia
if [ -e /etc/alternatives/nvidia ]
then
@@ -202,18 +222,11 @@ EOF
;;
*)
- if [ -e /etc/alternatives/glx ]
- then
- update-alternatives --quiet --set glx /usr/lib/mesa-diverted
- fi
+ update-alternatives --quiet --set glx /usr/lib/mesa-diverted
;;
esac
fi
- # Remove leftovers from previous runs of this script, ensure that xorg autoconfig works and mesa is selected
- rm /etc/X11/xorg.conf.d/zz-live-config_xserver-xorg.conf || true
- update-alternatives --quiet --set glx /usr/lib/mesa-diverted
-
if [ -n "${LIVE_XORG_RESOLUTION}" ]
then
echo "xrandr -s ${LIVE_XORG_RESOLUTION} || /bin/true" >> /etc/X11/Xsession.d/21xvidemode
--
1.7.10.4
--- End Message ---
--- Begin Message ---
Version: 20190301-lts1-5+rm
Dear submitter,
as the package open-infrastructure-system-tools has just been removed from the
Debian archive
unstable we hereby close the associated bug reports. We are sorry
that we couldn't deal with your issue properly.
For details on the removal, please see https://bugs.debian.org/1137258
The version of this package that was in Debian prior to this removal
can still be found using https://snapshot.debian.org/.
Please note that the changes have been done on the master archive and
will not propagate to any mirrors until the next dinstall run at the
earliest.
This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
[email protected].
Debian distribution maintenance software
pp.
Thorsten Alteholz (the ftpmaster behind the curtain)
--- End Message ---