(Tirigon) Arch on V - V-ROCKS

#1

Hey guys, now I’ve spent quite some time with my prototype trying to run Linux on it, so it’s time to let you all know how it went.
Some additional information I found while testing:

  • Somehow the battery cycles cannot be read, neither by Linux nor Windows. @Team is it supposed to be like this?
  • Battery life is really great - if one uses low screen brightness. I have mine indoors at max. 20% and battery lasts about 10-12hrs. Good job Eve!
  • Boot time approx. 4secs.

EDIT: v1.8 used for this test according to Peter.

SUMMARY

What’s working

  • WLAN
  • BT
  • Audio
  • Keyboard (both keys and touchpad)
  • Touchscreen
  • Pen

What’s NOT working

  • Camera
  • Fingerprint-scanner

What was not tested
~ TB3-port (as I have no adapter here with me)
~ All sensors except FP-reader

GUIDE

(0) We need to prepare some tools. We need a bootable

  • USB-Stick with Arch-iso (LINK broken atm).
  • USB-Stick with GParted (GParted Download).

Please find out yourself how to make a bootable USB-Stick on your OS. While you wait for the installation medias to finish grab yourself some Whisky and have fun :slight_smile:

(1) Everything starts in Windows. First we resize the SSD to make room fo our Arch-install. Therefore we open Disk Management (use Search function), select the Windows-partition and shrink it depending on our needs. We should e resented with some unallocated space.

(2) Next we want to boot into our USB-sticks, so we need to adjust the UEFI-settings.
If you have catlike reflexes you can reboot and press ESC or DELETE on the keyboard. If you are like me, just open the Windows-settings, go to Settings > Update > Recovery > Advanced Startup - Restart now. Next select Troubleshoot > Advanced Options > UEFI Firmware Settings.

Once we are in the UEFI-settings, go to the Advanced tab and select CSM Configuration. Set CSM Support to Enabled.
Optionally: In the Boot tab, set Setup Prompt Timeout to 5 or 10 if you want to access the UEFI more often and need some time to press ESC / DELETE and change Quiet-Boot to Disabled.
In the Save & Exit tab, go to Boot Override and select your USB-Stick (needs to be plugged into the V ofc). It will now reboot into the selected Stick (if there are 2 options take the one which says HDD).

(3) Start GParted in graphics-mode and create two new partitions from the free space. One will be the root partition (make it large enough), the other becomes the home partition. Take a note somewhere of the partitions you created and of the EFI partition (starts with nvme0n1p; in my case EFI is nvme0n1p1, root is nvme0n1p5, home is nvme0n1p6).
Click Apply to make the changes permanent.
Reboot into the UEFI-settings.

(4) From UEFI-settings boot into the Arch-Stick. After it successfully booted you will face a command prompt. Since the V’s display is HiRes the font should be unreadable. Change it by typing
setfont latarcyrheb-sun32

Check how Arch sees our partitions by typing
fdisk -l

You should see the names you already noted down earlier. Now we make the needed directories and mount the partitions to them.

mkdir /mnt 
mkdir /mnt/home 
mount /dev/nvme01np5 /mnt
mount /dev/nvme0n1p6 /mnt/home

Enable internet on our live-session by either plugging in some ethernet-cable or simply connect to your WLAN, using
wifi-menu
(follow the instructions you see).

Before we start installing we need to make sure we have some good mirror for pacman to use, so
nano /etc/pacman.d/mirrorlist
and uncomment the mirror which should be near to you.

(5) Now it’s time to install - run
pacstrap -i /mnt base

(6) Generate fstab
genfstab -U -p /mnt >> /mnt/etc/fstab

(7) Now we can enter the newly installed system by chrooting:
arch-chroot /mnt

(8) Set system-locale
nano /etc/locale.gen
and uncomment the locale you want to use. Create the corresponding cofig-file and set it also as system-variable

echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8

Generate the specified locale with
locale-gen

(9) Set localtime
Find the zone you want withto our n
ls /usr/share/zoneinfo
and look into the sub-zones
ls /usr/share/zoneinfo/Europe (eg)
Now we link it to
ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime
and set the hardwareclock to
hwclock --systohc --utc

(10) Networking
Currently we are running over the live-session’s network, so we want to install the needed tools to our permanent system:
pacmane -S wireless_tools wpa_supplicant wpa_actiond dialog networkmanager
If you have problems logging into your WLAN later on: wifi-menu installs a profile in /etc/netctl - just remove it and reconnect, everything should work fine then.

