[xorg-edgers] Multiarch-ify X server and drivers

Bug #824346 reported by Igbaäl
48
This bug affects 9 people
Affects Status Importance Assigned to Milestone
X.Org X server
New
Undecided
xorg crack pushers

Bug Description

When running a 32 bits application (read games) on x86_64, the dri driver loaded comes from ia32-libs package.
But when using xorg-edgers, users expect to use the latest and bleeding-edge 32 bits drivers instead of the old ( v.20090808ubuntu13) ones.
Building ia32-libs package for natty and oneiric would fix the issue.

You should have a look at https://bugs.freedesktop.org/show_bug.cgi?id=39897.
The "old 32 bits drivers on x86_64" case seems a common one so it's worth fixing it.

Revision history for this message
Igbaäl (cerebro-alexiel) wrote :

Assigning to Rico Tzschichholz as he's the one who uploads ia32-libs on xorg-edgers PPA.

Changed in xserver-xorg-driver-vesa:
assignee: nobody → Rico Tzschichholz (ricotz)
affects: xserver-xorg-driver-vesa → xorg-server
Revision history for this message
RussianNeuroMancer (russianneuromancer) wrote :

Probably it's not only Xorg-Edgers PPA problem. Oneiric packages have same problem with running x86 3D applications.

Revision history for this message
Igbaäl (cerebro-alexiel) wrote :

I didn't realize using a 32 bit driver in a 64 bit environment is in fact using a driver for another architecture.
I read https://wiki.ubuntu.com/MultiarchSpec and indeed, ia32-libs is "a monstrous source package".
I also noticed the "Multiarch xserver/mesa is in [...] being uploaded to natty [...] will take some time" posted 50 days ado.

I know multiarch is something new and need maturing/testing.
I think it should be great to use this bug to track this process and let users who want to test it (like me) report their issues.

Let me know what you want to do, including closing this bug if you think it's invalid.

Thx

[Assigning to xorg-edgers instead of a single person]

Changed in xorg-server:
assignee: Rico Tzschichholz (ricotz) → xorg crack pushers (xorg-edgers)
summary: - [xorg-edgers] Build ia32-libs for natty and oneiric
+ [xorg-edgers] Multiarch-ify X server and drivers
Revision history for this message
James Christie (james-aaron-christie) wrote :

Is there currently a way to test out multiarch support? If there is I'd be happy to do so and add to the findings. The inability to play games in wine, or really any games, is driving me up the wall.

Revision history for this message
Robert Hooker (sarvatt) wrote :

echo foreign-architecture i386 | sudo tee /etc/dpkg/dpkg.cfg.d/multiarch

sudo apt-get update

sudo apt-get install libgl1-mesa-glx:i386 libgl1-mesa-dri:i386

it works here.

Revision history for this message
Igbaäl (cerebro-alexiel) wrote :

Nearly worked for me :

alex@Leon:~$ sudo apt-get install libgl1-mesa-glx:i386 libgl1-mesa-dri:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  gcc-4.5-base:i386 libc6:i386 libdrm-intel1:i386 libdrm-nouveau1a:i386
  libdrm-radeon1:i386 libdrm2:i386 libexpat1:i386 libffi6:i386 libgcc1:i386
  libglapi-mesa:i386 libllvm2.9:i386 libpciaccess0:i386 libstdc++6:i386
  libx11-6:i386 libxau6:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386
  libxext6:i386 libxfixes3:i386 libxxf86vm1:i386 zlib1g:i386
Suggested packages:
  glibc-doc:i386 locales:i386 libglide3:i386 pciutils:i386
The following NEW packages will be installed:
  gcc-4.5-base:i386 libc6:i386 libdrm-intel1:i386 libdrm-nouveau1a:i386
  libdrm-radeon1:i386 libdrm2:i386 libexpat1:i386 libffi6:i386 libgcc1:i386
  libgl1-mesa-dri:i386 libgl1-mesa-glx:i386 libglapi-mesa:i386 libllvm2.9:i386
  libpciaccess0:i386 libstdc++6:i386 libx11-6:i386 libxau6:i386 libxcb1:i386
  libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386
  libxxf86vm1:i386 zlib1g:i386
0 upgraded, 24 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B/14.6 MB of archives.
After this operation, 44.3 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
E: Internal Error, Could not early remove libgl1-mesa-glx

I read multi-arch was only (and properly) handled from Oneiric (which will be released soon).

Anyway, thanks for the tip, it sounds promising.

Revision history for this message
Robert Hooker (sarvatt) wrote :

Ah gotcha, that was an apt bug I worked around locally (and was fixed in oneiric), will see about getting it in the PPA soon if its not too crazy.

Revision history for this message
James Christie (james-aaron-christie) wrote :

How did you work around it? I got the same error as Igbaäl.

Revision history for this message
James Christie (james-aaron-christie) wrote :
Revision history for this message
James Christie (james-aaron-christie) wrote :

From what I gather you need to remove the xisting packages that conflict and install ones with explicitly declared architectures? Nothing in what I've found on this bug is terribly clear on this point. Several suggested that removing the existing package that conflict fixes it, but this was for libraries other than mesa, and it would seem to leave me only with the i386 version and without a amd64 build, which would royally bork my system.

Revision history for this message
Mediaklan (didli) wrote :

I realize today that libGL.so was missing in last uploaded ia32-libs (which prevents games to load, of course).
So, to clarify things for total noobs like me :
Now we need to install ia32-libs plus the ia32-libs-multiarch:i386 ?
PS : thanks M. Robert Hooker for the command-line (post #5), it works for me !
(now only libGLU.so is missing for me, is it normal ?)

security vulnerability: no → yes
Robert Hooker (sarvatt)
security vulnerability: yes → no
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.