====== Gigabyte Aero 15X ====== * Slim, light and yet powerful and fully equipped 15" laptop. * Targeting the gaming laptops market, but very suitable as a powerful workstation. * Ship date: October 2017. * [[https://www.gigabyte.com/Laptop/AERO-15X|Specifications on Gigabyte website]]. * [[https://www.notebookcheck.net/Gigabyte-Aero-15X-i7-7700HQ-GTX-1070-Max-Q-FHD-Laptop-Review.262370.0.html|Review by Notebookcheck; rated 87%]]. ===== Quick summary ===== ^ Device or feature ^ Status ^ Min. %%FreeBSD%% version ^ Comments ^ | Boot using BIOS | Not tested | | | | Boot using UEFI | Works | | | | [[#X.Org_configuration_for_Intel_GPU|Intel GPU (X.Org)]] | Works | 12-CURRENT | Needs ''%%drm-next-kmod%%'' or ''%%drm-devel-kmod%%'' port | | NVIDIA GPU (X.Org) | Works | | | | Toshiba NVMe SSD | Works | | Included with the laptop | | Samsung 960 PRO NVMe SSD | Works | | Added to the extra m.2 slot | | Network: Ethernet | Works | | Using ''%%re(4)%%'' | | [[#Wifi|Network: Wifi]] | Works | | Using ''%%iwm(4)%%'' | | [[#Sound|Sound]] | Works | | Needs ''%%device.hints(5)%%'' configuration | | [[#Touchpad|Touchpad]] | Works | 11.1-STABLE, 12-CURRENT | | | Suspend | Works | | Only when using the Intel GPU | | Resume | Works | | Only when using the Intel GPU | | Brightness ctrl. keys | Does not work | | | ===== Hardware specifications ===== ==== Summary ==== * Intel Core i7-7700HQ (7th generation) * 16 %%GiB%% DDR4-2400 (one slot occupied + one free slot) * 15.6" %%FullHD%% (1920x1080) display * GPUs: * Integrated GPU: Intel HD Graphics 630 (Kaby Lake) * Dedicated GPU: NVIDIA %%GeForce%% GTX 1070 %%MaxQ%% dedicated GPU (Optimus enabled) * Storage: * Toshiba NVMe 512 GB (THNSN5512GPU7) * One extra free m.2 slot * Network: * Ethernet: %%RealTek%% 8168/8111 (''%%re(4)%%'') * Wifi: Intel Dual Band Wireless AC 8265 (''%%iwm(4)%%'') * Elantech touchpad There are two display output connectors: * HDMI (2160p at 60 Hz with HDMI 2.0 or 2160p at 30 Hz with HDMI 1.3) * miniDisplayPort (2160p at 60 Hz with %%DisplayPort%% 1.2) The internal display is connected to the Intel GPU through eDP. Both output connectors are **connected to the NVIDIA GPU**. ==== dmesg(8) and friends ==== %%JeanS%%ébastienPédron's laptop: * %%FreeBSD%% 12-CURRENT installed on the Samsung 960 PRO SSD; it also works with the included Toshiba NVMe SSD. * Dual booting with Windows 10. * ''%%EVDEV_SUPPORT%%'' enabled in the kernel. * X.Org server configured with ''%%xf86-video-modesetting%%'' and ''%%xf86-input-libinput%%''. * {{laptops/gigabyte_aero_15x/dumbbell-acpidump.out.txt?linkonly|acpidump -dt}} * {{laptops/gigabyte_aero_15x/dumbbell-devinfo.out.txt?linkonly|devinfo -v}} * {{laptops/gigabyte_aero_15x/dumbbell-dmesg.out.txt?linkonly|dmesg}} * {{laptops/gigabyte_aero_15x/dumbbell-dmidecode.out.txt?linkonly|dmidecode}} * {{laptops/gigabyte_aero_15x/dumbbell-pciconf.out.txt?linkonly|pciconf -lv}} * {{laptops/gigabyte_aero_15x/dumbbell-xorg.0.log?linkonly|Xorg.0.log}} ===== Configuration and tweaks ===== ==== Wifi ==== The driver to use is ''%%iwm(4)%%''. You can load the driver from ''%%/etc/rc.onf%%'': kld_list="iwm8265fw if_iwm" ==== Sound ==== Out-of-the-box, sound only goes to the headphones jack, even if there is nothing plugged into it, i.e. nothing comes out of the builtin speakers. To enable the speakers, ''%%snd_hda(4)%%'' pins must be configured using ''%%device.hints(5)%%'': # In /boot/device.hints or /boot/loader.conf. hint.hdaa.0.nid20.config="as=1" # Speakers hint.hdaa.0.nid33.config="as=1 seq=15" # Headphones Node IDs ''%%nid20%%'' and ''%%nid33%%'' can be deduced from the output of {{laptops/gigabyte_aero_15x/dumbbell-sysctl-dev.hdaa.0.txt?linkonly|sysctl dev.hdaa.0}}: look for e.g. ''%%device=Headphones conn=Jack%%'' and ''%%device=Speaker conn=Fixed%%'' in this output. **No sound on speakers after rebooting from Windows** After rebooting from Windows, there is no sound on the speakers, even with the correct pin reconfiguration. Only a cold boot fixes the issue. ==== Touchpad ==== This is an Elantech multitouch-capable clickpad supported by %%FreeBSD%% 11.1-STABLE+. To be specific, it needs the following patches to work properly: * [[https://svnweb.freebsd.org/base?view=revision&revision=328190|Do not check for out-of-sync packets]] * [[https://svnweb.freebsd.org/base?view=revision&revision=328191|Do not erroneously detect trackpoint packets]] (only useful if you enable ''%%EVDEV_SUPPORT%%'') The touchpad needs to be explicitely enabled, so add the following line to ''%%/boot/loader.conf%%'': # In /boot/loader.conf. hw.psm.elantech_support="1" ==== X.Org configuration for Intel GPU ==== Two drivers are available: ''%%xf86-video-modesetting%%'' (built into ''%%xorg-server%%'') and ''%%xf86-video-intel%%''. === xf86-video-modesetting === - Install ''%%drm-next-kmod%%'' to get the Intel GPU kernel driver. - Load it from ''%%/etc/rc.conf%%'': kld_list="/boot/modules/i915kms.ko" - Configure X.Org with the following snippet to put in ''%%/etc/X11/xorg.conf.d/i915.conf%%'': Section "Device" Identifier "Card0" Driver "modesetting" BusID "PCI:0:2:0" Option "AccelMethod" "glamor" EndSection Section "Module" Load "dri2" Load "glamoregl" EndSection Output from ''%%xrandr(1)%%'': $ xrandr Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192 eDP-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm 1920x1080 60.01*+ 1400x1050 59.98 1280x1024 60.02 1280x960 60.00 1024x768 60.04 60.00 960x720 60.00 928x696 60.05 896x672 60.01 800x600 60.00 60.32 56.25 700x525 59.98 640x512 60.02 640x480 60.00 59.94 512x384 60.00 400x300 60.32 56.34 320x240 60.05 DP-1 disconnected (normal left inverted right x axis y axis) === xf86-video-intel === (to be described) ==== X.Org configuration for NVIDIA GPU ==== The NVIDIA %%GeForce%% GTX 1070 %%MaxQ%% GPU is supported by the ''%%x11/nvidia-driver%%'' port. This port provides a kernel module (''%%nvidia-modeset.ko%%''), an X.Org DDX driver (''%%nvidia%%''), an NVIDIA-specific proprietary %%OpenGL%%/EGL/GLES implementation and a VDPAU backend module. ==== X.Org input with libinput ==== To use ''%%libinput%%'' and ''%%xf86-input-libinput%%'' as the input driver on X.Org: - Rebuild your kernel with ''%%EVDEV_SUPPORT%%''. - Enable ''%%evdev%%'' in ''%%/etc/sysctl.conf%%'': # evdev support. # bit 0: is set enables sysmouse # bit 1: is set enables kbdmux # bit 2: is set enables ums # bit 3: is set enables atkbd, ukbd kern.evdev.rcpt_mask=12 - Make sure the patch from [[https://reviews.freebsd.org/D13998|D13998]] is committed. - Use an X.Org configuration snippet such as {{laptops/gigabyte_aero_15x/dumbbell-xorg.conf.d-inputs.conf?linkonly|/etc/X11/xorg.conf.d/inputs.conf}}. It is probably suboptimal (too many rules) but it works. ==== Battery life ==== %%JeanS%%ébastienPédron says: Out-of-the-box, I can get between 3h30 and 4 hours of battery life: Design capacity: 6200 mAh Last full capacity: 6200 mAh Technology: secondary (rechargeable) Design voltage: 15200 mV Capacity (warn): 620 mAh Capacity (low): 248 mAh Low/warn granularity: 62 mAh Warn/full granularity: 0 mAh Model number: Aero 15 Serial number: Type: LI-ION OEM info: GIGABYTE State: discharging Remaining capacity: 88% Remaining time: 3:26 Present rate: 1604 mA (25461 mW) Present voltage: 15874 mV On the go, I don't need the NVIDIA GPU (which drives the external monitor connectors) so I can turn it off. To do that, I use the ''%%sysutils/acpi_call%%'' port and the following command line: acpi_call -p '\_SB.PCI0.PEG0.PEGP._OFF' -o i After turning it off, the battery life almost doubles, I get between 6h30 and 7h: Design capacity: 6200 mAh Last full capacity: 6200 mAh Technology: secondary (rechargeable) Design voltage: 15200 mV Capacity (warn): 620 mAh Capacity (low): 248 mAh Low/warn granularity: 62 mAh Warn/full granularity: 0 mAh Model number: Aero 15 Serial number: Type: LI-ION OEM info: GIGABYTE State: discharging Remaining capacity: 89% Remaining time: 6:42 Present rate: 828 mA (13304 mW) Present voltage: 16068 mV The NVIDIA can even be turned on again without rebooting by using the following command: acpi_call -p '\_SB.PCI0.PEG0.PEGP._ON' -o i ==== Enabling kernel core dump ==== Beside configuring ''%%dumpdev%%'' and enabling ''%%ddb_enable%%'' in ''%%/etc/rc.conf%%'' as usual, you need to set two sysctls in ''%%/etc/sysctl.conf%%'': debug.debugger_on_panic=0 dev.drm.skip_ddb=1 After rebooting or setting them manually, you can try to run the following command to verify it's working: sysctl debug.kdb.panic=1 If everything is fine, you should have a core dump saved during the next boot. ---- {{tag>Laptop}}