(11) Multilib
As we are on a 64-bit machine but might need some 32-bit software (virtualization using wine for example) we have to make pacman search also the multilib-repo.
nano /etc/pacman.conf
Scroll down untill it says [community] and uncomment both lines. Refresh pacman with
pacman -Sy

(12) Add user
First we set the root password by
passwd
and then create a new user, assign him to some groups and set his password, too:

useradd -m -g users -G wheel,storage,power -s /bin/bash Tirigon
passwd Tirigon

If you want to check which grous are available, just look at
cat /etc/group
and alter the command above to your liking.

(13) Setup sudo
As the new user has to acquire root-privileges install sudo:
pacman -S sudo

Also
EDITOR=nano visudo
and uncomment the line
%wheel ALL=(ALL) ALL

(14) Get packer
We now have configured pacman as we need it, but it cannot access the AUR; therefore we need to use packer, a wrapper for both, the traditional pacman and also the AUR. We start with it’s dependencies
pacman -S base-devel fakeroot jshon
Now we look for a nice and quiet place on our system, for example /tmp (everything in here get’s deleted after a reboot, so a perfect place for storing temporary files):

cd /tmp
mkdir packer && cd packer 
wget https://aur.archlinux.org/packages/pa/packer/PKGBUILD
makepkg 
pacman -U packer-*.pkg.tar.xz

(15) Bootloader
We are nearly done! However we want to be able to boot into our new Linux OS, so we install a great bootloader called rEFInd:
pacman -S refind-efi
Before we can actually install it we have to mount the boot-partition; you remember, one of those 3 partitions we noted down earlier. On the V it should be nvme0n1p1, so let’s mount it
mount /dev/nvme0n1p1 /boot/efi
To check if it has worked we can
ls /boot/efi
where should be another directory called EFI. Now
refind-install
and it should do everything on it’s own. We have to change some things so it actually works on the first attempt (don’t ask how many I needed…)

cd /boot/efi/efi/refind
nano refind.conf

Search for the keywoard enable_touch and uncomment it (This setting does nothing atm, however Eve promised to implement touch for UEFI later down the line. This way it will be possible to control rEFInd with the touchscreen.)
Next we run
mkrlconf
and check if it worked correctly with
cd /boot && ls
It should show us a file called refind_linux.conf Open it with nano
nano refind_linux.conf
There might be 3 lines of text, the first two containing “archiso …” Delete those 2 lines, so only the last one stays there. Modify it so it reads
“Boot with standard options” “ro root=/dev/nvme0n1p5 rw add_efi_memmap”
Make sure it has the correct partition!

In case rEFInd gets updated we create a update-script.

cd /etc/pacman.d && mkdir hooks
nano /etc/pacman.d/hooks/refind.hook

and insert the text

[Trigger]
Operation=Upgrade
Type=Package
Target=refind-efi

[Action]
When=PostTransaction
Exec=/usr/bin/refind-install

(16) Repair initramfs
I have no idea why this is needed, but well… Let’s just do it. (This is not optional.)
Look at what kernel-modules are loaded
lsmod | grep "crc32"
which should show 2 modules (crc32c_intel and crc32_pclmul).
Now we edit the mkinitcpio config file and rebuild the initramfs:
nano /etc/mkinitcpio.conf
add “crc32c_intel crc32_pclmul” in the MODULES section. Rebuild
mkinitcpio -p linux

Gratz - you are done! The one way or the other…
It’s time for a reboot and see if we can get into our freshly installed OS.
reboot

CONFIGURATION

I really hope eveyrthing worked so far for you and it didn’t blow up your V. From now on you’re completely free to install whatever you want your Arch system to run with, but let me show you my configuration; it is by no means perfect yet, but already works quite well.

(0) Font again
If not already done change the font again to latarcyrheb-sun32.

(1) X11
We want some nice GUI, not just boring terminal.
packer -S alsa-utils mesa xorg-server xorg-server-xwayland xorg-xinit xorg-server-utils xorg-twm xorg-xclock xterm xf86-video-intel vulkan-intel xf86-input-wacom
Short explanation:
~ alsa is for audio, mesa for 3D support
~ xorg-server-xwayland is a wrapper to run X-programs under Wayland. Without it Wayland session will fail (it’s a bug as far as I know.) Right now I would still recommend X11, Wayland has still a few bugs that make it unusable as a daily diver.
~ xf86-video-intel needed, vulkan-intel seems to be optional.
~ xf86-input-wacom for our V-pen (not sure if it’s the right one, but works)

