VirtualBox

Changeset 60940 in vbox


Ignore:
Timestamp:
May 12, 2016 8:52:48 AM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
107163
Message:

bugref:8087: Additions/x11: support non-root X server: install our OpenGL libraries in a location that persists over reboots but still check on each boot whether they should be installed or removed. Should fix an X server crash after a hard reboot.

Location:
trunk/src/VBox/Additions
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/common/crOpenGL/load.c

    r59233 r60940  
    11471147    if (!pszDisplay || !*pszDisplay)
    11481148    {
    1149         dlopen("/tmp/VBoxOGL/system/libGL.so.1", RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND);
    1150         dlopen("/tmp/VBoxOGL/system/libEGL.so.1", RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND);
     1149        dlopen("/var/lib/VBoxGuestAdditions/lib/system/libGL.so.1", RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND);
     1150        dlopen("/var/lib/VBoxGuestAdditions/lib/system/libEGL.so.1", RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND);
    11511151    }
    11521152}
  • trunk/src/VBox/Additions/linux/installer/vboxadd.sh

    r60933 r60940  
    215215    # Install the guest OpenGL drivers.  For now we don't support
    216216    # multi-architecture installations
    217     rm -rf /etc/ld.so.conf.d/00vboxvideo.conf
    218     ldconfig
    219217    if /usr/bin/VBoxClient --check3d; then
    220         rm -r /tmp/VBoxOGL
    221         mkdir -m 0755 /tmp/VBoxOGL
    222         mkdir -m 0755 /tmp/VBoxOGL/system
     218        rm -f /var/lib/VBoxGuestAdditions/lib/system/tmp.so
     219        mkdir -m 0755 -p /var/lib/VBoxGuestAdditions/lib/system
    223220        ldconfig -p | while read -r line; do
    224221            case "${line}" in "libGL.so.1 ${ldconfig_arch} => "*)
    225                 ln -s "${line#libGL.so.1 ${ldconfig_arch} => }" /tmp/VBoxOGL/system/libGL.so.1
     222                ln -s "${line#libGL.so.1 ${ldconfig_arch} => }" /var/lib/VBoxGuestAdditions/lib/system/tmp.so
     223                mv /var/lib/VBoxGuestAdditions/lib/system/tmp.so /var/lib/VBoxGuestAdditions/lib/system/libGL.so.1
    226224                break
    227225            esac
     
    229227        ldconfig -p | while read -r line; do
    230228            case "${line}" in "libEGL.so.1 ${ldconfig_arch} => "*)
    231                 ln -s "${line#libEGL.so.1 ${ldconfig_arch} => }" /tmp/VBoxOGL/system/libEGL.so.1
     229                ln -s "${line#libEGL.so.1 ${ldconfig_arch} => }" /var/lib/VBoxGuestAdditions/lib/system/tmp.so
     230                mv /var/lib/VBoxGuestAdditions/lib/system/tmp.so /var/lib/VBoxGuestAdditions/lib/system/libEGL.so.1
    232231                break
    233232            esac
    234233        done
    235         echo "/tmp/VBoxOGL" > /etc/ld.so.conf.d/00vboxvideo.conf
    236         ln -s "${INSTALL_DIR}/lib/VBoxOGL.so" /tmp/VBoxOGL/libGL.so.1
    237         ln -s "${INSTALL_DIR}/lib/VBoxEGL.so" /tmp/VBoxOGL/libEGL.so.1
    238         ldconfig
    239     fi
     234        ln -sf "${INSTALL_DIR}/lib/VBoxOGL.so" /var/lib/VBoxGuestAdditions/lib/libGL.so.1
     235        ln -sf "${INSTALL_DIR}/lib/VBoxEGL.so" /var/lib/VBoxGuestAdditions/lib/libEGL.so.1
     236        echo "/var/lib/VBoxGuestAdditions/lib" > /etc/ld.so.conf.d/00vboxvideo.conf
     237    else
     238        rm -f /etc/ld.so.conf.d/00vboxvideo.conf
     239    fi
     240    ldconfig
    240241
    241242    # Mount all shared folders from /etc/fstab. Normally this is done by some
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