Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
4.3.x DRM_I915_FBDEV ... no framebuffer!!
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Logicien
Veteran
Veteran


Joined: 16 Sep 2005
Posts: 1375
Location: Montréal

PostPosted: Thu Feb 11, 2016 4:35 pm    Post subject: Reply with quote

khayyam, in Bios mode, have you try the vesafb and uvesafb framebuffers? Those generic ones are supposed to work with any graphic card who support the Vesa 2 norm. You will not be able to use the Intel Xorg module and possibly not have the native resolution of your screen but, your card will be supported by Linux. I don't see your graphic card specification. Maybe i915 will work too in Bios mode. What does lspci say?

Do you have /dev/fb0 ? If so, if you can ssh in Gentoo from an other machine, you can see what's going on with fbset, setterm and other tools and try to change things lively like unblank the screen.
_________________
Paul
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6228
Location: Room 101

PostPosted: Thu Feb 11, 2016 6:17 pm    Post subject: Reply with quote

Logicien wrote:
khayyam, in Bios mode, have you try the vesafb and uvesafb framebuffers? Those generic ones are supposed to work with any graphic card who support the Vesa 2 norm. You will not be able to use the Intel Xorg module and possibly not have the native resolution of your screen but, your card will be supported by Linux. I don't see your graphic card specification. Maybe i915 will work too in Bios mode. What does lspci say?