Enable audio through alsa with
alsamixer
and make sure the main channel (left bar) is open. You can also adjust the volume intensity. Test your work with
speaker-test -c 2
Test the X-server with
startx
You should see some ugly GUI now, exit it by
exit

Some people like different desktop-environments, but I have found GNOME to be really great, especially with the touchscreen.

packer -S ttf-dejavu gnome 
packer -S gnome-extra

Here you can choose what programs you want to install, also have a look at the internet so see some description of each.
TIP: If you want i highly customizable login-manager, pick sddm; the only drawback: it has no way to display a virtual keyboard yet. If this one is a must for you, have a look at lightdm. Whatever you pick, enable it with

systemctl enable sddm
systemctl start sddm

If I remember correctly we are done now and can reboot so see if everyrthing works as planned.

(2) X11-drivers
The standard driver is libinput, and although the synaptics driver has more options it would be clever to use libinput; synaptics is deprecated.
The /usr/share/X11/xorg.conf.d/40-libinput.conf should look like this:

Section "InputClass"
        Identifier "libinput pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
	Option "Tapping" "1"
EndSection

#Section "InputClass"
#        Identifier "libinput tablet catchall"
#        MatchIsTablet "on"
#        MatchDevicePath "/dev/input/event*"
#        Driver "libinput"
#EndSection

The /usr/share/X11/xorg.conf.d/70-wacom.conf:

Section "InputClass"
	Identifier "Wacom N-Trig class"
	MatchProduct "HID 1b96:0001|N-Trig Pen|N-Trig DuoSense|04F3:2513 Pen"
	MatchDevicePath "/dev/input/event*"
	Driver "wacom"
	Option "Button2" "3"
EndSection

Another config file (they are great, aren’t they?): /etc/X11/xorg.conf.d/50-touchpad.conf

Section "InputClass"
	Identifier "V-Touchpad"
	MatchIsTouchpad "on"
	MatchDriver "libinput"
	Option "Tapping" "on"
	Option "TappingDragLock" "on"
EndSection

Strangely some of the libinput-settings cannot be set through config file, so go to the GNOME Settings and enable Natural Scrolling, Tap to Click and Two-finger-scrolling. (Also have a look at the Wacom-Tablet, where our pen should be seen.)

Every input-method should work now:

  • Keyboard (connected via USB, as seen in dmesg)
  • Touchpad running on lbinput
  • Touchscreen running on libinput
    (1) Swipe from left edge to open All Applications
    (2) 3 finger pinch to see Dash (running applications on current workspace)
    (3) 4 finger swipe up / down to switch workspace.
    (4) 3 finger hold, 1 finger tap to cycle through applications on current workspace (like alt-tab)

(3) Usefull applications
If you plan to use the V as a tablet you cannot get past onboard, such a great onscreen keyboard!
pacman -S onboard
and play with it’s settings, it’s truly amazing. And yes, it has multitouch, so you can hold modifiers and normal keys simultaneously.

Onboard integration is a GNOME Shell extension which tries to replace the default gok with onboard. Works 90% of the time.

TODO

  • Add a video of Arch in Action. (TM Soon)
  • Use some of those autorotate scripts to enable rotation.
  • Make onboard work with sddm.
  • Make cameras work.
  • Make fp-scanner work.
  • Test the other sensors for functionality.

##LOGS
lsusb -v

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 
  bDeviceProtocol         3 
  bMaxPacketSize0         9
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0003 3.0 root hub
  bcdDevice            4.10
  iManufacturer           3 Linux 4.10.8-1-ARCH xhci-hcd
  iProduct                2 xHCI Host Controller
  iSerial                 1 0000:00:14.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           31
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
        bMaxBurst               0
