View previous topic :: View next topic |
Author |
Message |
datafatmunger n00b

Joined: 02 Apr 2016 Posts: 30
|
Posted: Thu Jun 22, 2017 7:12 am Post subject: Razer Blade Stealth - X windows - No screens [SOLVED] |
|
|
Trying to get X running on a new machine (Razer Blade Stealth). Seems most people on the internets are using Intel's i915 driver for this...(although I suspect i965 might also work), I've read an tried to match the Intel article: https://wiki.gentoo.org/wiki/Intel
I suspect, I've messed something up in the kernel, as now I have super big generic console font on boot, which was super tiny on this 4k display before I started mucking with the kernel settings/drivers.
Code: |
[ 45.921] (II) LoadModule: "fbdev"
[ 45.922] (WW) Warning, couldn't open module fbdev
[ 45.922] (II) UnloadModule: "fbdev"
[ 45.922] (II) Unloading fbdev
[ 45.922] (EE) Failed to load module "fbdev" (module does not exist, 0)
[ 45.922] (II) LoadModule: "vesa"
[ 45.922] (WW) Warning, couldn't open module vesa
[ 45.922] (II) UnloadModule: "vesa"
[ 45.922] (II) Unloading vesa
[ 45.922] (EE) Failed to load module "vesa" (module does not exist, 0)
|
Code: |
[ 47.964] intel: waited 2020 ms for i915.ko driver to load
[ 47.965] (EE) open /dev/dri/card0: No such file or directory
[ 47.965] (WW) Falling back to old probe method for modesetting
[ 47.965] (EE) open /dev/dri/card0: No such file or directory
[ 47.965] (EE) Screen 0 deleted because of no matching config section.
[ 47.965] (II) UnloadModule: "modesetting"
[ 47.965] (EE) Device(s) detected, but none match those in the config file.
[ 47.965] (EE)
Fatal server error:
[ 47.965] (EE) no screens found(EE)
[ 47.965] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 47.965] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 47.965] (EE)
[ 47.966] (EE) Server terminated with error (1). Closing log file.
|
.config:
Code: |
€ grep FRAME .config
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_FRAME_VECTOR=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FRAME_WARN=1024
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
|
Code: |
€ grep AGP .config
CONFIG_AGP=y
# CONFIG_AGP_AMD64 is not set
CONFIG_AGP_INTEL=y
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_VIA is not set
|
Code: |
€ grep KMS .config
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_KMS_FB_HELPER=y
|
Code: |
€ grep DEVTMPFS .config
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
|
Code: |
€ grep FB .config | grep -v '^#'
CONFIG_IFB=m
CONFIG_DRM_KMS_FB_HELPER=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_FB=y
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
|
Code: |
€ grep DRM .config | grep -v '^#'
CONFIG_DRM=y
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_KMS_FB_HELPER=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
CONFIG_DRM_I915=y
CONFIG_DRM_I915_USERPTR=y
CONFIG_DRM_PANEL=y
CONFIG_DRM_BRIDGE=y
|
Code: |
€ grep DEVTMPFS .config
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
|
Code: |
€ groups
wheel audio video usb users
|
Code: |
€ cat /etc/portage/make.conf
VIDEO_CARDS="intel i915"
INPUT_DEVICES="evdev synaptics"
USE="acl bindist ssl X alsa -pulseaudio"
|
Last edited by datafatmunger on Fri Jun 23, 2017 6:30 am; edited 1 time in total |
|
Back to top |
|
 |
fedeliallalinea Bodhisattva


Joined: 08 Mar 2003 Posts: 25151 Location: here
|
Posted: Thu Jun 22, 2017 7:49 am Post subject: |
|
|
Probably the correct vide card is i965 not i915 _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
 |
datafatmunger n00b

