LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Wine (1.4) Programs Crash/Freeze on Slackware64-current w/ Nvidia Proprietary Drivers (http://www.linuxquestions.org/questions/slackware-14/wine-1-4-programs-crash-freeze-on-slackware64-current-w-nvidia-proprietary-drivers-943635/)

TommyC7 05-07-2012 03:03 AM

Wine (1.4) Programs Crash/Freeze on Slackware64-current w/ Nvidia Proprietary Drivers
 
3 Attachment(s)
This is the first problem that I haven't been able to solve myself in Slackware64-current, so I'm asking for help on this one so I don't ruin my system.

Simply put, after the new -current update, I was unable to use any programs via Wine. As the title states, they either crash or freeze but of the two programs that I do use they have been giving the same error message:

Code:

*** glibc detected *** c:\path\to\program.exe: malloc(): memory corruption: 0x7d48a8d0 ***
or
Code:

*** glibc detected *** /home/tommyc/.wine/drive_c/path/to/program.exe: malloc(): memory corruption: 0x7d48a8d0 ***
Of course, the hexadecimal value changes.

I looked this problem up on Google and there doesn't appear to be very many cases of it occurring on wine programs explicitly. Almost all other cases were programs that people were creating themselves in C/C++ programs.

What I have done so far:
Code:

slackpkg update
slackpkg upgrade-all
slackpkg install-new
slackpkg clean-system

Afterwards the wine programs began to have problems. Some programs gave some specific errors themselves but it all amounted up to: Please make sure you have OpenGL enabled, "load glx" put in xorg.conf, etc.:
Code:

Unable to initialize 3D output. Please verify that you have installed DirectX8 and an updated video driver.
Code:

Warcraft III was unable to initialize OpenGL. Please ensure you have OpenGL installed and that your display drivers are current.
I had this all done before and never ran into these problems before I had even upgraded but still I re-installed my Nvidia proprietary drivers anyways. Originally I was using 295.40 but I decided to upgrade to 295.49 while I was at it.

During the new Nvidia proprietary driver installation, I sometimes got this error message:
Code:

File '/usr/lib64/xorg/modules/extensions/libglx.so' is not a symbolic link
The installation still finishes (and it appears to install successfully). I say "sometimes got this error message" because I've re-installed these a lot while I was trying to solve this by myself. Once it was not a symlink and instead an executable. This error message and odd occurrence didn't seem to have a pattern. One time I even made the symlink myself and re-installed it, but either way, no luck. Right now as I have it (even after I removed and then re-installed xorg-server-1.12), it installed without giving me that error message (and currently it is a symlink).

/usr/share/doc/NVIDIA_GLX-1.0/README.txt says that /usr/lib/xorg/modules/extensions/libglx.so is to be a symlink to /usr/lib/xorg/modules/extensions/libglx.so.x.y.z. where x.y.z the version of the proprietary nvidia driver so I figure it's correct as it is without my manual intervention.

I am currently using Wine 1.4 (from http://www.winehq.org) but was also using it before the upgrade as well. While trying to fix this, I did resort to using 1.5.3 but that didn't improve upon the situation.

I saved the nvidia-installer.log that had the problem with GLX (the nvidia-installer.faillog.txt below, attached). The nvidia-installer.log that seems to have gone successfully (also attached) as well as my Xorg.0.log (attached). Although there is also a Xorg.1.log in my /var/log directory but I'm not sure if that will be of any use.

Code:

# grep -i glx Xorg.0.log
[    31.139] (II) LoadModule: "glx"
[    31.139] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
[    31.238] (II) Module glx: vendor="NVIDIA Corporation"
[    31.239] (II) NVIDIA GLX Module  295.49  Tue May  1 00:09:10 PDT 2012
[    31.239] (II) Loading extension GLX
[    35.034] (II) Loading extension NV-GLX
[    35.071] (II) Initializing extension GLX

glx seems to have loaded fine when the nvidia installer worked by itself with no manual intervention

Code:

# grep -i glx nvidia-installer.faillog.txt
ERROR: File '/usr/lib64/xorg/modules/extensions/libglx.so' is not a symbolic link.
-> Installation of the NVIDIA Accelerated Graphics Driver for Linux-x86_64 (version: 295.49) is now complete.  Please update your XF86Config or xorg.conf file as appropriate; see the file /usr/share/doc/NVIDIA_GLX-1.0/README.txt for details.

The last attachment is the nvidia-installer.log that went successfully (in case something looks suspicious that I didn't catch).

I thought it may have been something with freeglut and/or llvm/clang so I messed with those a little bit but again, no luck with those packages (either individually or both simultaneously removed).

I strongly believe this is because I messed up somewhere in the update but I haven't been able to find my mistake (assuming PEBCAK). Um... I can't think of anything else but I did have most of xf86-video-* blacklisted (and not installed of course) with the exception of xf86-video-vesa and the newly added one from the ChangeLog: xf86-video-modesetting, but I have removed those as well during my...adventure so that no package in xf86-video-* is installed on my system. I did this because I believed I would not need them since I am using the nvidia proprietary drivers.

business_kid 05-07-2012 03:57 AM

That nvidia installation log is about as ropey as they come, and leaves you with no guarantee that it works right.

Two things. In winecfg you can restrict how fancy the graphics are - specifically hardware acceleration. Also, I would google the errors in the nvidia install log and see if they are significant.

wildwizard 05-07-2012 04:16 AM

Ok 2 problems here

1. Upgrading mesa breaks the nvidia binary driver
You fix this easily by reinstalling the nvidia driver, the message about the symlink is normal in this case as the mesa package has replaced it with a normal file.

2. Your running a multilib setup and have not upgraded the multilib packages only the 64bit ones
You need to upgrade all the multilib files slackpkg wont do this for you.

Also note when you upgrade the multilib files that you'll hose the nvidia drivers again (the 32bit part of it) so you'll need to reinstall it yet again, and don't forget to say yes to installing the 32bit parts.

cwizardone 05-07-2012 02:21 PM

I've had a similar problem for the last couple of days. Over the weekend I swiped the disk clean, re-partitioned it, re-installed Slackware64 13.37, then brought it "current," installed all the "True Multilib" files, WINE 1.4, and, finally, the latest Nvidia driver.

Now WINE will launch an windose application as root, but not as user. When attempted as user it reports a problem with winevdm.exe and says to check the application's installation instructions.

Any ideas for a solution?
Thanks.
:hattip:

TommyC7 05-07-2012 02:29 PM

Heh, sorry to break it to you cwizardone but I just finished upgrading Alien Bob's multilib packages and then re-installing the Nvidia drivers. Simply put, wildwizard's suggestions worked without reinstalling Slackware. Thank God it was user error, phew.

I won't mark this thread as SOLVED so that you can get some help, but my problem is solved (thank you again wildwizard -- please have my babies).

kingbeowulf 05-07-2012 03:46 PM

cwizardone, when logged in as your regular user, with your GUI DE of choice, what messages spit out when you run winecfg from a CLI window (konsole, terminal, xterm, etc)? There may be a clue there as to a possible permssions problem or mssing lib. Also, when you say 'current' you are talking about 13.37 'patches' right? Also, when you loaded Nvidia, did you use Nvidia's installer or nvidia-driver.SlackBuild from Slackbuilds.org? Did you check your user group permissions?

cwizardone 05-07-2012 05:43 PM

Quote:

Originally Posted by TommyC7 (Post 4672690)
Heh, sorry to break it to you cwizardone but I just finished upgrading Alien Bob's multilib packages and then re-installing the Nvidia drivers. Simply put, wildwizard's suggestions worked without reinstalling Slackware. Thank God it was user error, phew...

Thanks, but I did all of that before posting the problem.
:)


Quote:

Originally Posted by kingbeowulf (Post 4672738)
cwizardone, when logged in as your regular user, with your GUI DE of choice, what messages spit out when you run winecfg from a CLI window (konsole, terminal, xterm, etc)? There may be a clue there as to a possible permssions problem or mssing lib. Also, when you say 'current' you are talking about 13.37 'patches' right? Also, when you loaded Nvidia, did you use Nvidia's installer or nvidia-driver.SlackBuild from Slackbuilds.org? Did you check your user group permissions?

As user it gives the following error message before the box pops up:
Quote:

preloader: Warning: failed to reserve range 00010000-00110000
preloader: Warning: failed to reserve range 00010000-00110000
preloader: Warning: failed to reserve range 00010000-00110000
preloader: Warning: failed to reserve range 00010000-00110000
preloader: Warning: failed to reserve range 00010000-00110000
preloader: Warning: failed to reserve range 00010000-00110000
preloader: Warning: failed to reserve range 00010000-00110000
As root, it pops up, as it should, without the error message.

Yes, Slackware64-current (all the patches up to this date).

Used Nivida's installer, just like I always do. There has never been a problem with the Nvidia package and I doubt it has anything to do with it now as it was working with WINE 1.4 before I wiped the disk clean and did a fresh install. BTW, I've re-installed (upgradepkg) WINE 1.4, but that didn't change anything.
Thank you both for your suggestions.
:hattip:

business_kid 05-08-2012 05:36 AM

Code:

As user it gives the following error message before the box pops up:
preloader: Warning: failed to reserve range 00010000-00110000
preloader: Warning: failed to reserve range 00010000-00110000
preloader: Warning: failed to reserve range 00010000-00110000
preloader: Warning: failed to reserve range 00010000-00110000
preloader: Warning: failed to reserve range 00010000-00110000
preloader: Warning: failed to reserve range 00010000-00110000
preloader: Warning: failed to reserve range 00010000-00110000

This is a wine error because the kernel no longer allows access to the lower 64k of memory and windows/dos want it, for historical reasons.
There's a fix that changes this to a warning, and I never see it these days. If it's a show stopper, go looking for the fix

From winehq post:

cwizardone 05-09-2012 12:13 AM

Yes, Mr. Volkerding came up with that fix some time ago,

http://www.linuxquestions.org/questi...ilable-855667/

I printed it out, put it in my installation file, and it was the first thing I reached for when the problem reappeared the other day. However, on the old print out "sysctl" now looks like "syscti" and still does to this very moment, so, of course, when I tried it, it didn't work.
When I read the information at the link you provided I realized the error and have changed the print out accordingly. Oh, well. Problem solved.
Thanks!
:hattip:

TommyC7 05-09-2012 01:56 AM

Marked this thread as solved since we both got our problems fixed. :)

cwizardone 05-09-2012 06:51 PM

Well, it worked with two older windows based programs, but it didn't work when I tried to installed ms-office. It has worked in the past so I'm thinking it is a problem with WINE 1.4.

cwizardone 05-11-2012 11:31 PM

Update. Tried the newest version of WINE, 1.5.3, but it still won't install ms-office.

So I dug around and found a copy or WINE 1.2.1, installed it and in turn it did a flawless job of installing and running ms-office. Don't know if the WINE developers have done this purposely or if the problem with the newer versions is a regression.

samac 05-12-2012 03:05 AM

Have you tried using winetricks to install ms-office? I find that the two helper programs winetricks and playonlinux can often help when installing programs that might need windows specific dependencies.

samac

cwizardone 05-13-2012 10:31 AM

Tried winetricks, but with no success.
I have found that once ms-office has been installed with WINE 1.2.1, you can upgradepkg to WINE 1.4, and ms-office will run. It just won't install with WINE 1.4.


All times are GMT -5. The time now is 03:29 PM.