Hub Descriptor:
  bLength              12
  bDescriptorType      42
  nNbrPorts             6
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
  bPwrOn2PwrGood       10 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  bHubDecLat          0.0 micro seconds
  wHubDelay             0 nano seconds
  DeviceRemovable    0x00
 Hub Port Status:
   Port 1: 0000.02a0 5Gbps power Rx.Detect
   Port 2: 0000.02a0 5Gbps power Rx.Detect
   Port 3: 0000.02a0 5Gbps power Rx.Detect
   Port 4: 0000.02a0 5Gbps power Rx.Detect
   Port 5: 0000.02a0 5Gbps power Rx.Detect
   Port 6: 0000.02a0 5Gbps power Rx.Detect
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength           15
  bNumDeviceCaps          1
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x02
      Latency Tolerance Messages (LTM) Supported
    wSpeedsSupported   0x0008
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   3
      Lowest fully-functional device speed is SuperSpeed (5Gbps)
    bU1DevExitLat          10 micro seconds
    bU2DevExitLat         512 micro seconds
Device Status:     0x0001
  Self Powered

Bus 001 Device 003: ID 0603:00f1 Novatek Microelectronics Corp. Keyboard (Labtec Ultra Flat Keyboard)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0603 Novatek Microelectronics Corp.
  idProduct          0x00f1 Keyboard (Labtec Ultra Flat Keyboard)
  bcdDevice            1.02
  iManufacturer           1 SIPODEV
  iProduct                2 USB Composite Device
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           66
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      65
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     475
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
Device Status:     0x0000
  (Bus Powered)

Bus 001 Device 002: ID 8087:0a2b Intel Corp. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          224 Wireless
  bDeviceSubClass         1 Radio Frequency
  bDeviceProtocol         1 Bluetooth
  bMaxPacketSize0        64
  idVendor           0x8087 Intel Corp.
  idProduct          0x0a2b 
  bcdDevice            0.10
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          177
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0009  1x 9 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0009  1x 9 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       2
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0011  1x 17 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0011  1x 17 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       3
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0019  1x 25 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0019  1x 25 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       4
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0021  1x 33 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0021  1x 33 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       5
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0031  1x 49 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0031  1x 49 bytes
        bInterval               1
Device Status:     0x0001
  Self Powered

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0002 2.0 root hub
  bcdDevice            4.10
  iManufacturer           3 Linux 4.10.8-1-ARCH xhci-hcd
  iProduct                2 xHCI Host Controller
  iSerial                 1 0000:00:14.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
Hub Descriptor:
  bLength              11
  bDescriptorType      41
  nNbrPorts            12
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood       10 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x18 0x00
  PortPwrCtrlMask    0xff 0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0100 power
   Port 5: 0000.0100 power
   Port 6: 0000.0100 power
   Port 7: 0000.0103 power enable connect
   Port 8: 0000.0100 power
   Port 9: 0000.0103 power enable connect
   Port 10: 0000.0100 power
   Port 11: 0000.0100 power
   Port 12: 0000.0100 power
Device Status:     0x0001
  Self Powered

lspci -v

00:00.0 Host bridge: Intel Corporation Device 590c (rev 02)
	Subsystem: Intel Corporation Device 2015
	Flags: bus master, fast devsel, latency 0
	Capabilities: [e0] Vendor Specific Information: Len=10 <?>

00:02.0 VGA compatible controller: Intel Corporation Device 591e (rev 02) (prog-if 00 [VGA controller])
	Subsystem: Intel Corporation Device 2212
	Flags: bus master, fast devsel, latency 0, IRQ 284
	Memory at db000000 (64-bit, non-prefetchable) [size=16M]
	Memory at 90000000 (64-bit, prefetchable) [size=256M]
	I/O ports at f000 [size=64]
	[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
	Capabilities: [40] Vendor Specific Information: Len=0c <?>
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [d0] Power Management version 2
	Capabilities: [100] Process Address Space ID (PASID)
	Capabilities: [200] Address Translation Service (ATS)
	Capabilities: [300] Page Request Interface (PRI)
	Kernel driver in use: i915

00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 02)
	Subsystem: Intel Corporation Device 2015
	Flags: fast devsel, IRQ 16
	Memory at dd830000 (64-bit, non-prefetchable) [size=32K]
	Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
	Capabilities: [d0] Power Management version 3
	Capabilities: [e0] Vendor Specific Information: Len=0c <?>
	Kernel driver in use: proc_thermal

00:05.0 Multimedia controller: Intel Corporation Skylake Imaging Unit (rev 01)
	Subsystem: Intel Corporation Device 2015
	Flags: fast devsel, IRQ 11
	Memory at dc000000 (64-bit, non-prefetchable) [disabled] [size=4M]
	Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [a0] PCI Advanced Features
	Capabilities: [d0] Power Management version 3

