The GlitchMod knowledge base

Wine

The original Xbox can loosely be described as a 32bit x86 PC, with a 733MHz single-core Pentium processor and 64MB of RAM. Although Window itself cannot run directly on this system, thanks to the efforts of many talented individuals it bec…

8 min readUpdated Oct 9, 2026
Xbox Wine desktop.jpg

The original Xbox can loosely be described as a 32bit x86 PC, with a 733MHz single-core Pentium processor and 64MB of RAM. Although Window itself cannot run directly on this system, thanks to the efforts of many talented individuals it became possible to boot a number of Linux distributions very shortly after its release. When using Wine through Linux, you can in turn launch many Windows applications via a native translation layer.


Requirements

  • A video cable:
    • Composite is barely viable, as it will limit you to 640x480. Be prepared to blindly tab between off-screen button elements this way.
    • Linux builds can output 720p (1280x720) through HDMI adapters, but may have audio issues.
    • Component cables will get you 720p and audio, although TVs may be more likely to crop your image than they would with HDMI.
  • At least one USB to Xbox control port adapter, same as commonly used with the ENDGAME exploit.
    • An Xbox gamepad can be used for primitive mouse emulation.
    • Two adapters are strongly recommended for a proper keyboard and mouse combination.
    • X-DSL doesn't seem to like USB hubs.
  • Some Windows-based software to run.
    • 16bit is widely supported, and 32bit usually works well so long as it doesn't require Direct3D.
    • CD copy-protected software will have issues.
    • Some games won't be able to play music due to the lack of a MIDI synth.
    • DOS-based software won't run through Wine. If you wish to run it on an Xbox then you'll need to emulate it through DOSBox instead.


Setup

Xbox Wine configuration.jpg
  • Set up X-DSL. For simplicity, xphaz's "0.7" distribution is used in this guide: GD / MF
    • This package provides you with a pre-configured loopback installation, offering an EXT3 file system of roughly 1GB in size within an xdslfs file. The user account is called dsl.
    • After extracting the archive on your PC, copy the content from the E folder onto the root of your console's E partition and copy the whole Linux folder into your console's applications directory.
    • Optional: Use your text editor of choice to open E:\linuxboot.cfg and you'll see four sections covering possible video modes. Consider removing the three you don't intend to use, leaving only the 640x480 section (if you're using a composite video lead) or the 720p section (if you're using a component video lead or an HDMI output).
  • Launch "Linux" from your dashboard's applications menu. You'll be taken to a boot selection screen: simply press A to start the installation on your FATX E volume.
    • Once your X-DSL environment has booted, if your desktop isn't fitting your screen correctly then you should first turn to your TV remote in order to correct the issue. If your TV does not allow you to correct its picture zoom, however, then on your Xbox you can right click your desktop and select Setup for some overscan compensation tools.
    • You start with four separate desktops, and can jump between them merely by using your mousewheel on your wallpaper. Keep this in mind if all of your program windows suddenly disappear.
  • On the Linux desktop, double-click the Start FTP Server icon. Note the IP address displayed on the right side of your desktop. You can connect in much the same manner as you would to your regular Xbox dashboard, although your default username and password will both be dsl. You'll be automatically directed to the root of your user account folder at /home/dsl.
  • Use your PC to download a suitable version of Wine for X-DSL. Although some later builds should still be available for direct download through the MyDSL Browser app within X-DSL itself, wine-0.9.15.unc seems to work best on the Xbox. You may need to specifically right click the file and select "save link as" to get the download to start. Once you have the file on your PC, use your FTP connection to copy it to your Xbox's /home/dsl folder.
  • Open a Terminal window using the icon on your Linux desktop.
  • Enter mydsl-load wine-0.9.15.unc to install Wine onto your system. You can remove the UNC file once this is done.
  • Enter wineprefixcreate to create your Wine prefix directory at /home/dsl/.wine. Among other things, this hidden folder includes a virtual directory structure for a Windows machine.
  • Enter winecfg into your Terminal window to open Wine's configuration panel.
    • On the Applications tab, note the Windows Version selector. Most programs don't care about this, but if an application complains that you require a specific version of Windows then you can try matching that here.
    • On the Graphics tab, note the Emulate a Virtual Desktop checkbox. Many full-screen applications require this enabled in order to function. Non-full screen apps tend to work better without it. If you do enable it then it's strongly suggested to go at least 800x600, since WineCfg itself will run inside this desktop when you next re-open it as well.
    • Select the Audio tab, and you'll be notified that a driver has been selected for you. Use the Hardware Acceleration dropdown menu near the bottom of the window to select Emulation mode before pressing Ok.
  • Use your FTP connection to start copying Windows software onto your drive - for eg, you might create a games directory within /home/dsl and then place individual game folders into that. Some programs may need to be copied into the hidden /home/dsl/.wine/drive_c directory - usually it's not necessary, but you can enter the path directly into your FTP client's address bar to access it.
  • Use the Files button at the bottom of your Linux desktop to open emelFM. Basic function is very similar to that of most Xbox dashboard file managers. Navigate to an EXE file and double click it to launch.
    • If your program doesn't seem to work ("nothing happens"), first re-open WineCfg and try toggling virtual desktop emulation on the Graphics tab.
    • You can also start programs by navigating to their directories through Terminal and then entering wine myexecutable.exe. This method will get you additional debug output which may be helpful when troubleshooting.
    • Some programs may experience file access errors unless you use sudo wine myexecutable.exe.


