Surface Pro 3

Have an interesting thing going on, and I’m totally puzzled by it. Running the latest openSUSE Tumbleweed on a Surface Pro 3 with the typecover. This one is an i5 with 8GB.

First, the excellent news: everything works right out of the box, zero tweaking required. Wifi, bluetooth, touchscreen, sound, the works. So, excellent thus far.

However, there is something that’s minor going on, but I have no idea how to diagnose it. Like I said, everything works, and this includes the sensors, accelerometer and ambient light sensors. I can enable the light sensor, and sure enough it’ll auto-adjust brightness. The issue comes with auto-rotate, and it’s a weird issue. I’m running KDE Wayland. If I boot the device with either the typecover or an external USB keyboard/mouse, it WILL NOT auto rotate, at all. However, if I try to boot without any sort of keyboard/mouse, it gives me this, in a blue ncurses-type window:

Trust openSUSE certificate

Do you agree to use the built-in openSUSE certificate
        to verify boot loaders and kernels?


                         no
                        yes

No is auto-selected. Touch screen won’t let me select, and plugging in a keyboard/mouse won’t let me select either, so the only thing I can do is hard-reset, connect a keyboard, and it’ll boot with zero problems. If I boot with a keyboard and hit ENTER for default boot, and quickly unplug it, THEN it’ll boot normally and auto-rotate works fine, even after reconnecting the input devices. I’ve checked BIOS, and secure boot is enabled (and I remember during install saying to import the certificates for EFI). Haven’t tried to set it to “no”, but what on earth?

I’ll grant you this isn’t a big deal and kudos to the openSUSE team because I had to do nothing in order for this all to function. But I’d appreciate any thoughts on how to even diagnose this, since either it boots normally with keyboard and no auto-rotate, it boots normally with auto-rotate if I un/re-plug the keyboard quickly, or won’t boot at all with no keyboard. Looking at dmesg/logs has zero errors after it’s booted either way.

That “Trust openSUSE certificate” should only happen once. If you say “yes”, that should be remembered and you are never prompted again. I’m not sure what happens if you say “no”, but perhaps secure-boot won’t work in that case.

I’m pretty sure that prompt is coming from “shim”, and at that stage your BIOS is being used to handle keyboard input. The kernel has not yet been loaded.

I am rethinking my earlier answer. If my answer were correct, you would not see that prompt for certificate acceptance.

The information should be saved in NVRAM (non-volatile RAM).

So now I am guessing. And my guess is that when you boot without any kind of mouse, your BIOS is somehow switching in a different NVRAM so shim is not seeing what it has previously saved in NVRAM.

I’m not at all sure what you can do about that. It happens before openSUSE is loaded, so the BIOS (or, strictly speaking, the UEFI firmware) is in control. Maybe check whether there’s a BIOS update that fixes the problem.

Yeah, I’m stumped as well. And since that’s an ncurses type screen, the mouse doesn’t work at all, and plugging in a keyboard AFTER I see that screen won’t let me do anything, even though the device comes on (keyboard lights/caps lock). Can’t select “yes” no matter what I do, and if I have the keyboard plugged in that screen doesn’t show up at all. Can’t get there from here, apparently.

Will check for a BIOS update, though, but still puzzled. As stated, I accepted/loaded the certificate for EFI/trusted boot during installation, and things don’t give me problems if there’s a keyboard attached. And still, this is a MINOR issue. Totally impressed with the Surface hardware support with zero tweaking.

And to add to what I posted earlier, that “Trust” screen is coming AFTER grub is loaded…I either let it auto-boot after a few seconds, or use the on-screen keyboard to hit ENTER.