00:08.0 System peripheral: Intel Corporation Skylake Gaussian Mixture Model
	Subsystem: Intel Corporation Device 2015
	Flags: fast devsel, IRQ 11
	Memory at dd84b000 (64-bit, non-prefetchable) [disabled] [size=4K]
	Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
	Capabilities: [dc] Power Management version 2
	Capabilities: [f0] PCI Advanced Features

00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21) (prog-if 30 [XHCI])
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, medium devsel, latency 0, IRQ 278
	Memory at dd820000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: [70] Power Management version 2
	Capabilities: [80] MSI: Enable+ Count=1/8 Maskable- 64bit+
	Kernel driver in use: xhci_hcd

00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
	Subsystem: Intel Corporation Device 7270
	Flags: fast devsel, IRQ 18
	Memory at dd84a000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [50] Power Management version 3
	Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
	Kernel driver in use: intel_pch_thermal

00:14.3 Multimedia controller: Intel Corporation Device 9d32 (rev 01)
	Subsystem: Intel Corporation Device 7270
	Flags: fast devsel, IRQ 11
	Memory at dd810000 (64-bit, non-prefetchable) [disabled] [size=64K]
	Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [d0] Power Management version 3

00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21)
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Memory at dd849000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: intel-lpss

00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 (rev 21)
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, fast devsel, latency 0, IRQ 17
	Memory at dd848000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: intel-lpss

00:15.2 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #2 (rev 21)
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, fast devsel, latency 0, IRQ 18
	Memory at dd847000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: intel-lpss

00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
	Subsystem: Intel Corporation Device 1999
	Flags: bus master, fast devsel, latency 0, IRQ 277
	Memory at dd846000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [50] Power Management version 3
	Capabilities: [8c] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Kernel driver in use: mei_me

00:1c.0 PCI bridge: Intel Corporation Device 9d10 (rev f1) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 274
	Bus: primary=00, secondary=01, subordinate=39, sec-latency=0
	I/O behind bridge: 00002000-00002fff [size=4K]
	Memory behind bridge: c4000000-da0fffff [size=353M]
	Prefetchable memory behind bridge: 00000000a0000000-00000000c1ffffff [size=544M]
	Capabilities: [40] Express Root Port (Slot+), MSI 00
	Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [90] Subsystem: Intel Corporation Device 7270
	Capabilities: [a0] Power Management version 3
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [140] Access Control Services
	Capabilities: [220] #19
	Kernel driver in use: pcieport

00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 275
	Bus: primary=00, secondary=3a, subordinate=3a, sec-latency=0
	I/O behind bridge: 0000e000-0000efff [size=4K]
	Memory behind bridge: dce00000-dd7fffff [size=10M]
	Prefetchable memory behind bridge: 00000000c2b00000-00000000c34fffff [size=10M]
	Capabilities: [40] Express Root Port (Slot+), MSI 00
	Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [90] Subsystem: Intel Corporation Device 7270
	Capabilities: [a0] Power Management version 3
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [140] Access Control Services
	Capabilities: [220] #19
	Kernel driver in use: pcieport

00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 (rev f1) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 276
	Bus: primary=00, secondary=3b, subordinate=3b, sec-latency=0
	I/O behind bridge: 0000d000-0000dfff [size=4K]
	Memory behind bridge: dc400000-dcdfffff [size=10M]
	Prefetchable memory behind bridge: 00000000c2100000-00000000c2afffff [size=10M]
	Capabilities: [40] Express Root Port (Slot+), MSI 00
	Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [90] Subsystem: Intel Corporation Device 7270
	Capabilities: [a0] Power Management version 3
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [140] Access Control Services
	Capabilities: [200] L1 PM Substates
	Capabilities: [220] #19
	Kernel driver in use: pcieport

00:1e.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO UART Controller #0 (rev 21)
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, fast devsel, latency 0, IRQ 20
	Memory at dd845000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: intel-lpss

00:1e.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO UART Controller #1 (rev 21)
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, fast devsel, latency 0, IRQ 21
	Memory at dd844000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: intel-lpss

00:1e.3 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO SPI Controller #1 (rev 21)
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, fast devsel, latency 0, IRQ 23
	Memory at dd843000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: intel-lpss

00:1e.4 SD Host controller: Intel Corporation Device 9d2b (rev 21) (prog-if 01)
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, fast devsel, latency 0, IRQ 21
	Memory at dd842000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: sdhci-pci

00:1e.6 SD Host controller: Intel Corporation Sunrise Point-LP Secure Digital IO Controller (rev 21) (prog-if 01)
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, fast devsel, latency 0, IRQ 23
	Memory at dd841000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] Vendor Specific Information: Len=14 <?>
	Kernel driver in use: sdhci-pci

00:1f.0 ISA bridge: Intel Corporation Device 9d56 (rev 21)
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, medium devsel, latency 0

00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
	Subsystem: Intel Corporation Device 7270
	Flags: fast devsel
	Memory at dd83c000 (32-bit, non-prefetchable) [size=16K]
	Kernel driver in use: intel_pmc_core

00:1f.3 Audio device: Intel Corporation Device 9d71 (rev 21)
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, fast devsel, latency 32, IRQ 280
	Memory at dd838000 (64-bit, non-prefetchable) [size=16K]
	Memory at dd800000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: [50] Power Management version 3
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Kernel driver in use: snd_hda_intel

00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
	Subsystem: Intel Corporation Device 7270
	Flags: medium devsel, IRQ 16
	Memory at dd840000 (64-bit, non-prefetchable) [size=256]
	I/O ports at f040 [size=32]
	Kernel driver in use: i801_smbus

3a:00.0 Non-Volatile memory controller: Intel Corporation Device f1a5 (rev 03) (prog-if 02 [NVM Express])
	Subsystem: Intel Corporation Device 390a
	Physical Slot: 1-1
	Flags: bus master, fast devsel, latency 0, IRQ 16, NUMA node 0
	Memory at dce00000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [40] Power Management version 3
	Capabilities: [70] Express Endpoint, MSI 00
	Capabilities: [b0] MSI-X: Enable+ Count=16 Masked-
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [158] #19
	Capabilities: [178] Latency Tolerance Reporting
	Capabilities: [180] L1 PM Substates
	Kernel driver in use: nvme

3b:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)
	Subsystem: Intel Corporation Device 9010
	Physical Slot: 1-2
	Flags: bus master, fast devsel, latency 0, IRQ 283
	Memory at dc400000 (64-bit, non-prefetchable) [size=8K]
	Capabilities: [c8] Power Management version 3
	Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [40] Express Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [140] Device Serial Number f8-63-3f-ff-ff-02-64-3a
	Capabilities: [14c] Latency Tolerance Reporting
	Capabilities: [154] L1 PM Substates
	Kernel driver in use: iwlwifi

lsmod

