I was recently given a Surface Pro notebook, on which I have installed
Linux Mint with XFCE. The touch screen didn't work at first (it had worked on Windows 10 and Zorin) and I had to install some extra stuff to get it working, as described at https://github.com/linux-surface/linux-surface/wiki/Installation-and- Setup#Debian--Ubuntu
However I still can't get the soft keypad to pop up on the screen. Anyone know how?
On Mon, 12/22/2025 1:37 AM, Handsome Jack wrote:[snip]
I was recently given a Surface Pro notebook, on which I have installed
Linux Mint with XFCE. The touch screen didn't work at first (it had
worked on Windows 10 and Zorin) and I had to install some extra stuff
to get it working, as described at
https://github.com/linux-surface/linux-surface/wiki/Installation-and-
Setup#Debian--Ubuntu
However I still can't get the soft keypad to pop up on the screen.
Anyone know how?
If you want, I can walk you through **configuring Onboard to
autorCashow**, or help you tune XFCE for better touchscreen usability (gestures, window buttons, scaling).
On Mon, 12/22/2025 1:37 AM, Handsome Jack wrote:
I was recently given a Surface Pro notebook, on which I have installed# **Recommended Setup for Surface Pro + XFCE**
Linux Mint with XFCE. The touch screen didn't work at first (it had
worked on Windows 10 and Zorin) and I had to install some extra stuff
to get it working, as described at
https://github.com/linux-surface/linux-surface/wiki/Installation-and-
Setup#Debian--Ubuntu
However I still can't get the soft keypad to pop up on the screen.
Anyone know how?
### Install Onboard ```bash sudo apt install onboard ```
### Enable AT-SPI accessibility (needed for autorCashow)
In Mint XFCE:
**Settings -> Accessibility -> Enable assistive technologies**
### Add Onboard to autostart **Settings -> Session and Startup ->
Application Autostart -> Add -> `onboard`**
### Optional: AutorCashow on text fields Run:
```bash onboard-settings ```
Enable:
- *rCLShow when editing textrCY*
- *rCLAuto-hide when not neededrCY*
The OSK behaviour is a bit erratic but it works well enough. Also
it's awkward if you are booting the machine without the physicial
keyboard; the OSK doesn't appear until after Linux has started, so
you can't start if Linux insists on asking for the login password. I
haven't worked out how to get round that; the "Don't ask for a
password on login" in "users and groups" doesn't work.
You can't directly enable Windows' built-in On-Screen Keyboard (OSK)
before Windows loads from a boot manager like GRUB or BIOS, but you
can enable BIOS/UEFI USB Keyboard Support, use specialized
bootloader keyboard settings (like in Linux), or create an
AutoUnattend.xml file to launch OSK during Windows Setup. For
general startup issues where physical keyboards fail, enabling
Legacy USB Support in BIOS, using different USB ports, and ensuring
Fast Boot is off are key steps.
Handsome Jack wrote:gglAIov:
keyboard; the OSK doesn't appear until after Linux has started, so
you can't start if Linux insists on asking for the login password.
I haven't worked out how to get round that; the "Don't ask for a
password on login" in "users and groups" doesn't work.
To make Linux XFCE skip the password at login, you need to enable
autologin in your display manager settings (usually LightDM),
typically by editing /etc/lightdm/lightdm.conf to set autologin- user=YourUsernam
What are 'bootloader keyboard settings'?
It seems to me that the BIOS/UEFI of the Surface should have a
function to show the OSK during boot in the 'advanced settings'.
On Mon, 22 Dec 2025 02:56:16 -0500, Paul wrote:
On Mon, 12/22/2025 1:37 AM, Handsome Jack wrote:
I was recently given a Surface Pro notebook, on which I have installed# **Recommended Setup for Surface Pro + XFCE**
Linux Mint with XFCE. The touch screen didn't work at first (it had
worked on Windows 10 and Zorin) and I had to install some extra stuff
to get it working, as described at
https://github.com/linux-surface/linux-surface/wiki/Installation-and-
Setup#Debian--Ubuntu
However I still can't get the soft keypad to pop up on the screen.
Anyone know how?
### Install Onboard ```bash sudo apt install onboard ```
### Enable AT-SPI accessibility (needed for autorCashow)
In Mint XFCE:
**Settings -> Accessibility -> Enable assistive technologies**
### Add Onboard to autostart **Settings -> Session and Startup ->
Application Autostart -> Add -> `onboard`**
### Optional: AutorCashow on text fields Run:
```bash onboard-settings ```
Enable:
- *rCLShow when editing textrCY*
- *rCLAuto-hide when not neededrCY*
Excellent. It worked. Simple, too; I was just missing the 'onboard' app,
but of course I couldn't know that without knowing it.
The OSK behaviour is a bit erratic but it works well enough. Also it's awkward if you are booting the machine without the physicial keyboard; the OSK doesn't appear until after Linux has started, so you can't start if Linux insists on asking for the login password. I haven't worked out how
to get round that; the "Don't ask for a password on login" in "users and groups" doesn't work.
Thanks again.
Mike Easter wrote:
Handsome Jack wrote:gglAIov:
keyboard; the OSK doesn't appear until after Linux has started, so you
can't start if Linux insists on asking for the login password.
I haven't worked out how to get round that; the "Don't ask for a
password on login" in "users and groups" doesn't work.
To make Linux XFCE skip the password at login, you need to enableI know of some kb boot parameters but not OSK.
autologin in your display manager settings (usually LightDM), typically
by editing /etc/lightdm/lightdm.conf to set autologin- user=YourUsernam
What are 'bootloader keyboard settings'?
It seems to me that the BIOS/UEFI of the Surface should have a functionThat's crazy/impossible (idea above) -- to do *during* boot for changing bios/uefi settings, that needs a kb because of the nature of the
to show the OSK during boot in the 'advanced settings'.
interface.
My LM Cinnamon install doesn't need a user/pass at login, but that
condition works 'erratically' because some other parts of the system
think they still need a login.
It would solve my problem if I could just configure LM to start
without requiring a login, but I'm damned if I can see how to make
it happen.
On Tue, 23 Dec 2025 06:11:54 -0000 (UTC), Handsome Jack wrote:
It would solve my problem if I could just configure LM to start without
requiring a login, but I'm damned if I can see how to make it happen.
I did this for a friend some years ago. The setup needed to be specific
to the display manager (lightdm, in this case). I created a user called rCLguestrCY with no password, and added it to the rCLnopasswdloginrCY and rCLautologinrCY groups. The file /etc/lightdm/users.conf controls which
users are available for GUI login based on their shell, UID range etc.
I edited /etc/lightdm/lightdm.conf.d/70-linuxmint.conf and added the
line
autologin-user=guest
Can also add line
display-stopped-script=shutdown -h now
so there is only one login session, when that ends, then machine shuts
down.
Handy info about configuring lightdm: <https://wiki.ubuntu.com/LightDM>, <https://wiki.archlinux.org/title/LightDM>, <https://www.freedesktop.org/wiki/Software/LightDM/CommonConfiguration/
.
On Tue, 23 Dec 2025 06:56:03 -0000 (UTC), Lawrence DrCOOliveiro wrote:
On Tue, 23 Dec 2025 06:11:54 -0000 (UTC), Handsome Jack wrote:
It would solve my problem if I could just configure LM to start without
requiring a login, but I'm damned if I can see how to make it happen.
I did this for a friend some years ago. The setup needed to be specific
to the display manager (lightdm, in this case). I created a user called
rCLguestrCY with no password, and added it to the rCLnopasswdloginrCY and
rCLautologinrCY groups. The file /etc/lightdm/users.conf controls which
users are available for GUI login based on their shell, UID range etc.
I edited /etc/lightdm/lightdm.conf.d/70-linuxmint.conf and added the
line
autologin-user=guest
Can also add line
display-stopped-script=shutdown -h now
so there is only one login session, when that ends, then machine shuts
down.
Handy info about configuring lightdm: <https://wiki.ubuntu.com/LightDM>,
<https://wiki.archlinux.org/title/LightDM>,
<https://www.freedesktop.org/wiki/Software/LightDM/CommonConfiguration/
.
I already have
autologin-user=jack
in the lightdm.conf file; you can do that via
the graphical settings manager -> login window -> users
and ticking Automatic login and entering 'jack'.
But it doesn't work on the Surface machine. I still get asked for username and pw. Moreover this login screen doesn't look anything like the 'normal' LM login screen I get on my desktop machine.
I already have
autologin-user=jack
in the lightdm.conf file; you can do that via
the graphical settings manager -> login window -> users
and ticking Automatic login and entering 'jack'.
But it doesn't work on the Surface machine. I still get asked for username and pw. Moreover this login screen doesn't look anything like the 'normal' LM login screen I get on my desktop machine.
Maybe yourCOre not running lightdm as your display manager.
or systemctl status display-manager
systemctl status display-manager
On Tue, 23 Dec 2025 12:27:29 -0000 (UTC), Handsome Jack wrote:
I already have autologin-user=jack in the lightdm.conf file; you can do
that via the graphical settings manager -> login window -> users and
ticking Automatic login and entering 'jack'.
But it doesn't work on the Surface machine. I still get asked for
username and pw. Moreover this login screen doesn't look anything like
the 'normal'
LM login screen I get on my desktop machine.
Maybe yourCOre not running lightdm as your display manager.
Also, systemctl status display-manager returns
{
* sddm.service - Simple Desktop Display Manager
Loaded: loaded (usr/lib/systemd/system/sddm.service; enabled; preset: enabled)
Active: active (running) since Wed 2025-12-24 10:46:14 GMT; X min ago
On Tue, 23 Dec 2025 13:08:39 -0800, Mike Easter wrote:
systemctl status display-manager
I still havenrCOt found any documentation saying this should work. Nevertheless, for me, it does, because:
root@theon:~ # ls -l /etc/systemd/system/display-manager.service
lrwxrwxrwx 1 root root 32 Dec 23 13:40 /etc/systemd/system/display-manager.service -> /lib/systemd/system/sddm.service
Maybe not. inxi -F returns
Display: x11 server: X.Org v: 21.1.1 with:Xwayland v:23.26 driver:
X- loaded: modesetting unloaded: fbdev, vesa dri: iris gpu: i915
resolution: 2736x1824~60Hz
Also, systemctl status display-manager returns { * sddm.service -
Simple Desktop Display Manager Loaded: loaded (usr/lib/systemd/ system/sddm.service; enabled; preset: enabled) Active: active
(running) since Wed 2025-12-24 10:46:14 GMT; X min
I don't know how to parse these let alone construe them.
To get an on-screen keyboard (OSK) working with SDDM on a Linux
Surface, you need to install qt5-virtualkeyboard and configure SDDM
by creating or editing /etc/sddm.conf.d/virtualkbd.conf (or kde_settings.conf) with InputMethod=qtvirtualkeyboard under the
[General] section, then restart; this enables the keyboard icon in
SDDM for touch input, making login on your Surface tablet easier
On Tue, 23 Dec 2025 20:25:23 -0000 (UTC), Lawrence DrCOOliveiro wrote:
On Tue, 23 Dec 2025 12:27:29 -0000 (UTC), Handsome Jack wrote:
I already have autologin-user=jack in the lightdm.conf file; you can do
that via the graphical settings manager -> login window -> users and
ticking Automatic login and entering 'jack'.
But it doesn't work on the Surface machine. I still get asked for
username and pw. Moreover this login screen doesn't look anything like
the 'normal'
LM login screen I get on my desktop machine.
Maybe yourCOre not running lightdm as your display manager.
Maybe not. inxi -F returns
{
Host: jack-Surface-Pro Kernel: 6.17.1-surface-2 arch: x86_64 bits: 64 Desktop: Xfce v: 239.871.768 Distro: Linux Mint 22.2 Zara
[snip]
Display: x11 server: X.Org v: 21.1.1 with:Xwayland v:23.26 driver: X-
loaded: modesetting unloaded: fbdev, vesa dri: iris gpu: i915 resolution: 2736x1824~60Hz
[snip a load more seemingly irrelevant stuff about audio etc].
}
Also, systemctl status display-manager returns
{
* sddm.service - Simple Desktop Display Manager
Loaded: loaded (usr/lib/systemd/system/sddm.service; enabled;
preset: enabled)
Active: active (running) since Wed 2025-12-24 10:46:14 GMT; X min
ago
then reams of stuff about docs, process, PID, tasks, memory ... ending in
jack-Surface-pro sddm[950]: Session started true
}
I don't know how to parse these let alone construe them.
OK, I got autologin working here, via instructions from Arch.
This article didn't match on a lot of detail, but it had the critical
bit.
https://wiki.archlinux.org/title/SDDM
First when I did this and set it up:
sudo dpkg-reconfigure sddm
I was "greeted" on next boot, by a rather stiff-looking blank "username"
and blank "password" field. So by default, there was no autologin set up
at all. Makes sense (unless sddm was the default manager when the distro
was constructed and the distro team did all the work for this via the installer details).
The Arch instructions are simple
cd /etc sudo mkdir sddm.conf.d # Directory is missing.
cd sddm.conf.d # Need to create a file.
sudo touch autologin.conf # grease rails, so the File:Save
actually works for you sudo xed autologin.conf # Add three
lines as follows. Likely to be User=jack
**************** autologin.conf contents ********************
[Autologin]
User=jacksaccountname Session=xfce **************** end autologin.conf contents ********************
When I did that, saved, did this to double-check
cat autologin.conf
then shutdown and did another boot attempt...
I was greeted by being right in the xfce desktop session,
with no stiff-greeter asking for my account and password like originally happened.
On Sat, 27 Dec 2025 00:00:39 -0500, Paul wrote:
OK, I got autologin working here, via instructions from Arch.
This article didn't match on a lot of detail, but it had the critical
bit.
https://wiki.archlinux.org/title/SDDM
First when I did this and set it up:
sudo dpkg-reconfigure sddm
I was "greeted" on next boot, by a rather stiff-looking blank "username"
and blank "password" field. So by default, there was no autologin set up
at all. Makes sense (unless sddm was the default manager when the distro
was constructed and the distro team did all the work for this via the
installer details).
The Arch instructions are simple
cd /etc sudo mkdir sddm.conf.d # Directory is missing.
cd sddm.conf.d # Need to create a file.
sudo touch autologin.conf # grease rails, so the File:Save
actually works for you sudo xed autologin.conf # Add three
lines as follows. Likely to be User=jack
**************** autologin.conf contents ********************
[Autologin]
User=jacksaccountname Session=xfce **************** end autologin.conf
contents ********************
When I did that, saved, did this to double-check
cat autologin.conf
then shutdown and did another boot attempt...
I was greeted by being right in the xfce desktop session,
with no stiff-greeter asking for my account and password like originally
happened.
Do you think it might be easier for me to reinstall lightdm instead, as it is more easily configurable using the xcfe settings "Login Window"
utility? If so, how would I do that?
On Sat, 12/27/2025 6:18 AM, Handsome Jack wrote:
On Sat, 27 Dec 2025 00:00:39 -0500, Paul wrote:
OK, I got autologin working here, via instructions from Arch.
This article didn't match on a lot of detail, but it had the critical
bit.
https://wiki.archlinux.org/title/SDDM
First when I did this and set it up:
sudo dpkg-reconfigure sddm
I was "greeted" on next boot, by a rather stiff-looking blank "username" >>> and blank "password" field. So by default, there was no autologin set up >>> at all. Makes sense (unless sddm was the default manager when the distro >>> was constructed and the distro team did all the work for this via the
installer details).
The Arch instructions are simple
cd /etc sudo mkdir sddm.conf.d # Directory is missing.
cd sddm.conf.d # Need to create a file.
sudo touch autologin.conf # grease rails, so the File:Save
actually works for you sudo xed autologin.conf # Add three
lines as follows. Likely to be User=jack
**************** autologin.conf contents ********************
[Autologin]
User=jacksaccountname Session=xfce **************** end autologin.conf
contents ********************
When I did that, saved, did this to double-check
cat autologin.conf
then shutdown and did another boot attempt...
I was greeted by being right in the xfce desktop session,
with no stiff-greeter asking for my account and password like originally >>> happened.
Do you think it might be easier for me to reinstall lightdm instead, as it >> is more easily configurable using the xcfe settings "Login Window"
utility? If so, how would I do that?
By symmetry, that might be something like
sudo dpkg-reconfigure lightdm
and that would re-wire the original stuff. I didn't
remove or purge anything and both solutions are sitting
on disk, waiting to be swapped in.
My SDDM looks like this right now. VMWare graphics driver. And SDDM.
System:
Host: ARROW Kernel: 6.14.0-37-generic arch: x86_64 bits: 64 compiler: gcc
v: 13.3.0
Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.41 wm: xfwm4 dm: SDDM
Distro: Linux Mint 22.2 Zara base: Ubuntu 24.04 noble
Graphics:
Device-1: VMware SVGA II Adapter driver: vmwgfx v: 2.20.0.0 ports:
active: Virtual-1 empty: Virtual-2, Virtual-3, Virtual-4, Virtual-5,
Virtual-6, Virtual-7, Virtual-8 bus-ID: 00:02.0 chip-ID: 15ad:0405
Display: x11 server: X.Org v: 21.1.11 with: Xwayland v: 23.2.6
compositor: xfwm4 v: 4.18.0 driver: X: loaded: vmware
unloaded: fbdev,modesetting,vesa dri: swrast gpu: vmwgfx display-ID: :0.0
screens: 1
Screen-1: 0 s-res: 1600x900 s-dpi: 96
Monitor-1: Virtual-1 mapped: Virtual1 res: 1600x900 size: N/A
API: EGL v: 1.5 platforms: device: 1 drv: swrast gbm: drv: kms_swrast
surfaceless: drv: swrast x11: drv: swrast inactive: wayland,device-0
API: OpenGL v: 4.5 vendor: mesa v: 25.0.7-0ubuntu0.24.04.2 glx-v: 1.4
direct-render: yes renderer: llvmpipe (LLVM 20.1.2 128 bits)
device-ID: ffffffff:ffffffff
Now I'll try to reconfigure it.
# You'll need uparrow/downarrow to select the item
# and the tab key to position for the red OK indicator, then hit Enter.
# It's a kind of ncurses interface (text).
sudo dpkg-reconfigure lightdm
Time for a reboot. The reboot is for luck.
OK, it did autologin, now to do some Inxi and check it.
System:
Host: ARROW Kernel: 6.14.0-37-generic arch: x86_64 bits: 64 compiler: gcc
v: 13.3.0
Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.41 wm: xfwm4 dm: 1: LightDM
2: SDDM note: stopped Distro: Linux Mint 22.2 Zara base: Ubuntu 24.04 noble
Graphics:
Device-1: VMware SVGA II Adapter driver: vmwgfx v: 2.20.0.0 ports:
active: Virtual-1 empty: Virtual-2, Virtual-3, Virtual-4, Virtual-5,
Virtual-6, Virtual-7, Virtual-8 bus-ID: 00:02.0 chip-ID: 15ad:0405
Display: x11 server: X.Org v: 21.1.11 with: Xwayland v: 23.2.6
compositor: xfwm4 v: 4.18.0 driver: X: loaded: vmware
unloaded: fbdev,modesetting,vesa dri: swrast gpu: vmwgfx display-ID: :0.0
screens: 1
Screen-1: 0 s-res: 1600x900 s-dpi: 96
Monitor-1: Virtual-1 mapped: Virtual1 res: 1600x900 size: N/A
API: EGL v: 1.5 platforms: device: 1 drv: swrast gbm: drv: kms_swrast
surfaceless: drv: swrast x11: drv: swrast inactive: wayland,device-0
API: OpenGL v: 4.5 vendor: mesa v: 25.0.7-0ubuntu0.24.04.2 glx-v: 1.4
direct-render: yes renderer: llvmpipe (LLVM 20.1.2 128 bits)
device-ID: ffffffff:ffffffff
Looks good so far.
Notice how Inxi says the other solution is merely "stopped". Weird.
And now that I'm back in lightdm, the XFCE Login settings is available
as it was before, with the control at the bottom of Users and so on. The settings on it were not changed, and as soon as lightdm picked up again,
it used the settings as they were before.
On Sat, 27 Dec 2025 07:00:54 -0500, Paul wrote:
And now that I'm back in lightdm, the XFCE Login settings is available
as it was before, with the control at the bottom of Users and so on. The
settings on it were not changed, and as soon as lightdm picked up again,
it used the settings as they were before.
OK I've done all that and it seems to work for the moment. I note your comments about LightDM maybe not working reliably with Onboard, so I'll
keep an eye on that and maybe switch back to SDDM if it crashes. The
people who wrote the modified kernel (or whatever) for getting OSK working on LM must have had a reason for changing the display manager, and maybe that's it.
I had no idea that LightDM was what managed the login process (why call it
a 'display manager' when it's actually a login manager?). Nor that there were alternatives, so it's all new to me even though I've been using LM
for 2.5 years.
Stuff like that, though fascinating for computer nerds, is very confusing for people who just want the things to work and don't have the patience to fiddle - like my wife, for whom this machine is really intended, to
replace her Windows 7 laptop.
Many thanks to you and others for helping.
I had no idea that LightDM was what managed the login process (why
call it a 'display manager' when it's actually a login manager?).
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 54 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 13:45:08 |
| Calls: | 742 |
| Files: | 1,218 |
| D/L today: |
2 files (2,024K bytes) |
| Messages: | 183,470 |
| Posted today: | 1 |