Creating Desktop Icons

Xbox Wine shell script.jpg
Xbox Wine notwine.jpg
Xbox Wine icon properties.jpg
  • Use the Files button at the bottom of your Linux desktop to open emelFM.
  • In the left panel, push the H button (next to the address bar) to reveal hidden files and folders. Navigate to /home/dsl/.dfmdesk.
  • In the right panel, navigate to /usr/local/bin. Highlight winecfg on the right of the window and then press the SymLink button in the middle to create a shortcut on the left.
  • A few seconds later your icon will appear on your desktop, up in the very top left corner. Drag it to a more accessible spot then right click it and select Options. Use the resulting panel to rename your SymLink to "Wine Config", Apply then Close.
  • Within your Files window, also highlight wineserver and create another SymLink on your desktop. Rename this one to "Wine Stop", and also change the shell command from !0! to !0! -k. Use this to quickly halt Wine if the process later gets stuck.
  • Open a Terminal window. Enter cd .dfmdesk, then beaver "Full name for your icon".
  • In the Beaver text editor window that appears, enter:
    #!/bin/bash
    cd /full/case/sensitive/path/to/program/directory
    sudo wine program.exe
  • Save and close. Once the icon appears on your desktop, bring up its options panel and enable the three exec toggles. Also change the shell command from beaver !0! to just !0!.
    • Some games will work fine if you just SymLink the EXE straight to your desktop and edit the shell command to wine !0!, but some specifically need the correct working directory set via cd.
    • Some games will work fine without sudo, but some will encounter file access errors without it.
  • X-DSL uses XPM files for custom icons. Windows executables generally use ICO resources instead.
    • eXeScope can be used to extract ICOs from 16bit or 32bit EXEs. Once you've selected the one you want, export it using the File menu. If multiple icons are present then 32x32 is recommended.
    • GIMP can open ICO and export to XPM. There are also many web-based converters available online.


Creating an additional Loopback Volume

Xbox Wine bootlocal.jpg

Although you can simply use a LiveCD to create a real EXT3 partition on your disk and install Linux into that, it can be rather more convenient to stick to loopback volume files contained within your Xbox's underlying FATX filesystem. This makes it easy to copy&paste your Linux installation elsewhere, eg for backup purposes.

Should you run out of space within your primary xdslfs loopback volume, you may wish to create a secondary one for additional storage. This can largely be done through the Terminal window.

Basic preparation:

  • sudo dd if=/dev/zero of=/mnt/hda50/xdslfs2 bs=1M count=2048 Creates a new file of the specified size on the root of FATX E, 2GB in this example.
  • sudo mkfs.ext3 /mnt/hda50/xdslfs2 Formats the file to EXT3 as if it were an actual volume.
  • mkdir /home/dsl/data Creates a folder to act as the mount point for the loopback volume.

Next, edit your bootlocal file, adding the commands needed so that your OS will automatically mount your loopback volume on boot. Type sudo beaver /etc/rc5.d/S99bootlocal, and use the resulting text editor window to add the following two lines to the bottom of the file before saving it and restarting Linux:

  • sudo mount -o loop /mnt/hda50/xdslfs2 /home/dsl/data
  • sudo chmod 777 /home/dsl/data

Your new volume will then be accessible along your chosen folder path.

  • It's also possible for your Linux OS to read program files directly from your FATX E volume via /mnt/hda50, however FATX's poor support for long file names makes this less than ideal.
  • Modern formatting techniques mean that your older X-DSL installation probably will not be able to mount extended FATX partition F, but you can dig around in /mnt to see if it's available there.