VirtualBox

Changeset 67736 in vbox for trunk/src/VBox/Installer


Ignore:
Timestamp:
Jun 30, 2017 1:43:48 PM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
116590
Message:

bugref:8910: Additions/linux: 3D pass-through not working on Fedora 25 and 26 alpha

Disable EGL guest library and make vboxadd service finish before gdm starts.

Fedora 26 Alpha was failing to start the display server because it was trying
to use our EGL library, which only worked under X11. Since that library was
only written to support Qt 5 applications, and Qt 5 switched back to using
GLX by default shortly after, we simply disable it.

Fedora 25 was failing to log in because the log-in screen started before our
3D libraries were put in place but the user session started after. We solve
this by changing the vboxadd systemd service to finish before the display
manager service is started, as suggested by Hans de Goede. Many thanks.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Installer/linux/routines.sh

    r63858 r67736  
    125125    description=`sed -n 's/# *Short-Description: *\(.*\)/\1/p' "${script}"`
    126126    required=`sed -n 's/# *Required-Start: *\(.*\)/\1/p' "${script}" | sed 's/\$[a-z]*//'`
     127    startbefore=`sed -n 's/# *X-Start-Before: *\(.*\)/\1/p' "${script}" | sed 's/\$[a-z]*//'`
    127128    runlevels=`sed -n 's/# *Default-Start: *\(.*\)/\1/p' "${script}"`
    128     before=`for i in ${runlevels}; do printf "runlevel${i}.target "; done`
     129    servicetype=`sed -n 's/# *X-Service-Type: *\(.*\)/\1/p' "${script}"`
     130    test -z "${servicetype}" && servicetype="forking"
     131    targets=`for i in ${runlevels}; do printf "runlevel${i}.target "; done`
     132    before=`for i in ${startbefore}; do printf "${i}.service "; done`
    129133    after=`for i in ${required}; do printf "${i}.service "; done`
    130134    cat > "${unit_path}/${name}.service" << EOF
     
    132136SourcePath=${script}
    133137Description=${description}
    134 Before=${before}shutdown.target
     138Before=${targets}shutdown.target ${before}
    135139After=${after}
    136140Conflicts=shutdown.target
    137141
    138142[Service]
    139 Type=forking
     143Type=${servicetype}
    140144Restart=no
    141145TimeoutSec=5min
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette