[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#409730: int10 doesn't fall back to x86emu if vm86 fails

Package: xserver-xorg-core
Severity: serious

On Mon, Feb  5, 2007 at 01:26:22 +0200, Martins Krikis wrote:

> Hello,
> Having just tried to launch a 32-bit x86 Xorg X server with an
> x86_64 kernel, I was forced to spend a lot of time educating
> myself about why this doesn't work.
> The relevant kernel log lines are these:
> Feb  4 15:17:30 kanna kernel: vbetool: vm86 mode not supported on 64 bit kernel
> Feb  4 15:17:36 kanna kernel: Xorg: vm86 mode not supported on 64 bit kernel
> Xorg.0.log file ends with the following:
> (II) Loading sub module "int10"
> (II) LoadModule: "int10"
> (II) Reloading /usr/lib/xorg/modules/libint10.so
> (II) I810(0): initializing int10
> (WW) I810(0): Bad V_BIOS checksum
> (II) I810(0): Primary V_BIOS segment is: 0xc000
> (EE) I810(0): unknown type(0xffffffff)=0xff
> (II) I810(0): EAX=0x00004f00, EBX=0x00000000, ECX=0x00000000, EDX=0x00000000
> (II) I810(0): ESP=0x00000ffa, EBP=0x00000000, ESI=0x00000000, EDI=0x00002000
> (II) I810(0): CS=0xc000, SS=0x0100, DS=0x0040, ES=0x0000, FS=0x0000, GS=0x0000
> (II) I810(0): EIP=0x00000014, EFLAGS=0x00003200
> (II) I810(0): code at 0x000c0014:
>  e9 a1 20 b7 40 00 e0 0a 30 30 49 42 4d 20 56 47
>  41 20 43 6f 6d 70 61 74 69 62 6c 65 20 42 49 4f
> (II) stack at 0x00001ffa:
>  00 06 00 00 00 32
> (II) I810(0): VESA BIOS not detected
> (EE) I810(0): VBE initialization failed.
> (II) UnloadModule: "i810"
> (II) UnloadModule: "int10"
> (II) UnloadModule: "vgahw"
> (II) Unloading /usr/lib/xorg/modules/libvgahw.so
> (II) UnloadModule: "vbe"
> (II) UnloadModule: "int10"
> (EE) Screen(s) found, but none have a usable configuration.
> Fatal server error:
> no screens found
> As far as I understand now, this is caused by xserver-xorg using
> the vm86 backend and not falling back on x86emu backend use, even
> though allegedly it does so for other architectures. 64-bit
> kernels, however, don't have the CONFIG_VM86; hence the failure.
> If I've got it wrong and there is something I can put in my xorg.conf
> to work around the problem, I'd be very happy to hear about it.
> Otherwise, what are the chances of including a fallback option
> (to x86emu) in future X server builds for the 32-bit x86 platform?
> Or have I misunderstood completely the seriousness of the problem,
> and are there any other ways of dealing with it?
> Thanks very much for your time,
>   Martins Krikis
Indeed, this is a regression from the transition to modular X, the code
implementing a fallback from vm86 to x86emu isn't getting built.
In hw/xfree86/os-support/linux/int10/linux.c, this code is dependent on
the DoSubModules macro, which is never set.
I'm filing this as a serious bug against the Xorg server, because Debian
ships 64bit kernels on i386 and X not working with this combination is
IMO a very bad regression.


Reply to: