summaryrefslogtreecommitdiffstats
path: root/kde/post-install/sddm-qt5.post-install
blob: 3d168b14fe487c86f627e9c1fd75df6deda78ac7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
if [ "$SLACKPAM" == "no" ]; then
  # Remove PAM related stuff:
  rm -rf $PKG/etc/pam.d
else
  # Replace systemd-centric files with ours:
  rm -f $PKG/etc/pam.d/sddm*
  for FILE in sddm sddm-autologin sddm-greeter ; do
    install -Dm644 $CWD/post-install/sddm-qt5/pam.d/$FILE $PKG/etc/pam.d/$FILE
  done
fi

# Remove the sddm.conf file because we will generate our own in doinst.sh:
rm -f $PKG/etc/sddm.conf

# Make sure that Plasma and SDDM work on older GPUs,
# by forcing Qt5 to use software GL rendering:
cat <<"EOGL" >> $PKG/usr/share/sddm/scripts/Xsetup

# Make sure that Plasma and SDDM work on older GPUs,
# by forcing Qt5 to use software GL rendering:
OPENGL_VERSION=$(LANG=C glxinfo |grep '^OpenGL version string: ' |head -n 1 |sed -e 's/^OpenGL version string: \([0-9]\).*$/\1/g')
if [ "$OPENGL_VERSION" -lt 2 ]; then
  QT_XCB_FORCE_SOFTWARE_OPENGL=1
  export QT_XCB_FORCE_SOFTWARE_OPENGL
fi
EOGL

# Ensure that user customizations to the session files are not lost:
mv $PKG/usr/share/sddm/scripts/Xsession{,.new}
mv $PKG/usr/share/sddm/scripts/Xsetup{,.new}
mv $PKG/usr/share/sddm/scripts/Xstop{,.new}
mv $PKG/usr/share/sddm/scripts/wayland-session{,.new}

# Add a wrapper for the sddm binary, to enable a custom environment:
mv $PKG/usr/bin/sddm $PKG/usr/bin/sddm.bin
cat <<"EOT" > $PKG/usr/bin/sddm
#!/bin/sh
# Customized environment (LANG definition):
if [ -f /etc/default/sddm ]; then
  . /etc/default/sddm
fi
/usr/bin/sddm.bin "$*"
EOT
chmod 0755 $PKG/usr/bin/sddm

# Let's also add an example customization (localization of the UI):
mkdir -p  $PKG/etc/default
echo ". /etc/profile.d/lang.sh" >  $PKG/etc/default/sddm.new