Open MingcongBai opened 5 years ago
With hwdata
v0.327...
Missing PCI info:
8086:8a12, 8086:8a5a, 8086:8a03, 8086:8a19, 8086:34fc, 8086:34ef, 8086:34f0, 8086:34e0, 8086:34e4, 8086:34c8, 1e0f:0001
Missing USB info:
045e:0306, 8087:0026
Could you upload an acpidump (sudo acpidump > acpidump.out
)? That might help later.
For example, the acpidump could show us if IPTS uses a new firmware or one of the ones that are already known. If it doesn't use a new one, there shouldn't be much that would stop it from working.
Here is the acpidump ouput.
An update on "speakers hissing when headphones are plugged in," disabling Auto-Mute Mode
from alsamixer
works around the issue.
What does "Auto-Mute Mode" do?
As suggested by @aleksfadini in #589, it seems that modprobe.blacklist=intel_lpss_pci
is the minimal workaround - this module is marked as built-in
in my Kernel configuration, however.
I will test this later today.
Another issue came up after checking power-draw on s-tui with a 2-minute stress run, the processors sustained at around ~2.4GHz frequency with a power draw of ~25W. However, as soon as the stress run completed, the processor was pinned at 200MHz.
The throttling just randomly went away after a minute or two.
Another issue came up after checking power-draw on s-tui with a 2-minute stress run, the processors sustained at around ~2.4GHz frequency with a power draw of ~25W. However, as soon as the stress run completed, the processor was pinned at 200MHz.
The throttling just randomly went away after a minute or two.
We could try to handle that with a governor, cpupower-set frequency or something.
@aleksfadini Maybe, but I think there needs to be more investigation (i.e. trying to reproduce that on Windows).
Speaking of which, I was just checking my dmesg
and was greeted by a large amount of Intel DRM related errors...
[ 3863.983087] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=121 end=122) time 119 us, min 1812, max 1823, scanline start 1811, end 1823
[ 3972.419541] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=2797 end=2798) time 115 us, min 1812, max 1823, scanline start 1811, end 1824
[ 4224.913168] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=2199 end=2200) time 119 us, min 1812, max 1823, scanline start 1810, end 1825
[ 4375.360840] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=6627 end=6628) time 148 us, min 1812, max 1823, scanline start 1808, end 1824
[ 4393.156520] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=7694 end=7695) time 138 us, min 1812, max 1823, scanline start 1807, end 1824
[ 4570.470518] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=3835 end=3836) time 139 us, min 1812, max 1823, scanline start 1807, end 1825
[ 4720.972826] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=463 end=464) time 171 us, min 1812, max 1823, scanline start 1808, end 1827
[ 4968.254623] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=540 end=541) time 132 us, min 1812, max 1823, scanline start 1810, end 1826
Kernel clocksource was not happy either...
[ 30.396679] clocksource: timekeeping watchdog on CPU3: Marking clocksource 'tsc' as unstable because the skew is too large:
[ 30.396682] clocksource: 'hpet' wd_now: 222d1713 wd_last: 21ad7615 mask: ffffffff
[ 30.396684] clocksource: 'tsc' cs_now: 11c0a34b82 cs_last: 11936c07c0 mask: ffffffffffffffff
[ 30.396690] tsc: Marking TSC unstable due to clocksource watchdog
[ 30.396701] TSC found unstable after boot, most likely due to broken BIOS. Use 'tsc=unstable'.
[ 30.396719] sched_clock: Marking unstable (30399182956, -2482440)<-(30405395659, -8695192)
[ 30.397428] clocksource: Switched to clocksource hpet
Also, not getting artifacts or touchpad issues so far but will do more testing. Also, I'm not using noapic
Also, not getting artifacts or touchpad issues so far but will do more testing. Also, I'm not using noapic
I'm wondering if the artifacting is related to Panel Self Refresh.
@aleksfadini Can confirm that modprobe.blacklist=intel_lpss_pci
is a valid workaround.
That is a beautiful Wi-Fi Chip! So glad that Microsoft FINALLY switched to an Intel chip, and the AX support is the cherry on top!
Hopefully you won't have to bother with different Wi-Fi and bluetooth drivers and the mainline kernel drivers will be enough.
@chrismin13 The mainline kernel, I can confirm, is working 100% well for this chip.
@ MingcongBai What doest it mean:
Touch screen. IPTS firmware pending.
Can you elaborate? Can we make it work somehow?
Yes, the Wi-Fi is amazing. My priorities now are getting to work:
These are my personal goals. If this worked, this Surface would be my dream - powerful multimedia and dev machine with touch capabilites (I do coding and music with bitwig)
Really hoping to get these two working or I'll have to bring it back.
Touchscreen news:
Apparently blacklisting the intel_lpss module allows to boot but that is what inhibits the touchscreen from working. In order to get it to work we should use this kernel patch:
I have on idea how to do it. Can someone do that and update the linux-surface repo for Arch?
This patch should fix it according to this arch wiki link: https://wiki.archlinux.org/index.php/Dell_XPS_13_2-in-1_(7390)
First Boot To boot fully without the boot process hanging one must blacklist the 'intel_lpss_pci' module, which can be done on a live media installation by selecting the boot option you want and pressing 'e', navigating to the end of the boot options string, and adding 'modprobe.blacklist=intel_lpss_pci'. This should allow booting into the full OS and further installation to the internal SSD.
Intel LPSS To fix the intel_lpss_module the patch from this paste must be applied to the kernel.
Remember to be cautious about running code or installing patches from third party sources if you do not know what it does.
This patch should enable the system to boot without blacklisting the module, further enabling access to the touchscreen.
Did you did something else to get the kernel booting?
I tried to reproduce your step on my Surface Pro 7, but it freezes after Grub displays "Loading initial ramdisk ...", no matter how I try with nomodeset
, nosplash
, debug
, even when I add modprobe.blacklist=intel_lpss_pci
or noapic
.
I have:
I did only: modprobe.blacklist=intel_lpss_pci
To isolate the issue, I would first check if on your machine if the current arch live-usb installer boots with that option parameter (you will have to press e before the live usb boots automatically). If you tried that as a next step, we could exclude that something else is happening. Try and report back.
When I say something else, I mean that you might have a slightly different CPU? Mine is the SP7 i7 running the 10nm Intel Core i7-1065G7, that might matter or not.
EDIT: all the rest looks fine on your end, disable secureboot etc. On the other hand, why user an older Ubuntu?
I have the i5-1035G4. Maybe I am missing the microcode for the CPU, as said in the README?
I just wanted to ask, what is the current status at the moment? Quite some time has passed since 2019. Microsoft in between released WSL 2 with custom Linux Kernel, so I was wondering whether it can be used to get all things working on Surface 7 pro...
@archseer Thanks for the link. I checked it. The pen and Cameras are still not working on Surface Pro 7. Is there any way how to make it work?
@davadev You should ask at the other project, not here. This project is dead!
Quick note before I start, I am aware that there is already #589 but I feel like such a long post is probably better posted as a separate issue - I will be happy to move if this is inappropriate, of course.
Software Configuration
Linux Kernel 5.3.7 (config).
modesetting
DDX.Hardware Configuration
PCI devices:
USB Devices:
Additional Files:
What Has to be Done Before Getting a Boot
modprobe.blacklist=intel_lpss_pci
, otherwise system hangs asintel-lpss
loads.CONFIG_MFD_INTEL_LPSS_PCI
must be set tom
, otherwisenoapic
must be used.What Works
What Doesn't Work (Well) - GRUB, Kernel, and Userspace
s2idle
.noapic
parameter, which blocks SPI functionalities.GL_VERSION: 3.0 Mesa 19.1.6
.s-tui
stress, but the throttling goes away after a minute or two.What Doesn't Work (Well) - Firmware and UEFI
My To-Do's
hwdata
.linux-surface
.