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 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 “1280×768_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_intel8×0 36460 0
    snd_ac97_codec 69988 1 snd_intel8×0
    snd_pcm 98728 1 snd_intel8×0
    snd_timer 25732 1 snd_pcm
    snd_page_alloc 11752 2 snd_intel8×0,snd_pcm
    gameport 4704 1 snd_intel8×0
    snd_mpu401_uart 7968 1 snd_intel8×0
    snd_rawmidi 25124 1 snd_mpu401_uart
    snd_seq_device 8200 1 snd_rawmidi
    snd 57156 8 snd_mixer_oss,snd_intel8×0,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_intel8×0m,snd_intel8×0,
    snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
    snd_ac97_codec 73208 2 snd_intel8×0m,snd_intel8×0
    snd_intel8×0 31872 0
    snd_intel8×0m 18948 0
    snd_mixer_oss 18048 1 snd_pcm_oss
    snd_page_alloc 9988 3 snd_intel8×0m,snd_intel8×0,snd_pcm
    snd_pcm 88448 4 snd_intel8×0m,snd_intel8×0,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-intel8×0
    filename: /lib/modules/2.6.12/kernel/sound/pci/snd-intel8×0.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 i8×0 soundcard.
    parmtype: id:array of charp
    parm: id:ID string for Intel i8×0 soundcard.
    parmtype: enable:array of bool
    parm: enable:Enable Intel i8×0 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 yo