Joined: 02 Apr 2016 Posts: 30
|
Posted: Thu Jun 22, 2017 8:45 am Post subject: |
|
|
fedeliallalinea wrote: | Probably the correct vide card is i965 not i915 |
Thanks for the reply! I have changed:
Code: |
VIDEO_CARDS="intel i965"
|
...and rebuilt @world. Strangely...Xorg still reports it's using i915.ko.
Stupid n00b question. When I rebuild the kernel Code: | make && make modules_install && make install | , do I also need to run genkernel for initramfs again?
Also, since I have "Include in-kernel firmware blobs in kernel binary" option selected in the kernel, do I need to rebuild the kernel after building @world (I did do this in this case, just not sure if necessary).
Code: |
[ 87.526] intel: waited 2020 ms for i915.ko driver to load
[ 87.527] (EE) open /dev/dri/card0: No such file or directory
[ 87.527] (WW) Falling back to old probe method for modesetting
[ 87.527] (EE) open /dev/dri/card0: No such file or directory
[ 87.527] (EE) Screen 0 deleted because of no matching config section.
[ 87.527] (II) UnloadModule: "modesetting"
[ 87.527] (EE) Device(s) detected, but none match those in the config file.
[ 87.527] (EE)
Fatal server error:
[ 87.527] (EE) no screens found(EE)
[ 87.527] (EE)
|
Also... /lib64/firmware only contains a directory for i915 and nothing for i965.
i915 contains:
Code: |
€ ls -l /lib64/firmware/i915/
total 1200
-rw-r--r-- 1 root root 8380 Jun 21 17:29 bxt_dmc_ver1_07.bin
lrwxrwxrwx 1 root root 19 Jun 21 17:29 bxt_dmc_ver1.bin -> bxt_dmc_ver1_07.bin
-rw-r--r-- 1 root root 140928 Jun 21 17:29 bxt_guc_ver8_7.bin
-rw-r--r-- 1 root root 154432 Jun 21 17:29 bxt_huc_ver01_07_1398.bin
-rw-r--r-- 1 root root 8616 Jun 21 17:29 kbl_dmc_ver1_01.bin
lrwxrwxrwx 1 root root 19 Jun 21 17:29 kbl_dmc_ver1.bin -> kbl_dmc_ver1_01.bin
-rw-r--r-- 1 root root 142656 Jun 21 17:29 kbl_guc_ver9_14.bin
-rw-r--r-- 1 root root 218688 Jun 21 17:29 kbl_huc_ver02_00_1810.bin
-rw-r--r-- 1 root root 8824 Jun 21 17:29 skl_dmc_ver1_23.bin
-rw-r--r-- 1 root root 8928 Jun 21 17:29 skl_dmc_ver1_26.bin
lrwxrwxrwx 1 root root 19 Jun 21 17:29 skl_dmc_ver1.bin -> skl_dmc_ver1_26.bin
-rw-r--r-- 1 root root 109636 Jun 21 17:29 skl_guc_ver1.bin
-rw-r--r-- 1 root root 128320 Jun 21 17:29 skl_guc_ver4.bin
-rw-r--r-- 1 root root 129024 Jun 21 17:29 skl_guc_ver6_1.bin
lrwxrwxrwx 1 root root 18 Jun 21 17:29 skl_guc_ver6.bin -> skl_guc_ver6_1.bin
-rw-r--r-- 1 root root 140992 Jun 21 17:29 skl_huc_ver01_07_1398.bin
|
And re: the Intel article...
Code: |
€ grep -B 1 'MODULE_FIRMWARE.*SKL' drivers/gpu/drm/i915/intel_guc_loader.c drivers/gpu/drm/i915/intel_csr.c
drivers/gpu/drm/i915/intel_guc_loader.c-#define I915_SKL_GUC_UCODE GUC_FW_PATH(skl, SKL_FW_MAJOR, SKL_FW_MINOR)
drivers/gpu/drm/i915/intel_guc_loader.c:MODULE_FIRMWARE(I915_SKL_GUC_UCODE);
--
drivers/gpu/drm/i915/intel_csr.c-#define I915_CSR_SKL "i915/skl_dmc_ver1_26.bin"
drivers/gpu/drm/i915/intel_csr.c:MODULE_FIRMWARE(I915_CSR_SKL);
|
Seems I'm missing: drivers/gpu/drm/i915/intel_guc_loader.c-#define I915_SKL_GUC_UCODE "i915/skl_guc_ver6_1.bin" in /usr/src/linux. |
|
Back to top |
|
 |
fedeliallalinea Bodhisattva


Joined: 08 Mar 2003 Posts: 25151 Location: here
|
Posted: Thu Jun 22, 2017 10:00 am Post subject: |
|
|
Kernel module is named always i915 but for xorg-driver is correct i965 (see here).
You can post output of commands:
Code: | $ zgrep FIRMWARE /proc/config.gz
$ dmesg | grep i915 |
_________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
 |
datafatmunger n00b