Module                  Size  Used by
uvcvideo               86016  0
videobuf2_vmalloc      16384  1 uvcvideo
videobuf2_memops       16384  1 videobuf2_vmalloc
videobuf2_v4l2         20480  1 uvcvideo
videobuf2_core         36864  2 uvcvideo,videobuf2_v4l2
videodev              151552  3 uvcvideo,videobuf2_core,videobuf2_v4l2
media                  32768  2 uvcvideo,videodev
ctr                    16384  6
ccm                    20480  3
fuse                   98304  3
hid_generic            16384  0
bnep                   20480  2
usbhid                 49152  0
btusb                  40960  0
btrtl                  16384  1 btusb
joydev                 20480  0
mousedev               20480  0
hid_multitouch         20480  0
snd_hda_codec_hdmi     45056  1
snd_hda_codec_realtek    73728  1
snd_hda_codec_generic    69632  1 snd_hda_codec_realtek
arc4                   16384  2
intel_rapl             20480  0
x86_pkg_temp_thermal    16384  0
intel_powerclamp       16384  0
coretemp               16384  0
kvm_intel             192512  0
iTCO_wdt               16384  0
iTCO_vendor_support    16384  1 iTCO_wdt
spi_pxa2xx_platform    24576  0
kvm                   528384  1 kvm_intel
snd_soc_skl            61440  0
snd_soc_skl_ipc        40960  1 snd_soc_skl
snd_soc_sst_ipc        16384  1 snd_soc_skl_ipc
snd_soc_sst_dsp        20480  1 snd_soc_skl_ipc
8250_dw                16384  0
snd_hda_ext_core       20480  1 snd_soc_skl
snd_soc_sst_match      16384  1 snd_soc_skl
i2c_designware_platform    16384  0
i2c_designware_core    20480  1 i2c_designware_platform
snd_soc_core          196608  1 snd_soc_skl
irqbypass              16384  1 kvm
snd_compress           20480  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
ac97_bus               16384  1 snd_soc_core
crct10dif_pclmul       16384  0
ghash_clmulni_intel    16384  0
pcbc                   16384  0
snd_hda_intel          32768  3
iwlmvm                286720  0
aesni_intel           167936  6
mac80211              692224  1 iwlmvm
aes_x86_64             20480  1 aesni_intel
crypto_simd            16384  1 aesni_intel
glue_helper            16384  1 aesni_intel
snd_hda_codec         106496  4 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
evdev                  24576  18
input_leds             16384  0
mac_hid                16384  0
cryptd                 20480  3 crypto_simd,ghash_clmulni_intel,aesni_intel
snd_hda_core           65536  7 snd_hda_intel,snd_hda_codec,snd_hda_ext_core,snd_soc_skl,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
snd_hwdep              16384  1 snd_hda_codec
snd_pcm                90112  8 snd_hda_intel,snd_hda_codec,snd_pcm_dmaengine,snd_hda_ext_core,snd_hda_core,snd_soc_skl,snd_hda_codec_hdmi,snd_soc_core
snd_timer              28672  1 snd_pcm
pcspkr                 16384  0
snd                    65536  16    snd_compress,snd_hda_intel,snd_hwdep,snd_hda_codec,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek,snd_soc_core,snd_pcm
    soundcore              16384  1 snd
    i2c_i801               24576  0
    iwlwifi               192512  1 iwlmvm
    i915                 1396736  13
    cfg80211              524288  3 iwlmvm,iwlwifi,mac80211
    hci_uart               86016  0
    btbcm                  16384  2 hci_uart,btusb
    drm_kms_helper        126976  1 i915
    btqca                  16384  1 hci_uart
    drm                   303104  5 i915,drm_kms_helper
    btintel                16384  2 hci_uart,btusb
    mei_me                 36864  0
    intel_gtt              20480  1 i915
    syscopyarea            16384  1 drm_kms_helper
    sysfillrect            16384  1 drm_kms_helper
    sysimgblt              16384  1 drm_kms_helper
    idma64                 20480  2
    bluetooth             499712  28 btrtl,hci_uart,btintel,btqca,bnep,btbcm,btusb
    fb_sys_fops            16384  1 drm_kms_helper
    mei                    86016  1 mei_me
    shpchp                 32768  0
    i2c_algo_bit           16384  1 i915
    processor_thermal_device    16384  0
    intel_lpss_pci         16384  0
    intel_soc_dts_iosf     16384  1 processor_thermal_device
    intel_pch_thermal      16384  0
    thermal                20480  0
    rfkill_gpio            16384  0
    wmi                    16384  0
    rfkill                 20480  8 rfkill_gpio,bluetooth,cfg80211
    i2c_hid                20480  0
    kxcjk_1013             20480  0
    industrialio_triggered_buffer    16384  1 kxcjk_1013
    hid                   110592  4 i2c_hid,hid_generic,usbhid,hid_multitouch
    battery                20480  0
    fan                    16384  0
    intel_vbtn             16384  0
    int3403_thermal        16384  0
    int340x_thermal_zone    16384  2 int3403_thermal,processor_thermal_device
    ac                     16384  0
    int3406_thermal        16384  0
    intel_lpss_acpi        16384  0
    video                  36864  2 int3406_thermal,i915
    intel_lpss             16384  2 intel_lpss_pci,intel_lpss_acpi
    button                 16384  1 i915
    tpm_crb                16384  0
    acpi_pad               16384  0
    intel_hid              16384  0
    int3400_thermal        16384  0
    acpi_thermal_rel       16384  1 int3400_thermal
    sparse_keymap          16384  2 intel_hid,intel_vbtn
    dptf_power             16384  0
    acpi_als               16384  0
    kfifo_buf              16384  2 acpi_als,industrialio_triggered_buffer
    industrialio           57344  4 kxcjk_1013,acpi_als,industrialio_triggered_buffer,kfifo_buf
    fjes                   65536  0
    tpm_tis                16384  0
    tpm_tis_core           20480  1 tpm_tis
    tpm                    36864  3 tpm_tis,tpm_crb,tpm_tis_core
    sch_fq_codel           20480  5
    sg                     36864  0
    scsi_mod              159744  1 sg
    ip_tables              24576  0
    x_tables               28672  1 ip_tables
    ext4                  528384  2
    crc16                  16384  2 bluetooth,ext4
    jbd2                   90112  1 ext4
    fscrypto               24576  1 ext4
    mbcache                16384  1 ext4
    serio_raw              16384  0
    atkbd                  24576  0
    libps2                 16384  1 atkbd
    sdhci_pci              28672  0
    sdhci                  40960  1 sdhci_pci
    led_class              16384  3 iwlmvm,sdhci,input_leds
    mmc_core              122880  2 sdhci,sdhci_pci
    xhci_pci               16384  0
    nvme                   28672  2
    xhci_hcd              172032  1 xhci_pci
    nvme_core              28672  4 nvme
    usbcore               208896  5 uvcvideo,usbhid,xhci_pci,btusb,xhci_hcd
    usb_common             16384  1 usbcore
    i8042                  24576  0
    serio                  20480  4 serio_raw,atkbd,i8042
    crc32c_intel           24576  4
    crc32_pclmul           16384  0

