Linux on Dell X1

Dell Latitude X1Samsung Q30This is my blog entry for Linux related stuff about my Dell Latitude X1 (aka Samsung Q30). Please read my Dell X1 page which will provide up to date info.

Comments and requests are welcome here.

338 Responses to “Linux on Dell X1”

  1. Thomas Says:

    Hi, “great” info so far. I have installed Debian on my X1. So far everything I could test works great (didn’t test the SD-CARD-Reader/VGA-Out). The only problem that lasts is DRI and 3D-Accel. (btw. I did install CVS X.org, but so far it doesnt work for me) – so I am hoping on you getting it to work and telling me how ;-) .

    greetz
    Thomas

  2. Olivier PAGE Says:

    Thanks a lot !!!
    I had my X1 yesterday and thanks to your site, it’s 80 % working few hours later.
    (Debian distro)

    I can’t get my screen to wake up after acpi sleep … still searching.
    I’ll let you know if i’ve got good news.
    For debian users … if i can help : o(nospam) @ egim-mrs.fr

  3. Martin Says:

    I must confess – I’m also struggling a bit with acpi/sleep and waking up the screen – but usually it wakes up using Ctrl-Alt-F1, Fn-UpArrow, Ctrl-Alt-F7 and maybe an extra Fn-UpArrow. I guess this might fix itself when I install the new Xorg, use the correct i915GM driver and DPMS. I’ll let you all know ;)

  4. Thomas Says:

    Did you succeeded in using the VGA external output with the Dell Latitude X1 under GNU/Linux ?

  5. Martin Says:

    Nope – haven’t got it working yet, but I’m about to try the driver provided by Intel: Mobile Intel® 915GM/GMS, 910GML Express Chipset Family. That is dri-I915-v1.1-20041217.i386.rpm or i915Graphics.tar.gz. Please let me know if anyone has tried this and got it working :)

  6. Thomas Says:

    Actually, I’m about to buy this laptop, and I’m a GNU/Linux user only, and for me the external output is very important. So if you have time to try it, I would be very interested by the information ! ;-)

  7. Martin Says:

    Hello Thomas – I just tried to install from the source code, but it failed:

    DIRECT RENDERING OPEN SOURCE PROJECT – DRIVER INSTALLATION SCRIPT

    [ http://dri.sourceforge.net ]

    =================================

    Welcome to the DRI Driver Installation Script

    The package you downloaded is for the following driver:

    Driver Name : gdg
    Description : Intel 830M/845G/852GM/855GM/865G/915G Driver
    Architecture : I386
    Build Date : 20040604
    Kernel Module : gdg

    Optional Information

    Driver Version :
    Special Description :

    Press ENTER to continue or CTRL-C to exit.

    Select from the following options:

    1. Install driver (default)
    2. Uninstall driver

    Enter reponse [1-2], or CTRL-C to exit

    The script will now compile the agpgart module and DRM kernel modules
    for your machine.

    Press ENTER to continue or CTRL-C to exit.

    Compiling new agpgart module…
    Compiling DRM module…

    ERROR: Kernel modules did not compile

    The DRI drivers can not be installed without the latest kernel modules.
    Installation will be aborted. See the dri.log file for information on
    what went wrong.

    And dri.log says:

    make -f Makefile.linux DRM_MODULES=gdg.ko modules
    make[1]: Entering directory `/root/intel/dripkg/drm’
    make -C /lib/modules/2.6.11-1.1286_FC4/build SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules
    make[2]: Entering directory `/usr/src/kernels/2.6.11-1.1286_FC4-i686′
    CC [M] /root/intel/dripkg/drm/gdg_drv.o
    In file included from /root/intel/dripkg/drm/gdg_drv.c:17:
    /root/intel/dripkg/drm/drm_agpsupport.h:47: error: syntax error before ‘*’ token
    /root/intel/dripkg/drm/drm_agpsupport.h:47: warning: type defaults to ‘int’ in declaration of ‘drm_agp’
    /root/intel/dripkg/drm/drm_agpsupport.h:47: warning: data definition has no type or storage class
    /root/intel/dripkg/drm/drm_agpsupport.h: In function ‘gdg_agp_info’:
    /root/intel/dripkg/drm/drm_agpsupport.h:69: error: request for member ‘copy_info’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h: In function ‘gdg_agp_acquire’:
    /root/intel/dripkg/drm/drm_agpsupport.h:111: error: request for member ‘acquire’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h:117: error: request for member ‘acquire’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h: In function ‘gdg_agp_release’:
    /root/intel/dripkg/drm/drm_agpsupport.h:140: error: request for member ‘release’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h:142: error: request for member ‘release’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h: In function ‘gdg_agp_do_release’:
    /root/intel/dripkg/drm/drm_agpsupport.h:155: error: request for member ‘release’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h:156: error: request for member ‘release’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h: In function ‘gdg_agp_enable’:
    /root/intel/dripkg/drm/drm_agpsupport.h:178: error: request for member ‘enable’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h:185: error: request for member ‘enable’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h: In function ‘gdg_agp_bind’:
    /root/intel/dripkg/drm/drm_agpsupport.h:333: error: request for member ‘bind_memory’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h: In function ‘gdg_agp_init’:
    /root/intel/dripkg/drm/drm_agpsupport.h:407: error: ‘drm_agp_t’ undeclared (first use in this function)
    /root/intel/dripkg/drm/drm_agpsupport.h:407: error: (Each undeclared identifier is reported only once
    /root/intel/dripkg/drm/drm_agpsupport.h:407: error: for each function it appears in.)
    /root/intel/dripkg/drm/drm_agpsupport.h:407: error: syntax error before ‘)’ token
    /root/intel/dripkg/drm/drm_agpsupport.h:412: error: request for member ‘copy_info’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h: In function ‘gdg_agp_uninit’:
    /root/intel/dripkg/drm/drm_agpsupport.h:436: warning: ‘inter_module_put’ is deprecated (declared at include/linux/module.h:571)
    /root/intel/dripkg/drm/drm_agpsupport.h: In function ‘gdg_agp_allocate_memory’:
    /root/intel/dripkg/drm/drm_agpsupport.h:443: error: request for member ‘allocate_memory’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h:445: error: request for member ‘allocate_memory’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h:446: warning: control reaches end of non-void function
    /root/intel/dripkg/drm/drm_agpsupport.h: In function ‘gdg_agp_free_memory’:
    /root/intel/dripkg/drm/drm_agpsupport.h:451: error: request for member ‘free_memory’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h:453: error: request for member ‘free_memory’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h: In function ‘gdg_agp_bind_memory’:
    /root/intel/dripkg/drm/drm_agpsupport.h:460: error: request for member ‘bind_memory’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h:462: error: request for member ‘bind_memory’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h:463: warning: control reaches end of non-void function
    /root/intel/dripkg/drm/drm_agpsupport.h: In function ‘gdg_agp_unbind_memory’:
    /root/intel/dripkg/drm/drm_agpsupport.h:468: error: request for member ‘unbind_memory’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h:470: error: request for member ‘unbind_memory’ in something not a structure or union
    /root/intel/dripkg/drm/drm_agpsupport.h:471: warning: control reaches end of non-void function
    In file included from /root/intel/dripkg/drm/gdg_drv.c:28:
    /root/intel/dripkg/drm/drm_memory.h: In function ‘drm_follow_page’:
    /root/intel/dripkg/drm/drm_memory.h:139: warning: passing argument 1 of ‘pmd_offset’ from incompatible pointer type
    In file included from /root/intel/dripkg/drm/gdg_drv.c:30:
    /root/intel/dripkg/drm/drm_vm.h: In function ‘gdg_mmap’:
    /root/intel/dripkg/drm/drm_vm.h:625: warning: implicit declaration of function ‘remap_page_range’
    In file included from /root/intel/dripkg/drm/gdg_drv.c:31:
    /root/intel/dripkg/drm/drm_stub.h: In function ‘gdg_stub_putminor’:
    /root/intel/dripkg/drm/drm_stub.h:145: warning: ‘inter_module_put’ is deprecated (declared at include/linux/module.h:571)
    /root/intel/dripkg/drm/drm_stub.h:147: warning: ‘inter_module_unregister’ is deprecated (declared at include/linux/module.h:568)
    /root/intel/dripkg/drm/drm_stub.h: In function ‘gdg_stub_register’:
    /root/intel/dripkg/drm/drm_stub.h:177: warning: implicit declaration of function ‘inter_module_get’
    /root/intel/dripkg/drm/drm_stub.h:188: warning: ‘inter_module_register’ is deprecated (declared at include/linux/module.h:567)
    make[3]: *** [/root/intel/dripkg/drm/gdg_drv.o] Error 1
    make[2]: *** [_module_/root/intel/dripkg/drm] Error 2
    make[2]: Leaving directory `/usr/src/kernels/2.6.11-1.1286_FC4-i686′
    make[1]: *** [modules] Error 2
    make[1]: Leaving directory `/root/intel/dripkg/drm’
    make: *** [gdg.ko] Error 2

    Hopefully it’s just me being braindead and forgot to install some obvious kernel modules… I guess a search for earlier versions (810, 855, 915G etc) can give some hints – I’ll do some more research as soon as I have time…

  8. mark Says:

    Thanks for the site. I’m still waiting for my X1, so in the mean time I check your site every day :-)

    thiasdude, on that dell forum site, says that he tried the Intel drivers, but they wouldn’t compile with gcc 4.0. So it may just be gcc 4.0 problem.

    Getting the vga port to work is also important for me. The docs that come with the i810 driver to talk about dual head configuration, so I’m hopefull. The fact that emporerlinux.com sells this laptop pre-installed with linux also suggests that it is possible to make it work..

  9. Ian Cunningham Says:

    You said that “Tip: Even though the Dell X1 does not have any PC Card slot (PCMCIA), the CF slot is internally PCMCIA connected so pcmcia must be running.”…

    Does this mean that I can use a GPRS Compact Flash card that would normally require a CF-PCMCIA convertor with the Dell X1?

  10. olivier page (FR) Says:

    Don’t call your /etc/acpi/events files xxx.conf !!!!
    or they’ll be ignored by 2.6.11.11 kernel (at least mine ..)
    i renamed them lid.conf -> lid
    and sleep.conf -> sleep
    and now the are treated. (I’ve found it with acpid -dddd ….)
    but i still can’t wake up the X1 screen …

    if you need more investigations i cando i, but for now, my Dell X1 batteries are so low that i’m writing this mail on my wife’s “Panther” ;-)

    to be continued ..

    P.S: when you speak about VGA external connector, is it to get it working with Xinerama mode or in clone mode (aka ext-VGA=int-LCD) ?

  11. Martin Says:

    Sorry for being a bit late updating my site – I’ve just visited Copenhagen and been partially drunk for four days.

    Conserning .conf – I find that a bit strange ‘cos a pure Fedora Core installation puts a sample.conf file in /etc/acpi/events/. Could it be that you have files called xxx.conf~ that are being read instead?

    About the external connector, I’m talking about getting it to work at all. As of today, it seems quite dead. Xinerama mode or clone mode – preferrably both ;)

  12. Tim Says:

    FYI, I have done a bit of tidying up on the ACPI scripts, and stuck them in a tar.
    http://www.kano.org.uk/acpi.tgz

    They do a few things now:
    * lid closing/keyboard sleep.
    * screen wakeup using the “dpms” utility (not using xset as X may not be running) – http://www.srcf.ucam.org/~mjg59/laptops/dpms_0.1-1.tar.gz
    * lock the screen before sleeping.
    * auto switch between powersave/performance governors on systems with cpu clock scaling.

    Also I got X working with the CVS version of Xorg, I found that when running xorgcfg it was getting a SIGBUS from one of the other card drivers. I just removed all the ones I was not using and it worked fine.

  13. Martin Says:

    Thanks alot! I’ve checked out the scripts and they seem to work just fine. I had to add dpms off and dpms on myself (after installing dpms 0.1, but I didn’t get it to work: ACPI suspend/sleep (S3) works, but I still have to wake up the screen by Ctrl-Alt-F1, Ctrl-Alt-F7, Fn-UpArrow

  14. Tim Says:

    Did you make sure dpms was in the right place? /etc/acpi/events/video expects it to be in /usr/local/sbin/dpms anywhere else and it will silently fail (unless you are tailing /var/log/acpid). If you have dpms in the right place, it may be down to your distro, Slackware appears to work fine.

  15. Martin Says:

    I’ve checked: It is in /usr/local/sbin/dpms. I actually didn’t see that it was called directly from the video event script, so it is no need to adding it to the sleep script…

    But the screen still doesn’t wake up. I think the video event isn’t called when using Stand by:

    localhost:~:# tail -30 /var/log/acpid
    [Sun Jun 19 16:55:28 2005] completed event "battery BAT0 00000080 00000001"
    [Sun Jun 19 17:43:49 2005] exiting
    [Sun Jun 19 17:43:49 2005] starting up
    [Sun Jun 19 17:43:49 2005] 6 rules loaded
    [Sun Jun 19 17:43:57 2005] received event "button/sleep SBTN 00000080 00000001"
    [Sun Jun 19 17:43:57 2005] executing action "/etc/acpi/acpi_handler.sh button/sleep SBTN 00000080 00000001"
    [Sun Jun 19 17:43:57 2005] BEGIN HANDLER MESSAGES
    [Sun Jun 19 17:43:57 2005] END HANDLER MESSAGES
    [Sun Jun 19 17:43:57 2005] action exited with status 0
    [Sun Jun 19 17:43:57 2005] executing action "/etc/acpi/actions/sleep.sh sleep"
    [Sun Jun 19 17:43:57 2005] BEGIN HANDLER MESSAGES
    [Sun Jun 19 17:44:14 2005] END HANDLER MESSAGES
    [Sun Jun 19 17:44:14 2005] action exited with status 0
    [Sun Jun 19 17:44:14 2005] completed event "button/sleep SBTN 00000080 00000001"
    [Sun Jun 19 17:44:14 2005] received event "ac_adapter AC 00000080 00000001"
    [Sun Jun 19 17:44:14 2005] executing action "/etc/acpi/actions/powermode.sh"
    [Sun Jun 19 17:44:14 2005] BEGIN HANDLER MESSAGES
    [Sun Jun 19 17:44:14 2005] END HANDLER MESSAGES
    [Sun Jun 19 17:44:14 2005] action exited with status 0
    [Sun Jun 19 17:44:14 2005] executing action "/etc/acpi/acpi_handler.sh ac_adapter AC 00000080 00000001"
    [Sun Jun 19 17:44:14 2005] BEGIN HANDLER MESSAGES
    [Sun Jun 19 17:44:14 2005] END HANDLER MESSAGES
    [Sun Jun 19 17:44:14 2005] action exited with status 0
    [Sun Jun 19 17:44:14 2005] completed event "ac_adapter AC 00000080 00000001"
    [Sun Jun 19 17:44:14 2005] received event "battery BAT0 00000081 00000001"
    [Sun Jun 19 17:44:14 2005] executing action "/etc/acpi/acpi_handler.sh battery BAT0 00000081 00000001"
    [Sun Jun 19 17:44:14 2005] BEGIN HANDLER MESSAGES
    [Sun Jun 19 17:44:14 2005] END HANDLER MESSAGES
    [Sun Jun 19 17:44:14 2005] action exited with status 0
    [Sun Jun 19 17:44:14 2005] completed event "battery BAT0 00000081 00000001"

    and

    localhost:~:# acpi_listen
    button/sleep SBTN 00000080 00000002
    ac_adapter AC 00000080 00000001
    battery BAT0 00000081 00000001

    It is a bit strange – its not even called when I close/open the lid:

    localhost:~:# acpi_listen
    button/lid LID 00000080 0000000c
    ac_adapter AC 00000080 00000001
    button/lid LID 00000080 0000000d
    battery BAT0 00000081 00000001

    I’m almost certain it did when I was using Fedora Core Test 3.92 (now I’ve reinstalled with Fedora Core 4)

  16. Thomas(the first one) Says:

    I finally got my Dell X1 working installing the latest Release of Ubuntu and I just have to say, it worked right out of the box … wlan, dri, 3d-accel, etc.

    so anyone fighting with Debian (e.g. I915GM-Driver) at the moment (like I did for 1 month), just use Ubuntu – it’s based on Debian and will make you and your X1 happy after all.

    greetings
    Thomas

  17. Martin Says:

    As you can guess – this is EXTREMELY good news. Could you please report on how your installation works with:
    * External monitor (crt out xinerama/dual head or whatever it is called)
    * ACPI sleep/wake up (wrt. screen, tg3 network card and wireless ipw2200 network card, usb etc.)
    * DRI: could you post the output of ‘glxinfo’ and give the FPS from ‘glxgears’?

    It would be great :)

  18. Martin Says:

    On the dri.freedesktop.org site, it seems that the i915GM chipset is NOT supported (only the i915 which I believe is quite different): http://dri.freedesktop.org/wiki/Intel?action=highlight&value=CategoryHardwareVendor

    Thomas 1.: what does ‘modinfo i195′ or ‘modinfo i195gm’ give you?

    I (and I guess many others) would very much appreciate this info :)
    And to the Ubuntu team: way to go!

  19. Thomas(the first one) Says:

    Sorry, haven’t got the time to test all the stuff (really have to study now), but I will post them throughout the next days.

    To “dri.freedesktop.org site”: Didn’t work for me either … always printed something like “can’t get drm_dev to work” … but perhaps that was because of my shi**y own-baked kernel …;-)

    Today, starting with modinfo, glxinfo and glxgears output …

    name of display: :0.0
    display: :0 screen: 0
    direct rendering: Yes
    server glx vendor string: SGI
    server glx version string: 1.2
    server glx extensions:
    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,
    GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read,
    GLX_SGIS_multisample, GLX_SGIX_fbconfig
    client glx vendor string: SGI
    client glx version string: 1.4
    client glx extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory,
    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method,
    GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control,
    GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig,
    GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group
    GLX extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory,
    GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGIS_multisample,
    GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
    OpenGL vendor string: Tungsten Graphics, Inc
    OpenGL renderer string: Mesa DRI Intel(R) 915GM 20041217 x86/MMX/SSE2
    OpenGL version string: 1.3 Mesa 6.2.1
    OpenGL extensions:
    GL_ARB_depth_texture, GL_ARB_fragment_program, GL_ARB_imaging,
    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_point_parameters,
    GL_ARB_shadow, GL_ARB_texture_border_clamp, GL_ARB_texture_compression,
    GL_ARB_texture_cube_map, GL_ARB_texture_env_add,
    GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3,
    GL_ARB_texture_mirrored_repeat, GL_ARB_texture_rectangle,
    GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object,
    GL_ARB_vertex_program, GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra,
    GL_EXT_blend_color, GL_EXT_blend_equation_separate,
    GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract,
    GL_EXT_clip_volume_hint, GL_EXT_cull_vertex, GL_EXT_compiled_vertex_array,
    GL_EXT_convolution, GL_EXT_copy_texture, GL_EXT_draw_range_elements,
    GL_EXT_fog_coord, GL_EXT_histogram, GL_EXT_multi_draw_arrays,
    GL_EXT_packed_pixels, GL_EXT_point_parameters, GL_EXT_polygon_offset,
    GL_EXT_rescale_normal, GL_EXT_secondary_color,
    GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_wrap,
    GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,
    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,
    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,
    GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array,
    GL_3DFX_texture_compression_FXT1, GL_APPLE_client_storage,
    GL_APPLE_packed_pixels, GL_ATI_blend_equation_separate,
    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat,
    GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_ycbcr_texture,
    GL_MESA_window_pos, GL_NV_blend_square, GL_NV_light_max_exponent,
    GL_NV_texture_rectangle, GL_NV_texgen_reflection, GL_NV_vertex_program,
    GL_NV_vertex_program1_1, GL_SGI_color_matrix, GL_SGI_color_table,
    GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp,
    GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SGIX_depth_texture,
    GL_SUN_multi_draw_arrays
    glu version: 1.3
    glu extensions:
    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

    visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
    id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
    ———————————————————————-
    0×22 24 tc 0 32 0 r y . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
    0×23 24 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
    0×24 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
    0×25 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
    0×26 24 tc 0 32 0 r y . 8 8 8 8 0 0 0 16 16 16 16 0 0 Slow
    0×27 24 tc 0 32 0 r . . 8 8 8 8 0 0 0 16 16 16 16 0 0 Slow
    0×28 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
    0×29 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow

    mythtv@localhost:~$ glxgears
    3809 frames in 5.0 seconds = 761.800 FPS
    4721 frames in 5.0 seconds = 944.200 FPS
    4734 frames in 5.0 seconds = 946.800 FPS
    4733 frames in 5.0 seconds = 946.600 FPS
    4723 frames in 5.0 seconds = 944.600 FPS
    4729 frames in 5.0 seconds = 945.800 FPS
    4731 frames in 5.0 seconds = 946.200 FPS
    4734 frames in 5.0 seconds = 946.800 FPS
    4733 frames in 5.0 seconds = 946.600 FPS
    4711 frames in 5.0 seconds = 942.200 FPS

    “chromium” does fly flawless with 50-60fps per sec.

    I don’t know if there is another driver then the MESA DRI driver, perhaps time will show … but 940fps is def. more then 350fps I got before …

    mythtv@localhost:~$ modinfo i915
    filename: /lib/modules/2.6.10-5-386/kernel/drivers/char/drm/i915.ko
    author: Tungsten Graphics, Inc.
    description: Intel Graphics
    license: GPL and additional rights
    vermagic: 2.6.10-5-386 preempt 386 gcc-3.3
    depends: drm
    srcversion: 67B235B13CAB6528530EA84

    hope I could help :-O
    greetings
    Thomas

  20. Thomas(the first one) Says:

    a little tip, cause other solutions didn’t work for me:

    if you hear a high pitched noise being loudest between sd-reader & touchpad, execute the following command:

    echo 2 > /sys/module/processor/parameters/max_cstate

    greetings
    Thomas

  21. Martin Says:

    Latest news: The CVS snapshot from dri.sf.net works upon compiling the latest vanilla kernel from kernel.org (2.6.12). Video out also work. I’ll configure my X server and post the details pretty soooon :D

  22. Nicolas Says:

    Thomas (the first one): I just love you :)

    This noise was _really_ annoying, and since I havent try windows on this laptop, I was afraid this was an hardware issue ( the noise seemed to disappear when hard disk spin quickly)

    Thank you and Martin for this page, really interesting
    Nicolas

  23. Martin Says:

    Yes, thanks Thomas – I haven’t got this sound, but who knows, one day it might show up. By the way – does anyone know what ‘echo 2 > /sys/module/processor/parameters/max_cstate’ means? It would be kind of interesting to know…

    Anyway – the good news is that I’ve got dri working, backlight turning off when powersaving (i.e. idle), and external monitor in clone mode.

    The drawback is that in order to manage this, I installed the latest kernel from http://ftp.kernel.org (2.6.12) (actually, Terje did this for me, and also made external crt work; thanks!) and this kernel breaks the ipw2200 wireless network card support…: http://lists.ibiblio.org/pipermail/sm-discuss/2005-June/011323.html

    I’m trying to redo the whole thing using kernel-2.6.12-rc5…

    Er, or maybe I’ll try some unnamed patch: http://lists.ibiblio.org/pipermail/sm-discuss/2005-June/011354.html
    I’ll let you all know.

  24. Janne Says:

    Just installed Ubuntu, but hardware acceleration still doesn’t work. I get a black screen even though there are no serious errors in Xorg.log. Thomas, I’m really interested to know how you did it.

  25. Martin Says:

    Hello Janne: Now I’ve got hardware acceleration working with the newest kernel: kernel-2.6.12 and the CVS snapshot from dri.sf.net, together with a nice little hack to get the virtual consoles working, and the newest ipw2200 module from ipw2200,sf.net with the patch for the 2.5.12 kernel and the firmware (both on the same site).

    So what you all need to do is:

  26. Thomas(the first one) Says:

    Hi Janne!

    I did nothing more than installing the regular Ubuntu 5.04 Distribution with the 2.6.10Ubuntu Kernel.

    I was suprised but entering glxinfo showed me Direct Rendering=On and glxgears brought me the frames as stated above …

    No CVS-Version of x.org was needed … perhaps you -if you didn’t already- try to use the latest image from the ubuntu-page.

    Regarding the “buzzing noise command” – as far as I understood, it is a problem with the PowerManagement that makes the Elco’s on the motherboard (? Electrolyte Condensator ?) swinging. That’s kind of normal – seems to be a bit of bad hardware, but nothing to get serious – because it isnt hearable in windows (someone on the acpi-dev-list mentioned a program-error which has effects on the “weak” hardware).
    The Max-Cstate just avoids the PowerManagement to go into “state 1″ which kind of seems to be the reason for the sound.

    Martin: could you please post your glxgears-results … would be interesting to compare, even if I am not playing with my baby ;-)

    greetings
    Thomas

  27. Thomas(the first one) Says:

    Janne: You mentioned a black screen ?

    You mean, X isnt showing anything on start? – just the black screen?

    greetings
    Thomas

  28. Janne Says:

    Yep, just a black screen with the i810 driver. If I type in my username and password blind, I can see the harddisk light flashing and also gnome processes start. Could you post your xorg.conf?

  29. Janne Says:

    Thomas, I installed from this:

    http://se.releases.ubuntu.com/5.04/ubuntu-5.04-install-i386.iso

  30. Martin Says:

    This is what I get with glxgears:
    $ glxgears
    3884 frames in 5.0 seconds = 776.800 FPS
    4528 frames in 5.0 seconds = 905.600 FPS
    4599 frames in 5.0 seconds = 919.800 FPS
    4562 frames in 5.0 seconds = 912.400 FPS
    4581 frames in 5.0 seconds = 916.200 FPS
    4529 frames in 5.0 seconds = 905.800 FPS

    But it’s more interesting to see the performance when the glxgrears window is in fullscreen mode (in KDE: right-click windows border – Advanced – Fullscreen):
    $ glxgears
    2345 frames in 5.0 seconds = 469.000 FPS
    488 frames in 5.0 seconds = 97.600 FPS
    489 frames in 5.0 seconds = 97.800 FPS
    490 frames in 5.0 seconds = 98.000 FPS
    488 frames in 5.0 seconds = 97.600 FPS
    485 frames in 5.0 seconds = 97.000 FPS
    481 frames in 5.0 seconds = 96.200 FPS
    481 frames in 5.0 seconds = 96.200 FPS
    467 frames in 5.0 seconds = 93.400 FPS

    And my i915:
    # modinfo i915
    filename: /lib/modules/2.6.12/kernel/drivers/char/drm/i915.ko
    author: Tungsten Graphics, Inc.
    description: Intel Graphics
    license: GPL and additional rights
    vermagic: 2.6.12 686 REGPARM 4KSTACKS gcc-4.0
    depends: drm,drm
    srcversion: D582273C064FE12F2E90E05

    And glxinfo:
    $ glxinfo |head
    name of display: :0.0
    display: :0 screen: 0
    direct rendering: Yes
    server glx vendor string: SGI
    server glx version string: 1.2
    server glx extensions:
    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,
    GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read,
    GLX_SGIS_multisample, GLX_SGIX_fbconfig
    client glx vendor string: SGI

  31. Martin Says:

    I’ve updated the X1 page with details on Xorg, DRI, ACPI etc.

    Essential files are also available (xorg.conf, sleep.sh, …)

  32. Thomas(the first one) Says:

    to Janne:

    my ! xorg.conf:

    # /etc/X11/xorg.conf (xorg X Window System server configuration file)
    #
    # This file was generated by dexconf, the Debian X Configuration tool, using
    # values from the debconf database.
    #
    # Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
    # (Type “man /etc/X11/xorg.conf” at the shell prompt.)
    #
    # This file is automatically updated on xserver-xorg package upgrades *only*
    # if it has not been modified since the last upgrade of the xserver-xorg
    # package.
    #
    # If you have edited this file but would like it to be automatically updated
    # again, run the following commands:
    #
    # cp /etc/X11/xorg.conf /etc/X11/xorg.conf.custom
    # sudo sh -c ‘md5sum /etc/X11/xorg.conf >/var/lib/xfree86/xorg.conf.md5sum’
    # sudo dpkg-reconfigure xserver-xorg

    Section “Files”
    FontPath “unix/:7100″ # local font server
    # if the local font server has problems, we can fall back on these
    FontPath “/usr/lib/X11/fonts/misc”
    FontPath “/usr/lib/X11/fonts/cyrillic”
    FontPath “/usr/lib/X11/fonts/100dpi/:unscaled”
    FontPath “/usr/lib/X11/fonts/75dpi/:unscaled”
    FontPath “/usr/lib/X11/fonts/Type1″
    FontPath “/usr/lib/X11/fonts/CID”
    FontPath “/usr/lib/X11/fonts/100dpi”
    FontPath “/usr/lib/X11/fonts/75dpi”
    # paths to defoma fonts
    FontPath “/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType”
    FontPath “/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID”
    EndSection

    Section “Module”
    Load “bitmap”
    Load “dbe”
    Load “ddc”
    Load “dri”
    Load “extmod”
    Load “freetype”
    Load “glx”
    Load “int10″
    Load “record”
    Load “type1″
    Load “vbe”
    Load “synaptics”
    EndSection

    Section “InputDevice”
    Identifier “Generic Keyboard”
    Driver “keyboard”
    Option “CoreKeyboard”
    Option “XkbRules” “xorg”
    Option “XkbModel” “pc105″
    Option “XkbLayout” “de”
    Option “XkbOptions” “nodeadkeys”
    EndSection

    Section “InputDevice”
    Identifier “Configured Mouse”
    Driver “mouse”
    Option “CorePointer”
    Option “Device” “/dev/input/mice”
    Option “Protocol” “ImPS/2″
    Option “Emulate3Buttons” “true”
    Option “ZAxisMapping” “4 5″
    EndSection
    Section “InputDevice”
    Identifier “Synaptics Touchpad”
    Driver “synaptics”
    Option “SendCoreEvents” “true”
    Option “Device” “/dev/psaux”
    Option “Protocol” “auto-dev”
    Option “LeftEdge” “1700″
    Option “RighEdge” “5300″
    Option “TopEdge” “1700″
    Option “BottomEdge” “4200″
    Option “FingerLow” “25″
    Option “FingerHigh” “40″
    Option “MaxTapTime” “180″
    Option “MaxTapMove” “220″
    Option “VertScrollDelta” “100″
    Option “HorizScrollDelta” “100″
    Option “MinSpeed” “0.06″
    Option “MaxSpeed” “0.15″
    Option “AccelFactor” “0.0015″
    Option “TapButton1″ “1″
    Option “TapButton2″ “1″
    Option “TapButton3″ “1″
    Option “LTCornerButton” “2″
    EndSection

    Section “Device”
    Identifier “Intel Corporation Intel Default Card”
    Driver “i810″
    BusID “PCI:0:2:0″
    EndSection

    Section “Modes”
    Identifier “Modes[0]”
    Modeline “1280x768_60.00″ 80.14 1280 1344 1480 1680 768 769 772 795 -HSync +Vsync
    EndSection

    Section “Monitor”
    Identifier “Generic Monitor”
    Option “DPMS”
    UseModes “Modes[0]”
    EndSection

    Section “Screen”
    Identifier “Default Screen”
    Device “Intel Corporation Intel Default Card”
    Monitor “Generic Monitor”
    DefaultDepth 24
    SubSection “Display”
    Depth 1
    Modes “1280×768″
    EndSubSection
    SubSection “Display”
    Depth 4
    Modes “1280×768″
    EndSubSection
    SubSection “Display”
    Depth 8
    Modes “1280×768″
    EndSubSection
    SubSection “Display”
    Depth 15
    Modes “1280×768″
    EndSubSection
    SubSection “Display”
    Depth 16
    Modes “1280×768″
    EndSubSection
    SubSection “Display”
    Depth 24
    Modes “1280×768″
    EndSubSection
    EndSection

    Section “ServerLayout”
    Identifier “Default Layout”
    Screen “Default Screen”
    InputDevice “Generic Keyboard”
    InputDevice “Configured Mouse”
    InputDevice “Synaptics Touchpad”
    EndSection

    Section “DRI”
    Mode 0666
    EndSection

  33. Janne Says:

    Thomas, I tested your config. Xorg definately starts (like it did before), but the screen just stays blank and black. Have you updated the BIOS? I’m starting to wonder if we have some differences in the hardware. Xorg.log would be nice to see next, if you don’t mind :)

  34. Steve Says:

    I see bios vsn A02 is available at Dell’s website but I’m running A01. For those who have sleep working, what BIOS version are you running?

  35. Janne Says:

    Steve, I just got the machine and it has A02 BIOS as default. Maybe I should downgrade.

  36. Martin Says:

    I also have the A02 BIOS, but DRI works fine in X (following my description on the Dell X1 page).

  37. Thomas(the first one) Says:

    to Janne:

    I have the A01-Bios-Version … will post the log later …

    to Martin:

    cause you mentioned a problem with the cpustepping before …
    If I am running at 100% cpu over a long time (e.g. encoding a video) the powernowd-deamon seems to stuck on 900 Mhz and isn’t going any higher ?

    anyone got that problem too? maybe its temp-related ?! (my X1 is getting 70° hot when encoding)

    greetings
    Thomas

  38. Martin Says:

    Thomas(the first one): I’ll check this out. At the time, I’m not using cpuspeed, but only modprobe ondemand and echo -n ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor. This works fine when the ac adapter is plugged, i.e. the cpu speed is scaled up and down according to system load, but when I run on batteries, the /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq is stuck at 600MHz, and it is not possible to change it (for example by ‘cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

    Any ideas are welcome!

  39. Thomas(the first one) Says:

    to Martin:

    i would suggest to try powernowd – just to check if it has the same problem … if not you know where to search ;-)

    greetings

  40. Rob Says:

    reply to Janne

    stock ubuntu will not start X. it comes with the 2.6.10 kernel and AFAIK doesn’t include the latest 915 module. To get it to work you need to use the vesa driver for X.
    1. At the blank screen ALT+F1 to get to a new terminal.
    2. sudo vi /etc/X11/xorg.conf change “i810″ to “vesa” save.
    3. sudo /etc/init.d/gdm restart
    4. should see the ubuntu login.

    to get the correct resolution
    1. download the deb of 915resolution from http://www.freshnet.org/debian/hoary/
    2. sudo gedit or emacs or vi (whatever your current fav is) /etc/init.d/bootmisc.sh
    3. add a line at the bottom of the file, before the exit
    /usr/sbin/915resolution 38 1280 768
    save and close
    4. reboot and be greeted by the new ubuntu login at the correct resolution.

    You could also try the breezy nighly iso’s but there are major breakages with X and the upgrade to gcc4 at the moment so I’d leave it for a month or so.

    There are things that won’t work properly, but at least you will get an X session to work at them. Hope this helps

  41. Rob Says:

    Oh yeah, I wouldn’t recommend a BIOS downgrade, they tend to upgrade them for a reason.

  42. Rob Says:

    reply to Janne

    missed something … sorry need to install the 915resolution.

    sudo dpkg -i 915resolution

    sorry if you’d already worked that out ;)

  43. Martin Says:

    Good to see so many replies! I believe we can make our X1′s really kick ass machines pretty soon :)

    Thomas(the first one): I strongly believe that cpu frequency scaling should be done in kernelspace, i.e. by using the correct scaling govenors in /sys/devices/system/cpu/cpu0/cpufreq/. I’ve managed to make this work manually. When on batteries:

    # modprobe cpufreq_conservative
    # echo -n conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_govenor
    # echo /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

    For some reason this doesn’t seem to work from my acpi script…

    The sampling rate can also be changed by:

    # echo /sys/devices/system/cpu/cpu0/cpufreq/conservative/sampling_rate_min > /sys/devices/system/cpu/cpu0/cpufreq/conservative/sampling_rate

    I’ve not been able to test the powernowd deamon. I might try it later.

    Cheers.

  44. Martin Says:

    I’m trying out a patch to fix the resume from sleep/suspend problem with the tg3 Broadcom network driver from http://permalink.gmane.org/gmane.linux.acpi.devel/13912:
    Patch and rebuild kernel:

    # cd /usr/src/linux-2.6.12
    # patch -p1 < portdrv.patch
    # make && make modules_install && cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.12 && mkinitrd /boot/initrd-2.6.12.img 2.6.12

    i’ll let you know if it works..

  45. Martin Says:

    Yep, it seems to work flawlessly. No extra rmmod stuff needed in the acpi scripts (I think).
    I’ve updated my X1 page. :)

  46. mark Says:

    For anyone having trouble getting their screen to come back on, try adding a bios password. Then when the laptop awakes from S3, the bios will the initialize the screen so that it can ask for the password.

    Once I was using this trick, the console would always come back. My x1 will still sometimes crash, but now I can see the error messages and it is related to the ipw2200 driver
    (I’m using FC3 which has an outdated version of ipw2200)

  47. Martin Says:

    By the way: Jo and I just tried to mount his Sony Ericsson k750i using the USB cable, and it worked!:

    Initializing USB Mass Storage driver...
    scsi0 : SCSI emulation for USB Mass Storage devices
    usb-storage: device found at 2
    usb-storage: waiting for device to settle before scanning
    usbcore: registered new driver usb-storage
    USB Mass Storage support registered.
    Vendor: Sony Eri Model: Memory Stick Rev: 0000
    Type: Direct-Access ANSI SCSI revision: 00
    usb-storage: device scan complete
    SCSI device sda: 126912 512-byte hdwr sectors (65 MB)
    sda: Write Protect is off
    sda: Mode Sense: 00 6a 00 00
    sda: assuming drive cache: write through
    SCSI device sda: 126912 512-byte hdwr sectors (65 MB)
    sda: Write Protect is off
    sda: Mode Sense: 00 6a 00 00
    sda: assuming drive cache: write through
    sda: sda1
    Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
    usb 2-2: USB disconnect, address 2

    It mounted as a usb disk: mount /media/usbdisk/. ;)

  48. Colin Says:

    Martin,

    I tried to patch the Kernel (2.6.12.1) with the patch you linked to at gmane.org. I am not familiar enough with patch syntax to fix this, I get an error that the file is unreadable when I run patch -p1 … What insight do you have on saving the patch file? I did it from windows and ended up copying the text to WordPad. I’m not sure if I copied too much text (above and/or below) or if using WordPad is the error.

    Also, before you changed the post, I had followed your previous instructions for the wireless card, which worked. After reinstalling windows, I had to reinstall fedora. I follow your new instructions and don’t have the same luck. Can you repost or send me the previous set of instructions?

    Thanks for your help,

    -colin-

  49. Martin Says:

    Colin: First the wireless card: It might be that my old instructions only worked for the 2.6.11 kernel – anyway when using that kernel it pretty much did the same thing, except for the patch and version number.

    This is the olde entry:

    Check your version of the ipw2200 module by

    # modinfo ipw2200
    ...
    version: 1.0.0
    ...

    and look for “version:“. As you can see, mine is “1.0.0“. Get the correct firmware from
    http://ipw2200.sourceforge.net/firmware.php and unpack it into /lib/firmware:

    # cd /lib/firmware/
    # tar xzf /downloadlocation/ipw2200-fw-2.2.tgz

    Reload the driver (i.e. reload all drivers used by ipw2200 – find them all by “lsmod“.)

    # rmmod ipw2200
    # rmmod ieee80211
    # rmmod ieee80211_crypt
    # modprobe ipw2200
    # dmesg
    ...
    eth0: Tigon3 [partno(BCM95751) rev 4001 PHY(5750)] (PCIX:100MHz:32-bit) 10/100/100 0BaseT Ethernet 00:12:3f:68:f7:cd
    eth0: RXcsums[1] LinkChgREG[1] MIirq[1] ASF[0] Split[0] WireSpeed[1] TSOcap[1]
    ieee80211_crypt: registered algorithm 'NULL'
    ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.0
    ipw2200: Copyright(c) 2003-2004 Intel Corporation
    ACPI: PCI Interrupt 0000:02:03.0[A] -> Link [LNKB] -> GSI 7 (level, low) -> IRQ 7
    ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
    ...

    As the dmesg output show, the driver is now successfully loaded. Next, configure the wireless stuff.

  50. Martin Says:

    Conserning the patch – there was an error in my comment – I’ve fixed it now – read my X1 page. The patch program is smart: it will search for the patch within the patch file. For your convenience, I’ll put the patch in the Files section (http://www.stud.ntnu.no/~gronslet/blog/linux-on-a-dell-x1-aka-samsung-q30/#files). Follow the instructions here: http://www.stud.ntnu.no/~gronslet/blog/linux-on-a-dell-x1-aka-samsung-q30/#tg3 and let me know if it works or not ;)

  51. mark Says:

    Martin: Thanks for those dri/i810/i915 instructions. They also work perfectly on a up2date FC3 system, with a 2.6.11 kernel. With FC3, I’m already “comment 32″ complient, and virtual consoles work fine. But to get ACPI S3 to work reliable, I had to turn dri off. But it least this is an easy way to get the latest i810 driver.

    Next on my todo list: the vga port. If I enable clone mode or dual-pipe mode, my X1 crashes when X starts.

  52. Martin Says:

    mark: Good to know this works on FC3 as well. I was a bit unclear about the VGA port – It works for me without any extras (clone mode or dual-pipe) in xorg.conf (see my xorg.conf in the /etc/ folder in the files section). I only need to press Fn-F8 twice to activate it.

  53. Quim Says:

    About the accelerated driver. One does not need the latest kernel at all! With the kernel 2.6.8 (the regular kernel shipped with Debian/sarge) plus common-20050621-linux.i386.tar.bz2 i810-20050621-linux.i386.tar.bz2 and i915-20050621-linux.i386.tar.bz2
    from http://dri.freedesktop.org/snapshots/
    and 915resolution of course, one gets an accelerated X. I have not tested the secondary VGA port yet.

  54. Quim Says:

    Remark: The accelerated display also works with the regular Xfree86 shipped with sarge/debian. One only has to recompile the drivers that are in common-20050621-linux.i386.tar.bz2 i810-20050621-linux.i386.tar.bz2 and i915-20050621-linux.i386.tar.bz2. There is no need to upgrade to xorg packages. The secondary VGA works in clone mode without problems.

    On the other hand, I experience a weird problem. When I start the computer with the AC unplugged the sound module does not initialize itself correctly. If it is plugged, then it does. Have you experienced such problem?

  55. Martin Says:

    Actually, the speaker tends to beep continously with a sound pitched according to the system load – I guess only when on batteries. Really annoying! I haven’t looked too much into this yet – if anyone has a solution to this – please help. These are my sound modules:

    localhost:~:# lsmod|grep snd
    snd_intel8x0m          20420  1
    snd_intel8x0           35904  1
    snd_ac97_codec         80376  2 snd_intel8x0m,snd_intel8x0
    snd_seq_dummy           4100  0
    snd_seq_oss            40448  0
    snd_seq_midi_event      9984  1 snd_seq_oss
    snd_seq                67472  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
    snd_seq_device          9484  3 snd_seq_dummy,snd_seq_oss,snd_seq
    snd_pcm_oss            54816  0
    snd_mixer_oss          19584  1 snd_pcm_oss
    snd_pcm               107656  4 snd_intel8x0m,snd_intel8x0,\
                                     snd_ac97_codec,snd_pcm_oss
    snd_timer              34564  2 snd_seq,snd_pcm
    snd                    61060  14 snd_intel8x0m,snd_intel8x0,snd_ac97_codec,\
                                     snd_seq_oss,snd_seq,snd_seq_device,\
                                     snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
    soundcore              11360  1 snd
    snd_page_alloc         10500  3 snd_intel8x0m,snd_intel8x0,snd_pcm
    
  56. Quim Says:

    I do not have this beep problem at all, rather it won’t work when started on batteries. The sound modules that I have are slightly different:
    localhost:~$ lsmod |grep snd
    snd_mixer_oss 20096 0
    snd_intel8x0 36460 0
    snd_ac97_codec 69988 1 snd_intel8x0
    snd_pcm 98728 1 snd_intel8x0
    snd_timer 25732 1 snd_pcm
    snd_page_alloc 11752 2 snd_intel8x0,snd_pcm
    gameport 4704 1 snd_intel8x0
    snd_mpu401_uart 7968 1 snd_intel8x0
    snd_rawmidi 25124 1 snd_mpu401_uart
    snd_seq_device 8200 1 snd_rawmidi
    snd 57156 8 snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer,
    snd_mpu401_uart,snd_rawmidi,snd_seq_device
    soundcore 10336 3 snd,i810_audio
    I hope it helps

  57. Martin Says:

    Well, I just rebooted on batteries, and my soundcard works just fine! Also when I boot with AC plugged. And I haven’t done anything special to get rid of the beeping. Strange. But good!

  58. Olivier PAGE Says:

    back to this blog after 2 weeks:

    Just to show you I’m no totally crazy about acpi events names on a debian box:

    pcopx:/etc/acpi/events# ls -al
    total 16
    drwxr-xr-x 2 root root 4096 Jun 27 20:46 .
    drwxr-xr-x 6 root root 4096 Jun 27 20:46 ..
    -rw-r–r– 1 root root 55 Jun 14 23:36 lid.conf
    -rw-r–r– 1 root root 57 Jun 14 23:34 sleep.conf

    pcopx:/etc/acpi/events# acpid -ddd
    [Mon Jun 27 20:46:18 2005] starting up
    [Mon Jun 27 20:46:18 2005] DBG: ignoring conf file /etc/acpi/events/lid.conf
    [Mon Jun 27 20:46:18 2005] DBG: ignoring conf file /etc/acpi/events/sleep.conf
    [Mon Jun 27 20:46:18 2005] 0 rules loaded
    [Mon Jun 27 20:46:23 2005] DBG: cleaning up rules
    [Mon Jun 27 20:46:23 2005] exiting

    pcopx:/etc/acpi/events# mv lid.conf lid
    pcopx:/etc/acpi/events# mv sleep.conf sleep

    pcopx:/etc/acpi/events# acpid -ddd
    [Mon Jun 27 20:46:41 2005] starting up
    [Mon Jun 27 20:46:41 2005] DBG: parsing conf file /etc/acpi/events/sleep
    [Mon Jun 27 20:46:41 2005] DBG: key=”event” val=”button[ /]sleep”
    [Mon Jun 27 20:46:41 2005] DBG: key=”action” val=”/etc/acpi/actions/sleep.sh”
    [Mon Jun 27 20:46:41 2005] DBG: parsing conf file /etc/acpi/events/lid
    [Mon Jun 27 20:46:41 2005] DBG: key=”event” val=”button[ /]lid”
    [Mon Jun 27 20:46:41 2005] DBG: key=”action” val=”/etc/acpi/actions/sleep.sh”
    [Mon Jun 27 20:46:41 2005] 2 rules loaded
    [Mon Jun 27 20:46:43 2005] DBG: cleaning up rules
    [Mon Jun 27 20:46:43 2005] exiting

  59. Martin Says:

    Olivier PAGE: Oh man. Guess you’re right. This is not so in Fedora, but I guess I should get rid of the .conf anyway, in order to be more compatible with other distros. Thanks ;)

  60. Olivier PAGE Says:

    To *** Quim **** :

    Did you really get DRI working (xdriinfo) on a Debian sarge with plain Xfree86 packages and common-20050621-linux.i386.tar.bz2 i810-20050621-linux.i386.tar.bz2 and i915-20050621-linux.i386.tar.bz2. patches ?
    Could you please send me the versions of xfree, kernel and compiler used plz ?

    I spent 8 hours trying to get it !!!!
    kernel 2.6.12.1
    xfree86 4.3.0.dfsg.1-14
    gcc 3.3.6 and even tried to recompile kernel and dri patches (20050621) with 2.95

    modprobe i915 was ok
    but all i had with startx was:
    (WW) I810(0): Direct rendering has been disabled.
    (EE) I810(0): [dri] DRIScreenInit failed. Disabling DRI.
    (II) I810(0): direct rendering: Failed
    (==) RandR enabled
    Symbol miRegionEqual from module /usr/X11R6/lib/modules/drivers/i810_drv.o is unresolved!
    Symbol noXFree86DRIExtension from module /usr/X11R6/lib/modules/extensions/libdri.a is unresolved!

    Now I have
    xdriinfo
    Screen 0: i915
    but had to get the xorg unoficial packages (
    – /etc/apt/sources.list –
    deb http://people.debian.org/~dnusinow/xorg ./
    #glxgears
    4679 frames in 5.0 seconds = 935.800 FPS
    4660 frames in 5.0 seconds = 932.000 FPS
    4601 frames in 5.0 seconds = 920.200 FPS
    4455 frames in 5.0 seconds = 891.000 FPS
    4779 frames in 5.0 seconds = 955.800 FPS

    No pb with sound:
    #lsmod |grep snd | sort
    snd 52356 7 snd_intel8x0m,snd_intel8x0,
    snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
    snd_ac97_codec 73208 2 snd_intel8x0m,snd_intel8x0
    snd_intel8x0 31872 0
    snd_intel8x0m 18948 0
    snd_mixer_oss 18048 1 snd_pcm_oss
    snd_page_alloc 9988 3 snd_intel8x0m,snd_intel8x0,snd_pcm
    snd_pcm 88448 4 snd_intel8x0m,snd_intel8x0,snd_ac97_codec,snd_pcm_oss
    snd_pcm_oss 50688 0
    snd_timer 24576 1 snd_pcm
    soundcore 10464 1 snd

    # dpkg -l | grep alsa-source
    ii alsa-source 1.0.9a-1 ALSA driver sources

    to be continued (wake up video, clone and xinerama mode etc …)

  61. Martin Says:

    Oh yeah, with help from Terje R I got Software Suspend 2 (aka hibernate or ACPI S2) to work! It is not straight forward, but it is possible. I haven’t tuned the hibernate.conf script yet, so occasionally I have to do a ‘killall NetworkManager’ and ‘killall NetworkManagerInfo’ and then restart the two in order to get online again.

    Anyway, to see a Hibernation in Fedora Core 4 how-to: working with kernel 2.6.12 go to my http://www.stud.ntnu.no/~gronslet/blog/linux-on-a-dell-x1-aka-samsung-q30/ page.

  62. Quim Says:

    To Oliver
    No you are right. I just checked, the DRI is disabled with the same message as yours.
    I was confused because what it worked was the i810 driver instead of the vesa driver. The gain in speed made me thought that DRI was working, I should have checked better. Sorry for the noise.

  63. zufus Says:

    Hi Martin.

    First of all, thanks for your clean description. I am considering to buy this laptop and I have a couple of questions:

    o) About the VGA output: did you try to use a patched i885-crt as indicated in
    http://linux-laptop.net/hosted/dell-latitude-d410.html ?

    o) How long can you work with the battery? Do you use normal battery or the ones with extra-capacity?

    o) How about the overall performances? Does applications start fast? Do you run GNOME?

  64. Martin Says:

    Hi Zufus!
    Good to know people other than myself can get something out of this page ;)

    o) I have not tried the i915 patched i855-crt from that page, as my CRT out works just fine without it! Hey – I have forgotten to mention this on my X1 page, sorry, I only said something in another comment above. So, with my current setup (find xorg.conf in the files section) I am able to use en external monitor by pressing Fn-CRT/LCD twice (not once but twice – its a three cycle). I believe it will be possible to get real xinerama or dual head or whatever it is called by hacking the xorg.conf file further.

    o) I have both the normal small battery and one with extra capacity. I must say, I’m not really impressed by the capacity of the small one. I read somewhere that it would last almost three hours, but I guess that was with almost all devices turned off. I get only about 1 h 40 min, but that is with full screen light, heavy wireless internet browsing, bluetooth on, and as my web browser (Opera 8.01) likes to write stuff to the harddrive all the time the drive is also mostly on. But I am using cpu speed scaling (0.6 GHz – 1.1 GHz). But this is just cirka numbers – haven’t tested battery capacity thoroughly. The extra-capacity battery lasts considerably longer – I will “benchmark” it later.

    o) I run KDE 3.4.1-0.fc4.1. Overall performance: Great! I’m really pleased with it – applications start fast, or actually – I usually start them only once and have them running constantly, and use hibernation when I power off, and then resume the same session later. With 1.2GB RAM this machine is great. (I would have been great to avoid all the kernel hacking to get linux running though, but I hope my X1 page will help other X1 owners)

    I’ll post back when I’ve tested the extra-capacity battery (which also looks quite nifty on the laptop and serves as a nice grip)

  65. Olivier PAGE Says:

    i915 external VGA working / Xinerama !!!!
    It’s now working as expected:

  66. Olivier PAGE Says:

    … sorry, my previous mail is incomplete ..

    so now i’ve got :
    LCD: 1280×768
    external VGA: 1280×1024
    in xinerama mode !!!!!

    here is my xorg.conf file:
    http://olivier.page.perso.egim-mrs.fr/xorg.conf

    So now i’ve got to understand all those suspend modes ( S2, S3 hibernate and so on … ) and get the SD/MMC working (no hope ;-)

  67. Martin Says:

    Wheeheya! Super! Thanks for the link to the xorg.conf – I just tried it and it worked quite fine until I started fiddling around with the Fn-CRT/LCD key and messed everything up… I got the screen divided in four, with the desktop duplicated in the two upper corners and nothing in the lower corners. But anyway – I works when one is NOT pressing Fn-CRT/LCD :)

    (I should mention that my xorg.conf file in the files section works in clone mode)

    Thanks!

  68. Martin Says:

    OK, so I’ve run a battery test on the extra-capacity battery:

    Usage: Web browsing on a wired network, maximum screen backlight, used bluetooth only a couple of minutes – wireless/bluetooth turned off the rest of the time, screen more or less constantly on, listened to music through headphones all the time, no really heavy cpu-load, I guess it was on 600 MHz most of the time.

    Result: 3h 15min.

    Not really much, but pretty OK. The battery had been unused for some time, so it started off at 96%.

  69. mike Says:

    Hiya,

    the information has been great so far…mucho enjoying the x1 with full dri support. Only problem at the moment is the sound is broken…just wondered if any others have had this problem. Fails to modprobe at start up.
    I updated using yum and this might have broken it, not too sure.
    any suggestions?

    out of curiousity could you cat your /etc/modprobe.conf?

    Thanks :-)

  70. Martin Says:

    Hi Mike. I’ve also had a bit of trouble with the sound card (as you can see in previous comments), but now it seems to work. I don’t know why. Still, XMMS suddenly stops playing after some while, but can be started by pressing pause twice. You can see my lsmod output above. I’ve put modprobe.conf in the files section. I’m using ALSA with xmms.

    $ rpm -qa alsa*
    alsa-utils-1.0.9rf-2.FC4
    alsa-lib-devel-1.0.9rf-2.FC4
    alsa-lib-1.0.9rf-2.FC4

    $ /sbin/modinfo snd-intel8x0
    filename: /lib/modules/2.6.12/kernel/sound/pci/snd-intel8x0.ko
    author: Jaroslav Kysela
    description: Intel 82801AA,82901AB,i810,i820,i830,i840,i845,MX440; SiS 7012; Ali 5455
    license: GPL
    parmtype: index:array of int
    parm: index:Index value for Intel i8x0 soundcard.
    parmtype: id:array of charp
    parm: id:ID string for Intel i8x0 soundcard.
    parmtype: enable:array of bool
    parm: enable:Enable Intel i8x0 soundcard.
    parmtype: ac97_clock:array of int
    parm: ac97_clock:AC’97 codec clock (0 = auto-detect).
    parmtype: ac97_quirk:array of charp
    parm: ac97_quirk:AC’97 workaround for strange hardware.
    parmtype: buggy_irq:array of bool
    parm: buggy_irq:Enable workaround for buggy interrupts on some motherboards.
    parmtype: xbox:array of bool
    parm: xbox:Set to 1 for Xbox, if you have problems with the AC’97 codec detection.
    vermagic: 2.6.12 686 REGPARM 4KSTACKS gcc-4.0
    depends: snd-ac97-codec,snd-pcm,snd-page-alloc,snd
    alias: pci:v00008086d00002415sv*sd*bc*sc*i*

    You can see my lsmod output above.
    Good luck – please post back also if you solve the problem ;)

  71. mike Says:

    Hello again,
    I see that fedora has released a new kernel and hence no need to recompile…just install the dri snapshots.
    as for the sound problem, i found that the External amplifier in alsa mixer needs to be turned on in the volume control preferences (doh!)
    next problem i have is working out how to increase the cpu frequency after going from battery to ac power supply (stays at a 600mhz) and possibly override it anyhow when i need more processing power….any suggestions mucho appreciated

  72. mike Says:

    update:

    for frequency cycling to work correctly, change the driver in /etc/cpuspeed.conf to:

    # uncomment this and set to the name of your CPUFreq module
    DRIVER=”speedstep-centrino”

  73. Martin Says:

    Mike: Thanks for the kernel info – for hibernation one still have to compile it oneself – I’m looking forward to the day Fedora will release a laptop tuned kernel ;)
    For the sound problem – you’re of course right, the external amplifier must be turned on.

    So, it is speedstep-centrono thats is the right driver, thanks. I don’t use it myself – I rather use the kernel space modules – see my /etc/acpi scripts for more info. But if the cpuspeed daemon works fine as well, it’s great.

    And – thanks for posting info on my blog! :D

  74. AndyCapp Says:

    Hello folks :)

    Someone has try the 6-cell battery form Dell on X1 ?
    I realy would like to buy one, sometime 2.30/3 hours it’s not so much :(

    TIA

    Andy

  75. Olivier PAGE Says:

    still xorg.conf file …

    I’ve changed my http://olivier.page.perso.egim-mrs.fr/xorg.conf file because:

  76. Olivier PAGE Says:

    …. (are my fingers too big for this X1 … all my posts are made of 2 parts !!!)

    so I’ve changed my http://olivier.page.perso.egim-mrs.fr/xorg.conf file because:
    -dri and xinerama are mutually exclusive
    so i’ve introduced a second layout and now i can:
    startx (single / dri enabled)
    or
    startx — -layout double (xinerama / no dri)
    Warning: I’ve forced frequencies to match my VGA/TV converter (external box) so comment those lines and use DDC if possible !!!
    Warning: As you know (let’s have a look at my english …) , i’m french … so correct the keyboard ;-)

    I still have to work on the “clone mode” because mine is awful … unreadable
    My external LCD monitor is a SXGA and the local LCD is a WXGA … and … there’s something wrong with Linux … (WinXP is ok …)

    My battery is a 8 cell (65Whr) Lithium-Ion and i have an autonomy > 3 hours

    so, now, I still have to learn everything about S2 and S3 mode and try to find something about the SD/MMC which seems a VERY common chipset
    … to be continued ..

  77. Andreas Says:

    For all those who want to use the external VGA output of the Dell X1 in a Xinerama-like configuration: It is possible! (-:

    Even better: The quality of the external VGA is superb! I have connected the X1 to a Dell 24″ monitor with 1920 x 1200 pixels (2405fpw), I every pixel is crystal sharp, no shadows, just like with DVI.

    The problem is – as always – the video BIOS of the X1.

    In order to get the correct timings for really high resolution, I had to:

    - use the latest 6.8.2 x.org version (I have Ubuntu Hoary installed, which is a excellent starter for Linux on the X1).
    - use a specially patched i810 driver (the patches should be in CVS, so they should show up in a regular release somewhen)
    - use 855resolution instead of 915resolution. The first one also supports the i915 in its latest release (0.4), and it seems to be more compatible to the X1
    - find the correct VBE mode to overwrite (they are different, even when overwritten with the same resolution/bpp values!)
    - find the correct modeline that takes some BIOS anomalities into account

    You should not have that much problems if you only use 1280 x 1200 and below.

    It’s a pity that the X1 BIOS does not even include the mode for its own internal display… )-:

    Regards,

    Andreas

  78. Steffen Says:

    Hi!

    I posted my experience putting Debian GNU/Linux on the Dell Latitude X1 on my page -> http://www.lsw.uni-heidelberg.de/users/sbrinkma/debian_on_dell.html . There’s nothing on it that is described on this website (Thank you so much Martin, you did a great job!!!). Actually I linked this page, as there’s so much good information on it. Anyway, some things are a little different in Debian, so if anybody’s interested…

    I wouldn’t forbid you to link my page, if you want to, Martin… ;-)

    Regards, Steffen

  79. Martin Says:

    Andreas: Thank you very mucho for this info! Do you have your own X1 page somewhere? It would be very nice to have a look at your xorg.conf file. I’ll try to update my page with this info as soon as I’ve got time ;)

  80. Martin Says:

    Steffen: Great! The more X1 pages there are, the better – I have of course linked to your page (I’ll be happy to link to every GNU/Linux Dell X1 page on the net :) ) And thanks for linking back to my page – when I have more time I will move it over to a wiki to ease the maintainance and improve the readability, and also update it with the newest info.

    Finally, it’s summer in Norway :D

  81. Thomas(the first one) Says:

    Hi peopz!

    Sorry for being away that long, but finally i switched back to Debian and now – thx to your help – all the stuff works.

    Recently I did something concerning acpi. I really like the idea of getting the laptop hibernate (to disk) automatically if the battery is too low. However I don’t use any big WM like KDE or GNOME and I don’t feel like installing many kde-libs for running Klaptop_check on my WM (fluxbox). So I scripted something together (note: I AM NOT A GOOD PROGRAMMER – I am not a programmer at all *gg*) that makes use of the software-suspend2 hibernation stuff.

    It constantly checks the battery-capacity-state and if that goes below 80 mAh (I think thats enough for hibernating 700 MB to disk) it starts the program “hibernate”.

    Perhaps some of you can make use of it. However it is really simple at the moment. I will remade the hole thing in “ruby” i think during my vacation, so you can expect some “X”-noting-stuff later.

    Here are the scripts:
    (make them both executable and add the 2nd one to your runlevel-system)

    —————————————-
    /usr/bin/x1_hibernation_script—–
    —————————————-

    ————————————————————————————–
    #!/bin/bash
    #### knock knock
    #### Don’t hate me for my lack of programming skillz :-)
    #### V0.0000000001 PRE-Alpha

    i=0
    while [ $i=0 ]
    do
    state=$(cat /proc/acpi/battery/BAT0/state | grep remaining | awk ‘{print $3}’)
    if [ $state -gt 80 ]; then
    echo “$(date): BatteryState = $state mAh” >> /var/log/x1_hibernation.log
    sleep 20
    else
    echo “$(date): BatteryState = $state mAh – this is too low, I am going to hibernate!” >> /var/log/x1_hibernation.log
    /usr/sbin/hibernate
    fi
    done
    exit 0
    ————————————————————————————-

    the start-up script … dunno how to include it into the FEDORA system, but under linux we use “update-rc.d x1_ah defaults” to include it into the system

    ———————-
    /etc/init.d/x1_ah—
    ———————-

    ———————————————————————————-
    #!/bin/sh
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    DAEMON=/usr/bin/x1_hibernation_script
    NAME=X1-ah
    DESC=X1-ah

    test -x $DAEMON || exit 0

    set -e

    case “$1″ in
    start)
    echo -n “Starting $DESC: ”
    if [ -f /proc/acpi/battery/BAT0/state ]; then
    start-stop-daemon –start –quiet –oknodo -b –exec $DAEMON
    else
    echo “Huhu! ACPI-Support required”
    exit 0
    fi
    echo “$NAME.”
    ;;
    stop)
    echo “Killing $DESC:”
    killall x1_hibernation_script
    echo “$NAME.”
    ;;

    esac

    exit 0

    ————————————————————————————–

    If there are massive errors or suggestions to make it work better, please tell me, cuz as I said I am not a crack. Hope I could help.

    greetings
    Thomas (that hopes the summer will come back to Germany soon :-P )

  82. Thomas(the first one) Says:

    LOL! like I said … I am no programmer … the program didn’t catch the situation, where no battery is in the system … so now it first checks the state of the ac_adapter and decides afterwards …

    sorry or any inconvenience …

    ———————————————
    /usr/bin/x1_hibernation_script ———
    ———————————————

    ————————————————————————————–
    #!/bin/bash
    #### knock knock
    #### Don’t hate me for my lack of programming skillz :-)
    #### V0.0000000002 PRE-Alpha

    i=0
    while [ $i=0 ]
    do
    ac_state=$(cat /proc/acpi/ac_adapter/AC/state | awk ‘{print $2}’)
    if [ $ac_state = "off-line" ]; then
    state=$(cat /proc/acpi/battery/BAT0/state | grep remaining | awk ‘{print $3}’)
    if [ $state -gt 80 ]; then
    echo “$(date): BatteryState = $state mAh” >> /var/log/x1_hibernation.log
    sleep 20
    else
    echo “$(date): BatteryState = $state mAh – this is too low, I am going to hibernate!” >> /var/log/x1_hibernation.log
    /usr/sbin/hibernate
    fi
    else
    echo “$(date): BatteryState = AC-Adapter is plugged in” >> /var/log/x1_hibernation.log
    sleep 20
    fi
    done
    exit 0

    ————————————————————————————

  83. kottlett Says:

    Hi Martin!
    Modem working :) I just found a similar configuration in the gentoo-wiki, and adapted it for the X1 page: http://gentoo-wiki.com/HARDWARE_Dell_Latitude_X1
    Feel free to copy, I got some info from your page as well ;) I guess it was the last missing part in our HowTos.
    Concerning that weird beeping: Have a look on the Misc section for a solution.

  84. Austin Says:

    Greetings Martin!

    I appreciate all the work you have done on this guide. It is one of the main reasons I purchased an X1 (the hardware is cool too).

    I am having some trouble getting the VGA out to work correctly. When connected to my InFocus projector, I am able to get 1024×768 output at 62 hz. At that refresh rate, the image is very burry. I need to get the refresh up to 75 hz, maybe higher to fix the image quality.

    Is there a way to do that with xorg.conf?

    It appears that there is a utility called i855crt as well as a patch available for the i915 that would do this, but I don’t know how to make the driver from source (I am a noob, unless there are good instructions like your site).

    I have a presentation next week and would love to use this sweet new laptop to do the presentation. Any help would be GREATLY appreciated!

    Best,

    Austin

  85. CP Says:

    Martin –

    Great work on organizing this information. Can you confirm that the single tap synaptic option is working for you? I can’t seem to open or close any windows with a single pad tap.


    cp

  86. Jos Says:

    Hello Martin,

    Great website and wonderfully detailed information. The X1 really appeals to me and I’m considering buying it, mainly because it’s so small and quiet and because there’s this excellent page describing how to get linux running on it.

    There’s just a few questions to which I’d like to have answers before making the decision final.

    - There’s one 256MB module as a default. Can one plug in 1Gb from another vendor? Dell charges 429,08 for this.
    - Can one install a 64-bit OS on the machine?
    - How hot does the machine get? Can you work with it on your lap or is that really uncomfortable?

    Cheers, Jos

  87. Martin Says:

    Hello Austin! I’m sorry, but I’m not a good xorg.conf hacker… but I’va managed to use an external monitor using the xorg.conf file in the files section on my page. Any info about this would be appreciated by all of us!

  88. Martin Says:

    CP: Yes, single tap works. See my xorg.conf file in the files section and be sure to have all TapButton1, TapButton2 and TapButton3 set to “1″. If you set any of these to something else, single tap will not work (I have version 0.14.0).

  89. Martin Says:

    Jos: You’re right, the X1 has 256MB RAM on-board I guess, but I have no idea if you can buy a 1GB chip from another vendor. We’ll actually, I would be suprised if you couldn’t. Remember, it is actually a Samsung Q30.

    64 bit? I have no idea.

    Hot? Oh yeah. Really hot, but you can use it directly on your lap when you’re in your shorts without problem (unless you’re a sissy). I do it all the time. Haven’t probed the actuall temperature though…

    Have a nice day all of you!

  90. Jos Says:

    Hi Martin,

    So the statement I read somewhere that the memory chips are soldered put is just a rumor? Can you take out the chips easily and without voiding warranty? It would be cool to put in cheaper RAM, the price difference would be about 200 euro.

    About the 64 bit: the Pentium M 733 does not support EM64T, so to answer my own question: no 64 bit software on the X1. It’s not really important for me, there’s just one application I wrote that might be much faster in 64 bit assembly.

    I’m not Norvegian and don’t go to the sauna weekly, so I’m not sure what heat threshold you may have. But what you’re saying is that it’s doable to work with the thing on your lap for hours? That would be reassuring.

    Cheers, Jos

  91. Austin Says:

    Martin: I am unable to compile the 855crt with the 915 patch. It complains about not being able to find something related to X11 (the exact error escapes me). I will do a little work when I get time and let you know what I come up with.

    Any news on the modem support from gentoo?

    Jos: Yes, you can install a 1G ram module from another vendor. I just did the whole setup a few days ago. Unfortunately, there are no directions on the website about how to install more RAM. On the back of the computer, there are multiple screws labeled “K”. Removing all of these will free the keyboard. Once the screws are removed, flip the X1 over and GENTLY flip the keyboard over (of course, there is a ribbon attached). The memory is installed under the left side of the keyboard beneath a metal cover (another screw there).

  92. Austin Says:

    Got it figured out. Easier than I thought.

    Add the following to the device section of your xorg.conf:
    Option “MonitorLayout” “CRT,LFP”
    Option “Clone” “On”
    Option “CloneRefresh” “75″

    Make SURE the CloneRefresh is not too high for the CRT you are connecting to. Reboot or restart the x server and you are in business.

    With this, the VGA out works as soon as you plug something into it. You do not need to press the CRT/LCD button at all!

    Does anyone know if having this on all the time will sacrafice display cycles? I am going to try a DVD…

    Have fun!

  93. Robin Phillips Says:

    I can confirm that non-Dell 1GB memory chips work just fine. I bought this 1GB chip from tigerdirect.ca :

    Kingston 1024MB PC4200 DDR2 533MHz SODIMM
    Item #: K24-5826

    (you can search on the item number) and can confirm it works fine. When I got it (July 2005) it cost $195 CAD which is quite a bit less than Dell want.

    A comment on the hibernate/sleep thing. Given how much harder hibernate is to set up (wheres as ‘sleep’ when you close the lid and it turns everything except for the memory off is prtty easy). I note that even on the 3 cell battery I only seem to loose ~25% of the charge in 24 hours of sleep so I’ve been just never turning it off – when I’m done using it, just close the lid, it goes to sleep in

  94. Robin Phillips Says:

    Hmp – I used a less than sign as the next character in my comment above and it looks like it lost everything after that…

    I was going to say it goes to sleep in less than 10 secs and wakes up again in not much more than 10 secs.

    I also had a couple of questions:

    I too would be interested in the xorg.conf file from Andreas above, I can;t get my external display to go over 1280×1024 (I’d like to run it at 1792×1344).

    Does anyone else have trouble with the fonts being too large for some applications (I think possible all gtk applications). This seems to be a common problem when you query google but I can’t find a solution.

    Is ti right that it takes 15-20 seconds for the Xserver to startup (ie from typing ‘startx’ to being ready to use. Normally this takes only about 5 sec). I’m interested to know if it is just slow or whether I’ve got something setup wrong that is causeing somethign to timeout before continuing?

    Great laptop though – and this is a great example of what the internet is capable of doing. I’d never have got all this going as nicely under Linux given the miserable Linux support from Dell

  95. Frank Says:

    Hi,

    just wanted to inform you, that I got everything working except the SD Slot.

    I posted an installation report on the link given in the website box of this comment form and a German version can be found here:

    http://www.ubuntu-de.org/wiki/wiki_und_community:testberichte:dell_latitude_x1

    Cheers

  96. Frank Says:

    The Website given in the website box is used for making a link out of my name, how neat. ;-)

  97. Jos Says:

    I just received my Dell X1 yesterday. Boy is it small and quiet! Really excellent. I installed SuSE 9.3 on it and it worked almost completely out of the box. Only X was misconfigured after install and gave me a black screen.
    Anyway, I’m trying to get ‘stand by’ to work now and will put up a page once i’ve got the procedure working and coherent.

  98. Andreas Says:

    Have you guys realized that there is a new BIOS available for the X1? The version is X03. If anyone of you upgrades, can you tell if there are any changes in the VBE modes available? Does the BIOS now support at least the X1 own internal resolution (1280 x 768)?

    @ Martin & Robin:

    Sorry for looking back at this site so late. If you’re still interested in my xorg.conf, please mail to ntnu.no aat schildbach.de

    Regards, Andreas

  99. Jos Says:

    Just a couple of remarks on getting dri to work. I couldn’t get dri to work until I used the module intel_agp. This module must be loaded before the i915 (either vanilla kernel or X11 CVS). Otherwise the agpgart won’t be recognized. This must be a missing dependency in the kernel. Anyway, when doing this correctly glxgears gives me about 850 fps. I’m not sure if this requires the updated X11 drivers, because I didn’t test without them. The version I used was the 20050718 snapshot.

  100. C2H5OH Says:

    Hi, I’m having the same problems you stated about the speedstep: the BIOS sets the frequency to 600MHz when booting on battery. There’s a way to solve it manually but is painfull. When booting on battery, enter the bios, go to Power Management -> SpeedStep and select “Enable” (even if it’s already selected), then check the info menu to see if current frequency changed back to 1,10 GHz

    If you don’t do that the cpufreq will set the “scaling_max_freq” to 600000 (“cpuinfo_max_freq” still contains 1100000, as Martin notes). I believe the BIOS is doing very strange things to me; I set the password once and a few days after, the settings were reset to defaults (probably due to a battery change but BIOS are supposed to be FlashROMs so they don’t need electrical feed to keep data).

    I’ve seen there is the A03 FlashBIOS update but I can’t use it because I don’t have windows (I even deleted that strange 75MB partition that came installed along with Windows, the Windows XP installation CD didn’t come in the package). Does anyone know if it’s possible to do the BIOS update under Linux?

  101. Austin Says:

    Does anyone else notice that putting the X1 to sleep (I am using the acpi scripts posted here) causes USB to fail? If I have a mouse plugged in when I put the computer to sleep, USB craps after wakeup. If I unplug the mouse before I put it to sleep, things work fine when the system wakes back up.

    Also, I notice that after sleeping the computer that shutdown doesn’t quite work properly. I find that the system shuts down correctly (as far as I can tell), but I have to press the powerbutton to completely turn off the system.

    Can someone help? This is a tremendous pain in the butt.

  102. Jos Says:

    Austin: On my SuSE I haven’t figured out yet how do this all neatly, but sleeping works marvelously. I’m running linux-2.6.13-rc6. If I want to laptop to sleep, I simply say:
    echo mem > /sys/power/state
    And within 2 seconds, the thing is asleep. To wake the machine up, I have to open the lid. The I see the X screen very dimly and I can use Fn-Arrow up to increase the brightness. Waking up is also a matter of a few seconds. When woken up, the wireless network and USB mouse still work.

    What does not work is
    echo disk > /sys/power/state
    These are the kernel parameters I use:
    resume=/dev/hda5 idebus=66 showopts idle=halt pci=bios vga=0×317

  103. Austin Says:

    Sleep and Wake are working fine (I am using the Martin´s acpi scripts). The network comes back after sleep. The USB comes back as well, just not if something is plugged into one of the ports.

    Another question, Jos. Is the idebus=66 the correct setting for the X1. My kernel says it assumes an idebus of 33 at boot. Am I losing performance by not having this set in my kernel line?

  104. Jos Says:

    Did some more checking. As long as you don’t load the dri module in xorg.conf, “echo disk > /sys/power/state” _does_ work nicely. You do need to choose to compile software suspend (the original, not suspend2) into the kernel.

    Only problem is that the X server needs 855/915resultion to have run. I believe the functionality of those programs should be in the kernel and not in userspace. But since I’m not a kernel programmer, I’m trying the next best thing: initrd. I’ve put 855resultion in initrd and the program runs. However, it cannot open /dev/mem and therefor cannot change the bios. Now i’m figuring out how to get /dev/mem in initrd.

  105. Austin Says:

    Sleep and Wake are working fine (I am using the Martin’s acpi scripts). The network comes back after sleep. The USB comes back as well, just not if something is plugged into one of the ports.

    Another question, Jos. Is the idebus=66 the correct setting for the X1. My kernel says it assumes an idebus of 33 at boot. Am I losing performance by not having this set in my kernel line?

  106. Ben Vautrin Says:

    I’m trying to write a linux driver for the Ricoh SD card reader but I miss the controler specs (only the controller part, because the SD one is protected by a SDA)… Does anyone of you can help me with this ?

  107. Jos Says:

    Austin: what type of sleep? to ram or to disk?
    I’ve now installed suse 10 beta 2 and suspend to ram works out of box including network coming up again. Suspend to disk works if i don’t patch the bios. But of course proper resolution is more important than hibernation.
    About the bus speed: i tried setting it to 133, but kernel said max was 66 so i use that. “hdparm -t /dev/hda” gives me ~15mb/s without it and if i remember correclty something like 19 with it. Not really sure. So performance difference is there. “hdparm -T /dev/hda” gives me 1173mb/s at 33. this is for cached reads and much faster. As I’ve too many stuff opened to do a reboot now, you’ll have to check for yourself.

    Ben: sorry, can’t be of help. Not sure this is the right place to ask. I don’t even have an sd card.

  108. Jos Says:

    I’m trying to help the next SuSE support the full resolution out of the box and to get hibernation to work. More info here:
    https://bugzilla.novell.com/show_bug.cgi?id=105898

  109. Austin Says:

    The place I am hung up is suspend to RAM. Suspend is working, it is just the other problems.

    Thanks for the ide 66 info. I will try it out.

  110. kottlett Says:

    Did someone try to flash the BIOS to version A03?
    btw: the idle=halt kernel line is not good.

  111. MattR Says:

    Just an extra bit of info on the hotkeys:

    these are the keycodes for the ones that don’t work ‘out of the box’:

    Hibernate (F1): e00a
    Battery(F3): e007
    Sound Up (PgUp): e0b0
    Sound Down (PgDn): e0ae
    Mute (End): e0a0

    You can make these useable by doing (as root):

    setkeycodes

    Possible new codes can be found in /usr/include/linux/input.h – see the numbers >130

    e.g to remap the Hibernate button to COFFEE:

    setkeycodes e00a 152

    Then you can ue xmodmap or the GUI keyboard shortcut tools in most Window Managers to map these known keycodes to commands or actions.

  112. kottlett Says:

    MattR: in KDE you can to the keyboardlayout part of the kontrolcenter, and set the keyboardtype to “Laptop/notebook Dell Inspiron 8xxx”. This will make most of the keys known to the system (including volume up/down/mute).

  113. MattR Says:

    kottlet: Yep – the above method I provide is simply a lower-level method of doing the same thing – this method will make the keys work in all window managers and even on the console (providing you can map the new keycodes to do something useful in your environment).

  114. Martin Says:

    Oh man – good to see so much action on my Linux blog! I’ve just come home from business/holiday in France. I guess things will be busy at work, but I’ll look into all this new stuff as soon as I have the opportunity :)

    Ben Vautrin: If you manage to write a driver for the SD slot you’ll definetely be the coolest guy in town!

    Jos: For me swsusp2 is pretty slow, both on hibernating and resuming (a bit embarassing that Winblows XP boots fraster than Linux can resume…) How fast is the kernel ‘echo disk > /sys/power/state’ ?

  115. Jos Says:

    Hi all,

    I’ve finally put up a page with info on my installation. After mucking around with SuSE 9.3 for a while, I decided to test SuSE 10 beta 2. This was worse, but now I’ve installed beta 3 and it’s just great.

    Highlight:
    - suspend to disk and suspend to ram with full resolution and accelleration support. no need to compile a kernel!

    You can read the details here:
    http://www.opensuse.org/index.php/User:Jvdoever
    This page may move if i find out how to do this in the wiki.

    Martin: read the page. I’ve loaded up all of openoffice, 2 games, konqueror and a konsole and hibernate was 35 going down an 1 minute coming up. I did however experience a very slow suspend on beta 2.

  116. kottlett Says:

    Concerning the suspend2 performance: The real bottleneck is the harddisk. You can tweak it a bit using hdparm, which will bring something like 1 MB/s more (~20-21MB/s). I’m using those parameters “-m16 -c1 -d1 -u1″, w/o troubles (have a look at the man page, some might be risky).

    Another way to speed up the suspend process is limiting the cache which will be saved. In hibernate.conf use e.g. “ImageSizeLimit 500″, which will limit the stored data to 500MB. With “ImageSizeLimit nocache” you can even dismiss all caches. This will make suspend really fast, however, on resume you will still need to read some files from the disk again.

    I also tried using the deflate compressor, which will create smaller images. Well, then the bottleneck is the cpu while suspending. On the other hand, resuming is very fast with it. I stick to the lzf compressor, atm.

  117. Austin Says:

    I have the suspend to RAM and USB issue figured out. When the machine is put to sleep from either the Standby Button or by closing the lid, the sleep.sh script is run (/etc/acpi/actions/sleep.sh). If I wake the machine using the lid, the sleep.sh script is run again and reloads the USB modules. If I wake the machine using the power button, however (i.e. I never closed the lid), the sleep.sh script is NOT run and usb never reloads.

    So, the question becomes, is there a way to add the powerbutton to the acpi events directory when it is used to wake the computer?

  118. Martin Says:

    Hello all!

    I’ve just installed the new 2.6.13 kernel and it works great (suspend to disk is much faster in kernel-space ;) ) I’ll try to update my Dell X1 page as soon as I get time. Here are the highlights:

    * I tried the it with the git8 patched first, but was unable to get the ip2200 to work. (It works with the description below, i.e. with 2.6.13 stable)

    * Suspend to disk works like this:
    echo platform > /sys/power/disk; echo disk > /sys/power/state; /usr/sbin/915resolution 3c 1280 768 (if 3c is what you originally booted with – look into your /etc/rc.local) It is much faster than swsusp2. READ usr/src/linux-2.6.13/Documentation/power/swsusp.txt.

    * Suspend to ram also works: echo mem > /sys/power/state

    * 1280×768 screen resolution works when resuming both mem and disk.

    Some “details”:

    * Compile kernel linux-2.6.13 (NOT with patch-2.6.13-git8.bz2)
      Put files in /usr/src/
        # cd /usr/src/
        # tar xjf linux-2.6.13.tar.bz2
      Patch the kernel:
        # cd linux-2.6.13
        NOT:  bzip2 -dc ../patch-2.6.13-git8.bz2 |patch -p1
      Base the setup on the old config:
        # cp ../linux-2.6.12/.config .config
      Change the config (can also use 'make menuconfig' etc)
        # make xconfig
        OR: # make oldconfig
      Changes (at least some of them):
        Pentium M        (NOT Pentium-4 M)
        BIOS update support for Dell sys via sysfs
        software suspend (default resume: /dev/hda6 (my swap))
        Turn off ISA support
        Turn off hotplug
        Enable NTFS read support
      Backup your config file for later use:
        # cp .config /root/config-kernel-2.6.13
      Make:
        # make
      Backup modules directory:
        # mkdir /home/backup
        # tar czf /home/backup/modules-linux-2.6.12-patched-swsusp2.tar.gz /lib/modules/2.6.12/
      Make and install new modules
        # make modules_install
      Install the new kernel in grub:
        # cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.13
        # mkinitrd /boot/initrd-2.6.13.img 2.6.13
      Edit grub.conf and add the appropriate lines (KEEP the old entries):
        # emacs -nw /boot/grub/grub.conf
          In my case:
            | title Fedora Core (2.6.13)
            |   root (hd0,2)
    	|   kernel /vmlinuz-2.6.13 ro root=LABEL=/ resume=/dev/hda6
    	|   initrd /initrd-2.6.13.img
      Then:
        # reboot
    
      Install ipw2200 version 1.0.6:
        Download from ipw2200.sf.net
        # tar xzf ieee80211-1.0.3.tgz
        # cd ieee80211-1.0.3
        # patch < ../ieee80211-1.0.3-skb_corrupt.patch
        # patch -p1 < ../broadcast.patch         (press enter to skip ipw2200 files)
        # make
      (answer yes to remove old files)
        # make install
        (NOT    # make IEEE80211_INC=/lib/modules/`uname -r`/build/include install)
      Now ipw2200-stuff:
        # tar xzf ipw2200-1.0.6.tgz
        # cd ipw2200-1.0.6
        # patch -p1 < ../broadcast.patch         (press enter to skip ieee80211 files)
        # make
        # make install
      Load the module:
        # modprobe ipw2200
    
      Let NetworkManager take care of the rest:
      As root:
        # NetworkManager; NetworkManagerDispatcher
      As normal user:
        # NetworkManagerInfo
    
  119. MattR Says:

    Gnome batt-stat applet – does anyone else find that this doesn’t correctly detect the power state of the laptop if its suspended to disk and then power connected before resuming?

    Killing the applet and restarting fixes it – was wondering if anyone else had encountered/fixed this?

  120. D. Hugh Redelmeier Says:

    Thanks: I used your information to get the display on a Dell Inspiron 6000 (1920×1200; 915GM) working under Fedora Core 4.
    - 915resolution
    - snapshot DRM drivers (kind of scary because it overwrites some things)

  121. Amy Says:

    Hi,

    I just installed Debian today on a X1 from my coworker.. I didn’t get the wake-up thing running so far.. I didn’t read all of this page but looks like some of you had the same problem and that I will find the answer here.

    I had a different problem though and I couldn’t find anything about it here… once I am in X I can’t switch back to the ttys.. I am just stuck there.. Alt-Fn doesn’t work. I have to kill X and then I can use Alt-Fn … but I can’t use both. Does any of you have any idea what the problem could be?!

    Amy

  122. Martin Says:

    HI Amy!

    First the trivial thing: To switch to a different tty you have to press Ctrl-Alt-F1 (or any other F-key – Ctrl-Alt-F7 to get back to X) Yes, in textmode it is possible to use only Alt-Fn, I see.

    On waking up, try pressing Fn-UpArrow (where Fn here is the blue key next to Ctrl) in order to turn on the screen back light. Also check my X1 page and the ACPI scripts there.

    Good luck :)

  123. Amy Says:

    Hi Martin,

    thank you, I didn’t realize you had a page for the X1. Thought it’s only this blog (which I found using google). I’ll try these settings…

    Just so you know, my comment was just inaccurate. I am well aware that I have to use Crl-Alt-F1-6 to switch from X to the ttys. And I do know the Fn-Key is. I am actually a Linux instructor. But thanks for explaining anyways:-D

    Amy

  124. dr3as Says:

    After my last update, i get a black screen when booting. think it’s some xpackage problem.
    anyone else got this? i’m running kubuntu

  125. Martin Says:

    I was able to upgrade my kernel to 2.6.13 without changing my xorg configuration. Oh – I have disabled xorg upgrades in yum – I saw there was an update available, but I figured it would mess things up.

    In /etc/yum.conf put

    exclude=kernel* xorg-*

    This is my xorg version:

    # rpm -qa xorg\*
    xorg-x11-Mesa-libGLU-6.8.2-37
    xorg-x11-deprecated-libs-6.8.2-37
    xorg-x11-xdm-6.8.2-37
    xorg-x11-6.8.2-37
    xorg-x11-libs-6.8.2-37
    xorg-x11-xauth-6.8.2-37
    xorg-x11-devel-6.8.2-37
    xorg-x11-deprecated-libs-devel-6.8.2-37
    xorg-x11-twm-6.8.2-37
    xorg-x11-Mesa-libGL-6.8.2-37
    xorg-x11-xfs-6.8.2-37
    xorg-x11-font-utils-6.8.2-37
    xorg-x11-tools-6.8.2-37

    I guess you might have to redo these steps:
    http://www.stud.ntnu.no/~gronslet/blog/linux-on-a-dell-x1-aka-samsung-q30/#installxorg

    To boot withoug the X server, just add a “3″ as a kernel parameter from grub (press “e” for edit or “a” for append, I don’t remember..)

    Good luck!

  126. Daniel Says:

    Yes I got a similar problem: I run Ubuntu 5.04 and after my latest update I get again a black screen.

    However, I can still run an X-session if I change back from i810 to vesa in xorg.conf and remove the command “/usr/sbin/915resolution 45 1280 768″ in /etc/init.d/bootmisc.sh

    Any idea what’s going on?

  127. Martin Says:

    Idea: xorg was updated in the yum or apt repositories. Something got overwritten maybe? /etc/X11/xorg.conf ? The new xorg has a bug?

  128. Daniel Says:

    Dear Martin

    I checked xorg.conf and it is the same as before. I hope that Ubuntu 5.10 will be available soon as this should offer a broader hardware coverage and evenually solve the problem out of the box.

    But the solution I currently have is only a temorary workaround.

  129. dr3as Says:

    i’ve also gone over too use vesa as my gfx driver. But really, that’s not something to get used to. i’ve downloaded kubuntu brezzy pre something. and will try to get this up and running.

  130. Austin Says:

    I had the same problem with a yum update that overwrote some Xorg files. I just downloaded the snapshots from freedesktop, recompiled them and installed. Works fine.

    A few other notes:

    I have ACPI killing and restarting NetworkManager on sleep because of a silly network problem where NetworkManager does not detect the presence of an ethernet cable on one of the networks I use and subsequently locks up. I have to issue a killall to and restart the dameon to pick up the network connection. I have the sleep acip script doing this so I can just put to sleep and wake and it picks up the connection. In doing so I learned that ACPI cannot execute the killall command as well as some others when SELinux is enabled. Disabiling SELinux took care of the problem.

    Does anyone have a solution to have the sleep.sh script run when waking the computer by pushing the power button? (i.e. never closing the lid)

    The computer will not wake and becomes completely unresponsive if I put the computer to sleep, unplug it, then try to wake it up (suspend to RAM). Does anyone have a solution for this? Can one put something in the sleep script that checks for powerstate so this doesn’t happen? Currently I have to hold the power button down for 5 seconds to get the computer to turn off, losing all of my work and potentially causing filesystem damage (i guess).

  131. Daniel Says:

    I recently reinstalled Ubuntu 5.10.

    It worked all fine. The display works fine just after installation but only in 1024×768 mode. The very same procedure as described in

    https://wiki.ubuntu.com/InstallingUbuntuOnADellLatitudeX1

    to install the 915resolution patch. However, replacing the intel driver i810_drv.o with the newest one from from http://www.fairlite.demon.co.uk/intel.html fails. Executing glxgears produces the following error:

    $ glxgears

    ERROR! sizeof(I830DRIRec) does not match passed size from device driver
    libGL warning: 3D driver returned no fbconfigs.
    libGL error: InitDriver failed
    libGL error: reverting to (slow) indirect rendering
    X connection to :0.0 broken (explicit kill or server shutdown).

    Is somebody aware of a workaround / update / …

    Regards, Daniel.

  132. Christian Perrier Says:

    Got the modem working today on my own X1.

    The key is: don’t ever imagine use the Smartlink drivers, either snd-intel-8x0m or the slamr driver you can get from http://www.smlink.com

    The modem must use the Conexant driver.

    This is well explained by the wonderful scanModem script you’ll find at http://linmodems.technion.ac.il/packages/scanModem.gz

    The driver is to be downloaded at http://www.linuxant.com/drivers

    Please CC comments to bubulle@debian.org

  133. Austin Says:

    I just upgraded my BIOS with no problems under Fedora!

    The new 2.6.14 kernel has support for Dell bios upgrades. Build the new kernel with the support built in, then follow the directions at http://linux.dell.com/libsmbios/main/index.html. I had to extract the hdr file per the manual directions at the bottom, but everything else worked smoothly.

    Has anyone gotten DRI to work with 2.6.14? I am completely stumped.

  134. Martin Says:

    Cool! I just installed the 2.6.14 kernel the other day as well, but got errors during boot:


    PCI: Bridge: 0000:00:1c.0
    PCI: Failed to allocate I/O resource #7:1000@10000 for 0000:02:01.0
    PCI: Failed to allocate I/O resource #8:1000@10000 for 0000:02:01.0

    (I think the last one went away when I added ‘pci=bios‘ as a kernel option)

    The system boots fine, but I am unable to put it to sleep using my old 2.6.13 acpi scripts. I get this message on one of the text consoles:

    Restarting tasks... Strange, kauditd not stopped
    Strange, kauditd not stopped

    Something similar happens also when booting the kernel-2.6.14-1.1636_FC4 kernel, but then syslogd is complaining. (I think the patch http://lkml.org/lkml/2005/11/7/27 is included to fix the kauditd problem)

    Any ideas?

    I’ll check out DRI on my next boot ;)

  135. Austin Says:

    I am getting the same error on I/O resource #7. There were three similar errors for me under 2.6.13, so I guess that only having 1 is an improvement. It does not seem to effect the operation of the machine any.

    I get the same ACPI error message as you, but I get two programs that couldn’t quit. One is kauditd and the other is the dell bios update driver.

    Other notes:
    The gentoo guys suggest that idle=halt is a bad option to use. Instead, I set the timer interrupt frequency to 100 instead of the default of 250 in 2.6.14 and this solves the singing capacitor problem while saving a marginal amount of power.

    I was getting some pcmcia [cardmgr] errors at boot. dmesg tells me that the pcmcia driver is depreciated. lsmod shows the yenta_socket module loaded, so I just turned off pcmcia in Desktop -> System Settings -> Server Settings -> Services for all runlevels. The result: everything continues to work just fine and I save a few seconds of boot time (although i never setup the modem).

  136. Martin Says:

    Austin: When you have turned off the pcmcia driver – does the Compact Flash card reader still work?

    I’m quite frustrated at the moment – as I could’nt get ACPI sleep to work with the 2.6.14 kernel, I went back to the 2.6.13 kernel for which everything worked well before my harddrive crash, but now I simply can’t get it to work; the machine freezes when I’m trying to wake it from sleep… I’ve tried to unload all sorts of modules, but can’t figure it out. The best thing would be to get the 2.6.14 kernel to work, of course…

    By the way – where do you set the interrupt freq.?

  137. Austin Says:

    Not sure about the card reader. I don’t have any CF media to test it.

    I was having the same trouble with ACPI sleep under 2.6.13. I would put the computer to sleep (apparently okay) to ram, but it would never wake back up – ever.

    I had similar problems with 2.6.12, but they were isolated and seemed to be centered around changing power state when the computer was asleep.

    For the timer frequency, make menuconfig -> Processor type and features -> Timer frequency.

    Aj

  138. Terje Says:

    OpenSync news:

    http://dot.kde.org/1131568739/

    Nabo’n onsda’n eller?

  139. Martin Says:

    Oh yeah, I’m keeping an eye on http://www.opensync.org at all times ;)

    Vil absolutt tro det blir naboen på onsdagen – sender strømbrev ;)

  140. John Says:

    My X1 has the MK3006GAL drive, and under Linux (2.6.13.4) the disk seems to be parking excessively (several times per minute). This is visible as the Load_Cycle_Count value from the smartctl tool. At this rate my drive is going to suffer premature “old age”.

    I tried disabling spindown and any other power management items accessible with hdparm, but this had no effect.

    Can anyone confirm this behavior?

  141. Martin Says:

    John: Are your running laptop-mode? Check with ‘service laptop-mode status‘ as root. If so, you can reconfigure it by editing files /etc/laptop-mode/ (I think).

    Or, if you are not running it – download, install and configure it – maybe it will solve your problem (see http://www.stud.ntnu.no/~gronslet/blog/linux-on-a-dell-x1-aka-samsung-q30/#laptopmodetools)

  142. John Says:

    Hi Martin, yes I’m investigating laptop-mode as a workaround, but I’m not really happy with that solution. I’ve read the hard drive manual and the head parking is caused by the “low-power idle” mode. From my understanding there is no way to disable it :( .

    If you would install smartmontools, I’d be interested in knowing what output you get for the following command:

    $ smartctl -A /dev/hda | grep Load_Cycle_Count

  143. Martin Says:

    Hi John, here goes

    # smartctl -A /dev/hda | grep Load_Cycle_Count
    193 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 6343

    My harddrive crashed after about four months, but a Dell technician came to my office and replaced it the very next day. This is my new drive (using ‘hdparm -I /dev/hda‘:

    ATA device, with non-removable media
    Model Number: TOSHIBA MK3006GAL
    Serial Number: 55623680T
    Firmware Revision: BY102A

    I guess we need a proper solution to this parking problem :)

  144. John Says:

    It looks like we use up about 1% of the drive’s lifetime for every 10000 parks. With my current laptop-mode settings I think I’ve slowed the rate down to about 1 per 5 minutes, which will be good for 10 years. But really it’s hard to control the read behavior of every app running on your machine. That’s why I don’t like using hard drive power-saving when on A/C– it’s just too much wear and tear on the drive. I have a feeling that these drives were designed for embedded applications (e.g. iPod), not for general computers.

  145. Michel Says:

    Hi all. I’m using a 2.6.14 kernel with suspend2 enabled on my X1 (kernel rpm from http://mhensler.de/swsusp/download_en.php), and can’t resume any more from suspend-to-ram. Don’t know wether it’s due to vanilla 2.6.14 or suspend2 patche or fedora patches). Anyone having more info on this? Anyone having success with vanilla 2.6.14?

    Thanks,

    – Michel

    [Sorry Michel, I pressed the "delete" button instead of "approve", this is a cut and paste ;) -Martin]

  146. Austin Says:

    Michel,

    I had the same problem under 2.6.13 and haven’t tried since. As soon as I open the lid, the machine completely locks up.

    I read that the newer kernels will lock on resume from ram the first time an SATA disk is accessed. I also saw some patches for this problem floating around.

    Does the X1 have and SATA drive?

    Aj

  147. Michel Says:

    Austin: I don’t think this is related to SATA. AFAIK, SATA drives are seen as /dev/sd*, which is not the case on my X1. Moreover, suspend-to-RAM and resume have been working (almost) perfectly with a linux-2.6.13.1 kernel (vanilla, patched w/ suspend2 2.2-rc7) and Martin’s ACPI scripts.

    Martin: you apparently have problems similar to mine, but since you can’t resume-from-RAM with 2.6.13 either, this is probably due to your new hard drive. Is it a SATA ?

    BTW, hdparm -I /dev/hda tells me:

    ATA device, with non-removable media
    Model Number: TOSHIBA MK6006GAH
    Firmware Revision: BZ002A

    If I have a little time, I’ll fetch a vanilla recent kernel (most probably 2.6.14.2), patch it with a recent suspend2, and let you know what happens.

    Thanks,

    – Michel

  148. Michel Says:

    I just compiled kernel 2.6.14.2, patched with suspend2 rc11, and suspend-to-RAM is back !! It is still difficult to conclude where the problem was, al least until suspend2 rc12 is out (the suspend2-enabled kernel rpm that I installed contained a few extra patches related to suspend2).

    Also, in case it is relevant, my BIOS is the most recent available from Dell for ythe X1 (V04, if I remember well).

    – Michel

  149. Daniel Kjeserud Says:

    Hei

    Jeg får ikke sidelengsscroll til å virke på X1en min. Har du noen forslag? Jeg paster hele musedelen fra xorg.conf under;

    Section “InputDevice”
    Identifier “Configured Mouse”
    Driver “mouse”
    Option “CorePointer”
    Option “Device” “/dev/input/mice”
    Option “Protocol” “ImPS/2″
    Option “Emulate3Buttons” “true”
    Option “ZAxisMapping” “4 5″
    EndSection

    Section “InputDevice”
    Identifier “Synaptics Touchpad”
    Driver “synaptics”
    Option “SendCoreEvents” “true”
    Option “Device” “/dev/psaux”
    Option “Protocol” “auto-dev”
    Option “HorizScrollDelta” “0″
    # User customized stuff
    Option “SHMconfig” “on”
    Option “LeftEdge” “1700″
    Option “RightEdge” “5300″
    Option “TopEdge” “1700″
    Option “BottomEdge” “4200″
    Option “FingerLow” “25″
    Option “FingerHigh” “30″
    Option “MaxTapTime” “180″
    Option “MaxTapMove” “220″
    Option “VertScrollDelta” “100″
    Option “MinSpeed” “0.06″
    Option “MaxSpeed” “0.15″
    Option “AccelFactor” “0.0015″
    Option “TapButton1″ “1″
    Option “TapButton2″ “1″
    Option “TapButton3″ “1″
    Option “LTCornerButton” “2″
    EndSection

  150. Martin Says:

    Michel: I use the 2.6.14.2 kernel unpatched and have can not resume from suspend (kernel suspend, not suspend2) I’ll look at the suspend2 patches, maybe it will fix my problems too, thanks.

  151. Martin Says:

    Daniel Kjeserud: I’m not sure what is wrong with your settings, but you can try using my setttings and see if they work – you can find them in the files section on my X1 page (http://www.stud.ntnu.no/~gronslet/blog/linux-on-a-dell-x1-aka-samsung-q30/)

  152. Bjørn Christian Sebak Says:

    First, congratz on this VERY informative X1/Linux-page.

    My current problem is that I want to use the X1 with an external VGA screen, more precise the 1920×1200 Dell 24″. Im using this udner Windows, and it works just fine. The Fn-F8 command works and allows me to both clone and VGA-only at max 1024×768.

    Im using the bios-hack that enables me to get the 1280×768-resolition, which probably further complicates the process. What do I have to do to get my external monitor at a resolution larger than the machines default screen?

    Ive figured so far that i have to define the VGA monitor in the xorg.conf, and use some parameter when starting X to make it work in 1920×1200, and ive found the correct modeline info for my monitor at that resolution. But i need help putting it all together :)

  153. Austin Says:

    Ok, long weekend, but I have suspend to ram working with the stock FC 2.6.14 kernel. The critical part is adding ‘irqpoll’ to your kernel line in grub.conf and unloading the yenta_socket module prior to sleep. If you want to avoid freezing when plugging/unplugging the X1 when asleep, also unload the ACPI kernel modules ac, battery, and video. Stability is improved if you have acpi switch cpufreq to userspace before sleep, then unload the ondemand and other cpufreq modules as well. I am also unloading firewire, usb, and a few other things, just to be on the safe side. The result is a stable, reliable suspend process that works just like OSX on my PowerBook.

    I was having some spinlock freezing at shutdown with ipw-1.0.6 (or ieee80211) and the latest vanilla kernel 2.6.14.3 – unrelated to sleep.

    I also have fequency scaling working depending upon power state with some customized scripts from this page. I also have an rc.local entry for the script so the correct power state is selected at boot time.

  154. Martin Says:

    Hi Bjørn Christian, and thanks :) (although I haven’t really updated my page that much lately…)

    If you haven’t already, check out my /etc/X11/xorg.conf in the /etc/ files section on my X1 page. It is partly documented. To check out different modes,
    1) Log off you X session
    2) Press Ctrl-Alt-F1
    3) Log on to the text terminal
    4) Start by ‘startx -- :1 -layout projector

    Try different settings in the Monitor section with identification ‘projectmonitor‘. Check out the corresponding ‘generic‘ monitor section and add your modeline.

    If you want to put this as standard for only some users, I found this in my tips and tricks notes (untested):

    To set default layout for the X server (as given in xorg.conf):
    Put in ~/.xserverrc something like
    exec X :0 -layout YOUR_LAYOUT
    (problematic with more than one X server at the same time..)

    Good luck!

  155. David Says:

    Some guys started working on support for the SD card, see http://mmc.drzeus.cx/wiki/Linux/Drivers/sdhci

    Dave

  156. Austin Says:

    Martin, my previous comment is still sitting in moderation from the 28th….

  157. Martin Says:

    Sorry Austin – your comment is approved now see above ;) (my spam filter complains about HTTP_VIA header from your IP, I don’t know why – if you register and log in you’ll bypass the filter)

    So – suspend working?! That’s great! I’ll reboot and try this out at once!

  158. Martin Says:

    Hey – it’s almost working, Austin! Adding ‘irqpoll‘ to grub.conf and unloading pcmcia and yenta_socket I was able to resume after suspend using the 2.6.14.2 kernel from kernel.org. Great!
    If you have improved the acpi suspend scripts, maybe you could post a link? My scripts are kind of unclean and now also a bit deprecated.
    By the way – when resuming, I got the following messages (from kwrited):

    Message from syslogd@x1 at Thu Dec 1 23:06:47 2005 ...
    x1 kernel: Disabling IRQ #5
    Message from syslogd@x1 at Thu Dec 1 23:06:50 2005 ...
    x1 kernel: Disabling IRQ #11

    Any ideas?

    One other thing – I am not able to connect to a WEP encrypted network using the newest ipw2200 and ieee80211 drivers (1.0.8 and 1.1.6, resp.), but I’m pretty sure I compiled the crypt stuff into the kernel… Maybe it is my Linksys WRT54g router that is the problem?
    (I can connect to unencrypted networks)

    Looking forward to see how the SD card reader people are doing :D

  159. Martin Says:

    About the ipw2200 – I think I got it working. I was getting errors like

    ipw2200: Unknown notification: subtype=40,flags=0xa0,size=40

    so I debugged it by issuing:

    # echo 5 > /sys/bus/pci/drivers/ipw2200/debug_level

    and read dmesg carefully. It gave something like “invalid GEO channel” – why?? (In norway I do believe channel 12 and 13 are ok… I guess the ipw2200-devel people should be notified, er – think I read something about the GEO variable somewhere but I couldn’t find it now)
    Anyways – I changed it to 5 and everything is fine…
    (Tip: read the output of ‘iwlist scan‘ and choose a channel that none of your neighbors are using…)

  160. Austin Says:

    I don’t know much about WEP. I connect to limited networks and none of them must be WEP as I am not experiencing problems, even with the old version of the driver included in the latest fedora kernel.

    I will send along my acpi sleep script as soon as I am sure it is reliable. I thought I had it, but I still get the occasional coma. I think it only occurrs after I have printed some documents, however. I am going to try stopping the cups service at suspend to see if that helps.

  161. Matt Rose Says:

    Does anyone know if you could boot linux off a compact flash card on the X1? I’ve only got the 30gb hard disk in mine which is rapidly filling up, which brings me onto my second question; does anyone know what model hard disks you could replace the pre-installed hd with?
    I know they need to be 1.8″ drives, but does anyone other than toshiba make these, and where would you get them from?

  162. Michel Says:

    Bjørn Christian and Martin:

    Using several X layouts *at the same time* is pretty easy if you use gdm as a login manager: you just have to edit /etc/X11/gdm/gdm.conf (this is the gdm config file on FC4) to declare other X layouts. I use the following for video projection (and I started from Martin’s Xorg settings for defining an X layout for video projection):

    # Specific X layout for video projection
    [server-Projector]
    name=Server for video projection
    command=/usr/X11R6/bin/X -audit 0 -layout Projector
    flexible=true

    Then, you can use from your graphical environment the command:

    gdmflexiserver

    for opening a new X session on a different virtual terminal (the one at CTRL-ALT-F8, most probably). Gdmflexiserver will notice that there are several layouts available, and will ask you to choose one.

    Note that to avoid opening two gnome sessions in a different terminal, I have a different user called `video’ that I use for giving presentations.

    This setting could be sufficient. If, moreover, you want the two layouts to be always available, you can start both of them at boot time, and switch them using CTRL-ALT-F? keys.

    For that, add the following to the previous settings: in the section [servers] of gdm.conf, add your Projector layout to the Standard one

    0=Standard
    1=Projector

    Switching to video will then simply require a CTRL-ALT-F? key.

    Finally, note that restarting gdm, use one of gdm-restart or gdm-safe-restart (`man gdm’ for more information).

    – Michel

  163. Martin Says:

    Thanks Michel – this is even better than what I was looking for :)

    Do you maybe also happen to know how I can add an option to shut down my laptop when logging off KDE (ver 3.4.2)…?

  164. Michel Says:

    Hmm, maybe find the script that runs your graphical environment, and hack it to add a call to /usr/bin/poweroff at the right place?

    I don’t have kdm installed, so I’m not really sure it works, but if I was you, I’d try to to find a file named Xclients.kde (or maybe simply Xclients), find the place where kde is launched — probably an “exec command args” — and change this into something like “{ command args; /usr/bin/poweroff ; }”.

    My 2 Eurocents.

  165. Martin Says:

    Well, actually, I’ve managed to do this (just putting it in the end of ~/.Xclients), but what I really want is the “log off dialog” to have the three options “log off”, “restart” and “shut down”…

    Gnome has it, why the fcuk haven’t KDE got it??!

  166. Michel Says:

    It could be related to your KDE config , where the right of rebooting / powering off is denied to regular users. KDE control center should tell you that.

    Just a guess from what I’ve read on the web, where some have the buttons, and some don’t :-( .

  167. Martin Says:

    Thanks Michel – I did some more searching myself, and it turned out I had to change my /etc/sysconfig/desktop to include:

    DESKTOP="KDE"
    DISPLAYMANAGER="KDE"

    (yes, it should be “KDE” not “KDM”, I myself was a bit confused…)

    And of course:
    KDE Control Center (kconfig) -> Session Manager -> “Offer shutdown options”
    and
    KDE Control Center (kconfig) -> System Administration -> Login Manager -> Shutdown -> Allow shutdown: Local: Everybody.

    I had to restart to make the changes; killing the X server was not enough (Ctrl-Alt-Backspace), but a “init 3” followed by a “init 5” will do the trick I think.

    Cheers.

  168. Sean Sieger Says:

    Martin, thank you and the others that have contributed to your
    work on the Dell X1; I’ve used your work first to get my Dell X1
    / Ubuntu 5.04 and now Ubuntu 5.10 working.

    Thank you Thank you

  169. Martin Says:

    I would like to thank everybody as well :) . As soon as I’ve made the ACPI sleep/hibernate scripts a bit more stable, I will update my page.

  170. Stephane Says:

    Hi,

    I also have an X1 and thanks mostly to your site I got everything working perfectly. I’m using Ubuntu Dapper.
    I have some problems with Xinerama though: I’ve set it up so that I can use the external monitor at the same time as the local flat panel, but somehow X starts with the proper resolution for the external monitor only one time out of four, reverting to 640×480 until I restart X several times and then it changes to the proper 12870×1024, have any of you ever experienced this kind of behaviour ?

    Thanks

  171. Martin Says:

    Hi Stephane. I’ve never experienced this myself. If not already, check out my xorg.conf in the files section and try it out – see also comment 7750.

    PS. I guess the “12870×1024″ was a typo ;)

  172. John Moylan Says:

    Just got a new X1 on Monday. If it were not for this site I might still be using 800×600 resolution. Thanks.
    One or 2 things I have found worthy of a note:

    I am using Bios A4 and the resolutino is still misreported.
    1.)The dri snapshots don’t work – probably because I am using the i915GM graphics card – using Vesa with no problems.
    2.)great info on using the ipw2200 with FC4 http://www.ces.clemson.edu/linux/fc2-ipw2200.shtml (but I can’t get WEP to work – at least not in Monitor mode)
    3.)I can confirm that the external amplifier checkbox needs to be checked in volume control.

    I have started putting up notes on http://redsnapper.wordpress.com

    Thanks again for the great info.

  173. Wolfram Says:

    Hi, thanks for your extremely useful page which helped to pave a lot of my way to an up-and-running X1.
    Now I have one annoying problem left: I can’t get the external CD-drive to play a music-CD.
    I don’t seem to have a problem with the sound card, nor with accessing data files on a CD, nor problems in ripping a music-CD and then playing the mp3′s. It is just that I can not get a music-CD to play directly through, say, kscd.
    Any hint on that?

  174. Martin Says:

    Eh, same problem here… I guess it has to do with the fact that there is no direct audio cable connected – the transport is over USB. Anyway, I haven’t googled for some time now.

  175. Alessandro Loffredo Says:

    Hi now i can use the SD card reader with this: http://list.drzeus.cx/pipermail/sdhci-devel/2006-January/000219.html
    It works well.I bought my Latitude X1 16th of december and some hardware are changed.
    My lspci reveal:
    02:01.2 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 17)

    I’m not a noob using bloetuuth but i’m not able to do scanning with my latitude (i think that the bluetooth module is changed) :
    http://sourceforge.net/mailarchive/forum.php?thread_id=9405003&forum_id=1883

    lsusb reveal:
    Bus 003 Device 002: ID 413c:8103 Dell Computer Corp.
    and hciconfig -a:
    hci0: Type: USB
    BD Address: 00:10:C6:D1:07:A1 ACL MTU: 384:8 SCO MTU: 64:8
    UP RUNNING PSCAN ISCAN AUTH ENCRYPT
    RX bytes:120 acl:0 sco:0 events:15 errors:0
    TX bytes:306 acl:0 sco:0 commands:13 errors:0
    Features: 0xff 0xff 0x9f 0xfe 0x9b 0xf9 0×00 0×80
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
    Link policy: RSWITCH HOLD SNIFF PARK
    Link mode: SLAVE ACCEPT
    Name: ‘BlueZ (0)’
    Class: 0x3e0100
    Service Classes: Networking, Rendering, Capturing
    Device Class: Computer, Uncategorized
    HCI Ver: 1.2 (0×2) HCI Rev: 0×679 LMP Ver: 1.2 (0×2) LMP Subver: 0×679
    Manufacturer: Cambridge Silicon Radio (10)

    Yours?

    Thanks

    Alex

  176. Martin Says:

    Cool! Looking forward to test the SD reader :) I’m in England at the moment, but I’ll post back my lspci and lsusb outputs this weekend. Cheers.

  177. Martin Says:

    My lspci output:

    # lspci -v
    02:01.2 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 17) (prog-if 01)
    Subsystem: Dell: Unknown device 01a3
    Flags: bus master, medium devsel, latency 64, IRQ 10
    Memory at dfcfe700 (32-bit, non-prefetchable) [size=256]
    Capabilities: [80] Power Management version 2

    My hciconf output:

    # hciconfig -a
    hci0: Type: USB
    BD Address: 00:10:C6:63:A4:E4 ACL MTU: 384:8 SCO MTU: 64:8
    UP RUNNING PSCAN ISCAN INQUIRY AUTH ENCRYPT
    RX bytes:445 acl:0 sco:0 events:22 errors:0
    TX bytes:322 acl:0 sco:0 commands:19 errors:0
    Features: 0xff 0xff 0x9f 0xfe 0x9b 0xf9 0x00 0x80
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
    Link policy: HOLD SNIFF PARK
    Link mode: SLAVE ACCEPT
    Name: 'x1-0'
    Class: 0x120104
    Service Classes: Networking
    Device Class: Computer, Desktop workstation
    HCI Ver: 1.2 (0x2) HCI Rev: 0x679 LMP Ver: 1.2 (0x2) LMP Subver: 0x679
    Manufacturer: Cambridge Silicon Radio (10)

    Note: I somethimes have to turn my bluetooth adopter OFF and then ON to make it work (Fn-F2 twice, then wait a few seconds)

    Strange, seems that I have no lsusb command anymore…

    I will try the SD driver as soon as possible :D

  178. Alessandro Loffredo Says:

    Can you post your /etc/bluetooth/hcid.conf file?Thanks!
    lsusb command probalby needs an other package,like usbutils.

  179. Martin Says:

    Alessandro: All my relevant /etc/ files are in the Files section on my X1 page – now also hcid.conf :)

    And:

    # yum install usbutils
    # lsusb
    Bus 005 Device 001: ID 0000:0000
    Bus 004 Device 001: ID 0000:0000
    Bus 003 Device 002: ID 413c:8103 Dell Computer Corp.
    Bus 003 Device 001: ID 0000:0000
    Bus 002 Device 001: ID 0000:0000
    Bus 001 Device 001: ID 0000:0000

  180. Alessandro Loffredo Says:

    Ok,i have same hardware and conf files,but my integrated dongle doesn’t work!But if i add an other usb dongle it works…It is very strange.It seems a driver problem.Other Dell latutude (d600) users have same problem,i’m trying different kernel config (i’m a gentoo user).Can you add your .config?
    Thanks fol all :)

  181. Martin Says:

    Alessandro: Not all Dell X1′s come with the bluetooth adapter – you can enter the BIOS at boot time and check I suppose.
    I’ve put my .config file in the Files section on my X1 page now :)

  182. Alessandro Loffredo Says:

    Incredible,my integrated bluetooth does NOT work..Yes i’ve it in the bios and it was working under winxp.I have installed gentoo and tried also ubuntu live and other live disros but all have the same problem:they recognize the dongle but scanning doesn’t work.

  183. Stephane Says:

    Hi,

    Just wanted to let you know that I fixed my problem of external monitor resolution. Every other time the VBE call to get the monitor’s resolution fails, thus resulting in VGA resolution. When I put the vertical and horizontal specs of the monitor in xorg.conf it always works, even when the VBE call fails.

  184. Wolfram Says:

    Hi,
    maybe this is just trivially known to everyone – in which case I apologize, but let me just comment on how I finally got the X1′s external CD drive to play a music CD for me. I simply installed (g)xine (vers. 0.5.3), which is also a backend to kaffeine. Now, instead of my longstanding favorite kscd I use xine or kaffeine and it works.
    Does anyone know if xine/kaffeine does something similar to “cdda2wav -x -e -t 1 -N -D /dev/cdrom” – which would always work for playing a CD directly – but would not be a good idea?

  185. FrIkI Says:

    SD works on my X1 with this experimental driver: http://mmc.drzeus.cx/wiki/Linux/Drivers/sdhci

  186. Stephane Says:

    Hi all,

    First thanks for all the info on this site it’s been of great help.
    I’ve written a small program that checks whether an external monitor is plugged in the VGA port.
    It is available here: http://stephane.epardaud.net/i810_crt_detection.tgz (mainly hacked by putting pieces of the i810 driver and get-edid).
    I use it to detect which X layout to use when starting X, with a small script like:

    #!/bin/bash

    if iscrtplugged > /dev/null
    then LAYOUT=”xinerama”
    else LAYOUT=”standalone”
    fi

    X -layout $LAYOUT $@

    I’m using Ubuntu latest dapper, and I’m having problems with sleep and hibernate:
    For sleep, when it wakes up I need to change the contrast to see the screen reappear, anyone else has this problem?
    For hibernate (via software suspend 1: unpatched kernel), it fails to reboot somewhere in the middle of the process… Anybody managed to get sofsusp 1 working ?
    Thanks a lot for any help!

  187. Martin Says:

    Wolfram:
    Thanks! The command

    cdda2wav -x -e -t 1 -N -D /dev/cdrom

    works just fine :)

    FrIkI:
    This is great. But tonigh I’m just too dumb to understand how the %&/#” one is supposed to install this thingie… Is there any step-by-step instructions available anywhere…? Am I supposed to fetch a patch from the mailing-list and then patch, er, what…?

    Stephane:
    Thanks for the script! Haven’t tried it yet, but this is definitely useful!
    About the sleep and hibernate stuff, I have the same “feature” when resuming: In order to turn on the screen again I must press Fn-UpArrow (still). I am using swsusp1. You can find my .config file om my patched 2.6.14.2 kernel in my Files section on my X1 page.

    Hibernate usually works when I turn off the wireless adapter and some other stuff – maybe also the switching to a text console helps… Check out my ACPI scripts (also in the Files section on my X1 page). The scripts are NOT stable at all. If any of you are able to improve them PLEASE post back ;) Thanks!

  188. Martin Says:

    Stephane: I forgot to mention the “irqpoll” trick mentioned by Austin on this page. Check out my grub.conf (In the files section)

  189. Wolfram Says:

    Hi

    just dropping by to confirm the statement about the SD card reader found on http://gentoo-wiki.com/HARDWARE_Dell_Latitude_X1 as well as Alessandro’s observation:
    (at least) with a vanilla-kernel ver. 2.6.15.1 and the Sdhci driver patch from http://list.drzeus.cx/pipermail/sdhci-devel/2006-January/000347.html the SD card reader works – for me too. I had to find out the hard way however, that the Sdhci driver patch is very picky regarding the kernel source. E.g. it cannot be applied to the kernel sources from SuSE’s 10 distro.
    (B.t.w. my X1 is only one month old, but already last week I had the complete keyboard-frame to be replaced since the touch-pad went stone-dead …)

  190. Jan Zuchhold Says:

    One note about the HDD spindown problem:
    It seems that this ever increasing “Load_Cycle_Count” can be stopped with “hdparm -B254 /dev/hda”. (at least with my drive: TOSHIBA MK6006GAH / Firmware: BZ002A)

  191. Alessandro Says:

    Ok,i resolved my problem :http://eightflat.org/tracesofmartinsstate/2005/06/03/linux-on-dell-x1/#comment-8663
    If the bluetooth device is disabled by the windows bluetooth-icon it doesn’t work under linux -.-

  192. Martin Says:

    Alessandro: Great! I’ll keep this in mind, although I almost never boot my Winblows partition.

    By the way – I’ve moved over to WordPress 2.01 now as I had to fix a few things anyway when the domain name was changed. The old links will still work, but you might want to update your bookmarks

    It is now possible to subscribe to comments – look at the bottom of the page (hope it works).

  193. blue4 Says:

    hi guyz. i’m running gentoo on my x1. everything works except the ACPI sleep. In fact i can suspend it but there’s no way how to wake it up. switching cosloes, dimming diplay, switching vga output,… nothing works

    running 2.6.15 kernel (same was on 2.6.14.x)

    i’d really love the acpi sleep working, anyone met that? :]

    thx a lot
    blue4

  194. Martin Says:

    Hi blue4: I’m sorry to say that resume from sleep is not really stable yet for me either. I haven’t tried the 2.6.15.2 kernel yet – still running 2.6.14.2.

    But I am able to resume from suspend to ram, as long as I do not use the wired network (wireless ipw2200 driver works fine, version 1.0.8) It “only” crashes like one of five times or so. Also, I have got errors like (from /var/log/messages):

    kernel: __tx_submit: hci0 tx submit failed urb ebb94d54 type 1 err -19
    [...]
    kernel: Unable to handle kernel paging request at virtual address 001a008c
    kernel:  printing eip:
    kernel: c02cbc05
    kernel: *pde = 00000000
    kernel: Oops: 0000 [#1]
    kernel: Modules linked in: pcmcia yenta_socket rsrc_nonstatic pcmcia_core
    ehci_hcd uhci_hcd i915 drm ipv6 parport_pc lp parport autofs4 rfcomm l2cap
    ipt_REJECT ipt_state ip_conntrack iptable_filter ip_tables dm_mod video battery
    ac hci_usb bluetooth ohci1394 ieee1394 snd_intel8x0m i2c_i801 i2c_core
    snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_seq_dummy snd_seq_oss
    snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss
    snd_pcm snd_timer snd soundcore snd_page_alloc ipw2200 ieee80211
    ieee80211_crypt tg3 joydev ext3 jbd
    kernel: CPU:    0
    kernel: EIP:    0060:[c02cbc05]    Not tainted VLI
    kernel: EFLAGS: 00210206   (2.6.14.2)
    kernel: EIP is at skb_drop_fraglist+0x15/0x50
    kernel: eax: e9540688   ebx: f29a1bc0   ecx: e9540688   edx: 001a0000
    kernel: esi: f29a1bc0   edi: ecb717c0   ebp: 00000000   esp: e2dc5dec
    kernel: ds: 007b   es: 007b   ss: 0068
    kernel: Process kblankscrn.kss (pid: 5754, threadinfo=e2dc5000 task=f1d14030)
    kernel: Stack: f29a1bc0 c02cbcae f29a1bc0 ecb71840 c02cbcf8 f29a1bc0
    c0332b46 00000000
    kernel:        ecb714bc ecb7158c 00000000 0133a8b5 00000000 f24ad300
    00000000 f24ad334
    kernel:        f6ad6780 c02c69fa f7ff4640 f24ad334 f7ff4640 c02c762e f24ad334
    00000008
    kernel: Call Trace:
    kernel:  [c02cbcae] skb_release_data+0x4e/0x90
    kernel:  [c02cbcf8] kfree_skbmem+0x8/0x80
    kernel:  [c0332b46] unix_release_sock+0x106/0x240
    kernel:  [c02c69fa] sock_release+0x1a/0x90
    kernel:  [c02c762e] sock_close+0x1e/0x40
    kernel:  [c0161021] __fput+0xb1/0x180
    kernel:  [c015f637] filp_close+0x47/0x90
    kernel:  [c011cd15] put_files_struct+0x75/0xd0
    kernel:  [c011da8a] do_exit+0x10a/0x3b0
    kernel:  [c0125555] __dequeue_signal+0xf5/0x1c0
    kernel:  [c011dda7] do_group_exit+0x37/0xa0
    kernel:  [c01273d1] get_signal_to_deliver+0x211/0x320
    kernel:  [c0102ee3] do_signal+0x63/0x170
    kernel:  [c013e1bb] audit_syscall_exit+0x4b/0x400
    kernel:  [c0173e30] __pollwait+0x0/0xc0
    kernel:  [c0106cf0] do_syscall_trace+0x1d0/0x235
    kernel:  [c0103017] do_notify_resume+0x27/0x38
    kernel:  [c01031b6] work_notifysig+0x13/0x19
    kernel: Code: da 31 db e8 6e d7 e7 ff eb db 8d b6 00 00 00 00 8d bf 00 00
    00 00 53 8b 80 9c 00 00 00 8b 50 0c c7 40 0c 00 00 00 00 eb 02 89 da &
    lt;8b> 82 8c 00 00 00 8b 1a 48 75 0d 89 d0 e8 59 01 00 00 85 db 75
    kernel:  <1>Fixing recursive fault but reboot is needed!
    

    (Not really helping you I guess, but maybe some kernel guys sees it…)

    If you press CAPS LOCK, will the caps lock led light up? In that case, it’s probably just a matter of waking up the monitor. Maybe experiment a bit with the VESA driver in /etc/X11/xorg.conf and disable drm.

    PS: Have you tried my acpi scripts in the files section of my X1 page?

    PPS: Has anyone got some working ACPI scripts for the X1? I mean STABLE scripts? Please drop a link!

  195. Austin Says:

    I have some stable ACPI scripts I have been using with the stock Fedora kernel. I have not had a freeze on suspend/resume to/from RAM for more than a month. Where do I send them?

  196. Martin Says:

    Austin: Great! If you could send them to me: gronslet (that-funny-a) gmail.com I would appreciate it very mucho!

    Please let me know if it is okey that I post them on my site as well.

    Thanks!

  197. Martin Says:

    Thanks for the scripts, Austin. I’ve put them here: Austin’s ACPI sleep scripts

    I notice that they are not prepared for hibernation, though. Anyway – it turns out that my scripts also work quite well with the latest FC4 kernel 2.6.15-1.1831_FC4 (from here. Austin reported some issues with the 2.6.15-1.1830_FC4 kernel – but 2.6.15-1.1830_FC4 seems to work just fine.)

    My current boot parameters are:

    kernel /vmlinuz-2.6.15-1.1831_FC4 ro root=LABEL=/ showopts quiet pci=bios resume=/dev/hda5 vga=773

    but I have not been able to hibernate (as /sys/power/disk no longer exists – guess I need to recompile from source… Anyone tried that?)

    Need to test a bit more :)

  198. Fred Says:

    Has anyone tried to get Xgl and Compiz running on the X1? It’s in the latest alpha release of Ubuntu. Hoping it will work properly with the video card..

  199. Thomas Koenig Says:

    Hi Fred!
    Tried it last week – until then it “worked”. Most of the effects worked out of the box. The main problem (performance & screen-flickering) is related to the i810-driver which should be updated very soon.

    So you can test the whole thing, but it won’t look like in the videos (based on the buggy drivers) and is far away from productive usage.

    Of course, if anyone else got better experiences (mine is from last weeks), please leave some comment.

    greetings
    Thomas

  200. Alessandro Says:

    My vodeo performance are very poor, glxgears = 900 fps but the cpu power is not used maximally (tried top command) during the demo…I think the driver doesn’t use more than 8 mb of video ram,your?

  201. Martin Says:

    Alessandro: My video performance is also very poor at the moment – I guess I need to recompile my new kernel (2.6.15-1.1831_FC4) in order to improve it. I get about 200 fps with glxgears now (not fullscreen) but got much more earlier (see my earlier posts about glxgears).

    If anyone has a quick solution, please give us a hint :)

  202. blue4 Says:

    hey guys, yesterday i installed FC4. everything is great except the kernel. i just cant get i working. i use fedora kernel with swsusp2 patches from http://mhensler.de/swsusp/ (i used src.rpm) + added 3 patches for sdhci driver. made swsusp2 enabled initrd. anyway when i boot the new baked kernel. it freezes with no panic/oops after detection of synaptics touchpad. caps/num lock still works anyways. any ideas? i compiled 3 kernels already (2 vanillas, 1 fedora). still ends the same :[ the verison is 2.6.15.4 5 and 6. 5 was fedora stock sources.

    any ideas?
    thx a lot ;]

  203. Austin Says:

    Drum roll please! How to get your backlight to turn back on when waking from sleep:

    Install libsmbios-bin using these instructions:

    http://linux.dell.com/libsmbios/main/yum.html

    Add the following to your sleep.sh ACPI script in the do_resume() section :


    do_resume() {
    # turn LCD backlight on
    modprobe dcdbas
    dellLcdBrightness -v 1 #dummy value - must be different from battery brightness
    dellLcdBrightness -v 2 #battery brightness
    dellLcdBrightness -a -v 6 #dummy value - must be different from ac brightness
    dellLcdBrightness -a -v 7 #ac brightness
    modprobe -r dcdbas

    Have a wonderful day!

  204. Martin Says:

    Austin: Yeah man! Looking forward to try this out – thanks!!!

    blue4: I have problems resuming from kernel 2.6.15-1.1833_FC4
    BUT kernel 2.6.15-1.1831_FC4 works fine. I do not use swsusp2, but rather the kernel based swsusp. I have not recompiled the 2.6.15-1.1831_FC4 kernel.

    Anyway guys – I will install Fedora Core 5 as soon as it comes out (March 20 I believe)

  205. Jos Says:

    Hi Martin,

    Do let us know how well FC5 installs and if you can make a cool recipe out of it, that would be great.
    I’m quite happy with my SuSE 10 install, but i’ve got a spare partition to try FC 5 and considering the progress on gcj and RedHat’s support for it, I’m curious to see how it all runs on my X1.

  206. bc Says:

    hello. thanks for the very informative notes. Trying to get the 1280×768 resolution working on my X1. downloaded the 915resolution and implemented the hack in /etc/rc.local. I can see it being run during the boot sequence. Edited mt xorg.conf file per your examples in Files section. when starting X i see the following in xorg.0.log:

    (II) VESA(0): dellx1: Using default hsync range of 47.78-82.18 kHz
    (II) VESA(0): dellx1: Using default vrefresh range of 59.87-60.00 Hz
    (II) VESA(0): Not using mode “1280×768″ (no mode of this name)
    (–) VESA(0): Virtual size is 1024×768 (pitch 1024)
    (**) VESA(0): *Built-in mode “1024×768″
    (**) VESA(0): *Built-in mode “800×600″
    (**) VESA(0): Built-in mode “640×480″
    (–) VESA(0): Display dimensions: (260, 160) mm
    (–) VESA(0): DPI set to (100, 121)
    (II) VESA(0): Attempting to use 60Hz refresh for mode “1024×768″ (118)

    so it’s not recognizing the 1280×768. wondering what else I need to do. Do I need a modeline for the 1280×768? If so what would be a valid modeline?

    Do I have to install the new dri support for this to work? I haven’t done that yet. Still using vesa. Does vesa not support 1280×768?

    Here’s snippet from my xorg.conf:

    Section “Monitor”
    Identifier “dellx1″
    VendorName “dell”
    ModelName “x1″
    #HorizSync 31.5 – 48.5
    #VertRefresh 40.0 – 70.0
    Option “dpms”
    EndSection

    Section “Device”
    Identifier “Videocard0″
    Driver “vesa”
    VendorName “Videocard vendor”
    BoardName “VESA driver (generic)”
    EndSection

    Section “Screen”
    Identifier “local”
    Device “Videocard0″
    Monitor “dellx1″
    DefaultDepth 24
    SubSection “Display”
    Depth 24
    Modes “1280×768″ “1024×768″ “800×600″
    EndSubSection
    EndSection

    my /etc/rc.local

    #!/bin/sh
    #
    # This script will be executed *after* all the other init scripts.
    # You can put your own initialization stuff in here if you don’t
    # want to do the full Sys V style init stuff.

    touch /var/lock/subsys/local
    slmodemd –alsa &
    ln -s /dev/ttySL0 /dev/modem
    /opt/desktop/obi_cc_script/obidata.sh
    /usr/sbin/915resolution 3c 1280 768

    uname -a
    Linux racaldwe-lap2 2.6.9-5.EL #1 Wed Jan 5 19:22:18 EST 2005 i686 i686 i386 GNU/Linux

    thanks in advance

  207. bc Says:

    figured it out. found a similar discussion about the Samsung Q30 and found the following modeline:

    Modeline “1280×768″ 80.14 1280 1344 1480 1680 768 769 772 795

    added that to my Monitor section and voila, it works great now. Many thanks again for making this info available.

    The Samsung Q30 sites of interest are:

    http://tuxmobil.org/samsung_q30_jamie_linux.html
    http://www.leog.net/fujp_forum/topic.asp?ARCHIVE=true&TOPIC_ID=5371

  208. iXce Says:

    Great discussion! I’ve got a Dell X1 running Ubuntu Dapper, and i’ve fixed nearly every problem. I’m using kernel 2.6.16-rc6 with latest ipw2200 drivers and fw (1.1.1 and 3.0) and suspend2 patch and even aiglx and compiz, and thanks to you lcd backlight even wakes up without having to use Fn+Uparrow (i just had to fetch depandancies and compile latest libsmbios, as the one provided in Ubuntu doesn’t provide dellLcdBrightness)
    Thanks again!

  209. Austin Says:

    FC5 Report:

    -915resolution still necessary (no surprise there)
    -using xorg.conf from my FC4 install
    -dri working out of the box (getting 840fps with glxgears)
    -sound works out of the box
    -wireless works (you just need to install the 2.4 firmware to /lib/firmware)
    -SD card reader a no-go – you will have to apply the kernel patch yourself
    -sleep is being handled by gnome-power-manager now
    – suspend-to-ram works, but there is a bug in 2.13.93 G-P-M (loops)
    – G-P-M 2.14.0 fix should be out via ‘yum update’ soon
    - dellLcdBrightness not working yet (dell yum repo not updated yet)

  210. Frank Says:

    Just a info regarding Laptop mode tools and HDD spindown:
    I think one should not use it on this Dell X1. If you read the datasheet from Toshiba web site you will find the following data:
    Power-on hours: 2,800 Hours
    Product life: 5 years or 20,000 POH (whatever comes earlier)
    and 20.000 power on cycles are really not much. The problem with the notebook disks are the liquid filled bearings.
    Be warned …

  211. Martin Says:

    Quick preliminary FC5 report:
    Installed okey.
    I can confirm the results given by Austin above. Suspend to ram did not work out of the box in KDE though, but I guess my old ACPI scripts will work.
    I also managed to make the newest ipw2200 driver work (needed to hack ipw2200.h a tiny bit though) Tip: Try nm-applet instead of NetworkManagerInfo.

    Frank: I agree – and I think cpu frequency scaling works out of the box in FC5, so we should not need to bother too much with it.

  212. Austin Says:

    Frequency scaling was not working for me in FC5. It was stuck at 600!

  213. Martin Says:

    Just posted my FC5/KDE disappointments in my GNU/Linux section

    Any thoughts? Should I switch distro? What are you guys using? I have no plans of switching to GNOME – I want to stick with KDE but maybe switch distro.

  214. Match Says:

    I’ve got everything working on the laptop in 1280×768 resolution using the 915resolution command and changing the modes in xorg.conf

    I’m now trying to get an external monitor working – problem is the external monitor obviosuly won’t display at 1280×768 – instead I need to get it to run at 1280×1024.

    Using the standard “Clone” option and running everything at 1024×768 on the laptop results in a working cloned display on the external LCD – however upping this to 1280×768 for the local lcd means the laptop continues to work but the external screen complains (obviously).

    I’ve tried defining specific Modelines for the external Device section at 1280×1024 to try to force it to this but with no success. Is there something obvious I’m missing?


    # Internal LCD Screen
    Section "Device"
    Identifier "lcd"
    Driver "i810"
    BusID "PCI:0:2:0"
    Option "MonitorLayout" "CRT,LFP"
    Option "DDC" "false"
    Option "Clone" "On"
    Option "CloneRefresh" "60"
    EndSection

    #External VGA Port
    Section "Device"
    Identifier "vgaout"
    Driver "i810"
    BusID "PCI:0:2:0"
    Option "MonitorLayout" "CRT,LFP"
    Option "DDC" "false"
    EndSection

    # internal display
    Section "Monitor"
    Identifier "dellx1"
    VendorName "Dell"
    ModelName "X1"
    Option "DPMS"
    EndSection

    # external display
    Section "Monitor"
    Identifier "generic"
    HorizSync 27 - 96
    VertRefresh 50 - 160
    VertRefresh 60
    #This next line makes no difference apparently
    # Modeline "1280x1024" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +VSync
    Option "DPMS"
    EndSection

    Section "Screen"
    Identifier "local"
    Device "lcd"
    Monitor "dellx1"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1280x768" "1024x768" "800x600"
    EndSubSection
    EndSection

    Section "Screen"
    Identifier "external"
    Device "vgaout"
    Monitor "generic"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1280x1024" "1024x768" "800x600"
    EndSubSection
    EndSection

    Section "ServerLayout"
    Screen "local" 0 0
    EndSection

  215. Martin Says:

    Match: Have you tried the xorg.conf provided in my Files section on my X1 page (i.e. here)? You can start the external layout by issuing

    $ startx -- :1 -layout projector

    from a text terminal (while still running a server on display 0)

    I have some different clone/xinerama modes in that file as well, but those are not so well tested, please post back if you find a working solution for what you want.

  216. John Moylan Says:

    FC5 with Gnome is very polished indeed. 915resolution works fine, but I had to comment out the refresh rates for the monitor so get the proper resolution working. (Uses DDC?)
    Hint: chattr -i /etc/X11/xorg.conf to make the file immutable – this way any customizations won’t be lost during yum updates.

    Wireless works fine, I just installed the formware rpm from freshrpms.net (after reading the license;))
    Added:
    /etc/modprobe.conf
    options ipw2200 hwcrypto=1
    because hwcrypto is supposed to be off by default in newer versions.

    Suspend suspends, but no combination of keystrokes seems to unsuspend properly. (Any hints appreciated.)

    Also, slightly off topic, but has anyone gotten a logitec quickcam express working with FC5?

    so far everything thing else works except for SD card reader (obviously)

  217. Fred Says:

    Match: I’ve gotten an external monitor (1920×1200) to work by adding the various modes to bootmisc.sh, and then commenting out the one not to be used on the next boot, like this:

    #/usr/sbin/915resolution 38 1280 768
    /usr/sbin/915resolution 38 1920 1200

    You might need to activate the Modeline in xorg.conf. Don’t know if it works for dual-mode though.

  218. Match Says:

    Right – I’ve spent a couple of days learning more about xorg.conf than I ever wanted to :) and now have a setup running that offers four different graphical modes, partly based on Martin’s original xorg.conf.

    1) LCD Only
    2) External Monitor Only
    3) LCD and External Monitor ‘cloned’ – both running at 1024×768
    4) LCD @ 1280×768, Monitor at 1280×1024 – separate desktops on each display.

    Turns out that there is no scaling ability in the driver/X, so you can’t run the same desktop at different resolutions on different devices. 1024×768 is the highest res that both devices can display at.

    I’ve set up each of these as a seperate ‘Layout’ in X so X can be started for each one. I’ve also added Server Sections to my gdm.conf so that I can use gdmflexiserver to ask which layout to use, and then open a new X session on display :1 with this graphics setup. Logging out of this new sesison returns you to the original one (i.e back to laptop-only graphics).

    XORG.CONF:


    ### Internal LCD Screen ###
    Section "Device"
    Identifier "lcd"
    Driver "i810"
    BusID "PCI:0:2:0"
    Option "MonitorLayout" "CRT,LFP"
    Option "DDC" "false"
    Screen 0
    EndSection

    ### Internal LCD Screen - clone mode enabled ###
    Section "Device"
    Identifier "lcd-clone"
    Driver "i810"
    BusID "PCI:0:2:0"
    Option "MonitorLayout" "CRT,LFP"
    Option "DDC" "false"
    Option "Clone" "On"
    Option "CloneRefresh" "60"
    Screen 0
    EndSection

    ### External VGA Port ###
    Section "Device"
    Identifier "vgaout"
    Driver "i810"
    BusID "PCI:0:2:0"
    Option "MonitorLayout" "LFP,CRT"
    Option "DDC" "false"
    Screen 1
    EndSection

    ###vExternal VGA Port - for external-only use ###
    Section "Device"
    Identifier "vgaout-only"
    Driver "i810"
    BusID "PCI:0:2:0"
    Option "MonitorLayout" "LFP,CRT"
    Option "DDC" "false"
    EndSection

    ### internal LCD Monitor ###
    Section "Monitor"
    Identifier "dellx1"
    VendorName "Dell"
    ModelName "X1"
    Option "DPMS"
    EndSection

    ### external FlatPanel/CRT Display ###
    Section "Monitor"
    Identifier "generic"

    ###NB - these values are for a Dell E172FP Only! Change for CRT's
    HorizSync 31 - 80
    VertRefresh 56 - 76
    VertRefresh 60.00 - 60.00

    ###Generic 1280x1024 @ 60 Hz
    Modeline "1280x1024" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync

    Option "DPMS"
    EndSection

    ### LCD screen ###
    Section "Screen"
    Identifier "local"
    Device "lcd"
    Monitor "dellx1"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1280x768"
    EndSubSection
    EndSection

    ### external screen ###
    Section "Screen"
    Identifier "external"
    Device "vgaout"
    Monitor "generic"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1280x1024" "1024x768" "800x600"
    EndSubSection
    EndSection

    ### external screen - external screen only ###
    Section "Screen"
    Identifier "external-only"
    Device "vgaout-only"
    Monitor "generic"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1280x1024" "1024x768" "800x600"
    EndSubSection
    EndSection

    ### LCD screen - for cloning ###
    Section "Screen"
    Identifier "local-1024x768"
    Device "lcd-clone"
    Monitor "dellx1"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1024x768"
    EndSubSection
    EndSection

    #####################################################################
    ### Server Layouts - define combinations of screens, monitors etc ###
    #####################################################################

    ### Call as 'startx -- -layout '

    ### internal LCD only (default) ###
    Section "ServerLayout"
    Identifier "lcdonly"
    Screen "local" 0 0
    InputDevice "input_kbd" "CoreKeyboard"
    InputDevice "input_mouse" "CorePointer"
    EndSection

    ### external Monitor only ###
    Section "ServerLayout"
    Identifier "monitor"
    Screen "external-only" 0 0
    InputDevice "input_kbd" "CoreKeyboard"
    InputDevice "input_mouse" "CorePointer"

    EndSection

    ## #internal LCD and external monitor - 2 separate desktops ###
    Section "ServerLayout"
    Identifier "twinhead"
    Screen 0 "local" 0 0
    Screen 1 "external" RightOf "local"
    InputDevice "input_kbd" "CoreKeyboard"
    InputDevice "input_mouse" "CorePointer"

    EndSection

    ### internal LCD and external monitor - Cloned at 1024x768 ###
    Section "ServerLayout"
    Identifier "clone"
    Screen 0 "local-1024x768" 0 0
    Option "Clone" "on"
    InputDevice "input_kbd" "CoreKeyboard"
    InputDevice "input_mouse" "CorePointer"

    EndSection

    GDM.CONF: Add following at end of file, immediately after [server-Standard] section, then run gdmflexiserver from inside an X session:


    [server-Monitor]
    name=External Monitor
    command=/usr/X11R6/bin/X -audit 0 -layout monitor
    flexible=true

    [server-Twinhead]
    name=LCD & External Monitor
    command=/usr/X11R6/bin/X -audit 0 -layout twinhead
    flexible=true

    [server-Clone]
    name=Cloned Display
    command=/usr/X11R6/bin/X -audit 0 -layout clone
    flexible=true

    Hope this is useful to someone!

  219. Martin Says:

    Match: Thanks, this is great, especially the gdm.conf stuff.

    This is how I got kbluetoothd (i.e. kdebluetooth) working, see bug 124140 for details:


    # yum install compat-libstdc++-33 compat-libstdc++-296
    # yum install compat-gcc-32 compat-gcc-32-c++

    Verify that you have these packages:
    pkgconfig-0.20-2.2.1
    bluez-utils-2.25-4
    openobex-devel-1.1-1
    libusb-0.1.11-2.2
    libusb-devel-0.1.11-2.2
    openobex-1.1-1
    bluez-libs-2.25-1
    bluez-pin-0.30-2
    openobex-apps-1.0.0-10
    bluez-libs-devel-2.25-1

    Remove kdepim-devel (you can install it later):

    # rpm -e kdepim-devel

    Get patch from
    http://bugs.kde.org/attachment.cgi?id=15273&action=view
    save as “kdebluetooth-openobex-fix.patch” in the same folder as the kdebluetooth tarball that you get from
    http://sourceforge.net/project/showfiles.php?group_id=89888
    and run:

    # tar xjf kdebluetooth-1.0_beta1.tar.bz2
    # cd kdebluetooth-1.0_beta1
    # patch -p1

    As normal user:

    $ kbluetoothd

  220. Martin Says:

    The specs for the SD controller is out!: http://www.sdcard.org/HostController/index.html

    Expect it to be included in the 2.6.17 kernel :)

  221. kristus Says:

    Hi,
    I’m not running FC on my x1 (I’m running Gentoo) but I doubt that should make any difference for the following. My harddrive spins up and down all the time, smartctl reports that I’m up at 10 000 cycles now, and I really haven’t been using this rig much. This is worrying me. I’ve tried using your laptop-mode-tools config, but it doesn’t seem to do much. Is it working for you? Any further instructions you could recommend? Also, this guy John that poseted here said he had reduced this madness to 1 cycle/5 minutes, which seems reasonable. Any idea how he did it, or how I can contact him?

  222. Nick Says:

    Hi,

    Great site … have managed to get most stuff up and running. I need to install some extra memory. I’ve unscrewed all the screws on the underside but couldn’t work out how to open my q30 up without undue force. Is there a special technique to this?

  223. Martin Says:

    kristus: You might want to do as Jan and turn off spindown by for example putting hdparm -B254 /dev/hda in your /etc/rc.local (hm, don’t know what file that would be on Gentoo, maybe /etc/init.d/

    Monitor things with “smartctl -A /dev/hda | grep Load_Cycle_Count” and “ hdparm -C /dev/hda“. At the moment, I use neither laptop-mode nor cpuspeed, Not really sure how often the drive spins down… FYI:

    x1:~:# hdparm -t /dev/hda
    
    /dev/hda:
     Timing buffered disk reads:   64 MB in  3.09 seconds =  20.74 MB/sec
    x1:~:# hdparm -T /dev/hda
    
    /dev/hda:
     Timing cached reads:   2468 MB in  2.00 seconds = 1234.78 MB/sec
    x1:~:# hdparm -i /dev/hda
    
    /dev/hda:
    
     Model=TOSHIBA MK3006GAL, FwRev=BY102A, SerialNo=55623680T
     Config={ Fixed }
     RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
     BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=16
     CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=58605120
     IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
     PIO modes:  pio0 pio1 pio2 pio3 pio4
     DMA modes:  sdma0 sdma1 sdma2 mdma0 mdma1 mdma2
     UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
     AdvancedPM=yes: unknown setting WriteCache=enabled
     Drive conforms to: Unspecified:  ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6
    
     * signifies the current active mode
    

    so, it seems I have an unknown power management setting…

    And…

    x1:~:# smartctl -A /dev/hda | grep Load_Cycle_Count
    193 Load_Cycle_Count        0x0032   096   096   000    Old_age   Always       -       45034
    

    jesus… guess I have to put that hdparm command in my rc.local right away…

  224. Martin Says:

    Nick: On my X1, I have seven screws marked “K” underneath, and when removing those, the keyboard goes off – I think everything is under the keyboard, at least the harddrive.

  225. kristus Says:

    Martin: Thanks! I read that thing about -B254 just some houre after I posted my comment here, but I’m not sure if it workd _that_ great. I’ve used my X1 for perhaps 40 hours since I activated that power management setting, and I’ve got 2500 more parks registered. That means that I get one per minute or so, which of course is better than my 3-5 per minute before. But if John managed to get it to 5 minutes per park, I would love to know how he did it…

    Nick: I think the following will be useful for you:
    http://support.dell.com/support/edocs/systems/latx1/en/sm/index.htm

    Also, am I mistaking when I think that the Mini PCI card slot is occupied with the stock intel wireless network card? I’ve planned to install a Atheros or Ralink based card and just wonder if I’ll have to remove the stock one.

  226. mark Says:

    As for the Load_Cycle_count, here’s what I have:

    % smartctl -A /dev/hda | grep Load_Cycle_Count
    193 Load_Cycle_Count 0×0032 090 090 000 Old_age Always – 109502

    From reading the smartctl man page, the drive is giving me a “normalized” value of 90. When that value gets to 0 (the value in the threshold column) then the drive will be iconsidered “old_age”. From looking at the other values, I’m guessing a new X1 will have a normalized value of 100. So after 1 year of use (and 109502 load cycles), it went from a 100 to a 90. If it decreases linearly, I’ve got 9 more years left. so maybe this is nothing to be worried about?

  227. clown Says:

    For those who asked how to flash the BIOS with Dell FlashBIOS Axx.
    I just updated gentoo wiki

  228. Bjørn Christian Sebak Says:

    Hi. Im still trying to get my Ubuntu install (6.06 Beta this time) to lit up my wonderful external 24″ Dell panel, but no luck so far. Only at flickering 1024×768, which isnt very usefully when the screens good for 19201200.

    Following the latest xorg-code from “Match”, i pasted in the code in the xorg.conf-file (renamed the keyboard/mouse identifiers to match mine), hit Ctrl+Alt+Backspace to kill X, and then tried starting it again using

    startx -layout lcdonly
    startx -layout clone
    startx -layout monitor

    Either one of those commands ends in the following strange error:

    “FreeFrontPath: FPE “/usr/share/X11/fonts/misc” refcount is 2, should be 1 ; fixing
    .

    Very strange. Anyone got an idea what the problem could be? Im a linux beginner, so if you do, please spell it out in bit letters :) (please dont give me anything like “lol. you just recompile the kernel and….etc ” or ill go hide somewhere safe untill Mr.Gates comes to my rescue…). :)

  229. Fred Says:

    Bjørn: I have an external hp2304 running with 1920×1200 resolution in Ubuntu with the X1. This is how I made it work. I guess you have 915resolution running already, so I’ll skip that part.

    You need to add a new monitor section to your xorg.conf file. Here’s mine.

    Section "Monitor"
    Identifier "HPf2301"
    VendorName "Hewlett Packard"
    ModelName "f2304"
    Option "DPMS"
    HorizSync 30.0 - 92.0
    VertRefresh 48.0 - 85.0
    Modeline "1920x1200_60.00" 154.00 1920 1968 2000 2080 1200 1203 1209 1235 +HSync -Vsync
    EndSection

    Now add a new screen. The monitor name should be the same as the identifier of section “monitor”.

    Section "Screen"
    Identifier "external"
    Device "device0"
    Monitor "HPf2301"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1920x1200_60.00"
    EndSubSection
    EndSection

    Make sure you have this in the serverlayout section.

    Section "ServerLayout"
    Identifier "Multihead Layout"
    Screen 0 "external"
    Option "Clone" "off"
    EndSection

    Finally edit the file /etc/init.d/bootmisc.sh and uncomment the line not to be used at the next boot. Your last lines should look like this:

    #/usr/sbin/915resolution 38 1280 768
    /usr/sbin/915resolution 38 1920 1200

    : exit 0

    I have no idea if this is the best way of doing it, but it works for me. Good luck!

  230. Bjørn Christian Sebak Says:

    Hi again. This is my Xorg.conf atm, with your posted code in it. I also changed the VBIOS-flash-line in bootmisc to 1920 1200. I have not yet fixed the correct modeline for the 2405, but your should at least get me a picture.

    Xorg.conf

    When i boot now, i just get the normal laptop screen and no apparent attempt at lighing up the big 24″. Question is, do i have to do something else to make it use the screen? I tried “startx -layout external”, but i got another error related to some FreeFonts-stuff which didnt made any sense.

    Hope you can give me some hints. Im SO close now :)

  231. Martin Says:

    Bjørn: Try to comment out most of the “FontPath” stuff. Have you checked if the fonts are installed?

  232. Fred Says:

    You need to switch on the external monitor using the Fn + F8 button. Do this before or during boot.

  233. Bjørn Christian Sebak Says:

    Yes! Now we are getting somewhere.

    I hit Fn+F8 while in GRUB and now it started X using the external monitor at 1920×1200. Didnt have to comment out any fonts (but still got font errors in xorg.0.log..).

    Only imporant think i had to do was change the line in bootmish from

    /usr/sbin/915resolution 3c 1920 1200
    to
    /usr/sbin/915resolution 3a 1920 1200

    Only problem now is that the image on the screen is not very stable. I tried auto-adjust on the monitor, but it didnt get the picture completely right. The text is shaky and images generallty blurry.

    I tried some different modelines in xorg, finding some samples off google that ppl tell me should fit the 2405-s settings well. But so far no luck. Most of them causes X to display the desktop in zoomed in scrolling mode (like 640×480 or so at a time,where moving the mouse to an edge scrolls the screen).

    Anyone with an 2405 kind enough to drop me their modeline and vert/horiz- settings, ill be very happy :)

    Also, since we are using analog VGA, i guess i cant use the same modelines from ppl using DVI?

    Also. After booting X now, these issues are still there. Dunno if they matter much or have anything to do with my blurry problem:


    root@ubuntu:/home/brsseb# cat /var/log/Xorg.0.log | grep WW
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    (WW) The directory "/usr/share/X11/fonts/cyrillic" does not exist.
    (WW) I810: No matching Device section for instance (BusID PCI:0:2:1) found
    (WW) I810(0): Bad V_BIOS checksum
    (WW) I810(0): Bad V_BIOS checksum
    (WW) I810(0): Bad V_BIOS checksum
    (WW) I810(0): Extended BIOS function 0x5f05 failed.
    (WW) I810(0): PGTBL_ER is 0x00000010
    (WW) I810(0): Disabling XVideo output because Pipe A is in double-wide mode.

  234. Bjørn Christian Sebak Says:

    After trying lots of different modelines, I discovered in the Dell s on-screen-control panel that the current D-SUB/VGA input where not running 1920×1200@60 at all, but 1600×1200@50Hz! Ubuntu still claims its running 1920×1200 at 60 (at least thats what Resolution changer in Gnome tells me).

    At least that would explain the screens shaky and messed-up image quality. Anyone have an idea what im doing wrong :| ?

  235. Anthony Says:

    Total noob to linux here. I just installed my X1. Gonna start working on getting everything working now… I’ve got the regular issues, resolutions issues, suspend to ram, etc. Since we’re all using the same hardware here how about one of you gurus posting a torrent or something to a preconfigured Ubuntu install??

    Something configured out of the box would be great for everyone with an X1. Especially those not very proficient or knowledgable with linux.

    Thanks!

  236. CK Says:

    I have just placed an order for a Samsung Q30 – understand that this system is no different from the Dell Latitute X1. It should arrive in the next two weeks or so.

    The distro I am going to try is Novell SuSE Linux 10.1 Beta. Will report back my progress when I get my chance to work on it.

  237. Martin Says:

    Anthony: Good idea – anyone want to do the job…?
    CK: Great!

  238. Thomas Says:

    Just want to post, that aixgl is working fine on my ubuntu-install (dapper-beta).

    It gives me all the fancy effects only mac-users could be happy about … smooth without low framerates …

    if you want to install it … follow this guide (I did and it worked out of the box)

    http://www.ubuntuforums.org/showthread.php?t=145068

    greetings
    Thomas

  239. Rob Says:

    Quick question to Thomas.

    What are your experiences with suspend and hibernate using aixgl? I’m running xgl on my main box, but have been holding off installing it on my x1, need it for work, thus needs to suspend and resume.

  240. roman Says:

    Great site, saved me a lot of trouble!

    The biggest problem I still have with linux (here: Debian testing) on the X1 is the poor battery life. When I watch the battery power consumption (/sys/proc/acpi/battery/BAT0/state), I got about 1200mA in Linux, whereas in Windows it’s only around 950mA – this amounts to 20% less or 20 minutes more battery life. This is (both systems) with bluetooth turned off in bios, screen brightness two notches down from max, wlan on, powernowd running in linux (600mhz), no system load, no laptop-mode (but neither in windows the harddisk spins down).
    Does anyone have any clue about this?

    best,
    roman

  241. Martin Says:

    roman: This is what I get (brightness to notches down from max, wlan on and active, no powerdownd but using kernel space govenors running at 600 MHz, bluetooth on but not active, big 9 cell battery):

    # cat /proc/acpi/battery/BAT0/state
    present: yes
    capacity state: ok
    charging state: discharging
    present rate: 1149 mA
    remaining capacity: 3835 mAh
    present voltage: 12286 mV
    # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    ondemand

    I share the impression that that Windows gives about 20 min extra battery time. Might it be because of the fact that in Linux the wired network card is on and active (blinking) even when it is unused? I’m using NetworkManager (great tool!), but putting unused cards to sleep/turning them off is not yet implemented I think.

    What about the other controllers – maybe Windows sends them to sleep: The CF card slot, the SD card slot, the IEEE 1394 firewire controller, external crt port, the modem?

    To me it also seems that the power consuption during sleep is a bit high (using kernel space swsusp “echo mem > /sys/power/state“). Any suggestions appreciated.

  242. roman Says:

    Martin: I don’t have the impression that the wlan card makes a big difference: if I turn it off with Fn+F2, the rate doesn’t really decrease significantly – supposing that Fn+F2 really turns it off. About the other controllers: no idea how to access their state or turn them off.
    what i did recently was to turn on wlan power saving mode:
    iwconfig eth1 power on
    and to turn of recording filesystem read access, by adding the option ‘noatime’ to the root fs in fstab. both didn’t make any noticeable difference. Right now I changed to the 6cell and have about 1070mA, being absolutely idle, wlan off.

    Btw: you mention a 9cell battery – I didn’t know that there was a bigger one than the 6cell?

    And another thing: sleep and suspend works fine, the only annoyance is that after waking up from sleep, linux immediately goes into suspend. But this just comes to my mind, if it was disussed above anyway, just say rtfm :)

    best,
    roman

  243. Martin Says:

    roman: Sorry – I got that number upside down – it is indeed a 6 cell battery ;) (and the numbers above is when it is almost fully charged). About sleepmode – make sure you don’t have any *~ or backup files in your /etc/acpi/actions folder, because I think acpid will run them all.

  244. Martin Says:

    Sorry – in my last comment I meant /etc/acpi/events

  245. roman Says:

    Ok, I solved the lid problem, which was that linux went into sleep right again after opening the lid (and not into suspend as I originally wrote). Actually it was quite obvious: the sleep-event calls the sleep.sh script for both events: closing and opening the lid. So echo 3 > /proc/acpi/sleep was called each time. I simply split the contents of sleep.sh by testing if grep "closed" /proc/acpi/button/lid/LID/state and having the echo 3... only there.

    Thanks anyway!
    roman

  246. Bjørn Christian Sebak Says:

    After almost a month of experiments, this is how far my external monitor-problem has gotten:

    http://www.ubuntuforums.org/showthread.php?p=1065064#post1065064

    Hope if any of you can give me some more input on this.

  247. mark Says:

    Have you checked the refresh rate for the 1920×1200 mode that windows is using, and try to match that in linux?

    Here’s a 50hz modeline you could try. I use it on a dell D800 laptop where the graphics card pixel clock max is 165, so it cant do 1920×1200 at 60Hz. This has nothing to do with the x1, but it doesn’t hurt to try.

    ModeLine “1920×1200″ 162.0 1920 1984 2176 2480 1200 1201 1204 1250 +hsync +vsync

    You can generate you own modelines with ‘gtf’, which comes with xorg. Here’s two more:

    ~ >gtf 1920 1200 60

    # 1920×1200 @ 60.00 Hz (GTF) hsync: 74.52 kHz; pclk: 193.16 MHz
    Modeline “1920x1200_60.00″ 193.16 1920 2048 2256 2592 1200 1201 1204 1242 -HSync +Vsync

    ~ >gtf 1920 1200 50

    # 1920×1200 @ 50.00 Hz (GTF) hsync: 61.75 kHz; pclk: 158.08 MHz
    Modeline “1920x1200_50.00″ 158.08 1920 2032 2240 2560 1200 1201 1204 1235 -HSync +Vsync

  248. Bjørn Christian Sebak Says:

    Thanks for the answer mark, but it didnt work. I know that both the chipset and the monitor do 1920x1200x60 just fine from windows. I also know that the pclk MUST be 154MHz for it to work. The 193.16-MHzline that gft suggestet resultet in a “cant display this mode”-error from the monitor.

    But the strangest thing is, that the 154-modeline im already using:

    Modeline"1920x1200" 154 1920 1968 2000 2080 1200 1203 1209 1235 +HSync -Vsync

    result in the screen setting its clock, not to 154 as it should, but to…194MHz! (the dell onscreen display tells me the Mhz its using). This aint right. It has to be dead on 154MHz for my screen to be happy, as it is in windows.

    Any clue on whats going on with my modeline? Can the error be other places in the xorg-file, affecting the MHz somehow?

  249. mark Says:

    I doublt this will help, but I did noticed the gtf produced modeline (with 154 pclk) is different than the one you posted:

    # 1920×1200 @ 48.75 Hz (GTF) hsync: 60.16 kHz; pclk: 154.00 MHz
    Modeline “1920x1200_48.75″ 154.00 1920 2032 2240 2560 1200 1201 1204 1234 -HSync +Vsync

  250. Bjørn Christian Sebak Says:

    Thankz mark, but it didnt work :( .

  251. Bjørn Christian Sebak Says:

    Running dpkg-reconfigure xserver-xorg in external mode, while letting X atempt to autodetect my monitor, the big screen goes black, the laptop screen lights up instead filled with all kinds of graphical garbage, totally locking up the computer.

    Its just sad now, really.

  252. Match Says:

    Just a quick message about the latest Ubuntu (Dapper – aka 6.06)

    I’ve been using this in beta for a while, but can heartily recommend it for the X1 – the following things worked ‘out of the box’ (amongst others…):

    SD Card Reader
    Suspend-to-RAM
    Suspend-to-Disk (aka hibernate)
    X configuration (just needed to tweak /etc/default/i915resolution)
    Wireless (including monitor mode for Kismet etc) (I generally use NetworkManager which is a really fantastic tool!)
    Keyboard shortcuts (standby, volume etc)

    All in all, since I moved from Breezy to Dapper about a month ago, I haven’t had to tweak anything in /etc apart from adding the stuff in the xorg I previously described for the multiple head setups and minor things like ntp servers :) I would definitely recommend this as a good distro for new users, particularly those who want as much working from the start as possible.

  253. Bjørn Christian Sebak Says:

    Match: Yes, Ubuntu is a lovely distro. Been testing it since the 5.04 version, and it works fine on the X1. As you say, everything just works!

  254. Austin Says:

    Warning! The recent fedora kernel update (2.6.17) delivers a i810 driver (i think) that doesn’t work when resuming from suspend. Machine suspends and wakes fine with the scripts found on this page, but the display does not wake up.

    Anyone have any ideas?

  255. Martin Says:

    I can confirm this – I just change the default in my /etc/grub.conf and now boot the old kernel instead (2.6.16-1.2111_FC5).

    The /var/log/Xorg.0.log.old showed a “lockup” or something.

    I think something similar happend when using FC4 and som particular kernel. I guess someone will fix this soon…

  256. Austin Says:

    Too bad, the new kernel supports the SD card reader. For those of you with bugzilla accounts, this is filed under bug number 196589. If you have additional info (such as the log file you mentioned Martin), post it there and hopefull the devs will fix it.

  257. Austin Says:

    Workaround (for 2.6.17 display resume problem):

    Add

    Option “VBERestore” “true”

    to your xorg.conf device section for your video device

    And before suspend issue a chvt 8. On resume, issue a chvt 8; chvt 7

    I have added these commands to my sleep script.

  258. Martin Says:

    I managed to do a workaround for this bug by simply changing to textmode (virtual terminal) before suspend (/usr/bin/chvt 1) a /usr/bin/chvt 7 on resume. I still have to do a Fn-UpArrow to wake up the display, but this way X doesn’t hang. This works for me with kernel 2.6.17-1.2139_FC5.

    By the way – where did you file this bug? I didn’t find it anywhere – have you got a direct link?

  259. Martin Says:

    Hey, Austin, thanks – now I read your workaround ;)

  260. Austin Says:

    Martin, have you tried the dellsmbios utilities for waking up your screen after suspend, avioding the Fn-UpArrow issue? It has been working great for me for several months.

  261. kristus Says:

    It seems that some people (including me) on the gentoo boards experience problems with cpu frequency scaling getting stuck in one way or the other with the Latitude x1′s. To be more specific, my problem is that when the cpu temperature reaches approximately 69 degrees celsius, the maximum available cpu frequency drops from 1100 MHz to 800 MHz, and after some time down to 600 MHz! I’ve tried several different kernels versions (both vanilla and with the gentoo patches) and configurations (both with and without cpufreq enabled) but the problem seems to be there no matter what I try. I have explained this more thoroughly in this post, for anyone interested to help us out:
    http://forums.gentoo.org/viewtopic-t-468703-highlight-cpufreq+latitude.html

    I would really appreciate some input on this one.

  262. FrIkI Says:

    kristus, I think it’s a hardware potection. I have the same ‘problem’ over Debian.

    Can some one try it over BSD or other SO??

    Tnks.

  263. kristus Says:

    FrIkI, I’m 100% sure that I didn’t have this problem some months ago, on the same installation of Gentoo Linux (of course, I have upgraded the kernel and other software numerous times since then). One indication is for example portage (emerge) logs indicating that my compile times were roughly a third (1/3) back then compared to now. Another is that I have seen my CPU at 75 degrees celsius, something that is impossible now.

    In fact, I think the cause is a BIOS upgrade (from version A04 to A05). In the changelog one can read that the only important change is: “Update thermal table v 1.2.” which sound like something that could’ve caused this shit. I have tried with downgrading to BIOS version A04, but that didn’t help, though. Not sure if downgrading would revert back that kind of stuff (the thermal table) but I guess it should. I might try downgrading to A03 or even older some other day, just to be sure. I’m desperate! If that doesn’t do it I’ll try getting in touch with the Dell support, altough I doubt they can help with such technical issues.

    What about you other guys, martin et al? Do you experience this? What BIOS versions, kernel and OS/distro do you use?

  264. Thomas Says:

    Hi kristus,

    the problem is related to the new bios or a new cpu for sure. My motherboard was changed mid of april. And since then the speedstepping works like shit to me. Under Windows it even stucks at 200 Mhz some times.

    Today I called the technichal support and the claimed the know about the problem and it has something to do with a heat protection in the processor. So I asked them what to do about and they told me I should wait until its getting colder, because it should be related to the high temperatures outside. Of course I didn’t accept that, because with 200 Mhz the X1 is nearly unusable. So I asked them about an solution, because I we can’t cool the device actively, and they want to call me back …

    thats all that I know
    keep you posted

    greetings
    Thomas

  265. kristus Says:

    I got my X1 around christmas 2005 (i.e. 7-8 months ago) with BIOS v A04 pre-installed. I didn’t have that problem back then, so I’m pretty sure it’s something with the newest BIOS version, specifically that thermal tablue update. What’s disturbing is that the problem is still present even though I have downgraded to v A04… I’m goind to try downgrading it even further now.

  266. kristus Says:

    At last! I’m running at 1100 MHz and a temperature 76 degrees celsius! Downgrading to version A02 (thermal table 1.0) did the trick! Maybe I didn’t get A04 (thermal table 1.1) pre-installed, but had A02 until that wretched evening in may when I upgraded all the way up to A05 (thermal table 1.2).

    I also tried with A03 and its thermal table 1.1, but that didn’t solve it. And I guess that makes sense since A04, with its identical thermal table, didn’t work either. I do wonder if the downgraded 915Gms graphics video BIOS makes much difference.

    Also, I don’t think anyone should worry much about high temperatures on a pentium m cpu; I’ve seen numerous sources stating that pentium m’s can withstand temperatures up to 100 degrees celsius before leaving their safe zone.

  267. Martin Says:

    I am using the A03 BIOS, running Fedora Core 5 and KDE and my system scales good at the moment (Temperature 47 degrees celsius). But I have had problems with the A03 Bios and earlier kernels. Currently I’m running the 2.6.17-1.2139_FC5 kernel, and I can not remember to have any problems with that kernel. This is actually the only kernel I’ve tried that does not give the error message “PCI: Failed to allocate I/O resource #7:1000@10000 for 0000:02:01.0” during boot (with no special kernel options). I’m just about to try the new 2.6.17-1.2157_FC5 kernel now. Some more info:

    x1:~:# for file in /sys/devices/system/cpu/cpu0/cpufreq/*; do echo $file:;cat $file;done
    /sys/devices/system/cpu/cpu0/cpufreq/affected_cpus:
    0
    /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq:
    600000
    /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq:
    1100000
    /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq:
    600000
    /sys/devices/system/cpu/cpu0/cpufreq/ondemand:
    cat: /sys/devices/system/cpu/cpu0/cpufreq/ondemand: Is a directory
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies:
    1100000 800000 600000
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors:
    ondemand userspace performance
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:
    600000
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver:
    centrino
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor:
    ondemand
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:
    600000
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq:
    600000
    x1:~:# lsmod|grep cpufreq
    cpufreq_ondemand 6881 1

  268. Martin Says:

    Strange – when I tried the new kernel (2.6.17-1.2157_FC5) I did a soft reboot, and got the error message “PCI: Failed to allocate I/O resource #7:1000@10000 for 0000:00:1e.0” and found that cpu frequency scaling didn’t work (at about 65 deg celsius). Therefore I though that this error had something to do with the scaling. Then I rebooted the old kernel 2.6.17-1.2139_FC5, for which frequency scaling did work before, and now it didn’t. Still at about 65 deg celsius. So, I did a cold boot with the new kernel 2.6.17-1.2157_FC5, and hey, cpu frequency scaling works again – but now the temperature had fallen to about 55 deg celsius.

    So, this definately has got something to do with the temperature (and not the PCI error).

    kristus: I guess you are right! What are the other diffences between the BIOS versions? Should we all downgrade?

  269. kristus Says:

    You find the complete changelog here: ftp://ftp.dell.com/bios/LX1_A05.TXT
    But for your convenience, I’ll post the relevant parts for versions A02 and up here:

    A05
    Intel 915GMS Graphics Video BIOS version 1219
    1. Update thermal table v 1.2.
    2. Update Intel 2006 logo but Centrino keep the same.

    A04
    Intel 915GMS Graphics Video BIOS version 1219
    1. Added support for Battery Health Meter(BHM).
    2. EDiag PSA Build 3018.
    3. Added support for Absolute Computrace Security Solution Feature.

    A03
    Intel 915GMS Graphics Video BIOS version 1219
    1. Update CPU Speedstep to OVID method.
    2. update thermal table to reversion 1.1

    A02
    Intel 915GMS Graphics Video BIOS version 1205
    + plus bug fixes and improvements which of course isn’t very interesting as version A01 isn’t available any longer

    None of the features added in versions A03 and up seems very interesting to me, given that all the scaling and/or thermal table changes only seem to make things worse; otherwise they would have been of interest. A better graphics video bios and support for the battery health meter (whatever that is) wouldn’t hurt, though, but I certainly don’t miss them. All the bug fixes and the really important feautres seems to already have been introduced in version A02. So, if the old graphics video bios makes e.g. dual-monitoring worse and you use it (I don’t), or that you desperately need the Absolute Computrace Security Solution Feature (given my paranoia, I’m very pleased with its absence), A02 seems to be sufficient.

    Martin (and you other X1 owners out there), have you ever tried putting the CPU under really heavy load? You could try e.g. prime95′s torture test (http://www.mersenne.org/freesoft.htm), compiling something BIG or cpuburn, run one of them for an hour while monitoring the CPU temperature and cpufreq settings. The important thing (for me) is if it manages to reach 70+ degrees celsius without throttling down to 800 or 600 MHz max freq. That was my problem. Maybe you haven’t checked the scaling state at the right time and thus not noticed it (I do load of compiling, so I noticed it almost directly)? Or maybe the problem really is something else?

  270. Austin Says:

    Martin, you suggested you found some kernel arguments to take care of the “PCI: Failed to allocate I/O resource #7:1000@10000 for 0000:00:1e.0” error at startup. Mind sharing what those were?

  271. Martin Says:

    Hm, I think I mixed this up with the ‘irqpoll’ argument which has nothing to do with this. If you look here, a guy named Alessandro Suardi reported this bug to the Linux Kernel Mailing List in 2005, but got no response… Any idea what the error means? Is something supposed to not work when we get this error?

  272. Martin Says:

    Aha:
    x1:~:# lspci|grep "00:1e.0"
    00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)

    Er… what is this?

  273. Austin Says:

    I don’t know. With the new kernel, everything seems to be working just fine, although I have not tested the CF card slot yet, but I assume it works.

  274. Martin Says:

    Yep, and with these two lines added to /etc/modprobe.conf the SD card slot also works:
    install sdhci /sbin/modprobe mmc_block ; /sbin/modprobe --ignore-install sdhci
    remove sdhci /sbin/modprobe -r --ignore-remove sdhci ; /sbin/modprobe -r mmc_block

    I was just about to ask about the thermal table issue in the Dell Linux forum, but they deleted it? It is gone. Where is the appropriate place to ask?

    btw, I’ve updated my (still chaotic) Linux on the Latitude X1 page. And now that I know about the thermal table blocking the speedstepping it drives me nuts – now that it is hot even in Norway…

  275. kristus Says:

    I remember seeing that PCI failure in dmesg before using the same kernel as now, but currently (due to the A02 BIOS?) I don’t:
    kristus ~ $ dmesg | grep “00:1e.0″
    PCI: Setting latency timer of device 0000:00:1e.0 to 64
    PCI: Setting latency timer of device 0000:00:1e.0 to 64

    One more reason to go with A02?

  276. Martin Says:

    I just downgraded to the A02 BIOS, and frequency scaling is working again (thanks kristus!)
    But I still have PCI-error during boot, and it is still seen in ‘dmesg’:

    $ dmesg | grep Failed | grep 00:1e.0
    PCI: Failed to allocate I/O resource #7:1000@10000 for 0000:00:1e.0

    kristus: Are you using any special kernel parameters in your grub.conf?

    I also saw this interesting message:

    $ dmesg|grep hidden
    PCI: Bus #03 (-#06) is hidden behind transparent bridge #02 (-#03) (try 'pci=assign-busses')

    I’ll try the suggested kernel parameter soon ;)

  277. Martin Says:

    With the ‘pci=assign-busses‘ kernel option there seems to be a couple of ‘PCI quirks’, an ignored ‘BARO-3′ for the IDE controller, an bogus resource ’6 [0:0] of 0000:00:02.0′ that is ignored and a cache line size of 32 that is ‘not supported by device 0000:00:1d.7′:
    x1:~:# dmesg|grep PCI|grep -v ACPI:
    Allocating PCI resources starting at 60000000 (gap: 50000000:90000000)
    PCI: Using MMCONFIG
    Setting up standard PCI resources
    PCI: Probing PCI hardware (bus 00)
    PCI quirk: region 1000-107f claimed by ICH6 ACPI/GPIO/TCO
    PCI quirk: region 1080-10bf claimed by ICH6 GPIO
    PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
    PCI: Transparent bridge - 0000:00:1e.0
    PCI: Using ACPI for IRQ routing
    PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report
    PCI: Ignore bogus resource 6 [0:0] of 0000:00:02.0
    PCI: Failed to allocate I/O resource #7:1000@10000 for 0000:00:1e.0
    PCI: Bridge: 0000:00:1c.0
    PCI: Bus 3, cardbus bridge: 0000:02:01.0
    PCI: Bridge: 0000:00:1e.0
    PCI: Setting latency timer of device 0000:00:1c.0 to 64
    PCI: Setting latency timer of device 0000:00:1e.0 to 64
    PCI: Enabling device 0000:02:01.0 (0000 -> 0003)
    PCI: Setting latency timer of device 0000:00:1c.0 to 64
    pci_hotplug: PCI Hot Plug PCI Core version: 0.5
    ICH6: IDE controller at PCI slot 0000:00:1f.1
    Yenta: ISA IRQ mask 0x04b8, PCI irq 177
    pcmcia: parent PCI bridge Memory window: 0xdfc00000 - 0xdfcfffff
    pcmcia: parent PCI bridge Memory window: 0x60000000 - 0x61ffffff
    LID PBTN PCI0 USB0 USB1 USB2 USB4 USB3 MODM PCIE NIC
    PCI: Setting latency timer of device 0000:01:00.0 to 64
    eth0: Tigon3 [partno(BCM95751) rev 4001 PHY(5750)] (PCI Express) 10/100/1000BaseT Ethernet 00:12:3f:68:f7:cd
    PCI: Setting latency timer of device 0000:00:1d.0 to 64
    PCI: Setting latency timer of device 0000:00:1d.1 to 64
    PCI: Setting latency timer of device 0000:00:1d.2 to 64
    PCI: Setting latency timer of device 0000:00:1d.3 to 64
    ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[209] MMIO=[dfcfe800-dfcfefff] Max Packet=[2048] IR/IT contexts=[4/4]
    PCI: Setting latency timer of device 0000:00:1d.7 to 64
    PCI: cache line size of 32 is not supported by device 0000:00:1d.7
    PCI: Setting latency timer of device 0000:00:1e.2 to 64
    PCI: Setting latency timer of device 0000:00:1e.3 to 64

    Everything seems to be working just fine though. I’ll try the “pci=routeirq” parameter next. (The above is with kernel 2.6.17-1.2157_FC5)

  278. Austin Says:

    Has anyone noticed one of the recent updates killed the external dvdrom? I plug it in, insert a cd and get nothing. Any ideas?

  279. Martin Says:

    Same here, but usb memory stick, CF cards and SD cards works as before. See bug 131734 at kde.org. Also, I think the “safely remove” function on the right-click-menu is not working as before on anything. My extra FAT partition also disappeared. Everything is working fine on manual mounts though.

  280. Martin Says:

    Regarding the bug report – although the bug title seems a bit off, it is the same bug as Austin describes above. Post your comments in the bug report and vote for it, and I guess it will be fixed soon.

  281. Martin Says:

    Regarding the “pci=routeirq” mentioned in my comment above, it did not help.

  282. Austin Says:

    We should probably report this in the fedora bugzilla. I am experiencing this problem in GNOME. I think the problem occurred when I installed the hal-gnome-0.5.7.1-2.fc5 and hal-0.5.7.1-2.fc5. Since this is happening in KDE, i am guessing the faulty update was hal-0.5.7.1-2.fc5. I, too, have USB sticks, CF cards, and SD cards working correctly. Manual mounts of the cdrom works as you described, Martin.

  283. Austin Says:

    Done. See bug #201400 at bugzilla.redhat.com

    As Martin said, pease comment so we can get this fixed.

  284. Martin Says:

    Austin: I have commented on the bugzilla hal bug, but I was not able to mark the bug “confirmed”: only the owner or submitter of the bug, or a sufficiently empowered user, may change that field..

  285. Austin Says:

    I wasn’t able to mark the bug confirmed either. I did find a work around though:

    su -
    wget http://mirror.linux.duke.edu/pub/fedora/linux/core/updates/5/i386/hal-0.5.7-3.fc5.2.i386.rpm
    wget http://mirror.linux.duke.edu/pub/fedora/linux/core/updates/5/i386/hal-gnome-0.5.7-3.fc5.2.i386.rpm
    rpm -Uvh –oldpackage hal-0.5.7-3.fc5.2.i386.rpm hal-gnome-0.5.7-3.fc5.2.i386.rpm

  286. john Moylan Says:

    I have just received confimation from Dell that my X1 battery – purchased last December has been recalled:

    http://www.theregister.co.uk/2006/08/16/sony_recall_cost/

  287. Martin Says:

    John: That’s strange – the Dell Latitude X1 is not listed here: https://www.dellbatteryprogram.com/Default.aspx (as far as I can tell)

  288. john Moylan Says:

    Customers are being notified by email, but I don’t think they have updated their site yet. According to thois story on the Register the https://www.dellbatteryprogram.com/ site still had not been updated for the latest recall as of the 14th August.
    http://www.reghardware.co.uk/2006/08/14/dell_laptop_recall/

  289. john Moylan Says:

    Hi, Just to correct my last post. It seems X1′s are indeed not affected. The mail I receved was in fact relating to some other laptops puchased for other staff members at our company.

    J

  290. Martin Says:

    Thanks John – we’re all ok then :)

  291. beerchiu Says:

    the heat and lame speed problem appeared on windoz too, and not specific to linux – i haven’t tried A02 bios yet, my solution was to buy one of those ‘chillpad’ or ‘coolpad’ thing – i know it’s big and ugly, but with it i can compile open office all night and cpu never dips under 1.1… without it (roaming in non-ac place e.g) of course is another story ;)

  292. thomas Says:

    i had that heat and speed problem too … the proper solution is not buying any stuff, but calling dell. as they couldnt fix that problem I told them to give me a new d420 for free … and they did. theres noplace that says you could not use the cpu with full speed on several temperatures, so you have a right on those 1.1 ghz … so call them and tell them to give you a new laptop.

    greetings
    thomas

  293. Bjørn Christian Sebak Says:

    I had no heat issues with my Dell X1, no matter how hard I tried to make it lock up, I couldnt. I reached 78* C using large MBs SuperPI calculations, but it still wouldnt lock up.

    I also got this old, badly coded computer game called Emperor Rise of The Middle Kingdom, a Ceasar4-style game, which I played for hours on end causing massive heat generation and 60-70* CPU temperature. Never once can i remember a lockup where I suspected heat.

    The heat issues some people are having must be down to a fault in the cooling unit. Good to see Dell are replacing them with out too much trouble.

    Ive sold my Dell X1 and switched to a Dell XPS M1210, as I wanted more power, memory and HD space. The X1 is off to a new hopefully happy home. Hopefully there will be a fanless “X2″ sometime in the future…

  294. beerchiu Says:

    interesting, thomas – did you had your x1 for some time and dell would still exchange for d420? i just want to know what are my chances :) (i had mine for little over a year and am itch for a new toy ;)

    BTW, i just upgraded to A06 BIOS today and although the release note didn’t mention anything, but after some use there is a hint that cpu throttle problem is diminished compared to A05.. anyone tried A06?

  295. thomas Says:

    to answer short, i bought my x1 when it was released, and I changed it end of july, so i had it at least for 13 month. you just have to tell dell, that there is nowhere a not you cant use 1.1 Ghz because of the temp. if they are not able to guaranty you that speed, they shouldnt sell a fanless system. after 4 hours of calling dell (Germany) they accepted. you just need to stay with your attitude. the wanted to give me a d410 first, but the d420 is much more comparable. they even gave me a new 3 years nbd-warrenty. so give it a try. the last information i have, is that there is no general rule how to treat that problem and the customers.

    greetings
    thomas

  296. Anonymous Says:

    thomas: What kind of d420 did you get? Single or dual core?

    I personally wouldn’t bother if I only got a single core since that in fact would be a downgrade (40 MHz!) and on top of that I would have to bear with the fan noise. A PC card slot wouldn’t hurt though…

  297. thomas Says:

    dual core, because you have to get the same amount of mhz. as the fastest single core is 40mhz slower they have to give you the dual core … it was the same with my ram. i had 756 and they had to give me 1024 because there are only options for 512 and 1024 for the d420 … so i really made a pretty good deal :P

    greetings
    thomas

  298. kristus Says:

    Wow! Maybe it’s not such a bad idea after all, then… dual core would speed up my compiles significantly! I would get a 256 MB RAM-boost as well, since 512 is the smallest amount they ship with. What about hard drive? I have 60GB; did they give you the stock 80GB or did you get

    How often is the fan a problem, noise-wise? My primary reason for settling with the X1 was that it’s fanless, not that it ultra portable or anything else. Do you think I would be happy with a d420?

  299. thomas Says:

    hi kristus …

    they give me the 60gb harddrive … as long as they dont need to get higher, they won’t :P

    noise is kinda of a problem. I used to keep my x1 running over night. the d420 is hearable if every sound is shut off in the room. you also hear the fan, when it starts to blow, while normally working. I dont really know about what to suggest. just try it … I think they let you try the nb for at least 1 week, before you need to give them your x1 …so give it a shot … the dual core is worth the noise I think … lol

    greetings
    thomas

  300. Igor Bukanov Says:

    Regarding recently released A06 BIOS. I tried it and as far as I could see it has the same throttling issues as A05.

    The frequency table contained just 600, 800 and 1100MHz and the system would go to 600Mhz whenever CPU temperature hits 60C.

    So I switched back to A02 BIOS. Yes, with it the CPU temperature can reach 75C with heavy compilation when the room temperature is 23C, but the system is fully stable.

    As a side comment Ubuntu 6.06 after the system installation required just to install 915-resolution package to get everything except modem working.

  301. Martin Says:

    Regarding the CPU clocking problem (Freq. getting stuck at 600 MHz when temperature hits 60 C) I used my service tag and contacted Dell Support. They answered that (freely translated from something that resembles norwegian):

    When the machine clocks down to 600 MHz when the temperature is around 60 C, this is to protect the system. The reason it [clocking up and down] works in A02, is that it wasn’t implemented until version A03.

    Unfortunately, Dell does not support CPU clocking, and I can say with pretty much certainty that downclocking when the system reach a certain temperature will not be removed in future releases.

    From our point of view, the system works as it should.

    What should we think of this?!

  302. kristus Says:

    What should we think of this?!

    That it’s absolute bullocks!

    When the machine clocks down to 600 MHz when the temperature is around 60 C, this is to protect the system.

    What’s that? To protect the CPU from DELL’s own design? That’s just plain ridiculous.

    Unfortunately, Dell does not support CPU clocking [...]

    What are they talking about? That they deny their Pentium M’s use of speedstep? It would make sense if they didn’t support OVERclocking, but that’s a whole different story.

    From our point of view, the system works as it should.

    From my point of view, I bought a computer with a 1100 MHz CPU, not a 600 MHZ one. You see, about the only situation where I would be able to run my X1 with the A03 BIOS at it’s designated speed for longer than 5 minutes would be in arctic conditions. Unfortunately, that’s prohibited by the technical specification’s environmental clause, stating that it’s only supposed to run in 0 to 35° C ambient temperature.

    Besides, Pentium M’s critical temperature treshhold is somewhere around 100° C, so the hardcoded thresholds set in BIOS versions >= A03 are underkill. I could tolerate these thresholds for CPU temperature t:
    1100 MHz for t = 85° C
    That way I would never even notice it as several hours of CPU burn under normal environmental conditions only brings t to ~78° C. I still wouldn’t like it, but that would be acceptable. The best solution would be that one could configure the thresholds in the BIOS setup, possibly in a way that disables this “protection” completely.

  303. kristus Says:

    The thresholds I suggested in my post became messed up since I used angle brackets (for “greater than” etc.) which I guess are used for formating. Here’s what I wanted them like:

    1100 MHz for t less than 80° C
    800 MHz for t in the interval 80° C to 85° C
    600 MHz for t greater than 85° C

  304. thomas Says:

    Guys,

    thats what I was talking about. You bought a 1,1 GHz Processor, so it should be able to run at that speed any time. I didn’t read anything in my – not so low – invoice, about a 600 MHz Processor if its hot outside (btw, mine ran at a speed of 216Mhz sometimes … lol). I told it to dell and they gave me a new one. (d420) … Try it … don’t let them be the winner. Thats a no-go situation. If there are to stupid to build a system without fan, which is actual not able to bring the speed they promise, they shouldnt sell it.

    greetings
    Thomas

  305. Martin Says:

    Yes, I replied to Dell support and told them that I did not accept the first answer they’ve given me, and that I used the laptop in a normal environment, at normal temperature, with normal cpu load and that the specifications said 1100 MHz without any small prints saying that external cooling would be necessary.

    Also, I told them that if the A02 BIOS was harmful to the system – why didn’t they send me a warning telling me to upgrade to A03 when it came along?

    I will try to push them to alter the BIOS – I think what kristus suggested was a good idea: Let this be configurable in the BIOS. My system pretty much stabilize at 62-65 C at 1100 MHz in my office. Not sure I even need the new stuff in the A06 BIOS – my system works pretty great with the A02 BIOS…

  306. Igor Bukanov Says:

    Just some random thoughts and groundless speculations about X1 downspeeding beyond 60C.

    I suspected Dell have found out that some system became unstable with temperatures beyond 60C. Probably some parts was out-of-specs or design was too-optimistic to deal with component variations. Then instead of fixing the hardware on the broken systems they just pushed BIOS update.

    Then the assumption is that those who notice not-so-fast systems would be in a tiny minority and it would be cheaper to provide them with new notebooks or even with a full refund than to replace broken parts on unstable systems for the rest of users.

    If so Dell would refuse to change the BIOS claiming whatever technical reasons that one can not verify.

    I guess it sounds like I watched “Fight Club” movie too much ;)

  307. Martin Says:

    Haha, you might be right Igor :)

    Anyways – I am currently in contact with Dell Support, and they asked me (!) to test the A06 BIOS again, so I did. And it seems that it behaves a bit different from the A05 version, although it is not as performance optimal as the A02 version. There still is no changelog for the A06 BIOS, but I’ve asked for it. Check out ftp://ftp.dell.com/bios/ and search for LX1_A06.EXE etc.

  308. Ulli Says:

    Hej guys,

    found this blog yesterday. Very interesting. Am running an X1 with the preinstalled XP and (since las week) a SuSE Linux 10.1. However, haven’t used the Linux much so far, and, moreover, I am not very much experienced in Linux.

    Anyway, some experiences with my X1. First impression (in April this year): WOW! You can imagine why… Then I realised some smaller disadvantages (no “full” PCMCIA, no TV…), but I am still very happy (as I don’t really need these).

    However, some problems occured since then: firstly, the display was broken (showed only nonsense). Living in Vietnam and having bought the X1 in Germany, I had to wait some weeks until I was for some days in Germany. Luckily, the Dell Support was very fast and competent and changed the complete lid (however, now I realised that the upper right part of the display looks “dirty” and thus a little darker…). Then, my hard disk had problems (which made me spend 2 days and led to several new gray hair…) and has now one “current pending sector” (support promised to send me a new disk when I will be in Germany next time). Finally, my DVD-writer is broken and reads/writes only the first part of the disks.

    So all in all, it seems I had bad luck with my X1. However, I am still very happy with it and hope that after solving the problems I will be able to enjoy it.

    Lastly, two questions concerning the temperature problem and the A2 BIOS: how is it possible to downgrade from a A5 BIOS to the A2 BIOS (I have no Floppy)? And sencondly, what disadvantages has A2 compared to newer BIOS?

    Thanks in advance and regards!

    Ulli (from Hanoi)

  309. Martin Says:

    Hi Ulli! I also have changed my harddrive, but now everthing works quite well (except for the BIOS thermal table problems..). In Linux you can follow my step by step guide on how to upgrade/downgrade your bios here (using a CD).

    My general GNU/Linux on a Dell Latitude X1 page is here (soon I will try Fedora Core 6 and link to the new page there). Other Linux related stuff can be found under the GNU/Linux category on my blog.

    I am still waiting for the answer from Dell Support, but I will post back here as soon as it ticks in :) .

  310. Martin Says:

    Okey – I have now installed Fedora Core 6 Pre and have AIGXL running (using compiz) in KDE. Pretty cool and pretty fast on the X1 (when DRI is enabled). Maybe not ultimate, but nice for showoffs. I have made a new FC6 discussion post, and would like to have FC6 related stuff there (this blog entry is getting too big now, I think). Also, I have installed Kubuntu 6.10 Beta on a small 3GB partition, but not hacked into it very much yet. I doesn’t seem to work more “out of the box” than FC6, so I see no reason to convert for me (beeing raised in a Fedora world). Looking forward to hear your comments/ideas/suggestions etc here. :)

  311. sarag Says:

    Hi there,
    I’ve read your blog these days: very interesting to me, cause I currently have the same problem on my dell x1:
    CPU-speed never reaches more than aprox. 320 mhz!
    Now dell-support suggests to change the motherboard by a dell-technician. Hope that fixes the problem, otherwise I also try to bring them to a complete system-exchange. Sounds like chances are not so bad :)

  312. Ulli Says:

    Hie everybody,

    using WinXP I had quite good experience with the “Right Mark CPU Clock Utility”. While using Bios V A02 I can “force” my Latitude to use full 1100MHz.

    Not sure if a similar tool exists for Linux.

    Best

    Ulli

  313. Martin Says:

    Hi sarag and Ulli. A cpu speed of 320 MHz sounds really strange – never seen that number before :) . I guess Dell will provide you with a new machine…
    Ulli: I am using the kernel space cpu speed management – works great in Fedora Core 6 with BIOS A02 – you can see my ACPI scripts in the files section of my FC6 page. (Also, one might want to use the KDE utility “klaptop” and enable ACPI there in order to force speedstepping. Personally I have mixed experiences with that utility…)

    I have still not got any answer from Dell Support regarding the speedstep problems in the newer BIOSes, even though I provided them with extensive logs from both the A06 and the A02 BIOS.

    For more up-to-date info on my experiences, move on to my FC6 discussion.

  314. uwe Says:

    Hi martin, thank you for your work! The X1-Sites and the blog are great. I use debian sid on my X1 and since yesterday all necessary things work at least (clone mode and sd-card slot).
    uwe

  315. Meghazi Fabien Says:

    When I bought my X1 I had kernel panics without reasons. After a week or two of mailings with dell support, I had a dell technician at home who replaced Hard Drive, MotherBoard, Memory and Wifi (probably in order to be sure that the problem would be resolved – personnaly I was sure the cause was somewhere on the motherboard)

    Now I don’t have kernel panic anymore but I have this overheat problem. I guess I could go back to A02, but there’s something strange … I don’t use a lot of cpu resources when I work, and since the technician changed stuff (nearly everything) inside the laptopt, my X1 is often in overheat (between 60 and 70°) I guess the bios version change is not the cause for that. Do you, guys, think that the pieces replacement caused the fact that my laptop heats much more than before ?

  316. Martin Says:

    Hi Meghazi. Right now, my X1 has been on for several hours, and is running with the ‘performance’ governor (acpi scaling) at 1100 MHz, still it is only at 59 deg Celsius. But I have not done any cpu demanding tasks. I am still running the A02 BIOS, as Dell never gave any feedback on my testing of the A06 BIOS (comment 16704)

    I’d say that the BIOS change could be the cause of the overheating. But I’m not sure if a temperature of around 65 deg celsius really is harmful. Dell has never given any info about the A02 BIOS being harmful, and I have explicitly asked them about just that. Never got any answer.

    Dell is not really GNU/Linux friendly. Actually, I don’t really know of ANY laptop brands that are GNU/Linux friendly. (I do know some that are not unfriendly though, IBM maybe.) Remember – the dell X1′s video bios doesn’t even support it’s internal screen resolusion…

  317. Bjørn Christian Sebak Says:

    Dell is not really GNU/Linux friendly. Actually, I don’t really know of ANY laptop brands that are GNU/Linux friendly.

    http://www.system76.com got some sweat Ubuntu-ready laptops. A few months ago they were offering the “Koala”, basically the Dell X1 with Ubuntu pre-installed. Cant find it today, probably because the model is becomming to old and replacement parts harder to find. But apparently they had no major issues with it.

    Perhaps you could send them an email and ask what BIOS version they use. Probably a waste of time for them, but who knows, maybe you`ll get a usefull reply. Worth a shot :)

  318. Fabien Says:

    Thanks for the infos !
    I’ll mail them and I’ll post the answer if any.

    BTW: on what type of table do you put your X1 when working ?
    I bought a cooler for the X1 when I saw the problem, but when I work on a wood table, and sometimes, I can see a difference of 5 degrees depending on the type of wood the table is made with.

  319. Martin Says:

    I believe my office desk is made of birch. Some of the rubber underneath the X1 fell of during the first few weeks, so I have replaced some of them with some that might be 1mm thicker. I guess that may make a difference.

    Right now, on my lap, my X1 is running at 59 deg celsius (1100 MHz) – my legs transfer heat very well… :)

  320. Fabien Says:

    A friend of mine have his X1 always around 45°. Don’t understand why, maybe he has got a good one.

    But I’m curious, are you using ondemand ? When you say 1100Mhz you mean that you’re using performance and your cpu is always at 1100 ? If yes, 59° seems very low to me. If I force my cpu to always use 1100Mhz it will never stay as down to 59°

    Do you know if downgrading the bios will void the warranty ?

    After the tech changed my motherboard, I was not able to put a bios password anymore (I’ve been told it could be used as a workaround for the screen light problem when respawning from a sleep), I had a stange message (don’t remember excactly). I’ll wrote it down next time I reboot

  321. Martin Says:

    When I am on AC power, I use the ‘performance’ governor and always stay at 1100MHz, yes. Right now, after the laptop has been standing in the sofa for a while and not on my lap, it is at 61 degrees celsius. You can read more about my acpi scripts on my FC6 page (Files section)

    I don’t think you will void warranty if you downgrade your bios. I used Dell’s own utility to do it, and in the correspondence with Dell “support” they never advised against it.

    In fact, I told them quite clearly that when I have bought a laptop that is said to run at 1100 MHz, I expect it to do so for more than five minutes before it scales down to 600MHz. The A02 BIOS is the only one that lets me have the full power.

    I still have the video problem on when waking up from sleep – I have to press “Fn-UpArrow” to turn it on. Got tired of tweaking with it – but if you have a dead solid workaround, I would like to know ;)

  322. Fabien Says:

    Did you downgrade your bios with freedos or from windows ?

    For the video, I actually have the same problem as you. I have to press Fn + Up arrow, but I don’t really care because I encoutered a deeper problem :

    A friend of mine (the lucky owner of a 45-50 X1 ;-) told me that I could get better video performance using last version of Xorg, so we installed it from experimental (I’m using debian) it was some month ago, I can’t really remember what version we installed at that time. I noticed a slightly gain of video performance but I’ve been confronted to the fact that when coming back from sleep the screen was remaining black, even when trying to press Fn+Up arrow. My friend told me that there was two way to bypass the problem. First one (which didn’t worked for him) was to use an utiliy from dell in order to set the screen back, using this tool in the sleep script would bring back the screen when respawning from sleep. Unfortunately it didn’t worked for me neither. Second workaround was to set up a password in the bios, because doing so, the bios was setting up the screen back correctly after the sleep because it had to display the password requester. When I tried to set up a password in the bios, I was confronted to this error message : “Your computer has no service tag, so you cannot set this password”. I have no idea of what it could mean, but I guess this is due to the motherboard change. Anyway, as I couldn’t get back from sleep, I switched back to the previous Xorg version. Maybe this issue is obsolete now because this story dates from month ago. Anyway, after this problem, I don’t car pressing Fn+Up Arrow.

    BTW: I’m currently running A05 bios

  323. Igor Bukanov Says:

    With Ubuntu 6.10 I have to press Fn + Up as well to turn the screen on after the suspend. On the other hand hibernate works perfectly albeit it takes time to load everything back from th disk.

  324. Martin Says:

    Fabien: I downgraded to the A02 BIOS using freedos (this was back in FC5).

    I am not sure if the Dell utility for getting back the video works with the lates kernels. Currently I’m using 2.6.18-1.2869.fc6, and haven’t bothered to check. Cool if setting a bios password works – although that is something personally I don’t prefer…

    I would like to see Dell take this seriously and FIX THIS ISSUE in their BIOS. But Dell support on Linux SUCKS. This is something we already knew. Their Norwegian support site doesn’t even work in Opera or Firefox.

    They also deleted their Linux Forum…

    I guess Dell has got a couple of good people doing Linux related stuff (the dkms utility is really smart and works great), but they are too few to make a diffrence.

  325. Andreas Says:

    Hi, yum doesn`t find kdebluetooth. I downloaded the source code from the project`s website but I´m not able to compile it on my X1. It tells me that I don´t have Qt but I have installed it.
    Do you have a rpm you can send me?

  326. Martin Says:

    Hi Andreas: kdebluetooth is in the kde repository. It is easy to install – it is described on my FC6 page, or you can read more on their web page. kdebluetooth probably depends on some other stuff, so sending you the RPM would only result in missing dependencies. Good luck!

  327. Chris Done Says:

    this page is horribly long. please fix it

  328. Fabien Says:

    You just made it longer, so do I
    Does it hurt your eyes or do you feel pain in the arm while scrolling ?

  329. kristus Says:

    My screen has stopped waking up from suspend (both from disc and ram) and won’t even come back by changing the lcd brightness (neither keyboard buttons nor smbios tools (i.e. dellLcdBrightness) works). I had this working like half a year ago, but I have not used it since then, thus not noticing that it stopped working for some reason. But now I will be needing suspend-to-ram again! I have no idea what caused this… what can cause something like this? I’ve tried reverting back to a really old kernel, but that didn’t do it. Any information will be appreciated!

  330. Martin Says:

    kristus: Check out my acpi scripts in the “Files” section of my FC6 page (direct link here). More up to date discussion is on the FC6 discussion page.

  331. kristus Says:

    I don’t think the acpi scripts has anything to do with it. I know that everything else wakes up as it should because all network services (ftp, ssh etc) works fine and I can, for example, Alt+Ctrl+F1 to a console and reboot. I did try your scripts as they used some commands that I though might fool the screen back on, but they didn’t. In fact, lid sleep didn’t even work, but I don’t use fedora (I use gentoo) so there might be differences. I did migrate the useful parts from your configuration to mine, but that didn’t bring the screen back either.

  332. Fabien Meghazi Says:

    As weather comes hot again I was wondering what is the max temperature which is “safe” for the latitude dell ? Currently it often goes up to 70 degrees C (150 °F)

  333. Bjørn Christian Sebak Says:

    I got it up to 78* C. during a SuperPI benchmark one hot summer. It was rock stable all the way, but you could NOT have it on your lap. Man, that hurt! :)

  334. kzarog Says:

    Hello. I’ve had the frequency problem as well and running bios A06. But with the new Ubuntu Feisty, the system is really responsive! I think the kernel guys have updated the thermal tables inside the kernel and the system throttles perfectly well. Feisty runs on 2.6.20. Unfortunately openSUSE 10.2 has 2.6.18 with the throttling problem present. I’m also reporting that, everything works with openSUSE out of the box except for the resolution (but is easily solved) and the modem.

  335. Martin Says:

    kzarog: Thanks – this is good to know, I might want to try the A06 BIOS again some day. Needless to say, I haven’t got any reply from Dell Support about the BIOS bug.

    I just updated my FC6 page – I recommend all of you to give hardware feedback to the Fedora Project by using smolt. It’s done in less than a minute, and might help on future support out of the box for the Dell X1 on future Fedora Core releases (maybe FC7?).

    I also updated my ACPI scripts and fixed a black screen problem when using hibernate. If anyone of you have got a fullgrown xorg.conf file that uses the “intel” driver (not the “i810“), that works with an external monitor and external projector and at the same time works with compiz/beryl AND works with ACPI sleep and hibernate (phew), I would love to know about it (your xorg.conf and ACPI sleep script)

  336. Andreas Says:

    Hi, did anyone manage to deactivate bluetooth but not wlan in fc6? I can deactivate both with FN+F2 and I can deactivate wlan with the NetworkManager frontend. But not bluetooth while wlan keeps active.

  337. Martin Says:

    Andreas: Sorry so late response – I have not found a way to do that. There is no such switch in kde-bluetooth (kbluetootd). Of course you can disable bluetooth permanently in the BIOS, but I guess that’s not what you’re looking for. Don’t think removing the bluetooth module actually turns off the circuit either. Hm, I don’t even know what the name of that module is…

  338. Martin Says:

    Hm, this post is far too long. And much of the content is quite outdated. Please check out the newer Fedora posts here and the discussion therein.

    This post is now closed ;)