Linux no sound after boot into Windows

Just now was trying to boot into Windows, by plugged in the HDMI cable, which supports for video only. But then, I rebooted into Linux without plugged out the HDMI cable. Then, it caused no sound in Linux.

Try 1: I killed the pulseaudio, then delete the ~/.config/pulse, and rebooted Linux. Failed.

Try 2: Run alsamixer, turned on everything, and do Try 1 again. Failed.

Then I guessed it was caused by the HDMI cable, which the Windows may assume there is audio, then caused my computer somehow ouptut the audio through the HDMI, even I rebooted into Linux.

Try 3: Plugged out the HDMI, booted into Windows. I checked the audio in Windows. It plays well. Then rebooted into Linux without plugged in HDMI. Yeah! It works. Passed.

Next level

Then I found that, though the sound works fine, my headphones doesn’t work. Tried out many methods as I asked in forum.

At the end, it is solved by shutdown, and boot again.

Dell Vostro 5459 review and setup

Due to the changes of the career, I invested on Dell Vostro 5459, after a long survey. I chose it because it is compatible to Linux. The compatibility to Linux meaning that, all the hardware devices are accessible by Linux. Besides that, it has the NVIDIA graphic card, which allows me to use GPGPU to do my research and study. Moreover, I can play high quality 3D graphics games.

Ubuntu

So, the laptop I bought was pre-installed with Ubuntu. And, I was impressed by the Ubuntu first boot video, which can be found here.

Partition and bootloader

It is new laptop, thus the hard disk partitioning table is using GPT format instead of MBR format. And the laptop uses UEFI boot system by default. It will be very convenient to have multiboot with several OSes.

In order to do partitioning, I used my favourite tool, SystemRescueCD. But I failed to run the X11 window, due to the very new NVIDIA graphic card. (I believe I can run the X11 now.)

Before partitioning and formatting the hard disk, I checked the xorg.conf from the existing Ubuntu, believed that it can help me to figure out how to start X11 window in SystemRescueCD. Then I discovered that /etc/X11/xorg.conf does not exist. This is a very important point.

Consequently, I used the command-line interface to re-partitioning the hard disk. Because I was going to install Windows and Arch Linux on it.

Windows

Though I prefer Linux, Ubuntu not my primary OS. So, I have to install the Arch Linux. Before installing Arch Linux, due to the luxurious hardware specification, I intended to install Windows 7. The laptop does not have USB2.0, but only USB3.0, and I didn’t want to install Windows 7 through external DVD-ROM, because I didn’t want to burn Windows 7 to a DVD. As a result, Windows 7 with USB3.0 cannot be installed. Looking for the solution, extra drivers are required. Thus, I gave up Windows 7 and tried Windows 8.1. (Sorry, Windows 8 and 10 are not my favourite.)

Great. Windows 8.1 is not bad after installation. I came back to Windows drivers later, since Windows is my secondary OS, for the purpose of… gaming.

Arch Linux

Installing Arch Linux needs some skills, and Internet connection is very important. So, I installed all the packages based on the old laptop, just following the powerful Arch Linux Wiki.

NVIDIA

NVIDIA GeForce 930M is very troublesome. After installing Arch Linux, to fully utilise my graphic card, I decided to use NVIDIA driver instead of Nouveau.

However, nvidia-xconfig generated xorg.conf file does not work. I failed to run the X11 window as in the SystemRescueCD.

As a result, I removed the NVIDIA related section in the xorg.conf according to the Arch Linux forum here. And the pre-installed Ubuntu does not have the xorg.conf as well. After removing the file, X11 window works fine.

After running the Arch Linux and configuring my preferences, I found that some of the screensavers (from xscreensaver) showed the error message,

Xlib: extension "GLX" missing on display ":0"

So, I knew that there is something wrong with my Xorg configuration and the NVIDIA.

Keep doing the trial and error, then I discovered something called bumblebee. Actually I am still very confused with this bumblebee, only know that it is related to NVIDA Optimus. And, I also don’t know what the hell is NVIDIA Optimus, only know that it is something wonderful.

After installing bumblebee, then the nvidia-libgl package is replaced by mesa-libgl. And the xscreensaver did not show the error message above anymore.

Since installed bumblebee, I supposed I can use Optimus with optirun command. Running

optirun glxgears -info

I got the new error,

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
...

Then, I thought may be my NVIDIA is too new, so I tried to install nvidia-beta. But it did not solve the problem as well.

As a result, I tried nvidia-dkms. Yeah! It works. “optirun” works fine now.

Windows 8.1

I love Dell, because the drivers are available online. I just download all the important drivers, graphic card, sound card, WiFi drivers, etc. Then I booted into Windows 8.1, and installed all the drivers. I just wonder, Arch Linux can use the WiFi device immediately during the installation, but Windows cannot? That means, if I have Windows and WiFi only, but does not have the driver, then how can I download the drivers?

After installed all the drivers, then I booted into Arch Linux, but failed. Because I failed to mount the Windows partition in Linux after installing the drivers. Then I found that, it is because of the Fast Startup feature in Windows 8. (Solution is here, look for the Fast Startup.) Because Fast Startup causes the partition “not clean”, so that Linux cannot mount it.

After disabling the Fast Startup, then everything works fine now.

Data transfer

Transferring vast amount of data between computers is very time consuming. I previously used an external hard disk. But transferring data from a 500G laptop to a 1T laptop, using an external hard disk is not applicable, since I don’t have extra empty hard disk.

At the end, I used the ethernet cable to transfer the data. (This is what I learnt from my student previously.) In Linux, I used the Network Manager to share the wired connection. Then directly connect two laptops with a single ethernet cable, and router is not required. Ethernet cable is faster than WiFi, and I can transfer whatever data I want from A to B or vice versa.

