[Bug 2407] New: run Xserver with normal user permissions

bugzilla-daemon@freedesktop.org bugzilla-daemon@freedesktop.org
Fri Jan 28 07:48:54 PST 2005


Please do not reply to this email: if you want to comment on the bug, go to            
the URL shown below and enter yourcomments there.     
   
https://bugs.freedesktop.org/show_bug.cgi?id=2407          
     
           Summary: run Xserver with normal user permissions
           Product: xorg
           Version: CVS_head
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DDX/xorg
        AssignedTo: xorg-bugzilla-noise@freedesktop.org
        ReportedBy: eich@pdx.freedesktop.org


The patch below allows to run X with ordinary user permissions
privided the used driver doesn't require direct access to hardware.
Currently the fbdev and the dummy driver do.
The patch modifies a feature that has been added to the API with 6.8 slightly
while care has been taken to not change the ABI. Currently no open source
drivers should be affected but the Nvidia binary only driver might.
The API changes consist purely of name changes.

The API changes are:

1. enum xorgRRFuncFlags -> enum xorgDriverFuncOp
   The enum was extended with a flag GET_REQUIRED_HW_INTERFACES.
2. typedef Bool xorgRRFuncProc(ScrnInfoPtr, xorgRRFuncFlags, xorRRRotationPtr)
    -> typedef Bool xorgDriverFuncProc(ScrnInfoPtr, xorgDriverFuncOp, pointer)
   pointer is a generic (void) pointer that can be cast to any other pointer
   depending on the xorgDriverFuncOp value.
3. struct _ScrnInfoRec: xorgRRFuncProc *RRFunc -> xorgDriverFuncProc 
   DriverFunc.

4. A driverFunc can be added to the DriverRec of a driver to make some of
   its functionalitiy available before a screen has been initialized.
   It is also available in the ScrnInfoRec structure. If available in the 
   DriverRec xf86AllocateScreen() will copy it to ScrnInfoRec structure 
   automatically.
   If non of its functionality is required before a screen has been initialized
   the function may be added to the ScrnInfoRec structure in Probe().
Furthermore it is now required that xorgRRFuncProc() returns FALSE when it
doesn't handle the xorgRRFuncFlag as these functionalities may optional.

Applications like scanpci will no longer need root permissions either as long as
they don't have to access HW but can use interfaces like /proc/bus/pci.

Some OS specific changes are required. I have attempted to to add the changes to
xf86EnableIO() (it has been changed from void xf86EnableIO() to Bool
xf86EnableIO()).
The console init code may also need to be modified.          
     
     
--           
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email         
     
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the xorg-bugzilla-noise mailing list