Logicien ... that's not really the problem. I boot efi, I can (now) get a framebuffer (either efifb, or simplefb) but at the point inteldrmfb is initalised the screen blanks. Perviously, I'd used inteldrmfb without any other framebuffer, as it was builtin, and never had any issues. Something has changed since 3.3.11 (the last kernel I was effectively able to build until 4.3.4 ... at least of those I tried) and whatever this change was it has made the initialisation of inteldrmfs baulk. I suspect (but haven't tested) that it is as s4e8 suggests, and gentoobish's config somewhat confirms, INTEL_AGP being enabled on PCIe.

Logicien wrote:
Do you have /dev/fb0 ? If so, if you can ssh in Gentoo from an other machine, you can see what's going on with fbset, setterm and other tools and try to change things lively like unblank the screen.

As I mentioned above, I don't have a secondary machine with which to ssh.

best ... khay
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6228
Location: Room 101

PostPosted: Thu Feb 11, 2016 6:25 pm    Post subject: Reply with quote

genoobish wrote:
The thing is that in my case the vga monitor being plugged in is what caused the framebuffer to go blank while apparently being fine. Unplugging it made the framebuffer work properly with either the hdmi monitor or the laptop internal monitor. So it seems to be something else, or something "half-fixed" in the rc2 kernel...?

genoobish ... ok, but in my case, with 4.3.4, there is no external display, and once inteldrmfb is initalised the screen blanks. If I get some time in the next few days I'm going to have another bash at it ... I'd figured, now having rebuild the kernel and modules some 30 times (once with a 'make clean'), its probably a waste of effort (which is why I haven't bothered too much).

best ... khay
Back to top
View user's profile Send private message
Logicien
Veteran
Veteran


Joined: 16 Sep 2005
Posts: 1375
Location: Montréal

PostPosted: Thu Feb 11, 2016 11:49 pm    Post subject: Reply with quote

i915 requiere firmware files /lib/firmware/i915/bxt_dmc_ver1.bin /lib/firmware/i915/i915/skl_dmc_ver1.bin and /lib/firmware/i915/skl_guc_ver4.bin . Do you have those in the path? Is dmesg complain about them? I remember a time where i915 did'nt need any external firmwares.
_________________
Paul
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6228
Location: Room 101

PostPosted: Fri Feb 26, 2016 8:06 pm    Post subject: Reply with quote

Logicien wrote:
i915 requiere firmware files /lib/firmware/i915/bxt_dmc_ver1.bin /lib/firmware/i915/i915/skl_dmc_ver1.bin and /lib/firmware/i915/skl_guc_ver4.bin . Do you have those in the path? Is dmesg complain about them? I remember a time where i915 did'nt need any external firmwares.

Logicien ... no I don't, and I can't see how it would be the case that suddenly I need firmware for a driver that has functioned without it.

After moving to 4.3.6 I did some blind boots (and also booted blacklisting i915), the issue is that the module effectively crashes on loading:

Code:
Feb 25 14:32:59 aporia kernel: Console: switching to colour frame buffer device 160x50
Feb 25 14:32:59 aporia kernel: i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
Feb 25 14:33:08 aporia kernel: ------------[ cut here ]------------
Feb 25 14:33:08 aporia kernel: WARNING: CPU: 1 PID: 108 at drivers/gpu/drm/drm_atomic.c:491 drm_atomic_check_only+0x48f/0x5f0 [drm]()
Feb 25 14:33:08 aporia kernel: Modules linked in: i915 intel_gtt i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm vfat fat applesmc led_class snd_hda_codec_idt snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hwdep snd_hda_core snd_pcm snd_timer snd soundcore coretemp
Feb 25 14:33:08 aporia kernel: CPU: 1 PID: 108 Comm: kworker/1:2 Tainted: G        W       4.3.6-ck #1
Feb 25 14:33:08 aporia kernel: Hardware name: Apple Computer, Inc. MacBook1,1/Mac-F4208CC8, BIOS     MB11.88Z.0061.B03.0610121324 10/12/06
Feb 25 14:33:08 aporia kernel: Workqueue: events output_poll_execute [drm_kms_helper]
Feb 25 14:33:08 aporia kernel:  00000000 00000000 f590bb8c c11d9f6f 00000000 f590bbc0 c1040a41 c14a7544
Feb 25 14:33:08 aporia kernel:  00000001 0000006c f8b3a53e 000001eb f8b2c64f 000001eb f8b2c64f f616f800
Feb 25 14:33:08 aporia kernel:  00000000 f507fae8 f590bbd0 c1040aed 00000009 00000000 f590bc20 f8b2c64f
Feb 25 14:33:08 aporia kernel: Call Trace:
Feb 25 14:33:08 aporia kernel:  [<c11d9f6f>] dump_stack+0x48/0x69
Feb 25 14:33:08 aporia kernel:  [<c1040a41>] warn_slowpath_common+0x81/0xb0
Feb 25 14:33:08 aporia kernel:  [<f8b2c64f>] ? drm_atomic_check_only+0x48f/0x5f0 [drm]
Feb 25 14:33:08 aporia kernel:  [<f8b2c64f>] ? drm_atomic_check_only+0x48f/0x5f0 [drm]
Feb 25 14:33:08 aporia kernel:  [<c1040aed>] warn_slowpath_null+0x1d/0x20
Feb 25 14:33:08 aporia kernel:  [<f8b2c64f>] drm_atomic_check_only+0x48f/0x5f0 [drm]
Feb 25 14:33:08 aporia kernel:  [<f8b2b9e5>] ? drm_atomic_set_crtc_for_plane+0x65/0xf0 [drm]
Feb 25 14:33:08 aporia kernel:  [<f8b2c7c1>] drm_atomic_commit+0x11/0x60 [drm]
Feb 25 14:33:08 aporia kernel:  [<f8d2abaa>] intel_get_load_detect_pipe+0x3ea/0x5c0 [i915]
Feb 25 14:33:08 aporia kernel:  [<c11e4854>] ? vsnprintf+0x2d4/0x3b0
Feb 25 14:33:08 aporia kernel:  [<f8d607d6>] intel_tv_detect+0xe6/0x5d0 [i915]
Feb 25 14:33:08 aporia kernel:  [<f8b269b0>] ? drm_get_edid+0x20/0x3c0 [drm]
Feb 25 14:33:08 aporia kernel:  [<f8b8fb2b>] drm_helper_probe_single_connector_modes_merge_bits+0x26b/0x4a0 [drm_kms_helper]
Feb 25 14:33:08 aporia kernel:  [<f8b8fd72>] drm_helper_probe_single_connector_modes+0x12/0x20 [drm_kms_helper]
Feb 25 14:33:08 aporia kernel:  [<f8b99229>] drm_fb_helper_probe_connector_modes.isra.7+0x39/0x60 [drm_kms_helper]
Feb 25 14:33:08 aporia kernel:  [<f8b9a4d2>] drm_fb_helper_hotplug_event+0x52/0xd0 [drm_kms_helper]
Feb 25 14:33:08 aporia kernel:  [<f8d3aed5>] intel_fbdev_output_poll_changed+0x15/0x20 [i915]
Feb 25 14:33:08 aporia kernel:  [<f8b8f48c>] drm_kms_helper_hotplug_event+0x1c/0x20 [drm_kms_helper]
Feb 25 14:33:08 aporia kernel:  [<f8b8f648>] output_poll_execute+0x178/0x1b0 [drm_kms_helper]
Feb 25 14:33:08 aporia kernel:  [<c1053302>] process_one_work+0xf2/0x310
Feb 25 14:33:08 aporia kernel:  [<c1053809>] worker_thread+0x39/0x430
Feb 25 14:33:08 aporia kernel:  [<c10537d0>] ? rescuer_thread+0x2b0/0x2b0
Feb 25 14:33:08 aporia kernel:  [<c1057c86>] kthread+0x96/0xb0
Feb 25 14:33:08 aporia kernel:  [<c13f2f01>] ret_from_kernel_thread+0x21/0x30
Feb 25 14:33:08 aporia kernel:  [<c1057bf0>] ? kthread_create_on_node+0x110/0x110
Feb 25 14:33:08 aporia kernel: ---[ end trace 58bf095d70179b74 ]---

The same happens with 4.3.4 so that's pretty much what is happening above, its not the sceen blanking but the driver cashing when switching from efifb/simplefb to inteldrmfb.

best ... khay
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6228
Location: Room 101

PostPosted: Mon Mar 27, 2017 9:27 am    Post subject: Reply with quote

All ... so, one year later, and after much reading and faffing about, I finally resolved the issue. My first real clue came in reading Documentation/EDID/HOWTO.txt, which suggested the issue was with EDID data ... this is what I did:

First I created an edid:

Code:
# emerge --oneshot x11-misc/read-edid
# mkdir /lib/firmware/edid
# get-edid --quiet > /lib/firmware/edid/mb1_1_edid.bin

Then I modified the kernel .config to have

Code:
CONFIG_EXTRA_FIRMWARE="edid/mb1_1_edid.bin"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
CONFIG_DRM_LOAD_EDID_FIRMWARE=y

Then EFI_FB=y was set (to provide a framebuffer when the initramfs prompts for mounting enc_root), and CONFIG_DRM_I915=m

Code:
CONFIG_DRM=m
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_I915=m
CONFIG_DRM_I915_KMS=y
CONFIG_FB_EFI=y

I then added the following as a kernel parameter:

Code:
drm_kms_helper.edid_firmware=edid/mb1_1_edid.bin

... removed the blacklist for i915 I'd set in /etc/modules.d/blacklist.conf, and rebooted. When the 'modules' service runs, i915 was loaded (replacing efifb), and KMS enabled ... and lo!! no black screen!!! ... no more having to load the module and login blind!!!

Note that you should be able to add 'edid_firmware=edid/name.bin' to /etc/modprobe.d/ and this should function in the same way as the kernel parameter:

/etc/modprobe.d/drm_kms_helper.conf:
options drm_kms_helper edid_firmware=edid/mb1_1_edid.bin

Hopefully that can help someone else in some way.

best ... khay
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6228
Location: Room 101

PostPosted: Sat Apr 01, 2017 1:07 pm    Post subject: Reply with quote

All ...

Nope, that was a fluke, all three subsequent reboots have the same blank display on i915 loading, and now that I think about it how could it be the display EDID, it functioned perfectly fine before 3.12.

best ... khay
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum