LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Kernel mode setting on slack-current (https://www.linuxquestions.org/questions/slackware-14/kernel-mode-setting-on-slack-current-736017/)

firebird 06-27-2009 10:08 AM

Kernel mode setting on slack-current
 
Has anyone here tried intel kernel mode setting with slack-current?

I managed to make it work (well, almost), there're still some problems remain. I really appreciate if someone can give me some clue.

I have G45 chipset (GMA X4500HD). I've updated xorg.conf to remove all input devices and switch to "UXA" acceleration method. That works nicely with VESA framebuffer before I enable kernel mode setting.

Then I recompiled my kernel to enable kernel mode setting by default:
Code:

CONFIG_DRM_I915_KMS=y
After that, I can switch among graphic consoles (I configured two of them using kdm) extremely fast, without any blink. However, I can no longer switch to text consoles. I decided that's because I don't use intel framebuffer driver, so I compiled intel framebuffer driver into kernel directly:
Code:

CONFIG_FB_INTEL=y  (... and quite a few of other dependents)
I found VESA framebuffer will always be used, even if I specified the following boot option:
Code:

video=intelfb:mode=800x600
Well, I finally solved the problem by forcing all consoles to map to the second framebuffer driver with the following boot parameter:
Code:

fbcon=map:1
After that, I can switch to text consoles (BTW, the switch is REALLY fast!), but I still have quite some nuisance, like X crash when logout from Xfce. I finally decided to remove VESA framebuffer and use intel framebuffer only. However, all problem still remains, except I can greatly simplify the boot options (no more vga=..., fbcon=map:1 etc.).

Now I'll list all problems I found, hopefully someone here knows how to solve them:
  1. I loss penguin mascot on boot screen, it's now text only (yes, I compiled in the logo, it works when I use VESA framebuffer). It seems intel framebuffer won't take control at the early stage of booting. Is that expected behavior?
  2. Video mode specified with "video=intelfb:mode=800x600" boot option will be totally ignored. Once framebuffer kicks in, it will always switch to 1280x1024. Characters displayed in such high resolution mode is too small for my eyes. I also tried to use larger framebuffer console font with the following boot option:
    fbcon=font:SUN12x22
    The new font will be used once framebuffer take control, but everything will be reverted once X11 starts: video mode will be switched to 1280x1024, and font switch back to 8x16. Does anyone know how to set text console to a difference resolution?
  3. X server simply crash when logout Xfce (I use kdm session manager and Xfce). Here's relevant part in Xorg log:
    Code:

    Backtrace:
    0: /usr/bin/X(xorg_backtrace+0x3b) [0x812ce6b]
    1: /usr/bin/X(xf86SigHandler+0x51) [0x80cc531]
    2: [0xb7f63400]
    3: /usr/lib/xorg/modules/drivers//intel_drv.so(i830_allocate_memory+0x2de)
      [0xb79b369e]
    4: /usr/lib/xorg/modules/drivers//intel_drv.so(i830_allocate_2d_memory+0xc8)
      [0xb79b4638]
    5: /usr/lib/xorg/modules/drivers//intel_drv.so [0xb79a7a20]
    6: /usr/lib/xorg/modules/drivers//intel_drv.so [0xb79ad140]
    7: /usr/bin/X(AddScreen+0x19d) [0x806bb4d]
    8: /usr/bin/X(InitOutput+0x206) [0x80a89a6]
    9: /usr/bin/X(main+0x1e1) [0x806c241]
    10: /lib/libc.so.6(__libc_start_main+0xe5) [0xb7ac96a5]
    11: /usr/bin/X [0x806b8d1]

    Fatal server error:
    Caught signal 11.  Server aborting

    I can easily bring X back with "telinit 3" then "telinit 4". Is this a bug of kdm/X? Or I did something wrong?

I really appreciate your help!

vinegaroon 06-28-2009 12:28 AM

I managed to get it working on my 945GM chip with a custom 2.6.30 kernel, and a UXA intel driver.
I get my native resolution at boot, but X hangs requiring a hard reboot if I attempt to switch to a VT or quit X.

C-Sniper 06-28-2009 12:50 AM

From what I am seeing in the newer 2.6.31-rc1-git3 kernel is that the Intel 915 chipset is getting a lot of work.

firebird 06-28-2009 09:46 AM

Quote:

Originally Posted by vinegaroon (Post 3588621)
I managed to get it working on my 945GM chip with a custom 2.6.30 kernel, and a UXA intel driver.
I get my native resolution at boot, but X hangs requiring a hard reboot if I attempt to switch to a VT or quit X.

I also tried 2.6.30, but I got a complaint said "fail to remount / as rw". I have not get time to sort that out yet. As for framebuffer behavior, nothing has changed as compared to 2.6.29.5, all problems listed in my original post are still there.

C-Sniper 06-28-2009 12:00 PM

Quote:

Originally Posted by firebird (Post 3588936)
I also tried 2.6.30, but I got a complaint said "fail to remount / as rw". I have not get time to sort that out yet. As for framebuffer behavior, nothing has changed as compared to 2.6.29.5, all problems listed in my original post are still there.

Make your filesystem a built-in in stead of a module. This will get rid of that.

firebird 06-28-2009 06:27 PM

Quote:

Originally Posted by C-Sniper (Post 3589028)
Make your filesystem a built-in in stead of a module. This will get rid of that.

Thanks for mention that, but I always build in ext3, which I used for root (and all other file systems). The thing changed is I turned off the "data=ordered default" per reccommendation.

Looks like I'm changing topic :) Anyway, one primary reason I want to try 2.6.30 is fast boot. Have you noticed the difference in boot speed?

helo 06-29-2009 06:50 PM

Quote:

X server simply crash when logout Xfce (I use kdm session manager and Xfce).
I worked around this by uncommenting the line
Code:

TerminateServer=true
in the /etc/kde/kdm/kdmrc file.

It forces X to restart on logout, but that's better than hanging.

Apart from this I have UXA/DRI2 working without problems on 2.6.30 kernel and a 965GM chipset.

Helo

botnet 06-29-2009 10:13 PM

1 Attachment(s)
if you are using KMS, you do not want to have any frame buffer drivers in your kernel or you will have problems.

remove all framebuffer devices, but leave framebuffer console support built-in

also, you cannot use PAE with KMS without patching your kernel (attached)

firebird 06-30-2009 09:46 AM

Problem (almost) solved
 
I removed intel framebuffer driver as suggested by "botnet" (that's a cool ID :) ). That's the only one in my customized kernel so no framebuffer driver is left after the removal. There's no behavior change after that, I think that means intel framebuffer is not necessary at all when KMS has been enabled.

Then I realize I have built DRM driver (i915 driver) as module. After I built i915 into kernel directly, the boot screen looks correctly, and the penguin mascot is now back!

I also solve X crash problem follows helo's suggestion, add the following to the [X-:*-Core] section of /etc/kde/kdm/kdmrc:
Code:

TerminateServer=true
The only problem left is the resolution of text console. Is it possible to set resolution of text console when kernel mode setting is enabled?

BTW, kernel mode setting is really great, switching between VT is blazingly fast. I know I won't go back to non-KMS kernel.

vinegaroon 07-01-2009 10:05 AM

I built a new 2.6.31-rc1 kernel and for whatever reason, KMS now works perfectly for me :) No more crashes on vt switch. Native resolution in VTs is very nice.

firebird 07-05-2009 06:34 PM

2.6.30 problem solved
 
Quote:

Originally Posted by firebird (Post 3588936)
I also tried 2.6.30, but I got a complaint said "fail to remount / as rw".

I solved this (unrelated) problem myself. I have "data=ordered" in mount options for my root file system. Problem fixed after I removed that option. I think the problem is root FS is mounted as ro without "data=ordered" at first, then I try to remount it as rw with "data=ordered", which leads to the failure.

Now I'm using 2.6.30.1 with KMS, graphic behavior is as good as 2.6.29.5 (all problems solved except the text console resolution). I also tried the same kernel build options (no framebuffer driver, build in AGP and DRM driver, enable KMS by default) on another box (dell vostro 1400 laptop, GMA3100) with the same satisfactory result.


All times are GMT -5. The time now is 08:12 AM.