Joined: 02 Apr 2016 Posts: 30
|
Posted: Thu Jun 22, 2017 10:03 am Post subject: |
|
|
fedeliallalinea wrote: | Kernel module is named always i915 but for xorg-driver is correct i965 (see here).
You can post output of commands:
Code: | $ zgrep FIRMWARE /proc/config.gz
$ dmesg | grep i915 |
|
Code: | € zgrep FIRMWARE /proc/config.gz
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_FIRMWARE_NVRAM=y
CONFIG_RT2X00_LIB_FIRMWARE=y
# CONFIG_CYPRESS_FIRMWARE is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FIRMWARE_MEMMAP=y
# CONFIG_GOOGLE_FIRMWARE is not set
# CONFIG_TEST_FIRMWARE is not set |
Code: | € dmesg | grep i915
[ 27.599086] snd_hda_intel 0000:00:1f.3: failed to add i915 component master (-19)
[ 27.627105] snd_hda_codec_hdmi hdaudioC0D2: No i915 binding for Intel HDMI/DP codec
[ 27.627918] snd_hda_codec_hdmi hdaudioC0D2: No i915 binding for Intel HDMI/DP codec |
I noticed the dmesg errors before...but assume they are related to sound, which I haven't tackled...yet.  |
|
Back to top |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 47063 Location: 56N 3W
|
Posted: Thu Jun 22, 2017 10:37 am Post subject: |
|
|
datafatmunger,
Your kernel is missing DRM support,
Code: | [ 47.965] (EE) open /dev/dri/card0: No such file or directory |
Make friends with wgetpaste and put your entire /var/log/Xorg.0.log onto a pastebin.
Also your, kernel .config (all of it).
Tell us the links.
Post the output of lspci too please. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
 |
datafatmunger n00b

