Hi Brian,
you can find most of the missing pc files here :
www.gnome.org/~erwannc/missing-pc-files.tar.bz2
Erwann
Brian Cameron wrote:
>
> Alan:
>
> Sorry for responding after the timeout, but I just upgraded to the
> Xorg 7.2 and have some questions. Overall, looks great and seems
> faster than the old Xserver.
>
> However, I'm a bit annoyed that the full set of Xorg *.pc files don't
> seem to be installed to /usr/lib/pkgconfig (e.g. x11.pc, xext.pc,
> Xdamage.pc, xtst.pc, etc.). Why is this? I thought we were finally
> going to resolve this with the port to 7.2?
>
> Brian
>
>
>> Subject: PSARC FastTrack [01/29/2007]: Xorg server upgrade to 7.2
>>
>> I am sponsoring this fasttrack for myself, with a timeout of January 29.
>> The release binding is Patch/Micro. Note that I have set this to be an
>> externally visible case, with mail going to psarc-ext at sun.com &
>> xwin-discuss at opensolaris.org.
>>
>> [Sorry to PSARC members who got this already on the internal alias -
>> apparently sac_nextcase outwitted me and redirected the e-mail behind
>> my back - please reply to this one instead.]
>>
>> -Alan Coopersmith- alan.coopersmith at sun.com
>> Sun Microsystems, Inc. - X Window System Engineering
>>
>>
>> Template Version: @(#)sac_nextcase %I% %G% SMI
>> Copyright 2007 Sun Microsystems, Inc.
>>
>> 1. Introduction
>> 1.1. Project/Component Working Name:
>> Xorg server upgrade to 7.2
>> 1.2. Name of Document Author/Supplier:
>> Author: Alan Coopersmith
>> 1.3 Date of This Document:
>> 22 January, 2007
>> 4. Technical Description
>>
>> Xorg server upgrade to 7.2
>> ==========================
>>
>> This project upgrades the Xorg server in Solaris from X11R6.9 to
>> X11R7.2,
>> and adds several new features which were not previously included in the
>> Solaris builds.
>>
>> Upstream architectural changes from Xorg community:
>> ---------------------------------------------------
>>
>> Xorg command line changes:
>>
>> Several changes have been made to the Xorg command line options
>> since 6.9:
>>
>> Added to all Xorg-based servers:
>>
>> -wr sets the default root window to solid white instead
>> of the standard root weave pattern.
>>
>> -ardelay milliseconds
>> sets the autorepeat delay (length of time in mil-
>> liseconds that a key must be depressed before
>> autorepeat starts).
>>
>> -arinterval milliseconds
>> sets the autorepeat interval (length of time in mil-
>> liseconds that should elapse between autorepeat-
>> generated keystrokes).
>>
>> -ardelay was formerly known as -ar1, -arinterval was -ar2 - the old
>> names are still accepted by the code to preserve compatibility, but
>> are no longer documented in the manual page or usage message.
>>
>> Added to Xorg only:
>>
>> -showDefaultModulePath
>> Print out the default module path the server was
>> compiled with.
>>
>> -showDefaultLibPath
>> Print out the path libraries should be installed to.
>>
>>
>> Removed from all Xorg-based servers:
>>
>> bc disables certain kinds of error checking, for bug
>> compatibility with previous releases (e.g., to work
>> around bugs in R2 and R3 xterms and toolkits).
>> Deprecated.
>>
>> -xkbdb filename
>> uses filename for default keyboard keymaps.
>>
>> -noloadxkb
>> disables loading of an XKB keymap description on
>> server startup.
>>
>> Removal of LBX extension:
>>
>> The LBX (Low-Bandwidth X) extension supported in previous versions of
>> the Xorg server has been removed. The community suggests using either
>> ssh -X with compression or the NX project from www.nomachine.com.
>>
>> This project only removes LBX from the extensions supported by Xorg and
>> leaves the client side support intact (lbxproxy command and
>> functions in
>> libXext) in Solaris.
>>
>> Removal of CID font support:
>>
>> The Xorg server no longer supports CID-keyed PostScript Type 1 Fonts.
>> These were originally created to support East Asian character sets in
>> Type 1 fonts, but have since been replaced almost universally by
>> TrueType and OpenType fonts. Removal of CID fonts in Solaris was
>> listed as a future EOF in the Solaris 9 release notes, and the last
>> known CID fonts shipped in Solaris were removed in s10_48.
>>
>> Removal of getconfig:
>>
>> Previous versions of Xorg, when run without a config file, ran a perl
>> script at startup time to map discovered PCI device id's to driver
>> names
>> to load. Starting a perl interpreter at Xorg startup added to the
>> startup time, and the flexibility offered was not really used, so Xorg
>> has replaced this with a table built into the X server in the 7.2
>> release.
>>
>> The only use of getconfig on Solaris was a override file provided by
>> the
>> accelerated drivers from Nvidia to load their "nvidia" instead of the
>> open source "nv" driver when their kernel module was installed.
>> For this
>> release, the hardcoded mapping in the Xorg server has been updated to
>> prefer the nvidia driver when it is installed. A future project is
>> planned
>> to develop a more flexible method to map VIS_GETIDENTIFIER ioctl
>> results
>> to driver modules for mapping Solaris kernel frame buffer drivers to
>> Xorg
>> driver modules in a way that works on SPARC, x86, and Sun Ray, but
>> without
>> the overhead of starting a perl interpreter.
>>
>> XACE (X Access Control Extension) API:
>>
>> XACE is not an actual extension to the X protocol, but a framework
>> inside
>> the X server to be used by other extensions. It was originally
>> developed
>> by the SELinux team at the NSA, and integrated into Xorg 7.2 by Sun
>> & NSA
>> engineers who made sure it could serve as a common framework for both
>> SELinux and Solaris Trusted Extensions.
>>
>> http://people.freedesktop.org/~ewalsh/xace_proposal.html describes
>> XACE as:
>>
>> The XACE (X Access Control Extension) is a set of generic "hooks"
>> that can be used by other X extensions to perform access
>> checks. The goal of XACE is to prevent clutter in the core dix/os
>> code by providing a common mechanism for doing these sorts of
>> checks. The concept is identical to the Linux Security Module (LSM)
>> in the Linux Kernel.
>>
>> XACE is a generalization of the "Security" extension, which
>> provides a simple on/off trust model, with untrusted windows being
>> restricted in certain areas. Most of XACE consists simply of
>> replacing the Security-specific checks in the dix/os layer with
>> generic callback lists. However, the framework is flexible enough
>> to allow for hooks to be added or deprecated in the future.
>>
>> LSARC 2004/109 added similar hooks to the Xorg server for the Xtsol
>> extension module to be able to insert security checks when loaded.
>> These hooks were a Project Private interface between the Xorg binary
>> delivered via the X consolidation and the Xtsol module delivered via
>> the TLC consolidation (aka the Trusted Extensions product).
>>
>> To avoid cross-consolidation coordination issues, this project will
>> allow the Xtsol extension to use the existing interfaces to install
>> their hooks into the XACE callback lists. A future project will work
>> on migrating the Xtsol extension from its Project Private interfaces
>> for installing callback functions to using the standard XACE
>> functions to register callbacks.
>>
>> Supported architectures:
>> ------------------------
>>
>> Solaris currently only includes 32-bit x86 binaries for Xorg 6.9.
>> This project adds 64-bit x86 and 64-bit SPARC binaries for the Xorg
>> server and loadable modules as well.
>>
>> 64-bit versions are provided since Sun has had multiple customer
>> requests for X servers that can address more than 4 gb worth of
>> address space in order to allow storing large amounts of pixmap and
>> other data in the X server instead of making the X clients retransmit
>> them. Additionally, with video cards now shipping with 1gb of
>> on-board video RAM and roadmaps showing increases still coming in the
>> future, 64-bit addressing is needed to be able to address all the
>> VRAM on multi-card systems now, and potentially in the future
>> on a single frame buffer.
>>
>> Since current Solaris releases feature only a 64-bit kernel on SPARC,
>> and there are no current SPARC Xorg modules to retain compatibility
>> with, there is no reason to ship a 32-bit Xorg server on SPARC, while
>> on x86 both 32-bit & 64-bit CPU's are supported.
>>
>> Thus on SPARC platforms, /usr/X11/bin/Xorg will be a SPARCv9 binary.
>>
>> On x86 platforms, this project will deliver the Xorg server as both
>> /usr/X11/bin/i386/Xorg
>> /usr/X11/bin/amd64/Xorg
>>
>> When integrated into a minor release of Solaris on x86, this project
>> will
>> deliver /usr/X11/bin/Xorg as a link to /usr/lib/isaexec to automatically
>> pick the bit-size matching the current kernel.
>>
>> When integrated into a patch release of Solaris on x86, this project
>> will
>> deliver /usr/X11/bin/Xorg as a link to /usr/X11/bin/i386/Xorg to
>> preserve
>> compatibility with existing 3rd-party Xorg modules.
>>
>> (Currently, the project team is aware of only one existing 3rd-party
>> module
>> for Xorg on Solaris - the nvidia driver from Nvidia. We are
>> working with
>> Nvidia to have them provide a 64-bit version of this driver for
>> Solaris as
>> they already do on Linux. When available, the 64-bit driver will be
>> delivered in Solaris Nevada and in future Solaris 10 updates, but
>> existing
>> Solaris 10 users may have a 32-bit version only installed, so
>> switching to
>> a 64-bit default Xorg in a patch would break those users.)
>>
>> Customers on either release who wish to override the default may do
>> so by
>> changing the server property of the x11-server SMF property to specify
>> /usr/X11/bin/i386/Xorg or /usr/X11/bin/amd64/Xorg.
>>
>> Driver differences per architecture:
>> ------------------------------------
>>
>> The 32-bit x86 Xorg will continue to include the same drivers currently
>> provided in Xorg 6.9 (with updates to add new hardware support to some).
>>
>> The 64-bit x86 Xorg will provide a subset of those drivers, not
>> including
>> support for older hardware unlikely to be found in AMD64/EM64T-capable
>> machines.
>>
>> Graphics device driver modules which will be included in 64-bit x86
>> Xorg:
>>
>> ati_drv.so - wrapper for atimisc/radeon/r128
>> atimisc_drv.so - ATI Mach64, early Rage models
>> radeon_drv.so - ATI Radeon 7000->X850
>> r128_drv.so - ATI Rage 128
>> vesa_drv.so - VESA standard fallback
>> vga_drv.so - VGA standard fallback
>> ast_drv.so - Aspeed Tech remote KVM (used in Sun AMD64
>> servers)
>> i810_drv.so - Intel i810->i965
>> mga_drv.so - Matrox
>> nv_drv.so - nVidia GeForce/Quadro
>> trident_drv.so - Trident (on-board graphics chip in Sun V20z)
>> via_drv.so - VIA
>> vmware_drv.so - VMWare simulated display
>>
>> For comparison, these are the ones we ship 32-bit versions of that we've
>> skipped 64-bit versions of:
>> apm_drv.so - Alliance Promotion (production ended 1998)
>> ark_drv.so - Ark Logic
>> chips_drv.so - Chips & Technologies
>> cirrus_alpine.so - Cirrus Logic
>> cirrus_drv.so - Cirrus Logic
>> cirrus_laguna.so - Cirrus Logic
>> cyrix_drv.so - Cyrix MediaGX
>> glint_drv.so - 3Dlabs/TI glint
>> i128_drv.so - Number Nine Imagine 128 (bankrupt 2000)
>> i740_drv.so - Intel i740
>> neomagic_drv.so - NeoMagic (mid-late 90's laptops)
>> nsc_drv.so - National Semiconductor
>> rendition_drv.so - Rendition Verite (Windows support dropped
>> after Win98/NT4)
>> riva128.so - nVidia Riva/TNT
>> s3_drv.so - S3 (not ViRGE or Savage)
>> s3virge_drv.so - S3 ViRGE & Trio3D
>> savage_drv.so - S3 Savage
>> siliconmotion_drv.so - Silicon Motion
>> sis_drv.so - SiS, XGI Volari
>> tdfx_drv.so - 3Dfx (bankrupt 1999)
>> tga_drv.so - DEC 21039/TGA
>> tseng_drv.so - Tseng Labs
>>
>> There is no known architectural reason why additional drivers from the
>> 32-bit only list could not be provided in 64-bit format should a
>> business
>> case arise (or no reason a user/community member couldn't build their
>> own
>> from the X.Org open source release and use them without Sun support).
>>
>> For SPARC, the only graphics driver that will be provided by this
>> project
>> in SUNWxorg-graphics-ddx is wsfb_drv.so, which uses <sys/fbio.h> and
>> <sys/visual_io.h> ioctls to map /dev/fb and treat it as a dumb frame
>> buffer,
>> on frame buffer devices in which the Solaris kernel driver supports such
>> access. Later projects from the SPARC Graphics team in the Systems
>> Group
>> will deliver device-specific Xorg driver modules for SPARC frame
>> buffers.
>>
>> The dummy_drv.so used to provide a Xvfb-like memory-based non-displayed
>> screen will also be provided with Xorg on SPARC.
>>
>> For input devices, Xorg on SPARC will include only the driver modules
>> kbd_drv.so (Keyboard), mouse_drv.so, and void_drv.so (input placeholder
>> module for when it is desired to run without keyboard or mouse).
>>
>> Other differences per archictecture:
>> ------------------------------------
>>
>> As an OpenGL architecture is already provided for SPARC by the SPARC
>> Graphics group, Mesa will not be delivered with Xorg on SPARC.
>>
>>
>> On x86/x64 platforms, Xorg is installed setuid root. The 64-bit
>> Xorg for
>> x86 will be installed setuid root as well.
>>
>> On SPARC platforms, Xorg will be installed setgid root, as Xsun has
>> always
>> been on SPARC.
>>
>> X servers currently need either gid 0 or uid 0 to get the privilege
>> levels
>> necessary for these operations:
>> - Power Management via /dev/pm (both platforms)
>> - priority control of processes in IA class via priocntl() (both
>> platforms)
>>
>> X servers currently need uid 0 to get the privilege levels necessary for
>> these operations:
>> - access to PCI bus registers and mappings via /dev/xsvc (x86/x64 only)
>> - ability to set I/O Privilege Level (IOPL) via sysi86 (x86/x64 only)
>>
>> When started via a display manager such as dtlogin or gdm, Xorg is
>> started
>> as uid 0 by the display manager, and once the user logs in via the
>> display
>> manager, it sets it's uid to the logged in user. (This is after
>> initializing
>> the hardware, setting the IOPL and mapping /dev/xsvc, so uid 0 is no
>> longer
>> needed at that point.)
>>
>> Non-hardware based X servers:
>> -----------------------------
>>
>> Xnest is an X server which displays in a window on another X server, for
>> uses such as running a full remote desktop session inside your current X
>> session, or for running a session as another user, as gdmflexiserver
>> does.
>>
>> Xvfb is an X server which renders to an in-memory frame buffer but does
>> not display itself anywhere, which is often used for graphics applets on
>> web servers to do rendering which is then shipped via http to a web
>> browser,
>> or for running X applications unattended.
>>
>> Solaris currently includes Xnest & Xvfb X servers based on the Xsun
>> code,
>> shipped in /usr/openwin/bin. (Xvfb is actually just a shell script
>> which
>> calls Xsun with appropriate arguments [PSARC/2002/282].) Thus, when
>> Xsun is EOF'ed, replacements will be needed for those X servers.
>>
>> This project adds two additional X server programs to Solaris: Xephyr
>> and
>> Xorg-based Xvfb. Both will be built out of the Xorg tree, and will be
>> shipped in /usr/X11/bin/ via the SUNWxorg-server package on both
>> SPARC & x86.
>>
>> Xvfb will be mostly a drop in replacement for the existing Xvfb,
>> though with
>> the Xorg command line syntax and supported extension set instead of
>> those of
>> Xsun.
>>
>> Xephyr is somewhat of a hybrid between Xnest & Xvfb, displaying in a
>> window
>> on another X server as Xnest does, but doing all the rendering itself
>> to an
>> in memory framebuffer like Xvfb that it then displays as a bitmap image.
>> This allows it to support extensions like Xrender and Xcomposite even
>> when
>> the underlying X server does not, as well as avoiding several of the
>> design
>> issues that have long plagued Xnest, such as mismatches between the
>> font sets
>> supported by the Xnest server vs. the underlying X server. We are
>> intending
>> it to serve as the replacement for Xnest.
>>
>> On SPARC, Xvfb & Xephyr will be delivered as 64-bit binaries to be
>> able to
>> share private libraries with the Xorg server.
>>
>> On x86, Xvfb & Xephyr will be delivered as both 32-bit & 64-bit
>> binaries,
>> with the main bin directory having an isaexec wrapper to choose the
>> bit-size
>> matching the current kernel. (Similar to the Xorg on x86 in minor
>> release
>> layout described above.)
>>
>> Imported interfaces
>> -------------------
>> isaexec Stable [Committed] PSARC 1997/220
>> Xorg CLI External [Volatile] PSARC 2004/187
>>
>> Exported interfaces
>> -------------------
>> Xorg CLI changes Volatile
>> Xvfb Volatile
>> Xephyr Volatile
>> LBX extension Obsolete Previously Standard (PSARC 1998/299)
>> /usr/openwin/bin/Xnest Obsolete Previously Standard (PSARC
>> 1998/299)
>> /usr/openwin/bin/Xvfb Obsolete Previously Standard (PSARC
>> 1998/299)
>> getconfig Removed Previously External (PSARC 2004/187)
>>
>> 6. Resources and Schedule
>> 6.4. Steering Committee requested information
>> 6.4.1. Consolidation C-team Name:
>> X Consolidation - Desktop C-Team
>> 6.5. ARC review type: FastTrack
>> _______________________________________________
>> opensolaris-arc mailing list
>> opensolaris-arc at opensolaris.org
>
> _______________________________________________
> xwin-discuss mailing list
> xwin-discuss at opensolaris.org