But still, I have to use the SSH to mount the target laptop.

This is a time consuming process.

Hibernation and resume issue

Now the only problem is resume from hibernation in Arch Linux. The resuming from hibernation works inconsistently. I have tried to install Linux LTS version, but it is worse because I cannot use Fn key after booting in Linux LTS.

I am still figuring out how to solve this problem.

Linux VS Windows

Recently my friend mentioned to me that, Windows is good enough for him, as long as he can complete his works. Then I argued with him, saying Linux is better. Then he asked me, in what sense. I suddenly don’t have any concrete answer.

As Linux user for several years, I already forgot why am I using Linux instead of Windows. I only remember that Linux is more developer oriented than Windows. There should have some other reasons that convince me to remain Linux user and some reasons make me keen of it. Thus, I have to compare two OSes so that I can give concrete answers next time.

Linux is free and open source. No need to pay for an OS, no need to p2p download and install a pirated version of OS. It is open source, if you are a geek, you may like to learn the source code of Linux.

Linux follows UNIX file system structure. This is a great characteristic I like. The file system structure with a root /, it is also the same thing I know about URL and internet. For Windows, it is still C: drive. And even my students today, they don’t know why it is C:, yet not A: or B:.

A little comparison for Linux and FreeBSD. Though both are UNIX-like OSes, yet I prefer Linux than FreeBSD. Firstly, Linux is more prevailing, such as various distros, various software target on Linux, and the market of Android. Secondly, Linux can be booted in logical partition, it can also be booted in FAT32 pendrive. Thirdly, Linux has a large community. Yet, Windows is just a Windows with Windows users.

Linux has strong shell, bash. Windows has PowerShell, yet I don’t know how powerful it is because I never use it before. Using bash and other commands I can grep, sed, gawk, and find to manipulate text files or binary files. Write the shell script using procedural paradigm with if-else and looping. Running Cygwin or MinGW/MSYS allows to use bash in Windows. Yet as a long term solution, it seems very weird.

Security is better, as Linux usually claims. Windows, due to the large market, hackers always target on it. One thing I don’t like on Windows is hiding the file extension by default. This makes users less aware about the file type. They can hardly differentiate a true image file or true video file from an executable file with image or video icon. They just execute the files without any awareness. In my opinion, Linux users are more computer proficient. This is one of the reasons that contributes to the security of the OS.

I agree that Windows software are more user friendly than Linux. This is because it is commercial software. That is because user friendliness is a factor to attract the users. However, the desktop environments such as KDE and Gnome are also user friendly to perform common tasks, for instance drag and drop. In my opinion, whatever Windows can do, it can also be done in Linux.

I agree there are some limitations in Linux: hardware compatibility and games. Hardware compatibility problem I always faced is the printer problem. However, this can be solved using VirtualBox, print through USB or network. There are games now available on Linux through Steam. However they are not my favourite. Playing games through VirtualBox or VMware does not solve the 3D problems in games. There is no other solution except using dual boot to play the games in Windows.

For true and stable working environment, I prefer Linux, and I will keep promote Linux to the students. Windows, for me, is just a good game console.

Why not Internet Explorer?

Firstly, I want to state that I am totally anti (dislike) Internet Explorer. There are several reasons that I don’t like Internet Explorer.

Internet Explorer version less than 9 has a lot of problems with CSS. As a result, as a developer, developing the webpages for among IE and other web browsers is exhaustive. In order to make the compatibilities, the CSS is almost web browser dependent. Besides that, CSS3 which is supported by most of the modern web browsers, does not work well in Internet Explorer. Luckily there is a trick using PIE. But this is not the best solution.

The next problem of the IE is the upgrading problem. To upgrade the IE, it is depending on the OS. To use IE8, the Windows must be at least Windows XP. This is not a great problem, because Windows XP is not yet extinct. But to use IE9, the Windows must be at least Windows Vista with SP2 (Service Pack 2). That means, whoever uses the Windows XP cannot upgrade IE to version 9. Next, to use the latest IE10, the Windows must be at least Windows 7 with SP1. That means, whoever uses Windows Vista cannot use IE10. As a result, the users can only choose to upgrade their OS or computer, or remain using old and good for nothing web browser which cannot cope the current web technologies, or lastly change to another web browser.

As a developer, to develop the webpages for web browser independent should be easy, because of the standardisation of HTML, CSS, and XML. However, it will be difficult because of IE. Moreover, to develop the webpages for different IE versions is even sillier. If using IE8 and turn on the Developer Tools, we can choose IE8 standards or IE7 standards. This is something interesting, one web browser with two different standards for development. This indicates that webpages for IE10 may different from IE9 or IE8 or IE7 or more.

The best reason not to use IE is because there are much more better alternatives: Firefox, Google Chrome, Opera, or Safari. These web browsers are free. Besides that, they are platform independent except Safari.

Why do I need to spend extra money to upgrade the computer in order to get a latest OS because of the desire to use the latest web browser? Changing a web browser is cheaper than changing an OS and even more cheaper than change a computer. So, unless IE is cross platform, following W3C standards, and remain free, I will not use IE or develop the webpages targeting on IE.

 

 

USBDeview, very good

My laptop has a built-in webcam. I was doing video capturing using webcam. Suddenly, the webcam could not function. Then I tried to restart, hopefully fix the problem. After restart, there was a taskbar notification mention that there is an unrecognized malfunction USB device. (I am using Windows 7)

So, how to solve this problem? This was not a driver problem. And I thought that maybe the webcam was broken or some hardware problem.

Since it was a USB device (mentioned by Windows), I tried to use USBDeview. Run USBDeview with administrator privilege. Select all the items in the list. Uninstall them. Restart the computer.

Then, Windows will detect the USB device (built-in webcam), and install the device correctly.