Joined: 02 Apr 2016 Posts: 30
|
Posted: Thu Jun 22, 2017 10:51 am Post subject: |
|
|
NeddySeagoon wrote: | datafatmunger,
Your kernel is missing DRM support,
Code: | [ 47.965] (EE) open /dev/dri/card0: No such file or directory |
Make friends with wgetpaste and put your entire /var/log/Xorg.0.log onto a pastebin.
Also your, kernel .config (all of it).
Tell us the links.
Post the output of lspci too please. |
wgetpaste Nice one! Didn't know it. Thanks!
Xorg.0.log
https://paste.pound-python.org/show/3tIi62qWIS0mm195EXlx/
.config
https://paste.pound-python.org/show/pBcRqCxkkvn2f08dudal/
Code: | sudo lspci
00:00.0 Host bridge: Intel Corporation Device 5904 (rev 02)
00:02.0 VGA compatible controller: Intel Corporation Device 5916 (rev 02)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21)
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:1c.0 PCI bridge: Intel Corporation Device 9d12 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 (rev f1)
00:1e.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO UART Controller #0 (rev 21)
00:1f.0 ISA bridge: Intel Corporation Device 9d58 (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Device 9d71 (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
01:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)
3b:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961 |
|
|
Back to top |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 47063 Location: 56N 3W
|
Posted: Thu Jun 22, 2017 11:04 am Post subject: |
|
|
datafatmunger,
Code: | [ 42.065] (==) Matched intel as autoconfigured driver 0
[ 42.065] (==) Matched modesetting as autoconfigured driver 1
[ 42.065] (==) Matched fbdev as autoconfigured driver 2
[ 42.065] (==) Matched vesa as autoconfigured driver 3 |
Good, you are letting Xorg do its own thing with drivers. Its determined that the intel driver is as good as it gets for you.
It loads. Thats the user space part.
Code: | [ 42.065] (II) LoadModule: "intel"
[ 42.065] (II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so |
So far so good.
It needs Code: | [ 44.114] intel: waited 2020 ms for i915.ko driver to load
[ 44.115] (EE) open /dev/dri/card0: No such file or directory |
So there is a bit missing in your kernel.
Code: | CONFIG_DRM=y
...
CONFIG_DRM_I915=y | that looks good too.
Maybe you are not running the kernel you think you are?
Code: | [ 42.044] Current Operating System: Linux localhost 4.9.16-gentoo #2 SMP Tue Jun 20 23:54:18 CEST 2017 x86_64 |
Thats the kernel that booted to generate the Xorg log you posted. The Tue Jun 20 23:54:18 CEST 2017, is the build time of the running kernel.
If you have made a kernel since then, its not being used. Maybe you forgot to mount /boot. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
 |
datafatmunger n00b

Joined: 02 Apr 2016 Posts: 30
|
Posted: Thu Jun 22, 2017 11:31 am Post subject: |
|
|
NeddySeagoon wrote: | datafatmunger,
Code: | [ 42.065] (==) Matched intel as autoconfigured driver 0
[ 42.065] (==) Matched modesetting as autoconfigured driver 1
[ 42.065] (==) Matched fbdev as autoconfigured driver 2
[ 42.065] (==) Matched vesa as autoconfigured driver 3 |
Good, you are letting Xorg do its own thing with drivers. Its determined that the intel driver is as good as it gets for you.
It loads. Thats the user space part.
Code: | [ 42.065] (II) LoadModule: "intel"
[ 42.065] (II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so |
So far so good.
It needs Code: | [ 44.114] intel: waited 2020 ms for i915.ko driver to load
[ 44.115] (EE) open /dev/dri/card0: No such file or directory |
So there is a bit missing in your kernel.
Code: | CONFIG_DRM=y
...
CONFIG_DRM_I915=y | that looks good too.
Maybe you are not running the kernel you think you are?
Code: | [ 42.044] Current Operating System: Linux localhost 4.9.16-gentoo #2 SMP Tue Jun 20 23:54:18 CEST 2017 x86_64 |
Thats the kernel that booted to generate the Xorg log you posted. The Tue Jun 20 23:54:18 CEST 2017, is the build time of the running kernel.
If you have made a kernel since then, its not being used. Maybe you forgot to mount /boot. |
Omg...you are right....embarrassing.
So, if you don't mind a couple of n00b questions:
* It should have been obvious /boot was not mounted, as I didn't see /grub in there. So, I cleaned, rm /boot/*...but then when I mounted /boot, still empty. Huh?
- So I cd /usr/src/linux && make install
- genkernel
- grub install
- grub mkconfig
* So I have to mount /boot when I install the kernel, i guess?
* /boot is not mount automagically.
* Asked above, but not answered, do I HAVE to run genkernel if I make install a new kernel?
Thanks again! For your help! Now on to my other devices.  |
|
Back to top |
|
 |
krinn Watchman


Joined: 02 May 2003 Posts: 7466
|
Posted: Thu Jun 22, 2017 12:08 pm Post subject: |
|
|
datafatmunger wrote: | Omg...you are right....embarrassing.  |
Don't worry, it's so common no need to get embarrassed by that
datafatmunger wrote: | * /boot is not mount automagically. |
it's normal for all users that have follow nicely the install, because you were told to set that in fstab
Code: | LABEL=belegBOOT /boot ext2 noauto,noatime 1 2 |
that's the noauto effect: noauto -> don't auto mount that partition, it's a security, if /boot is not mount when you have no use of it, well, you cannot mess it right
my lack of knowledge on genkernel prevent me from answering other questions |
|
Back to top |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 47063 Location: 56N 3W
|
Posted: Thu Jun 22, 2017 12:13 pm Post subject: |
|
|
datafatmunger,
The Gentoo way is to have the noauto option in /etc/fstab for /boot, so its not mounted for you.
I'm not sure what you are using genkernel for. Left to its own devices it configures and builds your kernel, installs the modules and installs the kernel binary into /boot.
I'm not a genkernel user and I don't use grub2 but after getting all the bits of the kernel in the right places grub mkconfig will write a new grub.cfg file.
When you reboot after you install a kernel update, runand check the kernel build timestamp.
Everyone messes up a kernel from time to time. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
 |
datafatmunger n00b

Joined: 02 Apr 2016 Posts: 30
|
Posted: Thu Jun 22, 2017 12:16 pm Post subject: |
|
|
NeddySeagoon wrote: | datafatmunger,
The Gentoo way is to have the noauto option in /etc/fstab for /boot, so its not mounted for you.
I'm not sure what you are using genkernel for. Left to its own devices it configures and builds your kernel, installs the modules and installs the kernel binary into /boot.
I'm not a genkernel user and I don't use grub2 but after genning all the bits of the kernel in the right places grub mkconfig will write a new grub.cfg file.
When you reboot after you install a kernel update, runand check the kernel build timestamp.
Everyone messes up a kernel from time to time. |
I'm using genkernel for initramfs, for full disk encryption....lvm on luks, meaning i have one giant luks partition w/ lvm logical partitions once it's decrypted. Works great!
Code: | genkernel --luks --lvm --install initramfs |
Just not sure if I need to rebuild that everytime. There seems to be a bunch of firmware in there, and cpio takes a lifetime. |
|
Back to top |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 47063 Location: 56N 3W
|
Posted: Thu Jun 22, 2017 12:29 pm Post subject: |
|
|
datafatmunger,
datafatmunger wrote: |
I'm using genkernel for initramfs, for full disk encryption....lvm on luks, meaning i have one giant luks partition w/ lvm logical partitions once it's decrypted. Works great!
Code: | genkernel --luks --lvm --install initramfs |
Just not sure if I need to rebuild that everytime. There seems to be a bunch of firmware in there, and cpio takes a lifetime. |
Maybe. The initrd is a self contained root filesystem. It can be like firmware. I have root in LVM on raid5, so I have an initrd. It was made in April 2009.
However, I do not have any kernel modules in my initrd, so its kernel agnostic. Its hand rolled, no autoblackmagic.
You only need to update the initrd if it contains kernel modules. As you made it with genkernel, it will contain all the kernel modules you have made.
Look in Code: | /lib/modules/'uname -r'/ |
I take care with my kernels that everything the kernel needs to boot is built in, so the initrd is user space programs only. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
 |
|