If you have questions, need help, have good suggestions or want to improve this tutorial feel free to write an answer!

49 Likes

A few concerns & Questions - Remix OS, Design, Shipping & eGPU
Dual Boot. Multi Boot Surface dream
Linux Experiences on the V
[merged topic] Linux on the V
[merged topic] Linux on the V
[merged topic] Linux on the V
[merged topic] Linux on the V
Enabling the V's hardware on Linux (wiki)
#2

@Tirigon kudos on all your hard work and another great write up!

Any word on GPS functionality?

1 Like

#3

Awesome write-up, could be in the Arch Wiki itself! But… packer instead of pacaur, docking points from post :stuck_out_tongue_winking_eye:

Also, an alternative for needing both gparted bootable and arch iso is an Antergos iso, haha.

I’m going to stop now before I start a war among our Linux enthusiasts :grin:

3 Likes

#4

Congrats on the nice work.
Could you add the prototype version you used?
Also include the lspci/lsmod for the fingerprint reader and camera?

I will keep tabs on this so I can use it as a template for when I test different distros on mine. :stuck_out_tongue:

0 Likes

#5

As I said, no sensors tested yet. [quote=“jtflynnz, post:3, topic:6271”]
pacaur
[/quote]

Didn’t try it yet, is it worth?[quote=“jtflynnz, post:3, topic:6271”]
Antergos iso
[/quote]

Used this on my main machine. But to be honest, I prefer a clean install ;)[quote=“Neti, post:4, topic:6271”]
Could you add the prototype version you used?
[/quote]

See Edit at start of the post. Will also provide the output you asked for.

0 Likes

#6

Nice thread, but I’d like to add that you can use Partition Wizard on Windows to avoid having multiple bootable flash drives :slight_smile: It can even shrink the Windows partition while the OS is still running. Well, sometimes… If not, it creates a small boot partition for itself and reboots outside Windows.

0 Likes

#7

basically[quote=“Tirigon, post:5, topic:6271”]

Didn’t try it yet, is it worth?
[/quote]
Mainly was a joke, so don’t worry about it :grin:! I haven’t personally used packer, just pacaur, but the nice thing with it is you can use it as a drop-in for pacman and still handle AUR stuff!

If packer works for you though, I think the “advantages” become more behind the scene/security type stuff, so that becomes a personal choice. The ironic thing is you basically need yaourt or packer in order to compile pacaur (or compil.e it straight from the AUR; one of the top Arch wiki-ite responses on it talks about how useful it is to build it from the AUR to learn what it is doing, but I did it and it didn’t really help me much).

Haha, I understand that; I like the idea of Antergos a lot, but I seem to find issues when I try to use it. And then I have to tweak it about as much as I would a vanilla Arch install anyway, so I’m not really sure how much time it saves me, lol.

I am surper excited to see if Eve’s tweaks of the UEFI will work with rEFInd, as that would be a huge deal for us (might be the only device that I can think of with this option)!

1 Like

#8

This thread is amazing, exactly what I was looking for ! Looking forward to updates on the other peripherals and if they can be made to work.

0 Likes